当前位置:   article > 正文

应急响应流程

应急响应流程

一、应急响应流程

应急响应分为六个阶段,分别是

准备 —— 检测 —— 抑制 —— 根除 —— 恢复 —— 总结

这种划分方法也称PDCERF方法
Prepare准备)、Detection(检测)、Containment(抑制)、Eradication(根除)、Follow-Up(跟踪)

1)准备阶段

准备阶段以预防为主。主要工作涉及识别机构、企业的风险,建立安全政策,建立协作体系和应急制度。按照安全政策配置安全设备和软件,为应急响应与恢复准备主机。依照网络安全措施,进行一些准备工作,例如,扫描、风险分析、打补丁等。如有条件且得到许可,可建立监控设施,建立数据汇总分析体系,制定能够实现应急响应目标的策略和规程,建立信息沟通渠道,建立能够集合起来处理突发事件的体系。

2)检测阶段

检测阶段主要检测事件是已经发生的还是正在进行中的,以及事件产生的原因。确定事件性质和影响的严重程度,以及预计采用什么样的专用资源来修复。选择检测工具,分析异常现象,提高系统或网络行为的监控级别,估计安全事件的范围。通过汇总,查看是否发生了全网的大规模事件,从而确定应急等级及其对应的应急方案。

一般典型的事故现象包括:

(1)账号被盗用;
(2)骚扰性的垃圾信息;
(3)业务服务功能失效;
(4)业务内容被明显篡改;
(5)系统崩溃、资源不足。

3)抑制阶段

抑制阶段的主要任务是限制攻击/破坏波及的范围,同时也是在降低潜在的损失。所有的抑制活动都是建立在能正确检测事件的基础上的,抑制活动必须结合检测阶段发现的安全事件的现象、性质、范围等属性,制定并实施正确的抑制策略。

抑制策略通常包含以下内容:

(1)完全关闭所有系统;
(2)从网络上断开主机或断开部分网络;
(3)修改所有的防火墙和路由器的过滤规则;
(4)封锁或删除被攻击的登录账号;
(5)加强对系统或网络行为的监控;
(6)设置诱饵服务器进一步获取事件信息;
(7)关闭受攻击的系统或其他相关系统的部分服务。

4)根除阶段

根除阶段的主要任务是通过事件分析找出根源并彻底根除,以避免攻击者再次使用相同的手段攻击系统,引发安全事件。并加强宣传,公布危害性和解决办法,呼吁用户解决终端问题。加强监测工作,发现和清理行业与重点部门问题。

5)恢复阶段

恢复阶段的主要任务是把被破坏的信息彻底还原到正常运作状态。确定使系统恢复正常的需求内容和时间表,从可信的备份介质中恢复用户数据,打开系统和应用服务,恢复系统网络连接,验证恢复系统,观察其他的扫描,探测可能表示入侵者再次侵袭的信号。一般来说,要想成功地恢复被破坏的系统,需要干净的备份系统,编制并维护系统恢复的操作手册,而且在系统重装后需要对系统进行全面的安全加固。

6)总结阶段

总结阶段的主要任务是回顾并整合应急响应过程的相关信息,进行事后分析总结和修订安全计划、政策、程序,并进行训练,以防止入侵的再次发生。基于入侵的严重性和影响,确定是否进行新的风险分析,给系统和网络资产制作一个新的目录清单。这一阶段的工作对于准备阶段工作的开展起到重要的支持作用。

总结阶段的工作主要包括以下3方面的内容:

(1)形成事件处理的最终报告;

(2)检查应急响应过程中存在的问题,重新评估和修改事件响应过程;

(3)评估应急响应人员相互沟通在事件处理上存在的缺陷,以促进事后进行更有针对性的培训。

实际上,应急响应并不是严格遵从这个方法的,大多数情况都要具体问题具体分析

现场处置流程

