
文章插图
关于r77-Rootkitr77-Rootkit是一款功能强大的无文件Ring 3 Rootkit , 并且带有完整的安全工具和持久化机制 , 可以实现进程、文件和网络连接等操作及任务的隐藏 。
r77能够在所有进程中隐藏下列实体:
文件、目录、连接、命名管道、计划任务;该工具兼容32位和64位版本的windows 7以及Windows 10 。
进程;
CPU用量;
注册表键&值;
服务;
TCP&UDP连接;
通过前缀隐藏所有以“$77”为前缀命名的实体都将被隐藏:

文章插图
配置系统动态配置系统允许广大研究人员通过PID或抿成来隐藏进程 , 通过完整路径来隐藏文件系统 , 或通过指定端口隐藏TCP&UDP连接:

文章插图
配置信息存储在“HKEY_LOCAL_macHINESOFTWARE$77config”中 , 并且可以在未提权状态下由任何进程写入 。这个键的DACL被设置为可以给任意用户授予完整访问权 。
“$77config”键在注册表编辑器被注入了Rootkit之后会自动隐藏 。
安装工具r77可以直接使用单独的“Install.exe”进行安装 , 安装工具会将r77服务在用户登录之前开启 , 后台进程会向所有当前正在运行以及后续生成的进程中注入命令 。这里需要使用两个进程来分别注入32位和64位进程 , 这两个进程都可以使用配置系统和PID来进行隐藏 。
“Uninstall.exe”程序负责将r77从系统中卸载掉 , 并解除Rootkit跟所有进程的绑定关系 。
无文件持久化Rootkit将驻留在系统内存中 , 不会将任何文件写入磁 , 这种机制是分多个阶段实现的 。
阶段一安装程序为32位和64位r77服务创建两个计划任务 。计划任务确实需要存储名为$77svc32.job和$77svc64.job的文件 , 这是无文件概念的唯一例外 。但是 , 一旦Rootkit运行 , 计划任务也会通过前缀隐藏 。
计划任务将使用下列命令开启“powershell.exe”:
[Reflection.Assembly]::Load([Microsoft.Win32.Registry]::LocalMachine.OpenSubkey('SOFTWARE').GetValue('$77stager')).EntryPoint.Invoke($Null,$Null)该命令是内联的 , 不需要.ps1脚本 。这里 , 使用PowerShell的.NET Framework功能从注册表加载C#可执行文件并在内存中执行 。由于命令行的最大长度为260(MAX_PATH) , 因此只有足够的空间执行简单的Assembly.Load().EntryPoint.Invoke() 。
文章插图

文章插图
阶段二执行的C#代码为stager , 它将会使用Process Hollowing技术创建r77服务进程 。r77服务是一个本地可执行文件 , 分别以32位和64位架构继续宁编译 。父进程被设置为了winlogon.exe以增加欺骗性(模糊性) 。另外 , 这两个进程被ID隐藏 , 在任务管理器中不可见 。

文章插图
磁盘上从未存储可执行文件或DLL 。stager存储在注册表中 , 并从其资源加载r77服务可执行文件 。
测试环境测试控制台可以用来向单独进程注入r77 , 或接触进程跟Rootkit的绑定关系:

文章插图
项目地址r77-Rootkit:https://github.com/bytecode77/r77-rootkit
参考资料https://bytecode77.com/downloads/r77%20Rootkit%20Technical%20Documentation.pdf
https://bytecode77.com/r77-rootkit?
【工具推荐:r77-Rootkit:一款功能强大的Ring 3 Rootkit】
推荐阅读
- 类风湿性关节炎吃什么好,推荐五大食物
- 从化旅游景点大全排名,0大旅游景点推荐
- SpringBoot的可视化接口开发工具
- BI数据可视化工具使用技巧
- 用 C# 开发自己的语音识别程序
- 抓包工具fiddler都有哪些高级功能,一文带你全面了解它
- 盘点电子工程师常用的42款工具
- 推荐系统概述和主流模型介绍
- 眼妆|藏在屈臣氏“角落”的5款洗发水,导购不推荐都留自用,孕期可用
- 立夏如何养生,推荐三款家常食谱
