Linux应急处理操作手册

Posted 挖洞的土拨鼠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux应急处理操作手册相关的知识,希望对你有一定的参考价值。

基础准备--命令防篡改与命令记录


很多黑客入侵到操作系统后,会做两个常见的操作unset history替换命令文件(或者对应的链接库文件),针对这两点要做好记录shelllog并且检查链接库类文件和命令文件最近有没有改动

RootkitHunter

#安装
$sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz
$sudo tar zxvf rkhunter-1.4.4.tar.gz
$sudo cd rkhunter-1.4.4
$sudo sh install.sh --install
#使用
$/usr/local/bin/rkhunter --propupd
$/usr/local/bin/rkhunter -c --sk --rwo

症状研判--根据主机异常状态判断异常点


性能资源紧张(变现为卡慢)

free -m #以MB为单位查看内存使用情况
free -l  #查看内存使用细节
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head #查看内存使用前十名
vmstat -a #查看内存和CPU使用情况
vmstat -s #查看内存和CPU使用详情
vmstat -d #查看读写IO情况
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head  # 查看CPU使用前十名
top #查看进程性能资源消耗

技术分享图片
技术分享图片
技术分享图片

主机宕机死机(表现为主机宕机或死锁或重启)

dmesg -T #按时间点查看内核日志
dmesg -T | grep memory #查看和内存相关的日志记录
dmesg -T | grep crash #查看和崩溃相关的日志记录
dmesg -T | grep reboot #查看和重启相关的日志记录
cat /var/log/dmesg #内核日志
cat /var/log/syslog #系统日志
cat /var/log/kernel.log #内核日志(Ubuntu下是kern.log)

技术分享图片
技术分享图片

断网断连排查(变现为网络不通或间断性连通)

iptables -L #查看防火墙
cat /etc/resolv.conf #查看域名解析
ifconfig -a #查看网卡信息

应用服务问题诊断

HTTP         /var/log/httpd/access.log #或者是HTTP服务器配置文件中的日志路径
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

入侵点入侵特征排查


##  可疑网络通信及进程排查  ##
netstat -antlop  #查看异常连接和对应的进程、文件
ps -ef #查看进程信息
ps aux # 查看进程信息
lsof #查看进程关联账户信息lsof -g pid

可以登录和爆破排查

last #登录或重启日志
lastb #登录失败日志 或者是/var/log/faillog
who /var/log/wtmp #登录日志  另外可以   last -f /var/run/utmp
cat /var/log/lastlog  #最后的登录日志
cat /var/log/secure  #安全日志
cat /var/log/cron  #计划任务日志
cat ~/.bash_history | more  #历史操作
grep "Failed password for root" /var/log/auth.log | awk ‘{print $11}‘ | sort | uniq -nr | more  #查看root账户登录爆破尝试
grep "Accepted" /var/log/auth.log | awk ‘{print $11}‘ | sort |uniq -c | sort -nr | more #查看登录成功日志信息
strings /usr/bin/.sshd | egrep ‘[1-9]{1,3}.[1-9]{1,3}.‘   #查看sshd的信息 

漏洞利用入侵及后渗透特征

检查~/.ssh/目录下有没有异常的文件(密钥文件)redis未授权访问等
检查/etc/passwd 以及 /etc/shawdow有没有异常账户和权限
检查/etc/rc.local 查看开机启动项
检查/usr/bin /usr/sbin /bin等敏感目录(命令文件所在目录)
检查/tmp 临时文件
检查能登录用户cat /etc/passwd | grep -E "/bin/bash$" 
检查环境变量echo $PATH
检查/etc/init.d/rc.local 和 /etc/ssh等等 

web入侵点检查

#webshell查找
find /var/www/ -name "*.php" | xargs egrep ‘assert | phpspy | c99sh | milw0rm | eval | ( gunerpress | (bas464_encode | spider _bc | shell_exec | passthru | ($\_POST[|eval(str_rotl3 | .chrc|${"\_P|evalC$\_R | file_put_contentsC.*$\_ | base64_decode‘
# 脚本文件打包
find /var/www/html/  |grep -E ".asp$|.aspx$|.jsp$|.jspx$|.jspf$|.php$|.php3$|.php4$|.php5$|.inc$|.phtml$|.jar$|.war$|.pl$|.py$|.cer$|.asa$|.cdx$|.ashx$|.ascx$|.cfm$|.cgi$ "|xargs tar zcvf /tmp/shellscript.tar.gz
#  文件查找的相关命令:
sudo find / -mtime(atime/ctime) -x   #按照创建、修改时间查找
sudo find ./ -perm 4777  #按照权限查找文件
find  ./ -mtime -1 -type f #按照文件类型查找

根据历史经验查看access.log 可以使用https://github.com/cisp/AccessLogAnylast工具进行分析(本人开发维护);

附录一:





以上是关于Linux应急处理操作手册的主要内容,如果未能解决你的问题,请参考以下文章

讲清楚,说明白! Linux系统应急响应流程

处理顺序

Linux应急响应

读《Linux应急响应》笔记(未完待续)

读《Linux应急响应》笔记(未完待续)

读《Linux应急响应》笔记(未完待续)