前言
接着上篇windows应急响应而推出的linux篇。
入侵排查
主要排查点:定时任务,日志分析,进程分析,流量分析
如服务器部署了web应用还需要排查源码,检测webshell
关键位置排查
1、账号
内容含义:注册名、口令、用户标识号、组标识号、用户名、用户主目录、命令解释程序
分析:查看账户文件/etc/passwd,修改时间和内容。是否存在攻击者创建的恶意用户
stat /etc/passwd
cat /etc/passwd
2、命令执行记录 ~/.bash_history
作用:命令执行记录 ~/.bash_history
分析:是否有账户执行过恶意操作系统命令
3、排查异常文件
www目录下所有.jsp后缀文件
find /www -name *.jsp
最近3天修改过的文件
find -type f -mtime -3
最近3天创建的文件
find -type f -ctime -3
4、排查进程
查看进程
ps aux
查看某个用户启动了什么进程
lsof -u root
查看进程cpu占比(查看最高cpu占有率)
top
5、排查网络连接
排查进程端口相关的信息
lsof -p 1816 #查看PID为1816的进程打开的文件
lsof -c sshd #查看进程sshd打开的文件
lsof -i:339 #查看339端口对应的一些进程
列出连接筛选tcp
netstat -anop | grep tcp
恶意软件清除
-
查杀病毒clamav
-
webshell 查杀cloudwalker
-
rootkit查杀RootkitHunter和Chkroot
篇幅较大,自行研究。
ps:部分后门文件删除。需要要先修改权限为000
定时任务排查
查看定时任务
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
排查cron文件中是否存在恶意脚本
clamav
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
日志分析
分析重点:找到入侵方式,修复漏洞。
1、安全日志 /var/log/secure
作用:安全日志secure包含验证和授权方面信息
分析:是否有IP爆破成功
2、中间件日志(Web日志access_log)
nginx、apache、tomcat、jboss、weblogic、websphere
作用:记录访问信息
分析:请求次数过大,访问敏感路径的IP
位置:/var/log下 access.log文件(apache默认位置)
位置:/var/log/nginx下 access名称日志(nginx日志位置)
位置:tomcat、weblogic等日志均存放在安装路径下logs文件下
访问日志结构:访问IP---时间---请求方式---请求路径---请求协议----请求状态---字节数
3.登陆日志(可直接使用命令调取该信息,对应命令last/lastb)
位置:/var/log/wtmp #成功连接的IP信息
位置:/var/log/btmp #连接失败的IP信息
4.cron(定时任务日志)日志
位置:/var/log/cron
作用:查看历史计划任务(对该文件进行分析调取恶意病毒执行的计划任务,获取准确时间)
5、其他日志
作用:记录访问信息
分析:敏感操作
FTP /var/log/vsftp.log #或者是同路径下的xferlog
Squid /var/log/squid #或者是squid.access.log
NFS /var/log/nfs
IPTABLES /var/log/iptables/……
Samba /var/log/samba
DNS /var/log/message
DHCP /var/log/message #或者/var/lib/dhcp/db/dhcpd.leases
Mail /var/log/maillog