0x0引言~
在应急响应中,往往会涉及到大量linux服务器群感染病毒的场景,这时仅依靠人工排查后门和病毒,效率和质量是非常低的;当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在短时间内恢复正常工作,以为企业挽回或减少经济损失,而学会利用自动化查杀工具,将会大大提高我们在linux下应急的效率和质量;本篇主要概述两款基于linux下的自动化病毒查杀的工具(河马、chkrootkit)的使用方法。
文章目录
河马 webshell扫描器
1.下载传送门
64位版本:wget -O /opt/hm-linux.tgz http://dl.shellpub.com/hm/latest/hm-linux-amd64.tgz?version=1.7.0
32位版本:wget -O /opt/hm-linux.tgz http://dl.shellpub.com/hm/latest/hm-linux-386.tgz?version=1.7.0
以上路径会随着版本更新而变化,可在官网下载中心获取最新版本
传送门
2.安装过程
下载前先用arch命令查看服务器是32位的还是64位,随后工具操作系统版本进行相对应的下载
root@1:/opt# arch
x86_64
如提示以下信息,则证明服务器没安装wget,需要用yum或apt-get安装,如下:
解压前有两点需要注意,否则会出现大量报错:
1.不要将本软件放置到web目录下
2.不要在web目录下运行软件
下载完成的文件需要解压,如下:
tar zxvf hm-linux.tgz
解压完后即可使用,可在命令行输入./hm -h获取查看帮助
root@1:/tmp# ./hm -h
Usage: hm <flags> <subcommand> <subcommand args>
Subcommands:
help describe subcommands and their syntax
scan 在指定的目录扫描WEBSHELL
update 升级程序
upload upload malice specimen
version 显示程序和特征库版本
出现以上信息即证明工具可用
3.实战演示
上传5个文件作扫描演示,其中除了钓鱼.png文件外,其它文件均为webshell文件,随后将进行扫描识别
扫描速度挺快的,针对webshell的查杀还是挺准确的,效果如下:
当工具检测出后门文件,我们就可以人工的去判断是否为误报,最后手动清除木马了
chkrootkit
1.rootkit介绍
Rootkit是一个特殊的恶意软件,它可隐藏自身以及指定的文件、进程、网络、链接、端口等信息。Rootkit可通过加载特殊的驱动修改系统内核,进而达到隐藏信息的目的。Rootkit的三要素就是:隐藏、操纵、收集数据。不同的操作系统会有不同的Rootkit,Linux系统中的Rootkit就被称为LinuxRootkit。
Rootkit具有隐身功能,无论静止时作为文件存在,还是活动时作为进程存在,都不会被察觉,它可能永远存在于计算机中。
可参考百度百科
2.下载传送门
可用wget进行下载,如果服务器断网,可下载至本机,随后使用rz命令进行上传
3.安装过程
下载完成后,需解压,如下:
tar -zxvf chkrootkit.tar.gz
Chkrootkit需要进行编译,安装前系统要安装gcc,否则编译时会报以下错误:
root@1:/tmp/chkrootkit-0.53# ./chkrootkit
chkrootkit: can't find `strings'.
root@1:/tmp/chkrootkit-0.53# make sense
cc -DHAVE_LASTLOG_H -o chklastlog chklastlog.c
make: cc: Command not found
Makefile:43: recipe for target 'chklastlog' failed
make: *** [chklastlog] Error 127
ubuntu 安装gcc命令:apt-get install gcc
centos 安装gcc命令:yum -y install gcc
解压缩后进入chkrootkit目录使用make sense命令进行编译
编译完成后,直接运行./chkrootkit可执行文件即可,它会对系统进行全面的rootkit检测,也可用./chkrootkit -h查看帮助说明
4.使用教程
chkrootkit默认对整个系统进行rootkit查杀,我们可以使用命令:./chkrootkit | grep INFECTED
去搜索关键字:INFECTED (被感染),方便查看
root@acitsec:/tmp/chkrootkit-0.53# ./chkrootkit | grep INFECTED
Searching for Linux.Xor.DDoS ... INFECTED: Possible Malicious Linux.Xor.DDoS installed
我的ubuntu是新装的测试系统,这里的警报为误报,我们来查看警报说明,发现是xorddos问题,当/tmp目录下近期有可执行文件执行过后,chkrootkit就会报这个问题。如下:
为直观的了解该误报,我在虚拟机做了个测试,在开始测试前,我先建了个虚拟机快照,方便事后恢复~
先把/tmp目录下的文件清空,随后执行./chkrootkit | grep INFECTED
,可以看到执行结果虽然存在 installed 但并未发现:Searching for Linux.Xor.DDoS … INFECTED: Possible Malicious Linux.Xor.DDoS installed,如下:
随后在/tmp下新建一个文件,并且执行它,这时使用chkrootkit进行安全检查就会产生警报,如下:
注:我们在检测时只能把工具结果作为参考,不能完全相信,在利用上面两款自动化工具分析的同时,我们也可以结合人工或其它工具进行合理分析,从而完成一次高效率+质量的应急响应
小结~
做应急响应也有一段时间了,每次对linux系统进行后门及Rootkit的查杀都异常麻烦,因为绝大多数应急都是自己一个人在搞,依靠人工排查,一是工作量大,一个人排查起来是非常劳累且乏味的、二是需要一定程度的技术知识和业务知识才能判断什么是正常什么是异常;为了更有效率的完成应急响应,这时我们可以灵活的使用各种自动化工具完成后门的查杀,相对于人工去排查,工具检测必然会存在漏报误报,但学会利用自动化查杀工具,将会大大提高我们在linux下应急响应的效率。