当前位置:   article > 正文

linux 应急响应工具整理列表_linux应急响应工具

linux应急响应工具

linux 应急响应工具整理列表

文件
ls  列举文件   
-a   显示所有档案及目录(ls默认将文件或者目录名称为“.”的视为隐藏文件或目录,不会列出);
-l   以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-t   用文件和目录的更改时间排序;

file 查看文件类型  file /etc/init.d/network
stat 查看文件时间  stat /etc/init.d/network  
md5sum 文件名  
sha*  文件名  

lsof abc.txt 显示开启文件abc.txt的进程
lsof 目录名 查找谁在使用文件目录系统   
lsof +D /tmp   某个目录下被打开的文件    

du -h --max-depth=2  /home  # 判断文件夹下总大小  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
进程
ps -aux  查看进程信息  
ps -ef  可以查看父进程 
ls -alt /proc/pid,  exe -> XXX 对应的即为文件位置   
top  查看进程信息,挖矿木马 应该很容易识别出来   
pstree -ps 32638  # 查看父进程  
  • 1
  • 2
  • 3
  • 4
  • 5

查看隐藏进程 ?

ps -ef | awk '{print $2}' | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2   

strace -f -p pid   # 跟踪进程行为 
lsof -c abc 显示abc进程现在打开的文件   
lsof -p 12 看进程号为12的进程打开了哪些文件
lsof -p 123,456,789  列出多个进程号对应的文件信息
lsof -p ^1 列出除了某个进程号,其他进程号所打开的文件信息   
lsof -i -R   -R 显示父进程id    lsof -F?  #显示字段说明信息  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
网络
netstat -antlp | more   
-a  显示所有连线中的Socket。 
-n  直接使用IP地址,而不通过域名服务器。
-t   显示TCP传输协议的连线状况。
-u  显示UDP传输协议的连线状况。
-v  显示指令执行过程。
-p  显示正在使用Socket的程序识别码和程序名称。
-s  显示网络工作信息统计表。 
netstat   -anltpe  查看网络链接情况
netstat   -anltpe  | grep -v "127.0.0.1"  过滤掉 127的ip,
netstat   -anltpe  | grep -v "127.0.0.1" | grep "LISTEN"  只显示本地监听的端口
netstat   -anltpe  | grep -v "127.0.0.1" | grep "ESTABLISHED" 只显示已经建立链接
netstat   -anltpe  | grep -v "127.0.0.1" | grep “SYN_SENT” 我们正在扫描别人的机器
netstat   -anltpe  | awk -F' '  '{print $5}' | grep -vE "0.0.0.0|:::|127.0.0.1"  打印所有外网链接的IP
netstat   -anltpe  | awk -F' '  '{print $5, $6}' | grep -vE "0.0.0.0|:::|127.0.0.1"  打印所有外网链接的IP和状态
netstat   -anltpe  | awk -F' '  '$3 >0{print $5, $6, $7}' | grep -vE "0.0.0.0|:::|127.0.0.1"  正在发送数据包
netstat   -anltpec  | awk -F' '  '$3 >0|| $2>0{print $0}'  持续查看当前有流量的请求信息
输出说明: Send-Q  本机已经发送,对方未进行确认的数据,比如本机进行端口扫描时,该值比较明显   


lsof -i:22 通过端口号找进程    
lsof -i 列出所有的网络连接   
lsof -i @192.168.1.111 查看远程已打开的网络连接(连接到192.168.1.111)  
lsof -i tcp 列出所有tcp 网络连接信息   
lsof -i udp 列出所有udp网络连接信息   
lsof -i udp:55 列出谁在使用某个特定的udp端口    
lsof -i @peida.linux:20,21,22,25 -r 3   列出目前连接主机 peida.linux 上端口为:20,21,22,25 相关的所有文件信息,且每隔 3 秒不断地执行 lsof 指令    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
账号
last | more 最后登录成功日志  
lastlog  最后一次登录  
lastb   登录失败记录   
w/who/users 目前登录用户信息   
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more  有多少IP在爆破root   
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more  ssh登录成功的ip  
awk -F: '{if($3==0)print $1}' /etc/passwd  # 查看root权限账号 
cat /etc/passwd  | grep -v nologin   # 查看账号    
awk -F: '{a[$3]++}END{for(i in a)if(a[i]>1)print i}' /etc/passwd  # 检查UID相同的用户,防止克隆用户 
lsof -u username 查看某用户打开哪些文件
lsof -u ^root 列出除了某个用户外的被打开的文件信息
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
后门
rootkit 检测 www.chkrootkit.org   
webshell 查杀 find /var/www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode'  
webshell 河马查杀 shellpub.com 
ls -alt /etc/init.d/ 
history | head -n 10  # 查看前十个命令   等价于  head -n 10  /root/.bash_history   
cat /etc/passwd  | grep -v nologin   # 查看账号    
find ./ -mtime 0 -name "*.php"(查找24小时内被修改的php文件)
find / -ctime 2(查找72小时内新增的文件)
find /var/webroot -name "*.php" |xargs grep 'eval|shell_exec|system|pasthru' |more  
find / *.jsp -perm 777  # 查询特殊权限的 jsp文件   
chkconfig --list # 开机自启动服务  
more  ~/.bashrc  # 检查shell的配置文件.bashrc和.bash_profile等文件是否有恶意的alias问题 
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.   
strings /usr/bin/.sshd | grep '[1-9]{1,3}.[1-9]{1,3}.'     # 二进制文件中查找ip
crontab  
-u 指定一个用户  
-l 列出某个用户的任务计划  
-r 删除某个用户的任务  
-e 编辑某个用户的任务  

crontab -l -u user(-u可指定用户)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

busybox防止系统文件被替换了

cd /bin/
wget https://busybox.net/downloads/binaries/1.30.0-i686/busybox 
chmod 755 busybox

  • 1
  • 2
  • 3
  • 4

参考文献

GB/T 24363-2009 信息安全技术 信息安全应急响应计划规范
GB/T 28827.3-2012 信息技术服务 运行维护 第3部分:应急响应规范
GB/Z 20986-2007 信息安全技术 信息安全事件分类分级指南
微软sysinternals工具库
lsof命令介绍
yara基于规则分析程序 开源
apimonitor
processhacker
国家网络安全事件应急预案
奇安信 2020年网络安全应急响应分析报告 2021
上海市网络安全事件应急预案 2019
应急响应笔记非常优秀
溯源和反制总结
各种日志分析

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/969298
推荐阅读
相关标签
  

闽ICP备14008679号