应急响应知识总结

概述

1.基本概念

1.应急响应:
1.指一个组织为了应对各种意外事件的发生所做的准备,以及在事件发生后所采取的措施。
2.目的:减少突发事件造成的损失(包括人民群众的生命、财产损失、国家和企业的经济损失、以及相应的社会不良影响)
3.处理的问题:通常为突发公共事件或突发的重大安全事件
2.网络安全应急响应
1.网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,保证系统连续、可靠、正常运行,网络服务不中断。
2.网络安全应急响应(简称应急响应)是指针对已经发生或可能发生的安全事件进行监控、分析、协调、处理、保护资产安全。

2.应急响应应具备的能力

1)数据采集、存储和检索能力
 (1)能对全流量数据协议进行还原;
 (2)能对还原的数据进行存储:
 (3)能对存储的数据快速检索。
2)事件发现能力
 (1)能发现高级可持续威胁(Advanced Persistent Threat, APT)攻击;
 (2)能发现Web攻击;
 (3)能发现数据泄露;
 (4)能发现失陷主机;
 (5)能发现弱密码及企业通用密码;
 (6)能发现主机异常行为。
3)事件分析能力
 (1)能进行多维度关联分析;
 (2)能还原完整杀伤链;
 (3)能结合具体业务进行深度分析。
4)事件研判能力 
 (1)能确定攻击者的动机及目的; 
 (2)能确定事件的影响面及影响范围; 
 (3)能确定攻击者的手法。 
5)事件处置能力 
 (1)能在第一时间恢复业务正常运行; 
 (2)能对发现的病毒、木马进行处置; 
 (3)能对攻击者所利用的漏洞进行修复; 
 (4)能对问题机器进行安全加固。 
6)攻击溯源能力 
 (1)具备安全大数据能力; 
 (2)能根据已有线索(ip地址、样本等)对攻击者的攻击路径、攻击手法及背后组织进行还原。

3.应急响应流程

PDCERD(6阶段)方法

准备阶段
   以预防为主。
检测阶段
   主要检测事件是已经发生的还是正在进行中的,以及事件产生的原因。
抑制阶段
   主要任务是限制攻击/破坏涉及的范围,同时也是降低潜在的损失。
根除阶段
   主要任务是通过事件分析找出根源并彻底根除,以避免攻击者再次使用相同的手段攻击系统,引发安全事件。
恢复阶段
   主要任务是把破坏的信息彻底还原到正常运作状态。
总结阶段
   主要任务是回顾并整合应急响应过程的相关信息,进行事后分析总结和修订安全计划、政策、程序,并进行训练,以防止入侵的再次发生。

4.现场处置流程

常见的应急响应场景
勒索病毒
挖矿木马
webshell
网页篡改
ddos攻击
数据泄露
流量劫持
在现场处置过程中,先要确定事件类型与时间范围,针对不同的事件类型,对事件相关人员进行访谈,了解事件发生的大致情况及涉及的网络、 主机等基本信息,制定相关的应急方案和策略。随后对相关的主机进行排查,一般会从系统排查、进程排查、服务排查、文件痕迹排查、日志分析等方面进行,整合相关信息,进行关联推理,最后给出事件结论。

一、系统信息

1.window

1.系统信息工具 命令行中输入 msinfo32 打开系统信息窗口
2.正在运行的任务
3.服务
4.系统驱动服务
5.加载的模块
6.启动的程序

应急响应知识总结_第1张图片

2.linux

1.CPU信息     lscpu
2.操作系统信息  uname -a
3.模块信息     lsmod

二、用户信息

1.window

1.命令行   net user (查看不了一$结尾的隐藏账户)
          net user 账户名 查看具体账户
2.图形化界面
在运行中输入 lusrmgr.msc 或者打开 计算机管理 中的用户 可查看隐藏账户
3.注册表regedit  在HKEY_LOCAL_MACHINE 下的 SAM 下 (SAM需要进行授权)
4.wmic 扩展WMI管理工具   wmic useraccount get name,SID

2.linux

