Linux应急响应
1先使用 history 查看主机的历史命令
排查用户信息
whoami #查看当前用户身份
who #查看当前登录系统的所有用户
w #显示已经登陆系统的用户列表,并显示用户正在执行的指令
users #显示当前登录系统的所有用户的用户列表
id #当前用户信息
id || (whoami && groups) 2>/dev/null #当前用户信息
cat /etc/passwd | cut -d: -f1 #查看所有的用户名
cat /etc/passwd | grep “sh$” #查看拥有bash的用户
awk '/$1|$6/{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' /etc/shadow …" | grep “ALL=(ALL)” #查看拥有sudo权限的用户
sudo -l #列出目前用户可执行与无法执行的指令
awk -F: ‘$3==0{print $1}’ /etc/passwd #查看超级用户(uid=0),有些黑客将普通用户的uid改为0,则该普通用户也拥有了超级权限
2排查进程端口相关的信息
top #动态查看进程
ls -l /proc/18176/exe #查看PID为18176的进程的可执行程序
lsof -p 18176 #查看PID为18176的进程打开的文件
lsof -c sshd #查看进程sshd打开的文件
lsof -i:33946 #查看33946端口对应的一些进程
ps -p PID -o lstart #查看进程的启动时间点
netstat -pantu | grep 18176 #查看端口连接情况,过滤含有18176的行,就可以查看连接的端口
fuser -n tcp 33946 #查看33946端口对应的进程PID
ps aux / ps -ef #静态查看进程
pstree #查看进程树
ps aux --sort -pcpu #静态查看进程,根据cpu使用情况排行,从高到低
ps aux --sort -pmem #静态查看进程,根据内存使用情况排行,从高到低
3查找恶意程序并杀掉
ls -l /proc/18176/exe
lsof -p 18176
strace -tt -T -e trace=all -p 1389 #跟踪1389进程运行情况
kill -9 18176
4斩草除根
可以使用以下命令查看定时任务
crontab -l 或者 cat /var/spool/cron/root
我们也可以查看定时任务的日志文件
more /var/log/cron
#查找cron文件中是否存在恶意脚本
/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/*
#查看指定目录最近3天内被修改的文件
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -3 | xargs ls -la
#按时间排序,确认最近是否有命令被替换,可以结合rpm -Va命令
ls -alt /usr/bin /usr/sbin /bin /sbin /usr/local/bin | rpm -Va>rpm.log
#查看是否有异常开机启动项
cat /etc/rc.local | chkconfig --list
5借助工具查杀病毒和rootkit
#查杀rootkit
chkrootkit (下载地址-http://www.chkrootkit.org)rkhunter (下载地址-http://rkhunter.sourceforge.net)
#查杀病毒
clamav(下载地址-http://www.clamav.net/download.html)
#查杀webshell
cloudwalker(下载地址-http://github.com/chaitin/cloudwalker)
6判断入侵方式,修复漏洞
查看 /var/log/secure文件
cat /var/log/secure* | grep Accepted #查看登录成功的记录
cat /var/log/secure* | grep Failed #查看登录失败的记录
grep "Accepted " /var/log/secure* | awk ‘{print $1,$2,$3,$9,$11}’ #查看登录成功的日期、用户名及ip
grep “Failed password for root” /var/log/secure | awk ‘{print $11}’ #查看有哪些ip在爆破主机的root账号
grep “Failed password” /var/log/secure | awk {‘print $9’} | sort | uniq -c | sort -nr #查看爆破用户名字典
黑客入侵主机有下列几种情况:
(1)通过 redis 未授权漏洞入侵
(2)ssh 弱口令暴力破解
(3)Web 程序漏洞入侵