APT36基本情况整理及样本分析记录

VSole2023-10-23 09:54:58
一
基本情况

其活动可以追溯到2012年,攻击手法:带有嵌入宏的恶意文档。透明部落始终使用诱人的文档和文件名(通常称为蜜陷阱)来诱骗受害者在其端点上执行恶意内容。

武器

1、主要恶意软件是一种公开称为 Crimson RAT 的自定义 .NET RAT

2、其他自定义 .NET 恶意软件

3、一种称为 Peppy 的基于 Python 的 RAT

Transparent Tribe, COPPER FIELDSTONE, APT36, Mythic Leopard, ProjectM, Group G0134 | MITRE ATT&CK®

Crimson依赖于额外的模块负载来进一步丰富其特性集。这些模块包括键盘记录、浏览器凭证窃取、自动搜索和窃取可移动驱动器上的文件,以及两个不同的有效载荷更新模块。

几乎所有C2都属于Contabo GmbH托管服务提供商,该托管服务器在南亚地区的威胁组织中较受青睐,CrimsonRAT以及TransparentTribe其他武器都曾连接到Contabo GmbH

CrimsonRAT是透明部落从事间谍活动的主要工具,该工具主要功能如下:

1、管理远程文件系统

2、上传或下载文件

3、截屏

4、进行音频监控

5、监控摄像头

6、窃取文件

7、记录键盘

8、窃取浏览器中的密码

移动端的特征

武器:Tahorse RAT、CapraRAT

CrimsonRAT C2 Nmap Scan

Probe TCP NULL q||
totalwaitms 6000
tcpwrappedms 3000
match crimsonrat m|^\x0c\0\0\0\0info=command$|s p/CrimsonRAT Controller/

CrimsonRAT 基础设施主要托管在越南 VPS 经销商 Pi NET LLC 租用的基础设施上。

