Linux应急响应

一、查看用户信息

/etc/passwd   查看用户信息文件
/etc/shadow  查看影子文件
awk -F: ‘$3==0{print $1}‘ /etc/passwd (查看系统是否还存在其他的特权账户,uid为0,默认系统只存在root一个特权账户)
who     查看当前登录用户(tty 本地登陆  pts 远程登录)
w       查看系统信息,想知道某一时刻用户的行为
uptime  查看登陆多久、多少用户,负载
passwd  -d username 删除用户口令
stat /etc/passwd #查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题
cat /etc/passwd | grep -v nologin #查看除了不可登录以外的用户都有哪些,有没有新增的
cat /etc/passwd | grep x:0 #查看哪些用户为root权限,有没有新增的
cat /etc/passwd | grep /bin/bash #查看哪些用户使用shell
查询可以远程登录的账号:awk  ‘/\$1|\$6/{print $1}‘  /etc/shadow
查询具有sudo权限的账号:cat /etc/sudoers

二、历史命令

很多的服务器会有存在多用户登陆情况,登陆root用户可查看其他用户的相关账户登录信息,.bash_history保存了用户的登陆所操作的命令信息

home/root/.bash_history
history查看历史命令
history
cat .bash_history >>history.txt   保存历史命令

三、查看端口

netstat -antp
查看对应链接的文件路径
ls -l /proc/pid/exe
ls -l /proc/*/exe | grep xxx  #如果我们知道恶意程序的启动文件大致位置,可以使用这个发现无文件的恶意进程
netstat -antlp | grep 172.16.222.198 | awk ‘{print $7}‘ | cut -f1 -d"/"  通过可疑的ip地址获取程序pid

四、查看进程

ps   -aux
查看相关pid对应程序
ps –aux | grep pid
监控某一应用线程数(如ssh)
ps -eLf | grep ssh| wc -l
监控网络客户连接数
netstat -n | grep tcp | grep 侦听端口 | wc -l
ps aux --sort=pcpu | head -10   查看cpu占用率前十的进程,有时候可以发现

五、开机启动项

启动项文件:
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/

六、定时任务

crontab  -l
编辑定时任务
crontab -e
crontab -u root -l  查看root用户任务计划
ls /var/spool/cron/  查看每个用户自己的执行计划
删除计划任务且控制计划任务不能写东西
sed ‘/gcc.sh/d‘ /etc/crontab && chmod 0000 /etc/crontab && chattr +i /etc/crontab
常见的定时任务文件:
/var/spool/cron/*  #centos的
/var/spool/cron/crontabs/* #ubuntu的
/var/spool/anacron/*
/etc/crontab
/etc/anacrontab  #异步定时
/etc/cron.hourly/*
/etc/cron.daily/*
/etc/cron.weekly/
/etc/cron.monthly/*

七、服务

chkconfig 查看开机启动项目
chkconfig  --list 查看服务自启状态
systemctl list-unit-files |grep enabled

八、查找文件

find查找指定的文件:find /home1 -name *.php ! -name index.php
find查看最近一天修改的文件: find / -mtime -1 > /etc/aa.txt(查看修改的文件并保存到aa的txt文档)
查找并删除,liyong xargs find . -name .svn | xargs rm –rf
find / -size +10000k -print:查找大于10000k的文件
md5sum -b filename:查看文件的md5值

九、top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
默认top是根据cpu的占用情况进行排序的
可通过按“b”键进行切换,可切换到按照内存使用情况进行排序
top  -p pid  监控指定进程
free 查看当前系统内存使用情况
top -b -n1 | head

十、Host文件

有一些挖矿程序会修改 /etc/hosts文件
cat /etc/hosts

十一、日志分析

默认日志位置:var/log
1、定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk ‘{print $11}‘ | sort | uniq -c | sort -nr | more
2、定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
2、登录成功的IP有哪些:   
grep "Accepted " /var/log/secure | awk ‘{print $11}‘ | sort | uniq -c | sort -nr | more
登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk ‘{print $1,$2,$3,$9,$11}‘ 

十二、查看命令状态

很多情况下,存在ps、netstat等一些常见命令被替换,可利用stat查看该状态,查看其修改时间
stat /bin/netstat

十三、文件清除

很多时候会遇到无法常看文件权限或是病毒在一直向某个文件写入程序,可尝试如下命令:
lsattr [恶意文件绝对路径]命令查看权限,
使用chattr -i [恶意文件绝对路径]解除文件锁定后删除。
chmod 0000 /lib/libudev.so && rm -rf /lib/libudev.so && chattr +i /lib/(chattr +i不让lib文件被写入删除)
结束某一进程:
Kill  -9  pid

Linux应急响应

上一篇:多进程


下一篇:SecureCRT客户端本地连接远程linux服务器连接超时后自动断开?如何解决?