1.查看系统所有用户  cat /etc/passwd
   结尾显示 bin/bash  表示账户为可登陆
   结尾显示 sbin/nologin 表示账户不可登陆
2.分析超级账户
  awk -F:'{if(3==0)print $1}' /etc/passwd  可查询账户uid为0的账户   root是uid为0的账户
3.查看可登陆的账户
  cat /etc/passwd |grep 'bin/bash'
4.查看用户错误的登陆信息
  lastb  查看错误的登陆列表包括登录方式、ip地址、时间
5.查看所有用户最后的登陆信息
  lastlog 

应急响应知识总结_第2张图片

6.查看用户最近登陆信息
  last
  其中wtmp存储登陆成功的信息,btmp存储登陆失败信息,utmp存储当前正在登陆的信息
7.查看当前用户登陆系统情况
  who
8.查看空口令账户
   awk -F:'length($2)==0 {print $1}' /etc/shadow 

三、启动项

1.window

1.系统配置 中查看 输入 msconfig
2.注册表查看  
注册表:是操作系统中一个重要的数据库,主要存储系统所必须的信息

2.linux

1.cat /etc/init.d/rc.local 
2.cat /etc/rc.local
3.ls -alt /etc/init.d

四、任务计划

1.window

1.在 计算机管理 选择 任务计划程序
2.在powershell中输入 Get-ScheduledTask
3.在命令行输入schtasks

2.linux

1.crontab -l 查看当前任务计划
  crontab -u root -l 查看root用户任务计划
2.查看etc目录下的任务计划文件
   一般任务计划文件是cron开头的
   ls /etc/cron*  使用正则表达式匹配该类文件

五、防火墙

最基本的用途是对出、入的数据包进行检测
fw规则:入站规则、出站规则
入站规则:根据过滤规则,过滤从外网到主机的流量
出站规则:根据过滤规则,过滤从本地主机到外面的流量

1.window

1.在 window防火墙,高级设置 中设置出入站规则
2.命令行 netsh
        netsh Firewall show state
     查看fw网络配置状态

六、进程

1.window

1.任务管理器查看 
2.命令行 tasklist 显示所有运行程序
   tasklist /svc显示每个进程和服务的对应情况
   tasklist /m  显示某些加载dll的恶意进程
   tasklist /m 进程名  显示特定加载dll的调用进程
3.使用netstat命令
   netstat 显示网络连接信息
   -a 所有连接、端口
   -n 以数字形式显示地址和端口号
   -o 显示拥有的与每个连接关联的进程id
   -r 显示路由表
   -b 显示在创建每个连接或侦听端口时涉及的可执行程序
   常见的网络状态说明:
   LISTENING:侦听状态
   ESTABLISHED:建立连接
   CLOSE_WAIT:对方主动关闭或网络异常导致连接中断。
4.定位可以程序
   netstat -ano|findstr "ESTABLISHED"一般使用该命令查看目前的网络连接,定位可疑的ESTABLISHED;
   然后使用tasklist |find "进程号"查看具体的程序或使用 netstat -anb定位端口对应的程序
5.arp 
   -a或-g 显示当前arp
   -v 显示所有
6.使用powershell进行排查
   get-wmiobject win32_process |select name,processid,parentprocessid,path查询进程中的name等字段
   get-wmiobject win32_process获取进程的所有信息
7.使用 wmic 命令进行查询
   wmic process 查询进程情况
   wmic process list full /format:csv 以csv格式列出所有进程

应急响应知识总结_第3张图片

wmic process get name,parentprocessid,processid /format:csv 以csv格式显示进程的名称、父进程id、进程id

应急响应知识总结_第4张图片

wmic process get executablepath,processid /format:csv 以csv显示进程路径、进程id

应急响应知识总结_第5张图片

wmic process where processid=[PID] get parentprocessid  以pid的值作为条件获取其父进程的pid情况
wmic process where processid=[pid] get commandline   以pid的值作为条件获取其命令行
wmic process where name="malware.exe" call terminate 删除malware.exe的程序的进程
wmic process where processid=[pid] delete   删除pid为某值的进程

2.linux

