Rootkit是通常为恶意软件的计算机软件的集合,其目的是维护系统的最高权限(Unix和Linux下为root,Windows下为Administrator),以未经授权访问计算机。与病毒或木马不同,rootkit试图通过隐藏自身来防止检测,以达到长期使用受害主机的目的。诸如病毒或木马之类的Rootkit对Linux系统的安全性构成了巨大威胁。
本章将首先介绍Linux Rootkit的分类和原理,然后介绍用于检测Rootkit的工具和方法。接下来,本章将介绍病毒木马扫描技术。 Webshell作为恶意代码的示例,也可以视为木马的一种特殊形式。它依靠Web服务器的操作环境来实现对受害主机上的黑客的长期隐藏控制。在本章的最后部分中,还将说明对这种恶意代码的检测方法。
1. 1 Rootkit的分类和原理Rootkit的主要功能包括:
隐藏进程
隐藏文件
隐藏的网络端口
后门功能
键盘记录器
Rootkit主要分为以下两种类型:
用户。
这里应该指出的是,用于获取root特权的漏洞利用工具不是rootkit。用于获取root特权的漏洞利用工具称为特权升级工具。在正常情况下,黑客攻击的动作顺序为:
(1)找到目标主机上的漏洞。这通常是通过网络扫描和Web应用程序扫描工具来实现的。所使用的工具包括但不限于“ Linux系统安全性:深度防御,安全性扫描和入侵检测” “第10章Linux安全扫描工具”中提到的相关工具。

