linux应急响应命令

  1. 入侵排查
  2. 账号安全:
  3. 历史命令:
  4. 异常端口:
  5. 异常进程:
  6. 检查开机启动项:
  7. 定时任务:
  8. 重要目录:

入侵排查

alias  #查看服务器别名,检查攻击者是否设置别名误导工程师

/home/用户名/.bashrc   #别名文件
 
rm -rf /usr/.SQL-Unix/.SQL/.db  #删除恶意的别名文件
 
ls -al ps  #查看相应的命令的命令文件内容

find . -type f -mtime 1  #查找当前目录下,最近24-48小时修改过的常规文件

find /www/storage | xargs grep "eval("  #查找webshell

竞争脚本删除不死马,或者重启nginx来杀不死马(如果生产环境允许)

账号安全,历史命令,异常端口,异常进程,开机启动项,定时任务,重要目录

账号安全:

命令:
awk -F: '$3==0{print $1}' /etc/passwd   #查询特权用户特权用户(uid 为0)

awk '/\$1|\$6/{print $1}' /etc/shadow    #查询可以远程登录的帐号信息

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"   #除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限

usermod -L user  #禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头

user del user  #删除 user 用户

userdel -r user  #将删除 user 用户,并且将 /home 目录下的 user 目录一并删除

passwd user  #修改密码

adduser user  #添加账户

useradd -u 544 -d /usr/testuser1  -g users -m  testuser1 #添加账户

who  #查看当前登录用户(tty 本地登陆 pts 远程登录)

w  #查看系统信息,想知道某一时刻用户的行为

uptime  #查看登陆多久、多少用户,负载状态
文件:

/etc/passwd  #用户信息文件

/etc/shadow  #影子文件

历史命令:

命令:

history   #查看历史命令

cat .bash_history >> history.tx  #进入用户目录下,导出历史命令

异常端口:

命令:
lsof -i port  #可以查看是谁在占用此端口号

netstat -anpt  #-t是tcp相关选项,-a是所有 -p是显示程序名字 -n是拒绝显示别名

运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)  #查看pid对应的进程文件路径

ps aux|grep pid  #可以根据端口那边的pid定位进程

ps -ef|grep pname  #可以根据端口那边的进程名称定位进程

异常进程:

命令:

ps -aux  #显示所有进程信息

ps -elf   #和上面大部分差不多

top  #以全屏交互式的界面显示进程排名

pstree -aup  #显示个进程树

运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)  #查看pid对应的进程文件路径

ps aux|grep pid  #可以根据端口那边的pid定位进程

ps -ef|grep pname  #可以根据端口那边的进程名称定位进程

Kill -9 #强行中断进程,有丢失数据的风险

Kill -9 -1 #强行终止当前用户下所有进程,

pkill -U:指定用户;-t:指定终端  #可以杀死指定用户的所有进程

find /www/storage | xargs grep "eval("  #查找webshell

检查开机启动项:

命令:

runlevel  #查看运行级别

systemctl list-unit-files  #查看开机启动项,包含原生服务

chkconfig  #查看开机启动项

systemctl list-unit-files |   grep enable  

systemctl enable zabbix-server.service  #为服务添加开机启动项

systemctl disable zabbix-server.service  #移除开机启动项的服务
文件:

/etc/rc.local   #配置文件

/etc/rc.d/rc[0~6].d  #配置文件

说明:当我们需要开机启动自己的脚本时,只需要将可执行脚本

丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 文件中建立软链接即可。

定时任务:

命令:

crontab -l  #列出某个用户cron服务的详细内容

crontab -r  #删除每个用户cront任务(谨慎:删除所有的计划任务)

crontab -e #使用编辑器编辑当前的crontab文件

重要目录:

日志文件:

/var/log/cron  #记录与系统定时任务相关的曰志

/var/log/cups/    #记录打印信息的曰志

/var/log/dmesg    #记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息

/var/log/btmp    #记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。

/var/log/lasllog    #记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看

/var/Iog/mailog    #记录邮件信息的曰志

/var/log/messages    #它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。

/var/log/secure    #记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

/var/log/wtmp    #永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看

/var/tun/ulmp    #记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。