Linux查杀木马经验总结

简介:

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

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

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

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

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

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

wKioL1kkCRrQOxPqAAJ1vkz9Ctg828.png-wh_50

    木马查杀只能是最后的补救手段,减少损失。最重要的还是提高安全意识,所有对外的服务器要进行系统加固、监控、操作审计、及时打补丁。博客地址: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

检查是否有异常启动脚本:

ls -lt /etc/init.d/ | head

二、查杀木马常用命令

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

wKioL1kj_5DDVsL2AABs6JH0mCc548.png-wh_50

-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



本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1928738

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Linux Apache Ubuntu
Linux配置Apache2的经验总结
apache原指http server程序,后来成为了该程序的组织名,所以把原程序名定成了httpd,在2.0版后又叫apache2。目前在windows上还叫httpd,在debian/ubuntu/linux mint系列的linux上,程序名是apache2。
1104 0
|
16天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
13天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
35 9
|
1天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
1天前
|
Linux
【Linux】常用命令
【Linux】常用命令
14 0
|
1天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
7 0
Linux 网络操作命令Telnet
|
2天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
28 0