【安全资讯】Ramsay关联分析
概述:
Eset安全研究员Ignacio Sanmillan于5月13上午披露Ramsay家族组织,该样本特点是突破感染隔离的物理设备,通俗讲窃取数据保存,等待时机泄露,不过Ig表示未发现数据提取模块。
样本框架已演变了三个版本,如下所示:
图片源于:https://www.welivesecurity.com/2020/05/13/ramsay-cyberespionage-toolkit-airgapped-networks/
Verson2.a开始,Ramsay自我保护意识增强,框架加入了HideRootkit(x32),用来保护进程/线程隐藏,包括文件/窗口隐藏功能,c++编写的驱动(wdm),基于SSDTHook与IRP拦截两种方式(也可能有其他的)。
Ignacio Sanmillan披露声明Ramsay与DarkHotelAPT有密切的关联,有多项TTPs表明的两组织之间的关联。
同样我们分析相关样本,梳理纪录TTPs,利用Ramsay_Yara捕获了DarkHotel组件,从而验证了这一说法的可信性。
➬ 感染链分析:
文件 | 186b2e42de0d2e58d070313bd6730243.exe |
大小 | 1849905bytes |
MD5 | 6D4D53E82288FD1D6382FB869806B2B8 |
CRC32 | 67E307D0 |
1) 初始化配置,加载资源文件释放至临时目录,如下所示:
2) 利用CreateProcess创建多分支感染链,CommandLine将载荷执行,如下所示:
➬ 污染流程分析:
加载器分析:
文件 | ltarxkzvnd.exe.bin |
大小 | 52736 bytes |
MD5: | E48B89715BF5E4C55EB5A1FED67865D9 |
CRC32: | 3BA91C49 |
1) 参数校验,本次执行流程参数4
2) 拷贝载荷到1085kb(该文件被重写)
3) 利用ShellExecuteExW执行lwlcttacvu.exe,dump参数如下所示:
{
0x08, 0x00, 0x14, 0xb1, 0xea, 0xec, 0x03, 0x5e, 0x69, 0x6f, 0xfc, 0x22, 0x9f, 0xb0, 0x03, 0x7a,
0xc9, 0x2d, 0xa2, 0x90, 0x35, 0x03, 0x5f, 0x3a, 0x6f, 0x67, 0xb8, 0xd9, 0xd7, 0xb4, 0x77, 0x67,
0xb9, 0xf1, 0xdd, 0x3b, 0xd3, 0x7d, 0x77, 0x6d, 0xde, 0xbb, 0xdf, 0x4d, 0xb8, 0xdc, 0x06, 0xe2
};
4) ShellExecuteExW还是会调用CreateProcesW,如下所示:
5) 收尾工作,如下所示:
6) 由步骤三我们可知,”套娃”的方式来解析恶意执行,加载自身,不同的参数来控制分发的恶意事件,比较有意思。
HideRootKit:
1) 入口点:
2) Init初始化配置: 0001DC04
3) Sub_179FA(),,构造初始化,主类HideDriver为纯虚类,如下所示:
4) 初始化以下指针调用,如下所示:
5) 主要的初始化功能如下:
sub_1AFE4 | 初始化Resource读写锁 |
sub_1B000 | 初始化Mutex互斥体 |
sub_1B054 | 获取KeServiceDescriptorTable基地址 |
sub_1B064 | 获取KeServiceDescriptorTable.ServiceTableBase |
sub_1B076 | 获取KeServiceDescriptorTable基地址 |
sub_1B086 | 获取KeServiceDescriptorTable.ServiceTableBase |
sub_1B01C | HideDriver::FileHider |
sub_1B038 | HideDriver::ProcessHider |
6) IRP分发
Create和Close都是IRP直处理,没有附加操作,返回STATUS_SUCCESS
7) IRP_MJ_DEVICE_CONTROL函数,如下所示:
Ramsay组织活动情况会持续跟踪,一旦有新框架演变或关联DarkHotel新情报,将会第一时间梳理披露。