|如何创建自己的Tracker( 六 )
本文插图
本文插图
在这两个代码块中 , 我将序列化一条消息并将其长度传递给我从protobuf项目中”借用”的函数 。 我对其进行了一些修改 , 使其始终位于最终结果的0x0A字节之前 , 最终结果表示字段编号和字段类型 。 由于该消息是我们生成的消息的前缀 , 因此其类型始终为2(length prefix)以及编号为1:
本文插图
现在 , 我们使用python生成的消息与Quasar生成的消息完全匹配 。
接下来转到连接部分:
本文插图
以上代码块将连接到我们的服务器并与其进行握手 。 服务器将对其进行X509认证 , 然后我们的验证功能将会被触发:
本文插图
它始终返回True 。 然后 , 我们将生成序列化的消息 , 并以消息的长度加序列化后消息的长度作为前缀:
本文插图
首先在第97行 , 我将消息序列化 。 然后 , 我在消息中附加一个代表消息长度的前缀 。 最终 , 我计算了包括前缀在内的消息总长度 , 转换为小端序格式 , 并将其附加在序列化消息中 。 发送该消息到服务器 , 我们可以在Wireshark中查看此消息:
本文插图
如果检查我们的Quasar服务端 , 可以看到:
本文插图
我已经发送了一条自定义消息 , 没有问题!现在 , 我开始学习Intezers工具的工作原理 , 以便将我的Python脚本完善成为完整的Quasar RAT Tracker 。
脚本完整代码可以在这里找到 。
0x05 为Intezers Puppets创建Quasar插件
由于Intezer并未在该工具上投入过多心血 , 所以这一部分会比较棘手 , 但我会尽力解释该工具的工作原理 , 为您节省时间 , 因为我相信该工具对于跟踪恶意软件具有巨大价值 。
Puppets是一组Python脚本 , 可以模拟出一个完整的OS环境 , 从而节省了研究人员构建蜜罐或虚拟机环境所需要的时间和资源 。 现在 , 我们不需要构建完整的OS与内核以及引导项 , 因为大多数恶意软件都希望与特定的用户模式应用程序和文件系统进行交互 , 而这些程序很容易模拟!Puppets附带了许多实用脚本与处理程序 , 这些脚本和处理程序将模拟基本功能以处理恶意软件——例如连接 , 注册 , 发送 , 接收等等 。 研究人员唯一要做的工作就是为特定恶意软件创建插件 , 其它工作都可以交由该工具来处理 。 我想引导读者阅读代码 , 并共同创建一个图表 , 以帮助开发人员了解该工具的工作原理 。 首次下载MoP以及从这里下载我的自定义插件quasar.py , targets.yaml , utils.py 。
接下来 , 请按照此处的安装指南进行操作 。
本文插图
打开orchestrator.py , 删除第一行#!/usr/bin/env python3.6 , 因为它会使该工具无法在Python 3.6以外的其他环境中运行 。 这是该工具的核心部分 。 来到第46行 , 您将看到一个command parser , 在本例中 , 我们将使用第53行的选项–targets-config , 该选项允许此工具连接到多个客户端 , 因此请打开targets.yaml并删除其中的相关hash 。
推荐阅读
- 模型|REVIT技巧!如何创建能量模型,实现能量优化
- 技术编程|如何利用数据库进行世界史研究
- 区块链|欧科云链任煜男做客西安广电电台节目,解读区块链如何赋能实体产业
- 苹果笔记本|如何让macbook合上时工作?解决苹果电脑合盖自动休眠问题-macw
- |如何分析“会员数据”,强化门店的竞争力?
- 拍照摄影|如何拍出赞爆朋友圈的自拍照?网红小姐姐公开拍照神器
- 目标检测|数据民工也能移动办公了:目标检测标注App上线,分分钟创建私人数据集
- IOS系统|苹果免签封装如何实现?苹果免签封装会不会掉签?
- 帧数|帧数提升70% NV黑科技DLSS如何开启
- 拍照摄影|即将进入大学的新生想入手一台相机,该如何选?