在现场中,首先通过访谈和现场确认,大概确认事件类型,再以此作针对性访谈和检查,然后制定应急方案,再逐步排查系统、进程、服务、文件痕迹、日志等

二、系统排查

1、系统信息

1.1 windows

系统信息工具:msinfo32.exe

命令行msinfo即可打开
在这里插入图片描述
展开软件环境:
在这里插入图片描述
此工具可进行以下信息的排查

  • 系统驱动(描述、文件、开启状态等)
  • 正在运行的任务(名称、路径、进程ID)
  • 加载的模块
  • 服务(名称、路径、状态等)
  • 启动程序(命令、用户名、位置等)

查看系统信息

cmd > systeminfo
在这里插入图片描述

1.2 linux

OS信息 uname -a
在这里插入图片描述
OS版本信息 :cat proc/version
在这里插入图片描述
已载入模块信息:lsmod
在这里插入图片描述

CPU信息:lscpu
在这里插入图片描述

2、用户信息

2.1 windows用户信息

cmd > net user

cmd > net user username
在这里插入图片描述
上面的方法查看不了隐藏账户,解决:计算机管理—本地用户和组

注册表-HKEY_LOCAL_MACHINE-SAM-SAM-Domains-Account-Users-Names

这种方法可排查windows是否利用隐藏账户进行提取(导出F值查看是否有一样的)

2.2 linux

查看所有用户信息:cat etc/passwd
在这里插入图片描述

用户名:x(代表密码加密):用户ID:用户组:注释:用户主目录:默认登录shell

bin/bash 可登录 sbin/nologin 不可登录

查看超级权限账户:awk-F: '{if($3==0)print $1}'/etc/passwd

-F fs 指定描绘一行中数据字段的文件分隔符 默认为空格,这里为:
以:分隔字符,分割所有行,形成二维的字符矩阵,如果矩阵中第三列的值为0(即超级权限账户),打印出第一列字符(即账户名)

查看可登录账户:cat etc/passwd | grep ‘bin/bash’
在这里插入图片描述
查看错误的用户登录信息:lastb
在这里插入图片描述
查看所有用户最后一次登录信息:lastlog
**加粗样式**
查看用户最近登录信息:/$ last
在这里插入图片描述

数据源:

/var/log/wtmp wtmp存储登录成功的信息
/var/log/btmp btmp存储登录失败的信息
/var/log/utmp)utmp存储当前正在登录的信息

3 启动项

3.1 windows系统

任务管理器 - 启动项
在这里插入图片描述

注册表
在这里插入图片描述

  • HKEY_CLASSES_ROOT 确保在Windows资源管理器中执行时打开正确的程序
  • HKEY_CURRENT_USER 登录用户的配置、有用户的文件夹、屏幕颜色、控制面板设置
  • HKEY_LOCAL_MACHINE 计算机硬件信息、驱动
  • HKEY_USERS 所有用户配置文件的配置信息
  • HKEY_CURRENT_CONFIG 系统当前配置

3.2 Linux

rc.local 启动加载文件

Linux中有两个,分别在etc/re.local和etc/init.d/rc.local,修改这两个文件可修改启动项
在这里插入图片描述

查看init.d下的文件
在这里插入图片描述

4 任务计划

攻击者可利用任务计划实现病毒的长期驻留

4.1 windows

计算机管理 — 任务计划程序 — 任务计划程序库 —
在这里插入图片描述
powershell > Get-ScheduledTask
在这里插入图片描述
cmd > schtasks
在这里插入图片描述

4.2 Linux

terminal /$ crontab -l

terminal /$ crontab -u username -l
在这里插入图片描述

查看所有任务计划文件 cat etc/cron*

5 其他

Windows防火墙规则
在这里插入图片描述在这里插入图片描述

三、进程排查

进程:系统资源分配和调度的基本单位

1 windows

1.1 任务管理器

1.2 cmd > tasklist

在这里插入图片描述
进程和服务对应 cmd > tasklist /svc
在这里插入图片描述

