护网之Linux应急处理操作手册

时间:2022-07-25
本文章向大家介绍护网之Linux应急处理操作手册,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本菜菜今天在处置的时候有遇到一台linux主机

在排查过程中原因好好好好好奇葩

想到大家可能也会遇到很多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工具进行分析(本人开发维护);