介绍一个基于Ring 3 的rootkit

首先先科普用户态内核态

两者的在指令上的区别  

一般来说,ring0权限下开放的指令有:IO读写、网卡访问、申请内存、访问硬件资源。

一般来说,ring3权限下开放的指令有:普通的计算指令等

两者在空间权限的区别

用户态和内核态的栈(用来储存函数 或者 形参的地方)是不同的,分别是用户栈和内核栈。

用户态可以访问虚拟内存0-3G的空间,内核态访问0-4G的空间

如图所示 我们可以看到内核态,它可以通过驱动的方式,复写物理内存

图片

下面来介绍这款Rootkit软件

R77 是一个 Ring 3 rootkit,它隐藏了所有内容:

  • 文件、目录

  • 进程和 CPU/GPU 使用情况

  • 注册表项和值

  • 服务业

  • TCP 和 UDP 连接

  • 交汇点、命名管道、计划任务

按前缀隐藏

开头的一切都是隐藏的。"$77"

图片

组态系统

动态配置系统允许按PID和名称隐藏进程,按完整路径隐藏文件系统项目,特定端口的TCP和UDP连接等。

图片

该配置位于没有提升权限的任何进程中,并且可由任何进程写入。此密钥的 DACL 设置为向任何用户授予完全访问权限。HKEY_LOCAL_MACHINE\SOFTWARE\$77config

此外,密钥被 rootkit 隐藏。$77config

安装

r77 的部署只需要一个文件:.执行在系统上保留 r77 并注入所有正在运行的进程。Install.exe

Uninstall.exe从系统中完全、优雅地移除 R77。

Install.shellcode是安装程序的 shellcode 等效项。这样,安装可以集成而不会掉落。shellcode 可以简单地加载到内存中,强制转换为函数指针,然后执行:Install.exe

int main()
{
	// 1. Load Install.shellcode from resources or from a BYTE[]
	// Ideally, encrypt the file and decrypt it here to avoid scantime detection.
	LPBYTE shellCode = ...

	// 2. Make the shellcode RWX.
	DWORD oldProtect;
	VirtualProtect(shellCode, shellCodeSize, PAGE_EXECUTE_READWRITE, &oldProtect);

	// 3. Cast the buffer to a function pointer and execute it.
	((void(*)())shellCode)();

	// This is the fileless equivalent to executing Install.exe.

	return 0;
}

执行流程

rootkit 驻留在系统内存中,不会将任何文件写入磁盘。这是分多个阶段实现的。

此图显示了从安装程序的执行一直到每个进程中运行的 rootkit DLL 的每个阶段。该文档有一章详细介绍了每个阶段的实现。

图片

AV/EDR 规避

目前正在使用几种 AV 和 EDR 规避技术:

  • AMSI旁路:PowerShell 内联脚本通过修补禁用 AMSI 以始终返回 。多态性用于逃避 AMSI 旁路的特征检测。amsi.dll!AmsiScanBufferAMSI_RESULT_CLEAN

  • DLL 解钩:由于 EDR 解决方案通过挂钩来监控 API 调用,因此需要通过从磁盘加载新副本并恢复原始部分来删除这些挂钩。否则,将检测到工艺空心化。ntdll.dllntdll.dll

测试环境

测试控制台是一个有用的工具,用于将 r77 注入到各个进程中并测试配置系统。

图片

安装

install.exe是把r77注入到所有能注入的进程和启动系统rootkit的,所以安装完可以把程序删了,实现无文件启动

test console是测试r77的功能,比如注入r77或隐藏进程,但功能只有安装r77以后才能用

下载解压以后直接点击install.exe安装就行了

 r77 Rootkit 1.5.2.zip (ZIP Password: bytecode77)
 

 Technical Documentation

使用效果

文件隐藏

图片

进程隐藏

图片

服务隐藏

图片

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ring3层隐藏进程是指在计算机的操作系统中,利用一些特殊的技术手段或者恶意软件来隐藏自身的进程,使其在操作系统层面上不被察觉或无法被发现。 首先,Ring3是指计算机操作系统的用户态环境。在这个层级中,进程运行的权限较低,无法直接访问操作系统的核心态环境。 隐藏进程的目的通常是为了避免被用户或者安全软件察觉,以实现各种恶意目的。常见的方法有以下几种: 1. 修改进程的属性:利用各种技术手段修改进程的属性,使其在任务管理器或者其他进程监视工具中不可见。例如,通过修改进程的PEB(Process Environment Block)来删除或修改进程自身在系统进程列表中的记录。 2. 加载进程钩子:通过操作系统提供的进程钩子机制,在进程创建、退出或运行过程中,植入一些对进程操作的控制逻辑。通过这种方式,可以在进程管理工具中隐藏自身的存在,或者篡改系统的行为。 3. 修改系统调用表:通过篡改操作系统的系统调用表或函数表,使得某些关键的系统调用或函数返回伪造的结果。通过这种方式,可以欺骗监控工具或者病毒扫描工具,隐藏自己的存在。 4. rootkit技术:rootkit技术是一种更为复杂和高级的隐藏进程技术。它可以在系统内部植入自己的恶意代码,并与操作系统的核心态环境进行交互。通过这种方式,可以在操作系统层面上彻底控制系统的行为,使自身进程无法被发现。 总而言之,Ring3层隐藏进程是恶意软件或黑客利用各种技术手段,在操作系统的用户态环境中隐藏自身的进程,从而实现对被感染系统的控制和掩盖自身存在的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值