一次针对安全人员免杀工具的投毒事件分析
0X01 事件概述
小二在日常安全运营中发现公司某部门同事终端触发了powershell远程下载的告警。调查发现其在github 上下载的免杀工具,调用powershell下载了后门程序,经过分析后门为远控软件,疑似对安全人员一次投毒攻击。
0x02 事件处置
2022/08/22 15:54:52发现一终端触发powershell远程下载告警,经过初步分析该命令作用为下载两个exe文件并执行。联系受害者,断网,上机提取样本,排查持久化,重启。
powershell远程下载的地址为:
https://cdn.discordapp\[.\]com/attachments/970173239244488825/1010928604487626893/Exe\_Converter.exe
https://billing-seruice\[.\]com/files/7exGqJhF9PlC.exe
通过访问下载的链接获取到了样本,发现两个样本均会报毒,第二个样本为后门。
0x03 样本分析
受害者是通过https://github.com/corpXd/Exe-To-Rp下载到工具,运行后触发的告警。使用IDA对其 进行分析,发现该exe只有一个功能,使用shellexecuteA执行一段powershell命令,如下图所示:
使用工具对该命令进行解密,发现该命令的功能是下载正常的Exe_Converter.exe(免杀工具),然后再下载一个名为7exGqJhF9PlC.exe的文件并执行:
对远程下载的Exe_Converter.exe进行分析:
分析Exe_Converter.exe发现,该样本是一个将二进制文件转为图片的工具,作者为韩国人
读取exe文件:
将exe转为图片:
作者的信息:
对7exGqJhF9PlC.exe进行分析:
该木马使用了伪造的签名,签名时间为8月21日:
该木马进行了大量的混淆,最后会在内存中执行一个pe文件,但是该文件并不是一个标准的PE文件:
该内存加载的文件会对进程,文件,机器名称,用户名进行对比,以用于确定是否是在被调试或者是否是在沙箱环境
将自身复制到C:\\Users\\Administrator\\AppVerif(当前用户的AppVerif目录下,该目录是后面创建的),并命名为DllHelper.exe
然后创建计划任务,计划任务名字为COMSurrogate
自删除操作,使用ping延迟执行。
然后计划任务会启动dllhelper,dllhelper会将真正的马注入到InstallUtil.exe
对注入到InstallUtil.exe的pe文件的分析:
该文件为32位的.net文件,该文件基于github开源项目Dcrat魔改,魔改的版本为1.0.7,该样本相较于原始木马添加了amsi的绕过功能
数据包特征:
Dcrat版本信息:
该样本会从pastebin拉取c2的地址:
该端口在不停变化,说明攻击者在不断更新
Dcrat使用了多种的规避技术:
1.Bypass Amsi的技术,使用patch Amsi.dll的手法来进行绕过
2.查找可疑进程并终止
3.通过wmi判断当前环境是否为虚拟机环境
在这次的样本中并没有开启反虚拟机和反可疑进程功能
样本执行流程
TTPS:
Initial Access | Execution | Persistence | Defense Evasion | command and control |
powershell远程下载 | powershell执行 | 计划任务 | Patch amsi | DcRat |
计划任务 | ollvm | Ngrok(内网穿透,隐藏C2,防止溯源) | ||
sleep for a long time | ||||
anti sandbx(查看用户名,进程) | ||||
anti vm(查看文件,用户名) | ||||
self delete | ||||
process injection | ||||
PEtoShellcode | ||||
伪造签名 |
0x04 样本行为日志分析
8.22日11.11分左右,用户解压了下载下来的工具压缩文件,其中释放的Exe_Converter.exe就是带有后门的工具程序:
随后用户点击了Exe_Converter.exe,该进程调用了powershell执行远程下载操作:
powershell先是在temp目录下又下载了一个Exe_Converter.exe:
然后下载了一个7exGqJhF9PlC.exe:
powershell指令解码结果如下,可以看到使用Start-Process函数启动下载在Temp目录下的7exGqJhF9PlC.exe和Exe_Converter.exe
7exGqJhF9PlC.exe进程被启动:
然后7exGqJhF9PlC.exe在C:\Users\Administrator\AppVerif下创建了一个DllHelper.exe,7exGqJhF9PlC.exe进程退出:
7exGqJhF9PlC.exe 进程在退出前是要启动 DllHelper.exe和 schtasks.exe(疑似要做计划任务权限维持)的,但是进程调用被防护软件拦截,7exGqJhF9PlC.exe 和 DllHelper.exe 随后也被查杀:
通过DllHelper.exe的hash查询到该文件也是7exGqJhF9PlC.exe,只是改了个名字
0x05 样本动态分析
在个人网络虚拟机环境运行DllHelper.exe(11.exe),发现有复制自身到AppVerif目录下,并添加进注册表启动项进行权限维持的行为:
然后原始的DllHelper.exe(11.exe)启动了释放的DllHelper.exe,DllHelper.exe启动了系统进程InstallUtil.exe,由系统进程与C2通信:
经过测试发现外联IP并不固定,解析的两个域名一个为白,一个为黑,近期标签显示为njRAT远控和CobaltStrike木马:
攻击者是从另一个白域名pastebin.com(一个公共的记事本类型的网站,可以将发布的信息共享出去,会给每条发布的信息生成永久的url和短链)拉取的下一阶段的域名,0.tcp.ap.ngrok.io是一个内网穿透工具的域名,用于隐藏C2。
在动态分析样本的过程中,发现外联C2之后,对面是活跃状态,在翻机器上的文件,并实施了密码抓取操作:
0x06 溯源分析
样本来源:https://github.com/corpXd
疑似作者在breached[.]to上发过帖子
https://breached[.]to/Thread-Exe-to-RP-convertor-bypass-AV-0-26-or-3-26
https://billing-seruice.com/files/ 上都疑似攻击者存的更多的木马及脚本。
IOC:
C2:
https://pastebin.com/raw/31VUe5a9
0.tcp.ap.ngrok.io:17784
https://github.com/corpXd/Exe-To-Rp/blob/main/Exe-Convertor.zip
https://cdn.discordapp.com/attachments/970173239244488825/1010928604487626893/Exe\_Converter.exe
https://billing-seruice.com/files/7exGqJhF9PlC.exe
MD5:
1B0221F9C4C1E81542B3A067B95E90A1 7exGqJhF9PlC.exe
EBF6F6F421EA6075F368DCCF6DED82BD Exe_Converter.exe
7762824DE5BEBC4245150F90B327D26D Exe_Converter.zip
0x07 总结
此次攻击疑似对安全人员的水坑攻击,在安全工具里内置后门,通过powershell下载样本,样本自删除,伪装系统进程,并进行进程注入,使用了DCRAT远控,并用pastbin,ngrok域名隐藏C2,后续进行权限维持,翻找文件、提取密码等动作。这次攻击也提醒,安全从业者,陌生的工具使用须谨慎。
- 本文作者: 安全运营小二
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/1884
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!