Linux后门入侵检测工具使用

× 文章目录
  1. 1. 0x00 描述
  2. 2. 0x01 Webshell查杀
    1. 2.1. 1.1 D盾_Web查杀
      1. 2.1.1. 安装使用
    2. 2.2. 1.2 深信服WebShellkiller
      1. 2.2.1. 安装使用
    3. 2.3. 1.3 CloudWalker(牧云)
      1. 2.3.1. 安装使用
  3. 3. 木马后门类查杀
    1. 3.1. 2.1 ClamAV
      1. 3.1.1. 安装使用
    2. 3.2. 2.2 rookit
      1. 3.2.1. 2.2.1 RKHunter
        1. 3.2.1.1. 安装使用
      2. 3.2.2. 2.2.2 chkrootkit
        1. 3.2.2.1. 安装说明

0x00 描述

当我们的应用系统被入侵后,系统是否已被黑客上传webshell甚至植入木马后门程序。如果依靠人工排查,一是工作量大,二是需要一定程度的技术知识和业务知识才能判断什么是正常什么是异常。工作量大决定排查工作不可能由个别具有技术知识和业务知识的人来完成工作而需要其他人员参与,而如果这些没有“一定程度的技术知识和业务知识”的人员参与基本必然后导致大量的误报和漏报(主要是漏报)。总而言之,在大量设备场景中人工排查后门是很难切实有效推行的排查手段。

0x01 Webshell查杀

1.1 D盾_Web查杀

D盾Web查杀是一个永久免费的网站D盾Web查杀,软件使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为

