问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
.NET恶意软件Dark Crystal RAT的详细样本分析
对.NET恶意软件Dcrat样本的一次粗浅分析,手动解码三阶段恶意软件,提取C2服务器和一些恶意行为分析。
前言 == Dark Crystal RAT (Dcrat)是一种典型的RAT恶意软件,可以让攻击者从远程控制被感染的计算机,通常用于窃取各种类型的敏感信息,例如剪贴板内容和应用程序中的个人登录详细信息。 第一阶段 ==== DIE查看 -----  基于.NET的恶意软件,使用dnSpy进行分析;样本还有混淆保护。 同时查看信息熵:  很高的熵,这表明了Dcrat可能载入了另一个有效负荷。 dnSpy分析 ------- 使用dnSpy进行分析,跳转到入口点:  恶意软件创建了一个极大的数组unit,一直向下翻,发现解密:  经过解密之后,以名称`koi`加载到内存中。 查看解密代码`Decrypt`:  根据`LoadModule`函数,koi是以模块的形式载入的,那我们就有了一个办法来提取到这一块内存。 ### 模块断点提取koi 首先创建模块断点:  使用俩个通配符来创建断点,这将会使恶意软件在加载任何模块时发生中断。  启动程序,之后程序会断下来,最先加载的模块是mscorlib.dll,点击继续,程序会接着断在样本自身。这里再接着运行一次就能发现koi加载了:  在顶部调式的窗口点击模块:  保存为koi.exe ### 解密后提取 另一种提取第二阶段的办法,直接在Decrypt后面下断点,将解密后的array2复制出来保存为exe文件。  0x4D0x5A。PE文件标志 第二阶段 koi.exe ============ DIE查看 -----  同样是一个基于.NET的32位恶意软件,加了混淆保护。 !\[image.png\][https://shs3.b.qianxin.com/attack\_forum/2024/08/attach-7a74b7559da15a64ba401b489aa7f8da05208532.png](https://shs3.b.qianxin.com/attack_forum/2024/08/attach-7a74b7559da15a64ba401b489aa7f8da05208532.png)) 观察信息熵,似乎没有加壳或者其它混淆。 dnSpy分析 -------  同上一个文件一样,koi的初始名字为rewrwr,右键发现没有入口点。 在Form1中发现大量的类似base64编码的文本数据:  尝试解密:  推测是经过了其它的混淆。 在下面找到了混淆的逻辑:  通过一个for循环,每次取第一个字母。验证一下:  MZ,PE文件标识。依据该混淆逻辑编写一个python脚本:  将提取出的数据保存为output.bin 第三阶段 ==== DIE查看 -----  依旧是基于.NET的32位程序,没有混淆。 查看信息熵:  熵表现也很正常,即没有可以隐藏大型负载的高平坦曲线。 dnSpy分析 -------  DIE显示没有ConfuserEx,但实际情况还是很难分析。尝试用NETRecatorSlayer反混淆了一下。  ### C2域名提取 在Class55中发现了一个有趣的字符串:  看起来像 base64 编码 + gzip(H4sIAA 是 base64 编码的 gzip 标头),尝试用cyberchef解密一下:  结果看起来还需要在逆转一下和base64一次。  得到了一个字典 和 互斥锁 `Wzjn9oCrsWNteRRGsQXn` 以及一些基本配置。 但是似乎还是没有什么用,往下继续,发现第二个字符串:  按照刚刚的步骤解码:  得到一串乱码,回去分析代码: i59,base64编码:  smethod\_3, Reverse:  i6B,根据字典替换字符:  smethod\_4 --> smethod\_2, base64编码+gunzip:  混淆的思路就出来了,对刚刚得到的SCRT字典做一点处理:  用第一处字符串解密得到的SCRT字典对第二个字符串base64+gunzip后的字符串进行字符替换,编写一个python脚本进行处理:  !image.png\]([https://shs3.b.qianxin.com/attack\_forum/2024/08/attach-64541fa2ce4e6644af351b256859975948d97091.png](https://shs3.b.qianxin.com/attack_forum/2024/08/attach-64541fa2ce4e6644af351b256859975948d97091.png)) 得到C2服务器的地址 行为分析 ---- 一些Dcrat恶意软件常见的恶意行为,窃取信息的操作、键盘记录器、从远程URL下载文件... ### 窃取信息 Dcrat会从剪贴板中窃取信息:  尝试从剪贴板读取 Unicode 文本并存储在 `@class.string_0` 中 获取屏幕截图:  uKI方法获取屏幕截图,包括宽和高。   Dcrat不断获取屏幕截图,将屏幕截图转换成字节数组JPEG的形式再上传到C2服务器。 窃取Steam凭证:  通过检索注册表项的操作获取Steam路径和登录用户,之后解析loginusers.vdf文件以获取Steam ID和Steam游戏平台中的游戏名称列表。 窃取纸飞机凭证:  窃取Discord文件:  ### 持久性操作 Dcrat使用计划任务和修改注册表来实现持久性。 #### 通过schtasks.exe创建计划任务  第一个任务 - /tn 指定任务名称,通常是该恶意程序本身 - /sc MINUTE /mo 创建一个每隔几分钟就执行一次的任务(5,15) - /tr 执行的程序路径 - /f 强制创建 第二个任务创建了一个在用户登录时执行的计划任务,添加了个新参数-以最高权限执行。 第三个任务同第一个,但是以最高权限执行。 通过计划任务(定时执行、登录执行)可以确保恶意程序在计算机上的持久性。 #### 修改注册表键  修改 `Run` 子键,Dcrat尝试在每个节点下的 `"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run"` 都添加一个新的键值对,值为Dcrat恶意程序的路径。该注册表位置用于存放要在用户登录时自动启动的程序。 修改 `Winlogon` 子键,Dcrat尝试在 `"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"` 子键中修改 `Shell` 键。这个键通常指向系统外壳程序(如 `explorer.exe`),代码将指定文件路径追加到 `Shell` 键的值中。通过修改 `Shell` 键,恶意软件可以在用户登录后立即启动。
发表于 2024-08-21 09:35:54
阅读 ( 18850 )
分类:
漏洞分析
0 推荐
收藏
0 条评论
请先
登录
后评论
Sciurdae
16 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!