木马持久化技术
最常见的方法是:
1、计算机启动项的注册表内 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)新增
2、计算机启动目录下放文件 (C:\Users\user\AppData\Roaming\Microsoft\Windows\Templates)
通常都是在此基础上玩花样,建立快捷方式,vb脚本,bat脚本;进阶的就是将恶意代码文件注入到已经在上面的正常程序中(白加黑),直接把木马二进制写进注册表内,通过这些程序带动恶意代码。
再进阶就是打系统文件,计算机系统程序注意,最常用的还是通过注入技术,自供应链攻击的兴起,再就是通过供应链下发在你神不知鬼不觉中建立持久化
再再进阶就是对计算机底层注入,内核注入,rookit等技术,(这样看起来上面的注入系统进程,和供应链与这条也谈不上有技术偏差,反正再我彩笔看来都是牛逼的操作,哪个都不简单)
Shim数据库持久化技术
回到正题,这个Shim数据库持久化是什么的呢,严格的来说也是一直通过计算机注册表达到持久化的一种技术。
这个技术因该是最早是2017年的时候被披露,是不是在此之前已经有这个了我就不知道了,反正2017年的时候这个火了吧,2017年有欧洲背景的APT组织FIN7就是是用来这个技术进行做持久化,(不管它多早,反正我才是最近才知道这个东西)
外网链接写这个技术的报告(多亏这个报告了)
https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/pillowmint-fin7s-monkey-thief/
这个东西实现呢需要建立在一个Windows系统内安装了KB2832077补丁的前提。
原理呢:
1、使用内置程序“sdbinst.exe ” 对构建的恶意的Shim 数据库进行注册
注册成功后会在计算机保存shim数据库的默认目录下,生成以随机GUID命名扩展名是".sdb" 的文件。
2、再将生成的“.sdb”文件注册到services.exe中
** 完成以上步骤后,services.exe 启动的时候会将这个“sdb”加载到内存中运行,这时候构建的Shim数据库内的shellcode的也会被执行。**
上一张上面报告里的图,可以诠释这个过程
遇到这种样本,取了两种持久化方式,明明打了补丁,莫名在services.exe上出现了错误跑不出来构建的Shim文件,全网一堆沙箱试了也就启明的沙箱跑出来了,又下不到。全网又没找到其它的构建的Shim数据库,后续是怎么让其加载到services.exe的还要继续跟进看看有没有结果,看心情出不出帖子
上一张描述这个过程的图,具体怎么实现可了解链接中的报告。
|