• 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
    应急响应笔记非常优秀
    溯源和反制总结
    各种日志分析

  • 相关阅读:
    酷开科技全球化智能大屏OS——Coolita ,将大屏数字化服务进行到底
    CMake使用心得
    RabbitMQ初步到精通-第四章-RabbitMQ工作模式-PUB/SUB
    前端面试题之HTTP专题
    音视频从入门到精通——FFmpeg之av_read_frame函数分析
    Vue组件通信应用实践总结
    LeetCode刷题之数组篇(二)
    S32DS 调用脚本实现Post-build处理
    11月外贸新规
    电脑监控系统,实现可视化管理!
  • 原文地址:https://blog.csdn.net/securitypaper/article/details/125568991