(2)使用漏洞来增加特权。在步骤(1)中获得的特权可能不是超级用户超级用户特权。这时,黑客通过系统中的本地特权升级漏洞来非法获取root特权。
([3)在特权升级成功后安装Rootkit。
([4)删除跟踪,通过删除本地日志,操作历史记录等来删除跟踪。
(5)长期使用植入了rootkit的主机。黑客可能会将这些植入了rootkit的主机用作挖掘机器,发起DDoS分布式拒绝服务攻击等僵尸网络。
1. 2可加载的内核模块
Linux是单片内核,也就是说,操作系统的大多数功能都称为内核,并以特权模式运行。通过可加载的内核模块,可以在运行时动态更改Linux。动态可变意味着可以将新功能加载到内核中或从内核中删除功能。
使用以下命令加载模块(只有root拥有此权限):
#insomod module.o使用可加载内核模块的优点是:
核心的大小可以保持相对较小,这样核心就不会太大而膨胀。
动态加载,避免重新启动系统。
通常用于加载驱动程序。
模块加载后,其状态与原始内核代码相同。
但是,尽管带来了便利,但可装入的内核模块也带来了以下风险:
它可能被恶意用于向内核中注入恶意代码,例如第1 2. 1节中提到的内核模式Rootkit。
可能会导致一定的性能损失和内存开销。
具有不规则代码的模块可能会导致内核崩溃和系统停机。
1. 3使用Chkrootkit检查Rootkit
Chkrootkit是用于检测rootkit标志的本地化安全工具。它的官方网站是。 Chkrootkit包含:
chkrootkit:这是一个Shell脚本,用于检查rootkit是否已修改系统二进制文件。

ifpromisc.c:检查网络端口是否处于混杂模式。
chklastlog.c:检查是否删除了lastlog。
chkwtmp.c:检查是否删除了wtmp。
check_wtmpx.c:检查是否删除了wtmpx(仅对于Solaris)
chkproc.c:检查可加载内核模块木马的踪迹。
chkdirs.c:检查可加载内核模块木马的踪迹。
strings.c:快速替换字符串。
chkutmp.c:检查utmp是否已删除。
Chkrootkit可以识别的rootkit如图1所示:

图1 Chkrootkit识别的Rootkit
1. 3. 1 Chkrootkit安装
使用以下命令安装Chkrootkit:
cd /opt #进入/opt目录
wgetftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz #下载源码包
2019-02-11 11:25:35 (17.9 KB/s) -‘chkrootkit.tar.gz’ saved [40031] #完成下载源码包
wgetftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5 #下载md5校验文件
2019-02-11 11:25:53 (3.18 MB/s) -‘chkrootkit.md5’ saved [52] #完成下载md5校验文件
md5sum chkrootkit.tar.gz #计算源码包md5
0c864b41cae9ef9381292b51104b0a04 chkrootkit.tar.gz #md5计算结果
cat chkrootkit.md5 #查看md5校验文件内容
0c864b41cae9ef9381292b51104b0a04 chkrootkit.tar.gz #和已下载源码包md5对比,文件完整性校验通过
tar zxvf chkrootkit.tar.gz #解压源码包
cd chkrootkit-0.52 #进入源码包解压目录make sense #编译安装1. 3. 2执行Chkrootkit
在1. 3. 1中进行安装后,已编译的二进制文件和相关脚本将存储在/ opt / chkrootkit- 0. 52 /目录中。执行Rootkit检查的命令如下:
cd /opt/chkrootkit-0.52
./chkrootkit输出结果中可能包含的状态字段如下:
“已感染”:检测到可能已被已知rootkit修改的命令。
“未感染”:未检测到已知的rootkit指纹。

“未测试”:未执行测试-在以下情况下会发生这种情况:
这种测试是特定于某种操作系统的。
这种测试依赖于外部的程序,但这个程序不存在。
给出了一些特定的命令行选项(例如-r)。
“未找到”:用于检测命令对象不存在。
“易受攻击但已禁用”:尽管该命令已被感染,但并未使用(例如,它未运行或在inetd.conf中未注释掉)
1. 4使用Rkhunter检查Rootkit
Rkhunter是Rootkit Hunter(Rootkit Hunter)的缩写,是另一种常用的开源Rootkit检测工具。
Rkhunter的官方网站是。
1. 4. 1 Rkhunter安装
使用以下命令安装Rkhunter:
cd /opt #进入/opt目录
wgethttps://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz/download-O rkhunter-1.4.6.tar.gz #下载rkhunter源码包
tar zxf rkhunter-1.4.6.tar.gz #解压rkhunter源码包
cd rkhunter-1.4.6 #进入解压后目录
./installer.sh --install #安装rkhunter1. 4. 2执行Rkhunter
完成1. 4. 1的安装步骤后,Rkhunter的二进制可执行文件存储在/ usr / local / bin / rkhunter路径中。
执行以下命令来扫描系统:
/ usr / local / bin / rkhunter -c
执行完成后,扫描日志将被写入/var/log/rkhunter.log文件。只需关注文件的最后一部分,如下所示:
[22:12:42] System checks summary #系统检测结果汇总开始
[22:12:42] =====================
[22:12:42]
[22:12:42] File properties checks... #文件属性检测
[22:12:42] Required commands check failed
[22:12:42] Files checked: 130
[22:12:43] Suspect files: 3 #可疑的文件数量,如该数量不为0,则表示发现可疑文件,再从该日志中查找Warning的相关行进行详细分析
[22:12:43]
[22:12:43] Rootkit checks...
[22:12:43] Rootkits checked : 434
[22:12:43] Possible rootkits: 0 #可能的rootkit数量,如该数量不为0,则表示发现可疑文件,再从该日志中查找Warning的相关行进行详细分析
[22:12:43]
[22:12:43] Applications checks...
[22:12:43] All checks skipped
[22:12:43]
[22:12:43] The system checks took: 1 minuteand 47 seconds #系统检测花费的时间
[22:12:43]
[22:12:43]信息:结束日期为星期一2月11日22:12:43 CST 2019#系统检测结束的时间
1. 5摘要
Linux Rootkit作为黑客隐藏其恶意行为的一项关键技术,具有很强的隐蔽性和欺骗性。本文提到的两个工具可以在一定程度上识别常见的rootkit。对于新的Rootkit,您可以使用独立编译的Busybox和其他二进制文件进行比较分析。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-361822-1.html
没有看懂
经济拖垮了怎么办