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,之后将不再更新查杀库
安装使用
1 |
|
1.2 深信服WebShellkiller
WebShellkiller作为一款web后门专杀工具,不仅支持webshell的扫描,同时还支持暗链的扫描。这是一款融合了多重检测引擎的查杀工具。在传统正则匹配的基础上,采用模拟执行,参数动态分析监测技术、webshell语义分析技术、暗链隐藏特征分析技术,并根据webshell的行为模式构建了基于机器学习的智能检测模型。传统技术与人工智能技术相结合、静态扫描和动态分析相结合,更精准地检测出WEB网站已知和未知的后门文件。
安装使用
1 | # Windows平台同D盾 |
1.3 CloudWalker(牧云)
CloudWalker(牧云)是长亭推出的一款开源服务器安全管理平台。根据项目计划会逐步覆盖服务器资产管理、威胁扫描、Webshell 查杀、基线检测等各项功能。
本次开源作为开源计划的第一步,仅包含 Webshell 检测引擎部分,重点调优 Webshell 检测效果。目前放出的是一个可执行的命令行版本 Webshell 检测工具。
安装使用
1 | # 工具打包形式为单个可执行文件,下载之后添加可执行权限即可执行。 |
木马后门类查杀
可以设置定时任务定期查杀
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.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可以作的事情有:
- MD5校验测试,检测文件是否有改动
- 检测rootkit使用的二进制和系统工具文件
- 检测特洛伊木 马程序的特征码
- 检测常用程序的文件属性是否异常
- 检测系统相关的测试
- 检测隐藏文件
- 检测可疑的核心模块LKM
- 检测系统已启动的监听端口
安装使用
1 | # yum安装rkhunter |
检查主要分成6个部分
- 进行系统命令的检查,主要是检测系统的二进制文件,因为这些文件最容易被rootkit。显示OK字样表示正常,显示Warning表示有异常,需要引起注意,而显示“Not found”字样,一般无需理会。
- 主要检测常见的rootkit程序,显示绿色的“Not found”表示系统未感染此rootkit。
- 主要是一些特殊或附加的检测,例如对rootkit文件或目录检测、对恶意软件检测以及对指定的内核模块检测。
- 主要对网络、系统端口、系统启动文件、系统用户和组配置、SSH配置、文件系统等进行检测。
- 主要是对应用程序版本进行检测。
- 其实是上面输出的一个总结,通过这个总结,可以大概了解服务器目录的安全状态。
设置定时任务
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 | # 安装编译工具包 |
设置定时任务
0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Reports of My Server" [email protected]