引擎特别针对:一句话后门、变量函数后门、${}执行、`执行、preg_replace执行、call_user_func、file_put_contents、fputs 等特殊函数的参数进行针对性的识别,能查杀更为隐藏的后门,并把可疑的参数信息展现在你面前,让你能更快速的了解后门的情况

PS: 不再更新D盾_web查杀的查杀引擎,只更新查杀库到2019.1.1,之后将不再更新查杀库

安装使用

D盾_WEB查杀V2.0.9 下载链接

1
2
3
# D盾只有win版的,需要把源代码打包下来进行扫描,或使用nfs共享目录挂载到windows系统
# 这里使用tar把源码打包下来进行扫描
tar -cvf webshell.tar webshell/

1.2 深信服WebShellkiller

WebShellkiller作为一款web后门专杀工具,不仅支持webshell的扫描,同时还支持暗链的扫描。这是一款融合了多重检测引擎的查杀工具。在传统正则匹配的基础上,采用模拟执行,参数动态分析监测技术、webshell语义分析技术、暗链隐藏特征分析技术,并根据webshell的行为模式构建了基于机器学习的智能检测模型。传统技术与人工智能技术相结合、静态扫描和动态分析相结合,更精准地检测出WEB网站已知和未知的后门文件。

安装使用

Windows
Linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Windows平台同D盾

# linux平台
# 下载WebShellkiller
wget http://edr.sangfor.com.cn/tool/WebShellKillerForLinux.tar.gz

# 解压到当前目录
tar -zxvf WebShellKillerForLinux.tar.gz
# 查看解压结果,可以看到多出centos_32、centos_64、linux_64三个文件夹
# 查看当前系统版本
cat /etc/system-release && uname -m

# 进入centos_64
cd centos_64/wscan_app/

# wscan 默认没有可执行权限
chmod u+x wscan

# wscan从LD_LIBRARY_PATH加载so文件,需要将当前路径加到LD_LIBRARY_PATH以使wscan能找到当前目录下的so
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH

# 执行扫描
./wscan -hrf ../../webshell/jsp

1.3 CloudWalker(牧云)

CloudWalker(牧云)是长亭推出的一款开源服务器安全管理平台。根据项目计划会逐步覆盖服务器资产管理、威胁扫描、Webshell 查杀、基线检测等各项功能。

本次开源作为开源计划的第一步,仅包含 Webshell 检测引擎部分,重点调优 Webshell 检测效果。目前放出的是一个可执行的命令行版本 Webshell 检测工具。

安装使用

1
2
3
4
5
# 工具打包形式为单个可执行文件,下载之后添加可执行权限即可执行。
wget https://github.com/chaitin/cloudwalker/releases/download/webshell-detector-1.0.0/webshell-detector-1.0.0-linux-amd64

# 使用
./webshell-detector -html -output result.html /var/www/webshell/

木马后门类查杀

可以设置定时任务定期查杀

2.1 ClamAV

ClamAV是一个在命令行下查毒软件,是免费开源产品,支持多种平台,如:Linux/Unix、MAC OS X、Windows、OpenVMS。ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。为什么说是查毒软件呢,因为它不将杀毒作为主要功能,默认只能查出您服务器内的病毒,但是无法清除,至多删除文件。不过这样,已经对我们有很大帮助了。

安装使用

clamav的官方网站是http://www.clamav.net, 可以从http://www.clamav.net/downloads 下载最新版本,也可以通过yum在线安装clamav,因为clamav包含在epel源中,所以方便起见,通过yum安装最简单。也可以编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
# Yum安装clamav
yum install epel-release
yum -y install clamav clamav-milter

# 更新病毒库
freshclam

# 进行扫描
clamscan -r -l scan.log /var/www/webshell
-r 表示递归扫描子目录
-l 增加扫描报告
move [路径] 表示移动病毒文件到指定的路径
remove [路径] 表示扫描到病毒文件后自动删除病毒文件

2.2 rookit

rootkit是Linux平台下最常见的一种木 马后门工具,它主要通过替换系统文件来达到攻 击和和隐蔽的目的,这种木 马比普通木 马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木 马。rootkit攻 击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻 击者保住权限,以使它在任何时候都可以使用root权限登录到系统。

一般杀毒软件运行于ring3级别只能查杀ring3级别的木马,rookit是运行于ring0级别的木马,所以查杀rootkit也需要ring0级杀毒程序。Rootkit Hunter正是一款专门查杀rootkit的软件。

2.2.1 RKHunter

Rkhunter的中文名叫“Rootkit猎手”, 目前可以发现大多数已知的rootkits和一些嗅探器以及后门程序。它通过执行一系列的测试脚本来确认服务器是否已经感染rootkits,比如检查rootkits使用的基本文件,可执行二进制文件的错误文件权限,检测内核模块等等。在官方的资料中,RKHunter可以作的事情有:

  1. MD5校验测试,​检测文件是否有改动
  2. 检测rootkit使用的二进制和系统工具文件
  3. 检测特洛伊木 马程序的特征码
  4. 检测常用程序的文件属性是否异常
  5. 检测系统相关的测试
  6. 检测隐藏文件
  7. 检测可疑的核心模块LKM
  8. 检测系统已启动的监听端口
安装使用

官方地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# yum安装rkhunter
yum install epel-release
yum install rkhunter

# 常用的几个参数选项有:
c, --check 必选参数,表示检测当前系统
configfile <file> 使用特定的配置文件
cronjob 作为cron任务定期运行
sk, --skip-keypress 自动完成所有检测,跳过键盘输入
summary 显示检测结果的统计信息
update 检测更新内容

# 使用--skip-keypress参数跳过回车
rkhunter -c --skip-keypress

检查主要分成6个部分

  1. 进行系统命令的检查,主要是检测系统的二进制文件,因为这些文件最容易被rootkit。显示OK字样表示正常,显示Warning表示有异常,需要引起注意,而显示“Not found”字样,一般无需理会。
  2. 主要检测常见的rootkit程序,显示绿色的“Not found”表示系统未感染此rootkit。
  3. 主要是一些特殊或附加的检测,例如对rootkit文件或目录检测、对恶意软件检测以及对指定的内核模块检测。
  4. 主要对网络、系统端口、系统启动文件、系统用户和组配置、SSH配置、文件系统等进行检测。
  5. 主要是对应用程序版本进行检测。
  6. 其实是上面输出的一个总结,通过这个总结,可以大概了解服务器目录的安全状态。

设置定时任务

0 3 * * * /usr/sbin/rkhunter -c --skip-keypress 2>&1 | mail -s "rkhunter Reports of My Server" [email protected]

2.2.2 chkrootkit

Chkrootkit是一个在本地系统检查rootkit痕迹的工具,它是检查系统二进制文件是否被rootkit病毒修改的一个shell脚本。

安装说明

官方地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 安装编译工具包
yum install gcc gcc-c++ make
yum install glibc-static

# 安装chkrootkit
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit
make sense
# 常用参数
-h 显示帮助信息
-V 显示版本信息
-l 显示测试内容
-d debug模式,显示检测过程的相关指令程序
-q 安静模式,只显示有问题部分,
-x 高级模式,显示所有检测结果
-r dir 设定指定的目录为根目录
-p dir1:dir2:dirN 检测指定目录
-n 跳过NFS连接的目录

# 使用,出现INFECTED就说明系统可能有问题了
./chkrootkit | grep INFECTED

设置定时任务

0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Reports of My Server" [email protected]