首页
论坛
课程
招聘
[病毒木马] [调试逆向] [原创]HellsingAPT分享
2020-8-17 18:12 2673

[病毒木马] [调试逆向] [原创]HellsingAPT分享

2020-8-17 18:12
2673

概述

Hellsing使用鱼叉式网络钓鱼技术来破坏东南亚,印度和美国的外交目标。APT 30似乎也是其组织目标之一,可能使用与Mirage相同的基础设施

2015年被卡巴披露黑吃黑APT_ON_APT,Hellsing对NaikonAPT组织进行钓鱼。

 

组件分析

Exe:

 

1) 初始化字符串,执行cmd删除Up目录下数据,如下所示:

 

C:\Windows\system32\cmd.exe /c "rd /s/q "C:\ProgramData\Windows\Intel\Up\*""


2) 枚举TCP端口连接情况,如下所示:



3) 创建局域网Socket端口443,结合上述获取TCP连接,开放局域网端口,有横向扫描意向,如下所示:



4) 内存中提取网络信标1.187.1.187

 

 


5) 清除DNS缓存



6) 结束指定Pid

 


7) 网络相关

 


8) 部分样本以Borland Delphi做为第一载荷,功能释放Dll。

 


9) 部分样本DOS头存根包含可执行Shellcode。

 

 


RTF:

cve-2018-0802分析

EQNEDT32.EXE.Md5:E6D02E3F423FFB5299D627500E88D44D

POC分析:

1) 漏洞触发,附加WINWORD下断是无效的(不是同一个进程),先OD打开或者附加EQNEDT32.exe,下断WINExec双击POC。通过Procexp进程树观察POC通过cmd执行计算器,可以尝试ShellExec和WINExec,CreateProcess三个函数,如下所示:

 


2) 发现Cmdline已经填充好了指令,查看内存该栈溢未被破坏,回溯发现仍是完整的栈空间,比较快捷实现指令流程跳转可以基于eip修改,jmp和call,call会push返回,如下所示:

 




3) 硬件断点-回溯,经过几次调试发现拷贝位置,如下所示:

 



4) 拷贝payload,执行ret跳转到栈地址执行shellcode。

 

 

5) 加载样本,跟踪shellCode执行。

 


6) 执行shellCode

 


7) 解密Shellcode代码段:

 

 


8) ShellCode使用傀儡进程注入(dllhst3g.exe),TMEP目录下释放8.tmp.exe可执行文件。

 

 

McAfee-QcConsol白加黑利用:

1) 8.t文件在Roaming\MikRosotf\Windows\Printer Shortcuts\目录下释放带有McAfee签名可执行文件,执行加载QcLite.dll,加载恶意stdole.tilb文件。

 

 

 

2) QcLite.dll被加载,读取解密stdole文件,执行shellcode.

 

 



cve-2017-11882分析

1) 下断0041160F函数地址,经过多次拷贝溢出,如下所示:

 

 

2) 00411874地址下断,返回ret跳转shellcode.

 

 

3) 执行ShellCode

 

 

4) shellcode读取8.t解密,内存中解密出可执行文件,如下所示:


 

5) 8.t释放可执行文件,执行带签名dascgosrky.exe,加载RasTls.dll,白加黑利用:

 

 

Dascgosrky-RasTls.dll白加黑利用:

6) RasTls内存解密PE,利用CreateThread执行回调恶意感染进行C2分发:



Sys:

RootKit驱动保护:

 

 

1)Ntfs\FastFat文件保护,如下所示:

 

FileSystem\\FastFat和FileSystem\\Ntfs,当系统删除一个文件时候向ntfs或者fastfat驱动发送派遣函数IRP_MJ_SET_INFORMATION请求,当打开一个文件会响应IRP_MJ_CREATE。


2)利用ObReferenceObjectByName获取了NTFS驱动对象。

 


3)替换派遣函数IRP_MJ_CREATE指针函数,如下所示:


 

 

 


4)Hook函数分析,通过_IO_STACK_LOCATION._FILE_OBJECT.FileName,来判断是否是保护的文件:

 


