首页 > 代码库 > Linux查杀木马经验总结

Linux查杀木马经验总结

    前段时间公司网络异常,访问公网和内网都出现丢包,甚至无法访问的情况。登录网关查看监控,发现OA服务器的出方向流量异常,并连接了一个国外IP地址。

    然后想登录OA服务器排查,发现登录不上,ping丢包严重,猜测服务器的CPU、连接数或带宽被占满,导致无法登录。

    OA服务器是部署在一台Esxi上的虚拟机,Esxi主机也登录不上了,首先拔掉了Esxi的网线,阻止服务器对外发包。

    然后把网线插到了笔记本上,与Esxi服务器直连,并将笔记本设置为网关的IP192.168.1.1,这样就能ping通OA的服务器了,然后远程进去。

    经过一个上午的查杀,木马已被清除,并做好了防火墙优化、OA进程低权限运行、打安全补丁等加固措施。

    之后查找入侵的蛛丝马迹,发现黑客是通过OA软件漏洞,植入了木马程序,所有操作都记录在OA的日志里了,汗。。最后联系厂商提交了软件漏洞。

技术分享

    木马查杀只能是最后的补救手段,减少损失。最重要的还是提高安全意识,所有对外的服务器要进行系统加固、监控、操作审计、及时打补丁。博客地址:http://qicheng0211.blog.51cto.com

    下面总结一下Linux下木马查杀经验。

一、查找入侵痕迹

查看最近登录的账户和登录时间:

last,lastlog

查找远程登录成功的IP:

grep -i Accepted /var/log/secure

检查计划任务:

/var/spool/cron/

/etc/cron.hourly

/etc/crontab

通过文件状态最后修改时间来查找木马文件:

find / -ctime 1

检查/etc/passwd和/etc/shadow文件,是否有可疑用户。

检查临时目录/tmp、/vat/tmp、/dev/shm,这些目录权限是1777,容易被上传木马文件。

查看端口对外的服务日志,比如tomcat、nginx。

查看当前运行的服务:

service --status-all | grep running

查看自启动的服务:

chkconfig --list | grep :on

二、查杀木马常用命令

1. ps,top

查看运行的进程和进程系统资源占用情况,查找异常进程。

2. pstree

以树状图的形式显示进程间的关系。

3. lsof

可以查看进程打开的文件、文件或目录被哪个进程占用、打开某个端口的进程、系统所有打开的端口等等。

4. netstat

可以查看系统监听的所有端口、网络连接情况、查找连接数过多的IP地址等。

5. iftop

监控TCP连接实时网络流量,可分别分析出入流量并进行排序,查找出流量异常的IP地址。

6. nethogs

监控每个进程使用的网络流量,并从高到低排序,方便查找出流量异常的进程。

7. strace

追踪一个进程所执行的系统调用,可分析木马进程的运行情况。

8. strings

输出文件中可打印的字符串,可用来分析木马程序。

三、rootkit检测工具

    chkrootkit和rkhunter是Linux下常用的查找检测rootkit后门的工具。

1、chkrootkit

    项目主页:http://www.chkrootkit.org/

    安装chkrootkit:

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

# tar zxvf chkrootkit.tar.gz

# cd chkrootkit-*

# yum install gcc gcc-c++ glibc* make

# make sense

    运行检查:

# ./chkrootkit

    chkrootkit检查使用了部分系统命令: awk, cut, egrep, find, head, id, ls, netstat, ps, strings, sed, uname。

    在被入侵的系统上这些系统命令可能已被替换,因此chkrootkit的结果将不可靠。为了避免使用这些不受信任的命令,我们可以使用‘-p‘选项指定命令的备用路径。

    首先在另一个干净的系统里备份依赖命令:

# mkdir /backup/commands -p

# which --skip-alias awk cut egrep find head id ls netstat ps strings sed uname | xargs -i cp {} /backup/commands

# tar cvzfP commands.tar.gz /backup/commands

    然后把压缩包上传至服务器,解压后放在/backup/commands目录下,执行检查:

# ./chkrootkit -p /backup/commands

2、rkhunter

    rkhunter具有比chrootkit更为全面的扫描范围。除rootkit特征码扫描外,rkhunter还支持端口扫描,常用开源软件版本和文件变动情况检查等。

    项目主页:http://rkhunter.sourceforge.net/

    安装rkhunter:

# wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz

# tar xzvf rkhunter*

# cd rkhunter*

# ./installer.sh --layout /usr --install

    更新rkhunter数据库:

# rkhunter --update

    开始检查(输出中文):

# rkhunter --lang cn -c --sk

    --rwo参数仅输出warning信息:

# rkhunter --lang cn -c --sk --rwo

    我们还可以用-l参数指定写入的日志:

# rkhunter --lang cn -c --sk -l rkhunter.log

    为干净的系统建立校对样本:

# rkhunter --propupd

    定时扫描:

0 5 * * * /usr/local/bin/rkhunter --cronjob -l --rwo

四、clamav杀毒引擎

    clamav是用于检测木马,病毒,恶意软件和其他恶意威胁的一个开源杀毒引擎。支持Windows、Linux、Mac OS X多种操作系统。

    项目地址:http://www.clamav.net/

    首先安装epel软件源:

# wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

# sed -i ‘s/^mirrorlist=https/mirrorlist=http/‘ /etc/yum.repos.d/epel.repo

# yum makecache fast

    下载安装clamav:

# yum install yum-plugin-downloadonly -y

# yum install clamav -y --downloadonly --downloaddir=./

# rpm -ivh clamav*

    clamav会在/etc/cron.daily/目录下建立自动更新病毒库的脚本,每天自动执行。

    手动更新病毒库命令:

# freshclam

    查看病毒库日期:

# clamscan -V

    使用clamav进行根目录扫描:

# clamscan -r -i / -l /tmp/clamav.log

    进一步扫描可疑目录,并移除木马文件

# clamscan -r -i /usr/bin --remove

技术分享

-r 文件夹递归扫描

-i 仅输出受感染文件信息

-l 指定扫描日志文件路径

--move 移动受感染文件到指定目录

--remove 直接移除受感染文件

    我们还可以手动下载病毒库:

http://db.cn.clamav.net/daily.cvd 

http://db.cn.clamav.net/main.cvd 

http://db.cn.clamav.net/safebrowsing.cvd 

http://db.cn.clamav.net/bytecode.cvd

    下载后放入一个文件夹内,扫描时我们可以使用-d参数指定病毒库文件夹路径,比如:

# clamscan -r -i / -d ./clamav-db

本文出自 “启程的Linux博客” 博客,请务必保留此出处http://qicheng0211.blog.51cto.com/3958621/1928738

Linux查杀木马经验总结