|如何创建自己的Tracker
本文插图
0x00 前言
某一天 , 我正在浏览abuse.ch 。 这个网站会收集用户提交的恶意/可疑URL , 我偶然发现了一些非常有趣的东西 。 我看到某推特用户Gandylyan1每日上传大量名为Mozi的恶意软件样本(可参阅此文) 。 此僵尸网络是一IoT P2P僵尸网络 , 似乎正在疯狂地传播着 。 当我撰写本文时 , Gandy依然在上传样本 , 目前有24,709个IP上传到abuse.ch 。
该恶意软件非常有趣 , 并且不是很复杂 , 同时不是很难理解 。 它会使用已知exp及暴力破解方式在IoT设备中传播 , 若它已连接到某IoT设备 , 则会在该设备上启动http服务 , 之后将自身上传到随机端口 , 并将其托管在该IoT设备的IP地址上 。 接下来该设备开始扫描并攻击网络 , 当它成功接管另一台设备时 , 新感染的设备将从先前感染的设备接收Mozi 。 于是我决定为此僵尸网络构建一个Tracker 。
可惜我的Linux相关知识仅限于我知道ls -la命令功能 。 但是为僵尸网络构建一个Tracker的想法使我夜不能寐 。 经过短暂的搜索 , 我发现了Intezer创建的工具 。 此工具是一个小型的Python项目 , 可以让研究人员通过模拟OS环境来伪造出受恶意软件感染的客户端 。 研究人员所要关注的就是恶意软件通信协议 。 不需要蜜罐 , 不需要虚拟机 , 什么也不需要 。 之后我在GitHub上搜索了所有开源的恶意软件 , 发现了Quasar , 一款开源RAT 。 研究该RAT是了解恶意软件 , 逆向开源恶意软件以及了解其网络相关工作原理的好方法 。 我们的小实验的绝佳候选人!
- 必备知识:
- Wireshark相关的基础知识
- 编程相关知识
- Python
- C#
- 所需工具:
- VMWare
- Visual Studio Community
- Python 3.8
- Sublime Text Editor 3
- Dnspy
- De4dot
- 目标:
- 我们想知道Quasar客户端是如何连接到服务器的
- 我们想知道Quasar是如何构造发送给服务器的消息的
- 我们想知道是否存在用于处理消息的加密/解密过程
- 我们想知道服务器如何处理客户端消息的(因为我们有Quasar的源码 , 所以这是可能的)
我们将下载的Quasar源代码加载到Visual Studio 2019 Community(下载地址)中:
本文插图
我们对客户端代码 , 以及如何与其他对象协作都很感兴趣——Common包含各个公用程序 , Server包含Server端代码 。 据我所知 , 所有C#程序都以Program.cs开始 , 所以我们将从此开始 , 让我们打开Quasar.Client并找到Program.CS文件:
如果我们右击QuasarClient , 然后单击”转到实现” , 我们将在此处看到一些有趣的东西:
本文插图
首先解释从Client类继承的QuasarClient类 。 其工作是管理客户端中发生的所有事件 。 它具有专门的函数来处理bot的注册(OnClientState) , 并读取事件(OnClientRead)以及处理失败事件(OnClientFail) 。
本文插图
OnClientState函数尝试发送数据包到服务器 。 若想了解如何创建该消息 , 我们可以查看ClientIdentification类的构造函数:
本文插图
让我们回到Program.cs, 并查看ConnectClient.Connect:
推荐阅读
- 模型|REVIT技巧!如何创建能量模型,实现能量优化
- 技术编程|如何利用数据库进行世界史研究
- 区块链|欧科云链任煜男做客西安广电电台节目,解读区块链如何赋能实体产业
- 苹果笔记本|如何让macbook合上时工作?解决苹果电脑合盖自动休眠问题-macw
- |如何分析“会员数据”,强化门店的竞争力?
- 拍照摄影|如何拍出赞爆朋友圈的自拍照?网红小姐姐公开拍照神器
- 目标检测|数据民工也能移动办公了:目标检测标注App上线,分分钟创建私人数据集
- IOS系统|苹果免签封装如何实现?苹果免签封装会不会掉签?
- 帧数|帧数提升70% NV黑科技DLSS如何开启
- 拍照摄影|即将进入大学的新生想入手一台相机,该如何选?
