查看原文
其他

最全应急响应流程-附命令和工具【建议收藏】

注意在整个过程中,客户不要事先征集到现场或现场的人员操作情况。


一、了解情况

  1. 发生:查询客户发现异常事件的具体时间,操作要基于此点进行追踪分析。

  2. 系统通知类型:具体的操作系统类型,以便于类型及相应的处理方式。

  • 视窗/Linux

  • 财务系统/OA系统/官网,系统,是否可以关闭

  • 是否有弱权,远程管理端口是否开放

  • 都开放推荐,有什么服务,服务是否存在风险性

  • 需要现场检测的话,不要完全相信听来的东西

  • 异常情况:

    • 文件被加密

    • 设备无法正常启动

    • 勒索信息展示

    • CPU过高

    • 网页挂马/黑链

    • 发出异常请求

    • 以后发送垃圾短信

    • 等非正常的情况

  • 应对措施:

    • 之前是否存在此类问题

    • 是否在出现问题后配置了新的策略

    • 如果最终结果已经进行了处理,处理结果是什么

    • 是否有其他应对措施

  • 系统架构/网络处理器:是否能提供网络拓扑图

  • 可以提供以下日志

    • 服务日志

    • 应用日志,重点网络日志

    • 数据库日志

  • 已有的安全设备

    • 终端杀软

    • 防火墙

    • WAF

    • 流量分析设备

  • 基本的应对方案

    • 临时应急方案

    • 勒索病毒应对方案

    • 程序预案

    • 网页挂马预案

    • DDOS预案

    • 内部数据计划预案

    • 其他应对案

  • 报表报告:

    • 包含方法

    • 提出开放的情况,及提出建议的应用分析,建议

    2. 身份安全旅行

    • 感染主机使用U盘,移动硬盘。如必须使用做好备份
    • 不是所有无线/城市网卡或直接拔网线
    • 关闭相关端口
    • 划分隔离网络区域
    • 封存主机,相关数据备份
    • 被感染主机应用服务下线
    • 被感染主机部分功能暂停
    • 被感染相关主机账号降权,更改密码
    • 勒索病毒事件 - 核心是止损,这点非常重要
    1. 通过各类检查设备和资产发现,确定感染面;
    2. 通过网络访问控制设备或断网隔离感染区域,防止扩散;
    3. 迅速启动杀毒或恢复测试,受感染主机的业务,恢复生产。(这点最重要,因为是保障业务的关键动作)
    4. 启动或部署监测设备,针对病毒感染进行全面监测,避免死灰复燃。
    5. 在此过程中并没有展开分析,随后制作收集所有相关的样本日志等,并寻找感染源头,并制定整改。

    3.已知高危漏洞排查

    • 可注意与下面的步骤同时进行,扫描高危漏洞。但要扫描产生的大量日志不影响漏洞排查

    4.系统基本信息

    • 视窗
    1. 查看当前系统的奖励信息 systeminfo
  • Linux
    1. 目录系统arp表,重点查看mac地址 arp -a
    2. 文件搜索命令 find / -name ".asp"
  • 关注重点
    1. 系统内是否有非法账户
    2. 系统中是否存在异常服务程序
    3. 系统是否存在部分文件被篡改,或发现有新的文件
    4. 系统安全日志中的非正常登陆情况
    5. 网站日志中是否有非授权地址访问管理页面记录
    6. 根据进程、连接等信息关联的,查看木马活动信息。
    7. 某些系统的命令(例如stat ls 等)被替换,为了进一步排查,需要下载一个新的命令或者从其他未感染的网络拷贝新的命令。
    8. 先找出急用的木马文件,不要于打包一份。
    9. 进行测试内容,包括整个工具的木马文件,包括回连分析IP地址、加密方式、关键字(以便扩大目录的特征提取)等。

    5.异常连接排查

    • 视窗
    1. 的网络连接定位,查看现有的 ESTABLISHED netstat -ano
      网络统计-ano | findstr建立

      参数说明:
      -a 显示所有网络连接、路由表和网络接口信息
      -n 数字形式显示地址和以端口号
      -o 显示与每个连接的相关进程ID
      -r 显示路由表
      -s 显示协议统计信息、默认地、显示IP
      LISTENING侦听状态
      ESTABLISHED 建立连接
      CLOSE_WAIT 对方主动连接关闭或异常网络连接中断
    2. 查看端口的pid netstat -ano | findstr "port"
    3. netstat -nb在创建每个连接或监察员听听时任管理员的程序,帮助指导导演创作需要涉及权限的程序非常有帮助。
  • Linux
    1. 打开全部了网络(TCP和UDP)的进程
      lsof -i
      lsof -i|grep -E "LISTEN|ESTABLISHED"
    2. 查看所有的端口及连接状态
      netstat -antlp
      netstat -an
      说明
      -a 显示所有连线中的 Socket。
      -n 直接使用 IP 地址,而不通过域名服务器。
      -t 显示 TCP 传输协议的连线状况。
      -u 显示 UDP 传输协议的连线状况。
      -v 显示指令执行过程。
      -p 显示正在使用 Socket 的程序识别码和程序名称。
      -s 显示网络工作信息统计表

    6. 正在运行的异常进程排查

    • 视窗
    1. 查看异常过程 任务管理器
    2. 运行在本地或远程计算机上的所有进程显示 tasklist | findstr 11223
      根据netstat定位出的异常进程的pid,再通过tasklist命令进行进程定位
    3. 可知wmic process 获取进程的全路径 wmic process | findstr "xx.exe"
    4. 查看详细信息,比如进程路径,进程ID,文件创建日期,启动时间等
      "开始->运行->msinfo32->软件环境 -> 正在运行任务"
    5. 关闭进程wmic process where processid="2345" delete
  • Linux
    1. 查找进程pid
      netstat -antlp 先找出可疑进程的端口
      lsof -i:port 定位可疑进程pid
    2. 通过pid查找文件
      linux每个进程都有一个对应的目录
      cd /proc/pid号 即可进入到该进程目录中
      ls -ail 结果中exe对应的就是该pid程序的目录
      ls -ail |grep exe
    3. 查看各个进程占用的内存和cpu top
    4. 显示当前进程信息 ps
    5. 实现进程的合理查找 ps -ef | grep apache
    6. 结束进程 kill -9 pid
      kill -9 4394
    7. 查看树 pstree -p 查找异常进程是否有父进程进程
    8. 也可以直接搜索异常进程的名程来查找其位置, find / -name 'xxx'

    7.异常账号查询

    • 视窗
    1. 图形化界面查看当前的账户和用户组 lusrmgr.msc
    2. 查看当前账面情况 net user
    3. 查看账户的详细信息 net user Guest
    4. 查看当前组的情况 net localgroup administrators
    5. 查看当前系统会话,比如查看是否有人使用远程终端登陆服务器 query user
      踢出该用户 `logoff ID` ID是上面查询出来的。也可能是用户名
  • Linux
    1. 查看utmp日志,获取当前系统地址正在登陆账户的信息及 w
    2. 获得系统前N次的登陆记录 last | more
    3. 查看账号情况 cat /etc/passwd
      查找/etc/passwd 文件, /etc/passwd 这个文件是保存着这个 linux 系统所有 用户的信息,通过查看这个文件,我们就可以尝试查找有没有攻击者所创建的用 户,或者存在异常的用户。我们主要关注的是第 3、4 列的用户标识号和组标识 号,和倒数一二列的用户主目录和命令解析程序。一般来说最后一列命令解析程 序如果是设置为 nologin 的话,那么表示这个用户是不能登录的,所以可以结合 我们上面所说的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令 解释程序不是 nologin 的用户,然后再到这些用户的用户主目录里,找到 bash_history,去查看这个用户有没执行过恶意命令。
      /etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段, 其格式和具体含义如下:
      用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
      注意:无密码只允许本机登陆,远程不允许登陆,某个版本之后好像因为安全问题,passwd文件不再有密码了
    4. 查看账号情况 cat /etc/shadow
      root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
      用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

      这里查账号感觉好一点,一般系统的账号都是没有密码的,所以找最长的那几个,那就是有密码的账户,很可能就是被黑客添加的后门账户
    5. linux非root用户文件夹所在位置 /home
    6. 查看所有账户最后一次登陆时间 lastlog
    7. 显示用户登陆错误的记录 lastb 检查暴力破解
    8. 显示用户最近登陆信息 last
      数据源为
      /var/log/wtmp
      /var/log/wtmp.1
      /var/log/btmp
      /var/log/btmp.1
    9. 查看当前登陆用户 who (tty本地登陆pts远程登录)
    10. 查看当前时刻的用户行为 w
    11. 查看登陆,多少用户,负载率 uptime
    12. 帐号栏,账号无法登陆,/etc/shadow 第二栏为大观! usermod -L user
    13. 删除用户用户 userdel -r user
    14. 创建用户
      useradd admin #创建一个用户,在home目录下不创建文件夹
      passwd admin #修改之前创建的账号的密码
      adduser admin2 #是一个比较完善的创建用户的命令,会在home目录下生成一个admin2的文件夹
    15. 删除用户
      userdel admin2 #这样删除的话不完全,home目录下的admin2目录不会删除
      userdel -rf admin #-r 完全删除一个账户 -f强制删除
      如果遇到账户删除显示已经删除,但创建同名的用户提示用户已存在的情况,尝试以下方法进行删除。
      手动删除passwd、shadow、group里面用户相关字段,以及用户相关的log和mail,并强制删除home目录下用户的文件夹。
      /home
      /etc/passwd
      /etc/group
      /var/spool/mail

    8.异常文件分析

    • 视窗
    1. 查看文件时间右键查看文件属性,查看文件时间
    2. 最近是系统文件夹,里面存放着你最近使用的文档的快捷方式,用户口最近的相关资料,通过分析最近打开分析文件 %UserProfile%\Recent
    3. 通过文件准备时间来定位文件及查看文件内文件修改时间、当然范围的时间、搜索文件的搜索时间、搜索文件。所以修改在创建时间之前的短片是修改刀文件的时间。
  • Linux
    1. 分析文件日期 stat xx.asp
    2. 返回最近24小时内修改过的文件 find ./ -mtime 0
      返回的是前48~24小时修改过的文件 find ./ -mtime 1
      返回10天内修改过的文件,可以把最近几天的数据一天天的加起来 find ./ -mtime 0 -o -mtime 1 -o -mtime 2
      查找 24 小时内被修改的 php 文件 find ./ -mtime 0 -name "*.php"
    3. 敏感目录的文件分析【类/tmp目录,命令目录/usr/bin/usr/sbin等】,查看tmp目录下的文件➜ls –alt /tmp/ | head -n 10这样是按时间顺序查出来的结果
    4. 特殊权限文件查找
      find / *.jsp -perm 777
      find / -perm 777 |more
      find / *.sh -perm 777|grep .sh
    5. 隐藏的文字,以“.”大意的隐藏属性的文件,当前目录查找 ls -ar |grep "^\."
    6. i linux文件不可修改权限
      chattr +I filename 给文件添加不可修改权限
      chattr -I filename 将文件的不可修改权限去掉
      lsattr filename 查看文件是否设置了相关权限
      如果设置了该参数,则无论任何人想要删除改文件均需要将此权限去掉
    7. 一个linux文件不可修改权限
      chattr +a filename 给文件添加只追加权限
      chattr -a filename 将文件的只追加权限去掉
      lsattr filename 查看文件的相关权限设置
      这个权限让目标只能追加,不能删除,而且不能通过编辑器追加
    8. 6./.s// 等//等//等//等
      //.s/

    9.启动项排查

    • 视窗
    1. 查看引导有无异常文件 msconfig
    2. win10引导启动文件夹
      C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
      快捷查找方法,找一个安装好的程序的快捷方式,右键打开文件位置,再进入该目录下的启动目录即可。StartUp
    3. win7引导启动文件夹
      C:\Users\rpkr\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
      查找方式,开始>所有程序>启动 ,03查找同此方法
    4. 是否存在中查看启动项异常
      开始->运行->regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
      HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
      检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马
  • Linux
    1. 查看引导启动项内容
      ls -alt /etc/init.d/
      /etc/init.d 是 /etc/rc.d/init.d 的软连接
    2. 启动项文件 more /etc/rc.local
      /etc/rc.d/rc[0~6].d
      ls -l /etc/rc.d/rc3.d/
      ll /etc |grep rc
    3. 定时任务-基本使用
      1.利用crontab创建计划任务
      crontab -l 列出某个用户 cron 服务的详细内容
      2.删除每个用户cront任务(慎重:删除所有的计划任务)
      crontab -r
      3.使用编辑器编辑当前的crontab文件
      crontab -e
      如:*/1 * * * * echo ""hello word"" >> /tmp/test.txt 每分钟写入文件
      4.利用anacron实现异步定时任务调度
      每天运行 /home/bacup.sh 脚本
      vi /etc/anacrontab
      #daily 10 example.daily /bin/bash /home/backup.sh
      当机器在backup.sh期望被运行时是关机的,anacron会在机器开机十分钟后运行它,而不用再等待7天
      ls -al /var/spool/cron/ 查看隐藏的计划任务
      Tips:默认编写的crontab文件会保存在(/var/spool/cron/用户名 例如:/var/loop/cron/root)
      5.查看分析任务计划
      crontab -u <-l, -r, -e>
      -u 指定一个用户
      -l 列出某个用户的任务计划
      -r 删除某个用户的任务
      -e 编辑某个用户的任务(编辑的是/var/spool/cron下对应用户的cron文
      件,也可以直接修改/etc/crontab文件)

    10.计划任务排查(任务)

    • 视窗
    1. 查看Windows计划任务 taskschd.msc
      或者 【程序】➜【附件】➜【系统工具】➜【任务计划程序】
  • Linux
    1. 查看当前计划任务有哪些 crontab -l 是否有后门木马程序启动相关信息
    2. 查看分析任务计划 crontab -u <-l, -r, -e>
      解释
      -u 指定一个用户
      -l 列出某个用户的任务计划
      -r 删除某个用户的任务
      -e 编辑某个用户的任务(编辑的是/var/spool/cron 下对应用户的 cron 文件,也可以直接修改
      /etc/crontab 文件)
    3. 查看等 目录 任务计划相关文件 ls -al /etc/cron* cat /etc/crontab
    4. 此处要注意的计划任务,在linux中以.使用的文件为隐藏文件,要ls -al来查看
    5. 定时任务 - 萤幕上提到关注以下目录中是否存在有害/var/
      spoolcron
      /*
      /etc/crontab
      /etc/cron.d/*
      /etc/crontab.daily/*
      /etc/cron.hourly/*
      /etc/cron.monthly/*
      /etc/cron.weekly/
      /etc/anacrontab
      /var/spool/anacron/*
      小目录技巧:more /etc/cron.daily/*下所有文件

    11.日志排查

    • 视窗
    1. 查看防护设备的日志
    2. 打开日志管理器 eventvwr.msc
    3. 查看暴力破解问题,筛选事件ID,win2008 4625
  • Linux
    1. 查看历史命令记录 cat /root/.bash_history |more 但每个账户的文件夹下都有这样的日志文件,感觉记录的不是特别全。可以直接在root下搜索.bash_history文件。
    2. 偶尔/var/log/secure日志,可观察其进行暴力破解溯源
    3. ubuntu 建议使用lastblast进行暴力破解溯源
      /var/log/message 系统启动后的信息和错误日志,
      /var/log/secure 与安全相关的日志信息
      /var/log/maillog 与邮件相关的日志信息
      /var/log/cron 与定时任务相关的日志信息
      /var/log/spooler UUCP和news设备相关日志信息
      /var/log/boot.log 进程启动和停止相关的日志消息
    4. linux查找配置文件为/etc/rsyslog.conf(syslog.conf)
  • 网络服务器
    1. 网络服务器,都需要关注以下任何日志
      access_log
      error_log
      access.log
      error.log
    2. 阿帕奇日志位置
      应通过httpd.conf配置来判断。
      在httpd.conf中搜索未被注释的、以指令字CustomLog为起始的行,该行即指定了日志的存储位置。
      搜索可使用文本搜索,也可使用grep进行:grep -i CustomLog httpd.conf | grep -v ^#
      搜索结束后会获得类似如下的搜索结果:
      CustomLog /var/mylogs/access.log common
      其中 /var/mylogs/access.log即为客户日志的路径。
      若此处未指明日志的完整路径而只是列举日志的文件名(如:access.log),
      则意指该文件存储与默认的日志存储目录下(即,/var/log/httpd 或 /var/httpd 目录)。
    3. IIS日志位置
      IIS日志默认存储于 %systemroot%\system32\LogFiles\W3SVC目录中,
      日志命名方式为exYYMMDD.log(YYMMDD指:年 月 日)。
      但IIS日志路径也可通过用户配置来指定,通过WEB站点配置可确认其位置:
      WEB站点 — 属性 — 网站 — W3C扩展日志文件格式 — 属性 — 日志文件目录
  • 数据库
    1. mysal - cat mysql.log|grep union

    12.恢复阶段

    • 以客户为中心,仅提供此建议
    1. webshell/异常文件清除
    • 相关样本截图留存
  • 恢复网络
  • 应用功能恢复
  • 升级升级
  • 提供安全保障,推荐产品
  • 13. 跟踪总结

    1. 分析事件原因
    • 攻击来源,IP
    • 攻击行为分析,弱正义、可以导致执行命令的漏洞等
  • 输入输出报告
  • 事后观察
  • 提供建议
  • 附1有毒没毒还是要自己的

    工具主要功能下载地址
    360杀毒306全家桶就不用说了吧http://sd.360.cn/download_center.html
    河马webshell查杀http://www.shellpub.com/
    microsoft network monitor轻量级的无线抓包https://www.microsoft.com/en-us/download/details.aspx?id=4865
    深信服检测工具类似于360https://edr.sangfor.com.cn/#/introduction/all_tools
    PCHunter可查看进程、内核、服务等http://www.xuetr.com/
    火绒剑可查看进程、内核、服务等https://www.huorong.cn/
    D盾查找恶意文件以及webshellhttp://www.d99net.net/News.asp?id=47
    ProcessExplorerWindows系统和应用程序监视工具https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
    processhacker类似ProcessExplorerhttps://processhacker.sourceforge.io/downloads.php
    autoruns可查看windows在启动或登陆时启动的程序https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
    卡巴斯基病毒扫描,没用过http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe
    VirSCAN.org在线病毒分析平台http://www.virscan.org/language/zh-cn/
    腾讯哈勃分析系统在线病毒分析平台https://habo.qq.com/
    Jotti恶意软件分析系统在线病毒分析平台https://virusscan.jotti.org/
    ScanVir在线病毒分析平台http://www.scanvir.com/
    • linux下常用的安全工具-linux下不方便,可以把文件拷出来,用windows的工具去检测


    工具主要功能下载地址
    Chkrootkit查找检测rootkit后门的工具http://www.chkrootkit.org/
    rootkit hunter查找检测rootkit后门的工具http://rkhunter.sourceforge.net/


    附2

    1. 处理前先杀掉病毒进程,插入的U盘被加密
    2. 如果分析日志阶段遇到困难,可对代码进行 webshell 查杀,可能会有
    3. PC Hunter 数字签名
      :微软签名的驱动程序;
      :非微软签名的驱动程序;
      红色驱动到蓝色的主题说明,隐藏服务、进程任务;
    4. ProcessExplorer (1).子进程的父进程一目了然;
      (2).子进程的关键信息:
      [画面]->[路径/客户中属性/启动位置/父进程/自启动进程/工作时间];[TCP/ IP];[安全]->[权限];
      (3).想了解不同的颜色?[选项]->[配置颜色];
      (4).打开procexp,在标题栏,可以勾选其他选项(
      5). 显示进程进程和进程类型是开始时为启动时为红色,
      可对进程进行不同的操作,停止进程
    5. chkrootkit主要功能
      检测是否被输入后门、木马、rootkit/检测系统命令是否正常/检测日志
      chkrootkit安装:rpm -ivh chkrootkit-0.4-1.i386.rpm
      如果检测,#chkrootkit –n;发现有异常,会报出“INFECTED”字样
    6. rkhunter主要功能:命令(Binary)检测,Md5系统间目录检测、Rootkit检测本机敏感系统配置、服务及套套检测三方应用版本检测
    7. RPM check rpm.log 下检查图 ps, netstat, 等系统进程进程被窜改了
    原文地址:https://github.com/1120362990/Paper/blob/master/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94-%E6%8A%80%E6%9C%AF%E6%80%A7.md

    往期推荐

    漏扫工具Invicti-Professional(原Netsparker)最新破解版

    三款移动应用安全分析平台推荐

    Ladon 10.2 2022.12.24

    一次市hvv及省hvv的思路总结

    Docker_Awvs15.x一键安装[支持版本更新]


    漏洞扫描工具,684个poc,支持mac,linux,win

    一款溯源取证工具——数千条规则、涵盖所有攻击类型检测并自动导出报告


    适用于 2022 年红队行动的所有免费红队工具和模拟工具包

    【附靶场环境】红队-多层内网环境渗透测试

    Gxby(带1288poc后台回复0926)

    Android渗透工具(建议收藏)


    web安全手册(红队安全技能栈-下载)


    APP漏洞挖掘(一)APP多种方式GetShell?




    【值得收藏】Android漏洞挖掘三板斧--drozer+Inspeckage(xosed)+MobSF

    【宝藏】全网优秀攻防工具集成项目

    扫码加好友,加入交流群↓↓↓ 

       

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存