1.netstat  
  第一步:网络连接命令,分析可疑端口、可疑ip地址、可疑pid、进程
  -p pid
  -r 路由表
  -l 显示侦听的服务
  -a 显示所有
  -t tcp
  -u udp
  第二步:根据pid的值,输入 ls -alt /proc/PID
        或者利用lsof -p PID 查看进程打开的文件
  第三步:若为恶意程序“kill -9 PID ”结束pid的进程,使用“rm -rf 文件名 ” 删除文件
  注意:若使用root账户无法删除时,该文件可能被加上了 i 属性。 此时,需要“lsattr 文件名” 查看文件属性,然后使用“chattr -i 文件名” 来移除i属性,然后删除文件。  若是由于进程守护不能删除时,需要关闭进程,再删除进程。
  
  隐藏进程的查看:
  ps -ef |awk '{print}' |sort -n |uniq>1
  ls /proc|sort -n |uniq>2
  diff 1 2
  
  针对挖矿进程的排查,使用top 查看相关资源占用较高的进程后进行判断

七、服务

服务:运行在后台的进程。 可以自启、暂停、重启,且不显示任何用户界面。
服务非常使用服务器使用,通常是为了不影响计算机上其他用户,且需要长时间运行功能时使用。

1.window

在 运行 中输入 services.msc 来打开 服务 窗口。可以查看所有服务、服务名称、描述、状态

应急响应知识总结_第6张图片

2.linux

chkconfig --list 查看系统运行的服务
service --status-all

应急响应知识总结_第7张图片

0-6表示6个等级

0 关机
1 单用户模式
2 无网络连接的多用户命令行模式
3 有网络连接的多用户命令行模式
4 不可用
5 图形化的多用户模式
6 重启

八、文件痕迹排查

1.对恶意软件常用的敏感路径进行排查
2.在确定应急响应时间的时间点后,对时间点前后的文件进行排查
3.对带有特征的恶意软件进行排查(特征包括:代码关键字、函数,文件权限等)

1.window

1.敏感目录
各个磁盘下的 temp(tmp)相关目录。   临时文件的路径一般来说各个系统路径一致
2.排查浏览器的历史记录、下载文件、cookie信息
3.查看用户 recent 文件。   recent文件主要存储了最近运行的文件的快捷方式。
  recent的路径 一般在用户目录下
4.预读取文件夹查看。   prefetch 是预读取文件夹,存放系统已访问过的文件的预读取信息,扩展名为pf。  
   自动创建预读取文件夹,是为了加快系统启动的进程。
   prefetch 路径: %systemroot%\prefetch\   (在 运行 中输入)
  
  amcache.hve 可查询 应用程序的执行路径、上次执行的时间及SHA1值
    amcache.hve 路径  %systemroot\appcompat\programs\
5.时间点查找
   应急响应事件发生后,首先确认 事件发生的时间点,然后排查前后的文件变动,从而缩小访问。
   1)命令行  forfiles 列出攻击日期内新增的文件,从而做定位
   forfiles /m *.exe /d +2022/10/7/s/p c:\ /c "cmd /c echo @path @fdate @ftime" 2>null   查找10.7后的exe新建文件进行搜索
   2)根据资源管理器 文件的创建、修改、访问日期 进行定位  注意:文件可能存在时间修改,需要查看时间的逻辑问题,例如:创建时间明显迟于修改时间
6.webshell
    网站的一个关键入侵点,webshell(网站入侵的脚本工具)
    利用相关的·杀毒·软件查找可疑文件

2.linux

1.敏感目录
  /tmp 目录
  /usr/bin 或 /usr/sbin 命令目录
  ~/.ssh 或  /etc/ssh 后门配置的路径
2.时间点查找
  1)find 查找
  -type b/d/c/p/l/f  查找块设备、目录、字符设备、管道、符号链接、普通文件
  -mtime -n(+n) 按文件更改时间查找  -n:n天以内 +n:n天以外
  -atime -n(+n) 按文件访问时间查找
  -ctime -n(+n) 按文件创建时间查找
  find / -ctime 0 -name "*.sh"  查找一天内新增的sh文件
  ls -alt |head -n 10 查看最近的十行信息
  2)对文件的创建、修改、访问时间进行排查
  stat 可以详细查看文件的创建、修改、访问时间
