文章插图
只有一个“.code”部分 , 没有导入
code字段分为三个部分 , 通过查看其熵最容易看出 。首先 , 有一个高熵部分包含加密的shell代码 。之后是实现解包程序的纯代码 , 然后是熵非常低的最后一部分 , 似乎由用于构造勒索信的纯字符串组成 。
文章插图
“.code”部分的熵
文章插图
打开程序
由于Azov的整个代码都是手工编写的 , 因此有必要执行一些IDA魔术和清理工作 , 以将代码塑造成可以反编译和理解的状态 。完成此操作后 , 过程start_0()就可见了 。这段代码将shellcode解包到新分配的内存中 , 然后将执行传递给它 。
文章插图
输入函数start_0
函数AllocAndDecryptShellcode()中的解包程序被故意创建得看起来比实际更复杂 。但实际上 , 它是一个简单的种子解密算法 , 使用xor和rol的组合 , 其中key = 0x15C13 。
文章插图
AllocAndDecryptShellcode函数中的解包程序
我们在下面提供了简化程序逻辑的Python/ target=_blank class=infotextkey>Python实现:
文章插图
下一阶段分为两个主要程序:一个负责清除文件 , 另一个负责为可执行文件设置后门 。
文章插图
将执行转移到清除和后门逻辑
文章插图
清除程序
清除程序首先创建一个互斥锁(Local\\azov) , 以验证恶意软件的两个实例没有同时运行 。
文章插图
清除程序——互斥锁创建
如果成功获得互斥锁句柄 , Azov会通过木马(类似于后门程序)64位windows系统二进制文件msiexec.exe或perfmon.exe并将其保存为rdpclient.exe来创建持久性 。在SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run上创建一个注册表项 , 指向新创建的文件 。
文章插图
持久性创建
清除程序使用触发时间——有一个循环 , 被分析的样本检查系统时间 , 如果不等于或大于触发时间 , 则休眠10秒 , 然后再次循环 。样本触发时间为2022年10月27日 。
文章插图
样本触发时间为2022年10月27日
一旦这个逻辑炸弹被触发 , 清除器逻辑就会遍历所有设备目录 , 并对每个目录执行清除程序 , 从而避免某些硬编码的系统路径和文件扩展名 。
推荐阅读
- 爆火出圈的chatGPT如何在逆向和恶意软件分析中发挥作用
- 视频驱动软件下载 如何安装视频驱动?
- 为什么手机上的外卖库软件打不开呢 外卖库存同步机器人
- 有哪些软件可以找钱 网上怎么找钱钱
- 同城交友软件 同城好友
- 如何用wps制作公章 公章制作软件哪个好
- 网络传真机软件……有没有比较好用的电子网络传真软件?
- 扫码查价格软件哪个好?怎样扫条形码查价
- 时间同步软件xp—有什么软件同步手机时间,显示,时,分,秒的?
- 用友通财务软件?用友通软件怎么下载呢!需要哪些附件呢?