应急响应靶机训练 - Linux2
看监控的时候发现 Webshell 告警,领导让你上机检查,你可以救救安服仔吗!!。
请你找出以下内容作为通关条件:
黑客的 IP 地址;
黑客修改的管理员密码(明文);
黑客留下的 WebShell 连接密码;
黑客后续上传的木马文件名称;
黑客遗留下的 3 个 flag;
该靶机有很多非预期解,做靶机是给自己做,请大家合理按照预期解进行探索。相关账户密码:
root/Inch@957821.
1 流程梳理
[!Note]
这里推荐使用 SSH 远程连接服务器,因为 Linux2 靶机没有 GUI 界面,操作不是很方便。
在 Linux 中最普遍的就是 SSH 登录了,可以使用 last 看看最近的用户登录情况:

可以看到 192.168.20.1 在 2024-03-20 有个连接,看看登录失败的记录:

翻一翻 secure 日志:
cat /var/log/secure | grep '192.168.20.1'

不够这点信息也不能确定是否是攻击者,查看 root 的历史命令:
[root@web-server ~]# history
......
90 cd .api/
91 ls
92 vim mpnotify.php
93 yum install vim
94 ls
95 vim alinotify.php
96 cat /etc/shadow
97 who
98 w
99 history
100 useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
101 env
102 $flag3 = [root@web-server .api]# useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
103 useradd: invalid user name 'flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}'
104 $flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
105 vim /etc/profile
106 source /etc/p
107 source /etc/profile
108 env
......
有一些剧透的部分我省略了,上述内容分析如下:
有一个 .api 目录;
编辑了两个文件:mpnotify.php、alinotify.php;
flag3:flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
查找一下 .api 目录所在的位置:
[root@web-server /]# find / -name .api
/www/wwwroot/127.0.0.1/.api
在 alinotify.php 文件中发现了 flag2:
[root@web-server /]# cat /www/wwwroot/127.0.0.1/.api/alinotify.php | grep 'flag'
$flag2 = "flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}";
查看一下当前服务器的端口开放情况:

可以简单识别一下 PID 对应的程序:
netstat -antlp | awk '{print $7}' | sort -n | uniq -c | tail -n 8 | awk '{print $2}' | awk -F / '{print $1}' | xargs -n 1 ps -o cmd -p

可以看到有 FTP、MySQL、Nginx、BT、SSH,重点先放在 Nginx 看看,前往查看 Nginx 日志:
[root@web-server logs]# ls
error.log nginx.pid
没日志,这么尴尬,80 和 888 端口,尝试访问一下:


俩都拒绝访问了,那就访问 BT 试试,先看看 BT 的 URL:

由于不知道密码,这里重置一下密码:

访问一下 BT:


在 BT 的网站配置里修改配置文件,添加上 IP 地址:

现在就可以正常访问 80 的 Web 了(PhpMyAdmin 的 Nginx 是独立的):

在 BT 面板里看看日志存放位置:

现在查看一下网站的日志信息:

日志文件不小,使用 GoAccess 分析一下:
yum install goaccess
LANG=zh_CN.UTF-8 goaccess /www/wwwlogs/127.0.0.1.log -o nginx_report.html --log-format=COMBINED


可以发现 192.168.20.1 访问频率最高,其中 /index.php?user-app-register 和 /version2.php 被访问的次数最多,我也尝试访问一下:


一个是用户注册页面,一个直接访问不到。
直接再盘一盘日志:
192.168.20.1 - - [07/Mar/2024:12:07:05 +0800] "GET / HTTP/1.1" 200 1993 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"
......
192.168.20.1 - - [07/Mar/2024:12:07:15 +0800] "GET /index.php?content-master-blocks HTTP/1.1" 200 1922 "http://192.168.20.144/index.php?content-master-contents" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"
......
这里就很可疑,简单试了一下 /index.php?content-master-blocks 是后台登录成功后的页面,所以该页面应该存在弱口令了。
去翻一翻数据库内容,在 BT 里可以直接看到数据库账号密码:

这里也可以直接打开 PhpMyAdmin,不过由于协议不同没法登录:

有个更简单的方法,不用登录,直接在 BT 上备份下载即可:


直接在备份文件看到了账号密码,那是什么加密呢?
直接使用 CMD5 梭哈:


寄,关键的没查到(看了眼 WP,Network@2020)。
有了密码后,就可以登后台了:

接着翻日志,经过一条条的比对,整理如下:
192.168.20.1 - - [20/Mar/2024:07:59:46 +0800] "GET /index.php?content-master-blocks-modify&blockid=1&page= HTTP/1.1" 200 18933 "http://192.168.20.144/index.php?content-master-blocks" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"
......
192.168.20.1 - - [20/Mar/2024:08:24:11 +0800] "POST /index.php?user-app-register HTTP/1.1" 200 17611 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; de-de) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"
......
192.168.20.1 - - [20/Mar/2024:14:38:27 +0800] "GET /version2.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0"
访问 /index.php?content-master-blocks-modify&blockid=1&page= 页面:

大致就是攻击者在 /index.php?content-master-blocks-modify&blockid=1&page= 写入了 Shell,通过 /index.php?user-app-register 访问 Shell,然后应该上传了个 version2.php 文件。
在 /root 目录还有个数据包:
[root@web-server ~]# ls
anaconda-ks.cfg wp 数据包1.pcapng
由于包有点大,这里使用 WireShark 打开,另存为 pcap 格式:


使用 NetworkMiner 打开:

点击 Files 选项,看到了 flag:

接着一个包一个分析一下:

在出现 version.php 前一个包中发现了冰蝎木马。
2 总结
Flag 如下:
黑客的 IP 地址:192.168.20.1
黑客修改的管理员密码(明文):Network@2020
黑客留下的 WebShell 连接密码:Network202
黑客后续上传的木马文件名称:version2.php
黑客遗留下的 3 个 flag:
flag1{Network@_2020_Hack}
flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}