3.特殊文件
  1)特殊权限文件查找
   find /tmp -perm 777 查找777权限的文件
  2)webshell查找
   find /var/www/ -name "*.php"  |xargs 关键字
   查找该目录下php文件中是否包含关键字
  3)对系统命令进行排查
   ls -alt /bin/ 查看该目录下相关系统命令的修改时间
   ls -alh /bin/ 查看相关文件的大小
  4)linux后门检测
  使用相关的工具查杀
  chkrootkit 检测rootkit是否被安装在当前系统中 ,实时检测系统
     rootkit 是后门程序,非常隐蔽,不易察觉,可对系统实时控制
  rkhunter   进行系统命令(binary)检测,包括MD5校验、rootkit检测、本机敏感目录检测、系统配置检测、服务及套件异常检测、第三方应用检测。
  5)排查suid
  find / -type f -perm 04000 -ls -uid 0 2>/dev/null

九、日志分析

1.window

日志包括:系统日志、安全性日志、应用程序日志
可在 计算机管理 中查看 事件查看器 下的 window 日志
  运行 中输入 eventvwr 打开事件管理器 
1.系统日志:
  window系统中谷歌组件在运行中产生的各种事件
  包括驱动运行、操作系统运行、应用程序运行出现的重大问题,以及数据丢失,系统奔溃
2.安全性日志
  主要记录各种与安全相关的事件
  包括登陆日志、资源操作日志、文件操作日志
3.应用程序日志
  主要记录各种应用程序所产生的各类事件
  包括数据库被暴力破解产生的相关日志等
4.日志分析
  1)日志筛选器 进行分析
  2)powershell 分析日志
  get-eventlog  获取传统的事件日志
  get-winevent  获取日志较全
  3)相关的日志分析工具
  event log explorer 是一个检测系统安全的软件,可查看、监视、分析事件,包括安全性、系统、应用程序及window系统事件记录。

2.linux

1.日志概述
linux中日志一般存放在 /var/log 下
/var/log/wtmp 记录登录、数据交换、关机重启, ====last
/var/log/cron 记录与定时任务相关的日志
/var/log/messages 记录系统启动后的信息和错误日志
/var/log/apache2/access.log  记录apache访问日志
/var/log/auth.log  记录系统授权信息,包括用户登陆和使用的权限机制等
/var/log/userlog  记录用户信息
/var/log/lastlog  记录登陆的日志===lastlog
/var/log/secure  记录应用输入的账号与密码,以及登陆成功与否的信息
/var/log/faillog 记录登陆系统不成功的账号信息
利用cat 查看各种日志信息
2.日志分析
利用grep、sed、sort、awk分析
tail -n 10 test.log 查看最后10行日志
tail -n +10 test.log 查看10行之后的日志
head用法与tail一样
awk

十、内存分析

十一、流量分析

利用wireshark 、科来工具进行流量的分析

十二、威胁情报

1.威胁情报
针对安全威胁、威胁者、利用、恶意软件、漏洞和危害指标,所收集的用于评估和应用的数据集。

应急响应知识总结_第8张图片

​ 威胁情报金字塔模型

十三、相关工具

火绒剑,可以查看进程、驱动模块、内核、网络、注册表、文件等信息

十四、勒索病毒

1.勒索病毒:一旦遭受勒索病毒攻击,绝大多数文件会被加密算法修改,并添加一个特殊的后缀,且受害者无法读取原本的正常文件,从而造成损失。
2.勒索病毒利用对称加密和非对称加密算法相结合的形式加密文件,必须有解密私钥才可能解密。
3.常见的勒索病毒
永恒之蓝、wannacry、globeimposter、crysis/dharma等
4.常规处理
  1)隔离被感染的服务器或主机
  2)排查业务系统
  3)确定病毒种类,并溯源分析
  4)恢复数据和业务
    利用备份还原,或磁盘数据恢复工具

你可能感兴趣的:(应急响应,安全,网络,web安全)