应急响应靶场练习-Web1
一、背景
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件:
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名
用户:
administrator
密码
Zgsf@admin.com
二、环境准备
关掉防火墙,因为后续涉及到webshell后门,会被杀掉,无法研判
三、开始
1.挑战一
在桌面看到小皮面板,发现存在网站
因为挑战一是shell密码,涉及到webshell,websehll可能藏在网站目录里面
因为文件较多,这里使用河马进行查杀。先将www目录压缩,再上传线上查杀。
SHELLPUB.COM在线查杀
查杀结果表明存在冰蝎木马
可以看到连接密钥,暂时还无法确定密码是什么,初步猜测是默认密码 。使用工具对默认密码进行MD5加密,发现前16位就是连接密钥,因此shell密码就是rebeyond
2.挑战二
攻击者需要连接webshell,因此ip可能被反向代理记录下来,查看日志寻找。
其中,nginx日志是空的,apache日志有数据
根据文件大小发现日志文件
进入日志文件后,对shell.php搜索,发现连接ip,应该就是攻击者ip,为192.168.126.1
3.挑战三
使用net user 和 wmic useraccount get name 两个命令,发现比较之下多了一个“hack168$”账户,因此这就是攻击者的隐藏账户
1. net user命令
net user命令在显示用户账户时,默认会隐藏以$结尾的账户。这些账户通常是系统服务账户或隐藏账户,例如你输出中的hack168$。
net user主要用于管理用户账户,因此它会过滤掉一些系统认为“不重要”或“隐藏”的账户,以简化管理界面。
这种行为是设计上的默认过滤机制,目的是让用户更专注于常规用户账户的管理。
2. wmic useraccount get name命令
wmic(Windows Management Instrumentation Command-line)工具用于管理系统的各种资源,它的输出更加全面,不会自动过滤以$结尾的账户。
wmic工具的目的是提供系统级别的详细信息,因此它会列出所有用户账户,包括隐藏账户和系统服务账户。
这使得wmic更适合用于系统管理员进行详细的系统检查和故障排除。
3. 为什么hack168$只在wmic中显示?
hack168$是一个隐藏账户,以$结尾。根据net user的默认行为,它会自动隐藏这类账户,而wmic则会显示所有账户,包括隐藏账户。因此,hack168$只在wmic的输出中显示,而在net user的输出中被隐藏。
总结
net user:主要用于用户管理,会隐藏以$结尾的账户。
wmic useraccount get name:用于系统管理,会显示所有账户,包括隐藏账户。
同时,也可以在控制面板中发现隐藏的账户。
4.挑战四
首先在控制面板处更改隐藏账户的密码,方便等会登进去(ps:因为我们现在是管理员身份,有这个权限)
同时按 ctrl+alt+delete,切换用户
进入桌面后发现有个python打包的exe程序,很有可能是挖矿程序(ps:双击之后,虚拟机直接卡死,黑屏了,我是重启才解决问题的),而且没有发现其它的配置信息,需要对exe进行反编译看源码了。
先使用脚本提取.pyc文件,脚本下载链接:GitHub - WithSecureLabs/python-exe-unpacker: A helper script for unpacking and decompiling EXEs compiled from python code. 然后将虚拟机里面的exe文件拖出来,放到脚本的目录下
使用命令提取
python .\pyinstxtractor.py .\Kuang.exe
发现多了一个文件夹
将新文件夹里面的kuang,重命名为kuang.pyc
使用 uncompyle6或者在线工具对pyc文件进行反编译
uncompyle6 文件名.pyc > 文件名.py
正常情况下到这一步就可以看到源代码了,但是显示错误了
提取出来的 .pyc 文件可能缺少一些必要的头信息(如 magic 和时间戳)。如果直接反编译报错,可以使用十六进制编辑器(如 UltraEdit 或 WinHex)手动修复。
打开 .pyc 文件,检查前 16 个字节是否完整。
如果缺失,可以从其他正常的 .pyc 文件中获取 magic 字节(前 4 个字节),并手动插入。
这里需要对pyc文件进行修复后再进行反编译,这个我看很多博主的文章都是直接跳过的,我尝试过修复后还是失败了,这里实在不懂了。
不过可以看到一个网址,猜测应该就是矿池域名了,wakuang.zhigongshanfang.top
下面是从别的地方看到的源代码
四、验证
ps:输入最后一个答案后会闪退,原因是源代码中没有没有相关延时逻辑