5)将文件路径进行任意替换,指向其它的字符串,对文件操作时候,处理派遣IRP_MJ_CREATE修改FILE_OBJECT.FileName从而达到文件保护功能。

 


ControlCode

6)控制码:2352220,执行_EPROCESS.ActiveProcessLink摘链操作,隐藏进程。

 

7)编写测试驱动,发送CTL_PROCESS_HIDE隐藏PID成功。

#define CTL_PROCESS_HIDE \

        CTL_CODE(FILE_DEVICE_VIDEO, 0x3917, METHOD_BUFFERED, FILE_ANY_ACCESS)


 

8)控制码: 23511128,用户层传递需要保护的文件数组,进行赋值操作。

 

 

NTFS和FASTFAT进行了fsd  Hook实现文件保护,EPROCESS结构摘链实现进程隐藏。


事件驱动应用

下述环节需要完善的安全建设体系应用,F3EAD流程应用图搞丢了,分享给各位入门的新手学习(附原图绘制),这部分应用和溯源能吹的东西太多了,实际反制溯源的很少,就当作一种依据/技术手段应用即可。

杀伤链:

杀伤链环节杀伤链内容

1) Reconnaissance 侦察

通过邮箱泄露等信息采集,获取攻击目标的邮箱与电话等信息

2) Weaponization 武器构建

针对目标受害主机精心构造shellcode

3) Delivery 载荷投递

攻击者投递含有cve-2017-11882/cve-2018-0802钓鱼邮件

4) Exploitation 漏洞利用

打开word文档,触发cve执行

5) Installation 驻留

shllcode释放PE,白加黑战术利用

6) C2 Command and Control

C2控制

7) Actions on Objectives(采取行动)

窃取机密数据


 

 

砖石模型:

 Infrastructur-基础设施:

1) exp

2) 情报来源

3) 网络信标相关基础设施

 

 Adversary-攻击者:

 

 CaPability-能力:

1) 鱼叉式投递

2) CVE+1Day

3) Rat/shellcode框架

 

 Victim-受害者:

1) 涉政/军事外交人员。

2) 利益冲突的黑客组织。

3) 受害者地区分布印度,美国等地区,以美国举例,中央时区/东部时区攻击活跃

 

IOC:

1c6ef040cd7121915245677eef5a3180

1fd7a38b452cfcedbe26bee721a659c0

2c6af1f21b91602d4d6164cbce4b28f9

9de35edb5da909b84d2b4f1176a835b6

35ea5e4ce3f78c2d2e4c928f6be7e756

40eb38b39c5cfdd2d2c0477cc1e683d2

42e8163b7f08dd383e62e4bdb7f07c08


[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班火热招生!!

上传的附件:
收藏
点赞2
打赏
分享
最新回复 (9)
雪    币: 8994
活跃值: 活跃值 (3614)
能力值: ( LV12,RANK:252 )
在线值:
发帖
回帖
粉丝
一半人生 活跃值 4 2020-8-17 18:15
2
0

老文旧样本,感觉还有可分享的知识点

最后于 2020-8-17 18:15 被一半人生编辑 ,原因:
雪    币: 6567
活跃值: 活跃值 (3612)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
顾何 活跃值 8 2020-8-17 20:20
3
0
感谢分享  内容很不错
雪    币: 137
活跃值: 活跃值 (362)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
niuzuoquan 活跃值 2020-8-17 21:43
4
0
感谢分享
雪    币: 9515
活跃值: 活跃值 (590)
能力值: ( LV8,RANK:132 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 活跃值 2 2020-8-18 09:08
5
0

感谢分享

最后于 2020-8-18 09:13 被CrazymanArmy编辑 ,原因: 感谢分享
雪    币: 652
活跃值: 活跃值 (287)
能力值: ( LV7,RANK:101 )
在线值:
发帖
回帖
粉丝
coneco 活跃值 2 2020-8-19 10:14
10
0
感谢分享
游客
登录 | 注册 方可回帖
返回