news 2026/6/9 17:38:03

流量分析_SnakeBackdoor-4

作者头像

张小明

前端开发工程师

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

SnakeBackdoor-4

题目4提示上传了一个二进制后门,要求我们找到木马进程执行的本体文件名称。

在SnakeBackdoor-2~3中已经拿到了核心密钥 RC4_SECRET = b'v1p3r_5tr1k3_k3y',这道题的本质就是利用密钥解密流量,还原攻击者的操作记录。

攻击者上传并执行二进制木马通常有两种方式:
(1)通过 HTTP 上传:利用 wget / curl 下载,或者利用网页原本的上传功能。
(2)通过 Shell 命令写入:利用 echo <hex/base64> > /tmp/ma 写入,然后 chmod +x 赋予权限并执行。

关于判断使用哪种上传方式,可以按照流程试一下,进行快速排除。 但是正确的也无法绕过的方法,还是定位到攻击发生的地方,仔细分析数据包的行为。

1、通过HTTP上传——搜索二进制文件头(虽然本题不是这个方法,但还是过一下流程)

如果攻击者是通过上传接口或者未加密的流传输的文件,可以直接在 Wireshark 中搜索 ELF 文件头(7f 45 4c 46)

解题思路:利用二进制文件头特征 1、打开搜索栏: 按 Ctrl + F 2、设置搜索模式: (1)左侧选择:Packet bytes(分组字节流) (2)中间选择:Hex Value(十六进制值) (3)输入框:7f 45 4c 46 (这是 Linux ELF 可执行文件的“魔术字节”,相当于文件的指纹) (4)查找: 点击 Find 3、分析结果: (1)如果找到了某个 POST 请求包含了这串字节,说明这就是上传木马的数据包 (2)右键 -> Follow -> TCP/HTTP Stream (3)查看请求头中的 Content-Disposition: form-data; name="file"; filename="这里就是文件名" (4)或者查看该数据包的前后文,寻找写入的文件名

过滤出http的POST请求数据包,ctrl+F,设置分组字节流和十六进制,输入文件头二进制特征7f 45 4c 46进行搜索。

因为本题不是通过http直接上传,所以没有结果。

2、通过 Shell 命令写入——利用密钥解密流量,还原攻击者的操作记录

解题思路: 1、锁定流量: 重点关注HTTP POST请求,特别是访问木马路径的流量(特征是包含X-Token-Auth头或data参数) 2、解密指令: (1)攻击者执行二进制文件必须发送Shell指令 (2)如果通信是加密的,我们需要提取data参数的值,使用SnakeBackdoor-2~3中拿到的 Key 进行 RC4 解密 3、在解密后的明文中,寻找关键字: (1)chmod +x (赋予执行权限,二进制文件运行前的必经步骤) (2)./(执行当前目录下的文件) (3)/tmp/(攻击者常用的临时目录)

过滤出http的POST请求,回顾之前分析的请求数据包的行为

长度为5369的数据包是上传木马的请求,后面应该是对木马文件的具体操作,选一个数据包追踪流=>TCP流,分析数据包内容

可以看到上传的参数是加密的data参数,并且后面几个数据包都是上传的data参数

符合通过 Shell 命令写入的特征,所以我们现在需要提取出这些加密的操作data参数,然后使用之前获取的RC4秘钥RC4_SECRET = b'v1p3r_5tr1k3_k3y'进行RC4解密。

构造payload,将提取出加密的data使用RC4_SECRET = b'v1p3r_5tr1k3_k3y'秘钥,进行RC4解密

import binascii # ================= 配置区域 ================= # 1. 设置密钥 (来自上一题提取的源码) RC4_SECRET = b'v1p3r_5tr1k3_k3y' # 2. 设置你提取出来的加密 Data 列表 (已按你提供的顺序填好) encrypted_list = [ "a6bc", "a3ab330fb285", "acad614ef3d82c8445d275713899f04d0d3819fc3726cf57634b189e0e95cc1f93e57656105246251f453a8396a43a6534", "bab6694ba3c938e64b8d257b7cccee460f6347f4363ed21c300c099f129b99028eb57408024e1c32061a", "a2ae330da7846599188b26257a88f10b50790cb47e6a97177e1053c351", "acb07e4db7c93ece4bcc37246687ae0649614caa3430ce4b", "e0ac7e52fc996cc2038c2d7a3899ed" ] # ================= 核心函数 ================= def rc4_crypt(data: bytes, key: bytes) -> bytes: """RC4 加密/解密算法 (与木马内部逻辑一致)""" S = list(range(256)) j = 0 # KSA (Key-scheduling algorithm) for i in range(256): j = (j + S[i] + key[i % len(key)]) % 256 S[i], S[j] = S[j], S[i] # PRGA (Pseudo-random generation algorithm) i = j = 0 res = bytearray() for char in data: i = (i + 1) % 256 j = (j + S[i]) % 256 S[i], S[j] = S[j], S[i] res.append(char ^ S[(S[i] + S[j]) % 256]) return bytes(res) # ================= 执行逻辑 ================= print(f"[*] 使用密钥: {RC4_SECRET.decode()}\n") print("-" * 60) print(f"{'序号':<5} | {'原始Hex (前10位)':<15} | {'解密结果 (执行的指令)':<30}") print("-" * 60) for idx, hex_data in enumerate(encrypted_list): try: # 1. 十六进制解码 enc_bytes = binascii.unhexlify(hex_data.strip()) # 2. RC4 解密 dec_bytes = rc4_crypt(enc_bytes, RC4_SECRET) # 3. 尝试转为字符串 try: dec_str = dec_bytes.decode('utf-8') except UnicodeDecodeError: dec_str = f"[非文本数据] {dec_bytes}" # 4. 打印结果 print(f"{idx+1:<5} | {hex_data[:10]:<15} | \033[1;32m{dec_str}\033[0m") except Exception as e: print(f"{idx+1:<5} | {hex_data[:10]:<15} | [解密错误] {e}") print("-" * 60)