加载dll进程 tasklist /m

加载特定dll tasklist /m name.dll

1.3 查看正在进行网络连接的进程cmd > netstat -ano | findstr ‘ESTABLISHED’

-a 显示所有连接
-n数字形式显示地址和端口
-o显示进程id

LISTENING:侦听状态。ESTABLISHED:建立连接。CLOSE_WAIT:对方主动关闭连接或网络异常导致连接中断。
在这里插入图片描述

此外,还可以利用powershell和vmic命令进行查询

2 Linux

2.1 netstat -ap

-p 显示进程ID和名字

-a 所有
在这里插入图片描述

2.2 特定pid对应的执行程序:ls -alt /proc/PID

在这里插入图片描述

2.3查看进程打开的文件 lsof -p PID

在这里插入图片描述

2.4 kill -9 PID 杀死进程

rm -rf filename 删除文件,如root用户也无法删除,则先去掉i属性 chattr -i filename

2.5 查看隐藏进程

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

sort -n 按整体数字大小排序:2 < 10,而不是 10 <2 (这种情况在以文件名排序时经常遇到)
1 >2 写入文件1 2中
uniq 删除重复出现的行列
awk ‘{print}’ =awk ‘{print $0}’ 每一行由空格隔开 多行组成矩阵,取所有列,应该改为$2
同样,第二各命令应该改为 ls/proc|sort-n | grep -E ‘[0-9]+’ | uniq >2
diff 1 2 对比1 2这两个文件
ps -ef 标准格式显示进程

    ps-ef | awk '{print$2}' | sort-n | uniq > 1
    ls/proc | sort-n | grep -E '[0-9]+' | uniq > 2
    diff 1 2
  • 1
  • 2
  • 3

2.6 查看占用资源较多的进程top

在这里插入图片描述

四、服务排查

服务可以看作是长时间运行在后台,不影响其他用户的进程,服务可以在计算机启动时启动,也可以暂停、重新启动。

phpstudy的apache是服务,AWVS14,Nessus也是以服务形式运行

1 windows服务

运行对话框 — services.msc
在这里插入图片描述

另外,也可以直接在对话框中搜索,或者在任务管理员中打开

2 Linux 服务

chkconfig --list 这个命令在centOS和redhat可以用,但是Ubuntu和kali中不可用(使用sudo service --status-all)
在这里插入图片描述
在这里插入图片描述

五、文件痕迹排查

大部分攻击都会留下文件痕迹的,可以试图从以下几个思路查找文件痕迹

  • 常见的敏感路径
  • 具有关键字特征的文件
  • 安全事件发生时间

1 windows

1.1敏感目录

a)不同版本的系统的临时文件相对来说比较统一,所以攻击者准备好的存放路径往往会选择在临时文件目录temp(tmp),例如
在这里插入图片描述

b)浏览器下载文件

c)用户recent文件,这个文件主要是存储最近运行文件的快捷方式

d)预读取文件Prefetch

1.2时间点查找

a)安全事件发生日新增文件

forfiles命令

forfiles /m *.exe /d +2020/2/12 /s /p c:\ /c "cmd/ c echo @path @fdate @ftime"2 > null

/m 搜索文件

/d 大于或等于该日期 /dd小于或等于

/s 递归目录和子目录所有文件

/p 开始搜索的路径,这里是c盘

/c cmd/ c为默认,这里表示,返回路径、创建日期、创建时间

文件查看里搜索栏也可以进行相应操作
在这里插入图片描述

b)查看时间发生逻辑错误的文件,如创建2021年,修改是2020年

1.3 webshell文件

使用d盾、webshellkill等工具查找

2 linux

2.1敏感目录

a)/tmp目录和命令目录/usr/bin/usr/sbin

b)~/.ssh及/etc/ssh经常作为一些后门配置的路径

2.2时间点查找

a)攻击日期变动的文件

