-
-
[原创]病毒分析日志_Rootkit
-
发表于:
2020-10-30 19:50
6380
-
Rootkit常用隐藏技术
1查壳:
VC编写的,无壳
2静态分析
strings分析字符串
看到了文件操作,WriteFile表明将会在某个时间写文件
看到了OpenSCManagerA StartServiceA CreateServiceA CloseServiceHandle表明创建了一个服务
看到了GetCommandLineA推测可能读取了命令行某个命令执行某个操作
看到virtualalloc猜测可能执行了远程线程注入
这里不全部列出,这里还要注意两个API调用,LoadResource和SizeOfResource表明对该程序的资源节做了某些处理
C:\Windows\System32\Mlwx486.sys表明程序在该位置创建了这个文件
可以多用一些工具
这里我们查看下资源节,因为我们前面发现了一些资源操作函数(有些骚的作者会在资源节隐藏shellcode)
资源节中包含一个PE头,资源节中是另一个可执行文件
向下拉
MmGetSystemRoutineAddress获取ntoskrnl模块导出的函数地址,原生API
3行为分析
打开procmon
查看进程树
Operation过滤
第一幅图的倒数第二行,创建了c:\WINDOWS\system32\Mlwx486.sys这个文件,第二幅图第一行创建了一个文件
我们猜测这是一个rootkit,原因有下:
1 根据我们用strings发现的API和在资源节发现的MmGetSystemRoutineAddress因为服务是进入内核的方式之一,其他的还有hook这里不做过多讨论。
2. sys后缀,
3. 我们运行这个恶意程序,没有任何症状发生,说明用了隐藏技术
4. 当我们去该目录下找该文件的时候发现找不到
Mlwx486.sys创建了一个服务,该服务名为486 WS Driver,如下图所示
4 动态分析
载入IDA
在IDA中,同样可以看到服务名,调用的函数
检查该内核驱动是否被加载
驱动仍然在运行
在真机上打开WInDBG连接到虚拟机查看SSDT表
如图,有一个地址位于nt模块的边界之外
恢复虚拟机到之前的状态,查看该位置原来的值
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课