在Pi NET LLC主机上使用的不同证书,其通用名称为WIN-L6BUPB5SQBC(Pi NET LLC 的已知 IP 范围:https://github.com/team-cymru/iocs/blob/master/pinet/Pi%20NET%20LLC%20Ranges)

二
几种C#类型的透明部落

1、USB蠕虫(这种 RAT 能够部署一个模块来感染 USB 设备)

宏:

这些文档通常嵌入恶意 VBA 代码,有时使用密码保护,配置为丢弃包含恶意负载的编码 ZIP 文件。

该宏将 ZIP 文件放入在 %ALLUSERPROFILE% 下创建的新目录中,并在同一位置提取存档内容。目录名称可以不同,具体取决于示例:

%ALLUSERSPROFILE%\媒体列表\tbvrarthsa.zip

%ALLUSERSPROFILE%\Media-List\tbvrarthsa.exe

可执行文件是 Crimson “瘦客户端”,它允许攻击者获取有关受感染机器的基本信息、收集屏幕截图、操纵文件系统以及下载或上传任意文件。

3a67ebcab5dc3563dc161fdc3c7fb161(样本一)

无混淆

run:

功能:MSIL/Crimson下载器

b579c4a8dd622af458463ac3c76412ca(样本二)

532013750ee3caac93a9972103761233(样本三 Crimson)

三
样本分析记录

记录一次简单但完整的透明部落后门分析过程,推特上看到某家厂商发布的一个样本,分析过后简单记录一下。

诱饵文档:

宏加密了。

使用vbabypass解密后,宏代码主要将路径“.\xl\embeddings”下的oleObject2加上.bin后缀,随后拷贝成同路径下的uebslplyr.exe。uebslplyr.exe是c#写的后门远控文件。

uebslplyr.exe没有混淆,可以直接分析,入口长这样的:

进入Form1():

进入函数InitializeComponent():

Form1_FormClosing:

Form1_Load:

手动修改sleep的值之后,进入uebslplyrdou_start():

接下来关于uebslplyrdou_start()函数进行分析。

uebslplyrget_mpath();获取文件路径;

MYQUINF() 获取用户名计算机名等信息 :

需要找到调用该回调函数的地方才能从时间回调函数(uebslplyrlookupDons)入口处跟进去,System.Threading.Timer只是注册这个回调函数到定时器,只有等定时器触发才会调用回调函数。

随即进入回调函数,接下来对该回调函数进行肢解。

端口号:

ip地址:

功能部分:

回调函数crimson
本作品采用《CC 协议》,转载必须注明作者和本文链接
其活动可以追溯到2012年,攻击手法:带有嵌入宏的恶意文档。透明部落始终使用诱人的文档和文件名(通常称为蜜陷阱)来诱骗受害者在其端点上执行恶意内容。
近期安恒信息中央研究院猎影实验室捕获到透明部落组织针对印度国防部下属企业攻击的样本,样本格式为带有恶意宏的pptm文件,可能通过钓鱼邮件投递至印度国防部下属企业,样本中的宏代码会释放并执行CrimsonRAT,执行来自恶意C2的各种命令。
x32TLS回调函数实验
2023-05-31 09:34:55
TLS回调函数介绍TLS回调函数是在程序运行时由操作系统自动调用的一组函数,用于在进程加载和卸载时执行一些初始化和清理操作。在TLS回调函数中,可以访问当前线程的TLS数据,并对其进行修改或检查。值得一提的是TLS回调可以用来反调试,原理实为在实际的入口点代码执行之前执行检测调试器代码。为了栈平衡,我们要把传进这个回调函数的参数所占用的
动态函数PHP中支持一个功能叫 variable function ,变量函数的意思。//最终是system;当一个变量后边带括号,那他就被视作一个函数。编译器会解析出变量的值,然后会去找当前是否存在名为“system()”的函数并执行它。这里就不给实例了,很多免杀案例中都用到了这个特性。也是被疯狂查杀的特征。回调函数回调函数,简单来说就是一个函数不是由我直接调用,而是通过另一个函数去调用它。
结果分析Hook前Hook后,我们的弹窗本该是hello的但是hook后,程序流程被我们修改了。760D34B2 55 push ebp760D34B3 8BEC mov ebp,esp通过这两条指令,函数就可以在堆栈中为局部变量分配存储空间,并在函数执行过程中保存和恢复现场。这样做的好处是可以避免局部变量和其他函数之间的冲突,同时也可以提高函数的可读性和可维护性。
Dobby一共两个功能,其一是inlinehook,其二是指令插桩,两者原理差不多,主要介绍指令插桩。所谓指令插桩,就是在任意一条指令,进行插桩,执行到这条指令的时候,会去执行我们定义的回调函数
在Windows大部分应用都是基于消息机制,他们都拥有一个消息过程函数,根据不同消息完成不同功能,windows通过钩子机制来截获和监视系统中的这些消息。一般钩子分局部钩子与全局钩子,局部钩子一般用于某个线程,而全局钩子一般通过dll文件实现相应的钩子函数
全局钩子注入在Windows大部分应用都是基于消息机制,他们都拥有一个消息过程函数,根据不同消息完成不同功能,windows通过钩子机制来截获和监视系统中的这些消息。一般钩子分局部钩子与全局钩子,局部钩子一般用于某个线程,而全局钩子一般通过dll文件实现相应的钩子函数
相关例子如下,编译的时候需要在Debug模式:#define _CRTDBG_MAP_ALLOC. main.cpp : {163} normal block at 0x000002882AE17740, 12 bytes long.Data: < M > 07 00 00 00 4D 00 00 00 09 03 00 00. main.cpp : {162} normal block at 0x000002882AE148C0, 4 bytes long.内存的申请在C++编程语言中,内存申请对应的关键字是new或malloc,其实new最后调用的也是malloc函数,对应源代码文件是debug_heap.cpp。在包含相关头文件之后,malloc函数的调用栈为:malloc -> _malloc_dbg -> heap_alloc_dbg -> heap_alloc_dbg_internal。_CrtMemBlockHeader* _block_header_prev; // 双向链表,访问该双向链表的全局变量为__acrt_first_block. size_t _data_size; // malloc分配的大
当L1指令高速缓存未命中次数达到溢出值时,触发PM中断,执行样本注册的PMI回调函数。是否支持clflush指令,并且处理器是否支持ICACHE_MISS类型的监视事件。
VSole
网络安全专家