首页 > 代码库 > 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查杀木马经验总结