攻击技术研判|DarkWatchman无文件技术赏析

访客 314 0
本文来源:绿盟科技

情报背景

Prevailion的威胁情报团队近日发现了内部代号为”DarkWatchman”的Javascript远程访问木马,本文将对其中通过CSC编译实现动态更新、注册表数据存储与控制、DGA域生成算法这三个方面进行阐述和分析。

病毒家族

DarkWatchman

战术标签

防御规避、命令控制

技术标签

CSC编译、DGA域名生成、注册表数据记录

情报来源

https://www.prevailion.com/darkwatchman-new-fileless-techniques/

01 攻击技术分析

攻击执行流程如下:

1.自解压程序释放文件到%TEMP%目录并执行JS代码文件

2.JS代码释放Powershell文件(.ps)并执行

3.通过Powershell使用CSC编译C#代码并执行

亮点一:CSC编译,动态更新键盘记录器

DarkWatchman是一个WinRAR SFX自解压文件,其中包含两部分:JavaScript RAT以及一个键盘记录器的C#源码。当自解压文件执行后,除了解压压缩文件到指定的%Temp%目录以外,还执行了RAT:

攻击技术研判|DarkWatchman无文件技术赏析-第1张图片-网盾网络安全培训

RAT的JS脚本被执行后,将内置在文件中的PowerShell脚本解码Base64后写入文件并执行,Powershell脚本使用CSC编译方式编译键盘记录器并执行。

采用这种方式的好处如下:

1.在样本执行的过程中,中间所用的Powershell脚本能够通过编码等方式进行混淆,减少了样本被检测的几率;

2.使用CSC编译,在使用键盘记录器前才对源码编译并执行。通过这个机制,样本能够通过向C2拉取代码的方式实现对键盘记录器的远程更新。

亮点二:注册表数据存储与控制

键盘记录组件通过捕获WH_KEYBOARD_LL消息获取击键信息并以注册表项写入HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM:

攻击技术研判|DarkWatchman无文件技术赏析-第2张图片-网盾网络安全培训

样本使用注册表作为键盘记录器的数据存储媒介,避免了使用文件记录的方式,向磁盘写入数据,减少了检测的特征。JavaScript RAT获取到注册表缓冲区内容时,会将内容发送到服务器并清除注册表中的内容。

通过对特定注册表项“\\HKCU\Software\Microsoft\Windows\DWM\ + C盘序列号生成的uid + 字符”标记,JavaScript RAT实现对键盘记录器的控制,并与之进行交互,完成在键盘记录器与控制服务器间的流程控制与数据/命令传达工作。

Prevailion在撰写报告时,VT对已编译的键盘记录器的检出率仅为5/66,且无一检测结果表明该样本是键盘记录器。这说明了以注册表作为数据存储的载体,减少中间文件的创建的确对样本的行为隐匿有所帮助。

亮点三:独特的DGA域名生成算法

为了维持持续的控制,延迟攻击被发现的时间,实现攻击者身份的隐藏,受控端通过DGA算法生成大量备选域名,与C2建立通讯。服务端使用DGA算法生成相同的备选域名列表,并选择其中的个别域名进行注册,即可与客户端通信,并实现所用域名的快速变化。

DGA从10个种子域名开始,使用长格式的标准化日期部分、盐和迭代次数的组合字符串作为输入,通过一个CRC32函数以及一个整数转Hex32函数,得到一个8字符长度的字符串,将该结果添加到种子列表中。样本逐个向列表中的URL发送其uid,并等待状态码为200的响应。一旦收到200的响应码,则样本将标记其为当天的C2,并在注册表中记录。

特别设计的DGA算法极大削弱了传统基于黑名单的防护手段。域名黑名单的更新速度远远赶不上DGA域名的生成速度,致使防御成本大大增加。

02 总结

1.通过CSC编译支持源码动态更新与混淆,规避静态特征检测的同时保持了极大的灵活性;

2.以注册表作为数据存储载体避免了中间文件的创建,无文件的攻击方式起到了很好的隐匿效果;

3.独特的DGA域名生成算法,削弱了基于黑名单传统流量检测,进一步提高了样本的对抗能力。

标签: 网络安全技术

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~