find ctime -7 -name *.sh

-type b/d/c/p/l/f:查找块设备、目录、字符设备、管道、符号链接、普通文件。
-mtime-n+n:按更改时间来查找,-n指n天以内,+n指n天前。
-atime-n+n:按访问时间来查找,-n指n天以内,+n指n天前。
-ctime-n+n:按创建时间来查找,-n指n天以内,+n指n天前。

b)排查创建、修改、访问时间

stat test.php

c)特殊文件

c1.权限为777的文件

find -tmp -perm 777

c2.webshell文件

使用findWebshell、Scan_Webshell.py扫描

c3.ls-alt/bin查看系统命令修改时间

c4.Linux后门检测

chkrootkit工具用来监测 rootkit 是否被安装到当前系统中。rootkit是攻击者经常使用的后门程序

c5.排查suid权限的程序

suid权限是用户对文件的权限,对象为文件

find/-type f -perm -04000 -ls -uid 0 2>/dev/null

-type f:根据不同的文件类型筛选 d:目录 c:字型装置文件 b:区块装置文件 p:具名贮列 f:一般文件 l:符号连结 s:socket
-perm -/+mode -04000
-perm按执行权限查找
+mode指部分满足权限 -mode指完全满足权限(还可以比此权限更高) mode指正好满足权限的 /mode指只要有权限就可以
-04000 -4000
-ls -uid 0 2
-ls 详细信息(创建时间、用户、大小等)
-uid 0 2 对于uid为用户id0-2?

六、日志分析

1 windows日志

在这里插入图片描述

当然,也可以直接在事件查看器上查看日志
在这里插入图片描述

1.1 系统日志

系统组件运行中产生的事件,包括应用程序、组件、驱动程序等,事件包括数据丢失、错误,系统或应用崩溃等
在这里插入图片描述
1.2安全性日志

安全日志主要记录安全事件有关的日志,包括登录或退出系统成功或失败信息,对重要文件的操作
在这里插入图片描述
1.3应用程序日志

应用程序所产生的各类事件
在这里插入图片描述

1.4 应急响应中常见的事件id

528/529(旧版本)4624/4625(旧版本)登录成功/失败安全(类型)
6804776账户认证成功/失败安全
6244720创建用户安全
6364732把用户添加到启用安全性的本地组中安全
632 4728 把用户添加到启用安全性的全局组中安全
2949/29347045/7030创建服务/创建服务失败系统
29447040IPSEC服务从禁用变成自启动系统

登录类型和数字对应表
在这里插入图片描述
登录相关日志事件ID对应描述表
在这里插入图片描述

启动事件相关日志事件ID对应描述表
在这里插入图片描述
日志被清除相关日志事件ID对应描述表
在这里插入图片描述

1.5日志分析

–事件查看器

–powershell

Get-EventLog Security-InstanceId 4672

Get-WinEvent-FilterHashtable @{LogName=‘Security’;ID=‘4672’}

–FullEventLogView日志检索工具

2 Linux日志

Linux的日志存储在var/log中

wtmp 记录登录进入、退出、数据交换、关机和重启
cron 记录与定时任务相关的日志信息
messages 记录系统启动后的信息和错误日志
apache2/access.log 记录Apache的访问日志
auth.log 记录系统授权信息,包括用户登录和使用的权限机制等
userlog 记录所有等级用户信息的日志
xferlog(vsftpd.log) 记录Linux FTP日志
lastlog 记录登录的用户,可以使用命令lastlog查看
secure 记录大多数应用输入的账号与密码,以及登录成功与否
faillog 记录登录系统不成功的账号信息

1 查看日志

cat var/log/logname
在这里插入图片描述

查看邮件相关日志记录文件ls -alt /var/spool/mail
在这里插入图片描述

2 日志分析

tail-n 10 test.log查询最后10行的日志 head-n 10 test.log查询头10行的日志

