【编程技术-使用WinArk对抗r77Rootkit】此文章归类为:编程技术。
使用WinArk对抗r77Rootkit
0.背景
最近发现了一个项目,Star星数在1.2K以上。Clone后仔细研究了一下,是一个纯r3的DLL注入 + inline hook隐藏。
作为一款反Rootkit工具,特此验证一下它的功能。
1.r77Rootkit功能简介
隐藏文件、注册表、服务、网络连接、命名管道和计划任务。
Install.exe 是安装器
Uninstall.exe 是卸载器
TestConsole.exe是测试控制台程序。
$77-Example.exe是运行安装器后会被隐藏的文件。
2.运行效果
2.1文件隐藏
可以看到$77-Example.exe在资源管理器中已经看不到了。
2.2进程隐藏
任务管理器中按照PID排序后也看不到6056进程。
2.3服务隐藏
服务按照pid排序后,也看不到svc64服务。
其他隐藏就不在此展示了。
3.WinArk运行测试
3.1绕过进程隐藏
在完成相关符号下载后,WinArk成功运行起来。点击Process ID排序后,都没有摘除inline hook的前提下,我们成功找到了dllhost.exe进程。
右键属性也能看到相应的启动参数
3.2绕过服务列表隐藏
按照名称排序后,未发现svc64,测试失败。
如此则进行inline hook扫描WinArk.exe自身。
此时等待2-3分钟,转圈就是没扫完。扫描结果显示被hook了相关服务遍历函数。
都右键逐个恢复后,关闭窗口。
再右键重新扫描一次,钩子已经被摘除。这是为什么呢?
原来是这里我理解错误了,他是把要隐藏的项写入了注册表。通过恢复注册表的钩子,可以看到相应的注册表表项。
3.3绕过文件隐藏
可恢复文件钩子。
4.结束语
到此我们展示了WinArk修复r3层inline hook的功能,成功修复了r77-rootkit inline hook NTDLL的
NtQuerySystemInformation、NtResumeThread、NtQueryDirectoryFile、NtQueryDirectoryFileEx、NtEnumerateKey、NtEnumerateValueKey、EnumServiceGroupW、EnumServicesStatusExW、NtDeviceIoControlFile。
WinArk项目地址:
更多【编程技术-使用WinArk对抗r77Rootkit】相关视频教程:www.yxfzedu.com