解密出来,得到详细的shell操作命令

根据解密出的操作记录,攻击者植入并启动后门的过程如下: (1)攻击者首先通过执行 id 和 ls -al 命令进行了基础的系统侦察,确认了当前用户权限及目录环境 (2)接着,攻击者利用 curl 从远程服务器下载了加密压缩包 shell.zip,并使用密码 nf2jd092jd01 将其解压到了 /tmp 目录下 (3)为了隐藏行踪,攻击者将解压出来的名为 shell 的文件重命名为 python3.13,试图将其伪装成合法的 Python 进程 (4)最后,攻击者赋予了该文件可执行权限,并直接运行 /tmp/python3.13 启动了二进制木马

根据此过程,题目 4 的最终答案(木马进程执行的本体文件名)为: flag{python3.13}

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

第十节课

1.学习知识点2.课上任务3.作业2.课上任务&#xff08;1&#xff09;制作一个靶子程序&#xff1a;&#xff08;2&#xff09;绘制瞄准镜和子弹孔&#xff08;3&#xff09;制作靶心制作靶心的目的是为了判断打出来的子弹孔到底得多少分&#xff08;4&#xff09;判断得分和绘制…

作者头像 李华
网站建设 2026/6/7 11:46:17

强烈安利10个AI论文平台,MBA毕业论文写作必备!

强烈安利10个AI论文平台&#xff0c;MBA毕业论文写作必备&#xff01; AI 工具如何重塑论文写作的未来 在当今快速发展的学术环境中&#xff0c;MBA 学生面临着越来越高的论文写作要求。无论是案例分析、商业计划书还是研究论文&#xff0c;都需要高质量的内容支持和高效的时间…

作者头像 李华
网站建设 2026/6/7 11:14:32

《无线传感器网络》WSN 第8讲 时间同步 知识点总结+习题讲解

《无线传感器网络》第8讲 时间同步技术 一、时间同步的必要性 低功耗协议运行&#xff1a;协调节点的休眠与唤醒&#xff0c;实现TDMA调度。事件时间戳&#xff1a;为传感器采样数据提供时间次序&#xff0c;标记事件发生时间。测距与定位&#xff1a;TOA、TDOA等测距技术的精度…

作者头像 李华
网站建设 2026/6/7 12:15:36

AI应用架构师实战案例:金融领域智能项目评估系统设计与落地

AI应用架构师实战案例:金融领域智能项目评估系统设计与落地 一、引言:金融项目评估的“痛”与“变” 在金融领域,项目评估是信贷审批、投资决策、风险控制的核心环节。无论是银行的信贷项目(如企业贷款)、券商的投资项目(如股权融资),还是保险公司的资产配置项目,都…

作者头像 李华
网站建设 2026/6/8 15:17:12

leetcode 困难题 839. Similar String Groups 相似字符串组

Problem: 839. Similar String Groups 相似字符串组 解题过程 并查集&#xff0c;首先去除重复的字符串&#xff0c;然后初始化并查集合&#xff0c;对任意两个字符串&#xff0c;看是否只有两个字符不相同&#xff0c;若是则合并&#xff0c;最后输出根结点个数 Code class So…

作者头像 李华
网站建设 2026/6/8 15:42:49

DevOps自动化流水线集成OCR:CI/CD过程中验证文档一致性

DevOps自动化流水线集成OCR&#xff1a;CI/CD过程中验证文档一致性 在一次金融系统的版本发布中&#xff0c;团队发现新生成的用户协议PDF虽然文件哈希值与前一版不同&#xff0c;但内容看似无异。然而上线后客户投诉称关键条款被修改——原来排版错位导致某段免责说明“意外”…

作者头像 李华