tail-n+10 test.log查询10行后的所有日志 head-n-10 test.log查询除最后10行的其他所有日志

3 其他日志

3.1 IIS日志的位置

%SystemDrive%\inetpub\logs\LogFiles;
%SystemRoot%\System32\LogFiles\W3SVC1;
%SystemDrive%\inetpub\logs\LogFiles\W3SVC1;
%SystemDrive%\Windows\System32\LogFiles\HTTPERR。

可通过cmd > set查看%SystemDrive%和%SystemRoot%

3.2 apache日志

/var/log/httpd/access.log;
/var/log/apache/access.log;
/var/log/apache2/access.log;
/var/log/httpd-access.log。

3.3 ngnix日志

默认在/usr/local/nginx/logs目录下,access.log是访问日志,error.log是错误日志。如不在默认目录下,可以在ngnix.conf中查找.

3.4 oracle数据库

select * from v l o g f i l e 查询日志路径 ( 默认为 logfile查询日志路径(默认为 logfile查询日志路径(默认为ORACLE/rdbms/log)

select * from v$sql查询之前使用过的SQL

3.5 mysql数据库

show variables like 'log_%'查看是否启用日志

show variables like 'general’查看日志位置(默认为/var/log/mysql/)

七、内存分析

有时候对应急响应服务器进行内存的提取,可以分析处其中的隐藏进程。

1 内存的获取

1.1 基于内核模式程序的内存获取

这种方法一般是使用工具抓取,常用工具有FTK Imager、Dumpit、RAM Capture等
在这里插入图片描述

1.2 基于系统崩溃转储的内存获取

所有控制 — 系统 — 高级 — 启动和故障恢复 — 设置 — 启动和故障恢复 — 核心内存转储 — 找到转储文件进行获取
在这里插入图片描述

1.3 基于虚拟机快照

VMwareWorkstation在生成快照时会自动生成虚拟内存文件,如图vmen文件
在这里插入图片描述

此外,还有基于用户模式程序的、内核模式程序、操作系统注入、系统休眠文件、系统冷启动、硬件的内存获取。

2 内存的分析

2.1 Redline

可通过Redline导入分析,Redline会收集在主机上运行的有关进程信息、内存中的驱动程序,以及其他数据,如元数据、注册表数据、任务、服务、网络信息和Internet历史记录等,最终生成报告

2.2 Volatility

Volatility可以分析入侵攻击痕迹,包括网络连接、进程、服务、驱动模块、DLL、handles、进程注入、cmd历史命令、IE浏览器历史记录、启动项、用户、shimcache、userassist、部分rootkit隐藏文件、cmdliner等

八、流量分析

Wireshark是一个网络封包流量分析软件。其功能是获取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPcap作为接口,直接与网卡进行数据报文交换。
在这里插入图片描述

筛选器
1 特定目的地址:ip.addr==ip
在这里插入图片描述

2特定源地址:ip.src==ip
在这里插入图片描述

3特定协议:直接输入http、http2、arp(小写)等
在这里插入图片描述

4特定端口:tcp.portport / udp.portport
在这里插入图片描述

5关键字:tcp contains 关键字
在这里插入图片描述

九、威胁情报

威胁情报的定义是基于证据的知识,包括上下文、机制、指标、隐含和可操作的建议,针对一个现存的或新兴的威胁,可用于做出相应决定的知识。 ——Gartner

结合威胁情报可以了解攻击者的信息

IOC(Indicator of Compromise)通常指在检测或取证中,具有高置信度的威胁对象或特征信息。

威胁情报金字塔

顶端的情报获取成本最高,同时也是价值最大的
在这里插入图片描述

IOC(Indicator of Compromise)通常指在检测或取证中,具有高置信度的威胁对象或特征信息。
常用的威胁情报库/社区:

参考

应急响应-PDCERF 方法
https://blog.csdn.net/kongzhian/article/details/120141747

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

闽ICP备14008679号