应急响应概述


应急响应概述

应急响应流程

事件判断:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DDoS等等。
临时处置:给出客户临时处置建议,断网隔离,保护现场环境。
信息收集分析:收集客户信息和中毒主机信息,包括样本,日志分析、进程分析、启动项分析、样本分析。
清理处置:直接杀掉进程,删除文件,打补丁,抑或是修复文件。
产出报告:整理并输出完整的安全事件报告。

常受攻击Web漏洞

攻击平台 漏洞编号
Weblogic CVE-2017-3248/CVE-2017-10271/CVE-2018-2628/CVE-2018-2894
Drupal CVE-2018-7600/CVE-2018-7602
Struts2 CVE-2017-5638/CVE-2017-9805/CVE-2018-11776
ThinkPHP ThinkPHPv5 GetShell
Windows Server 弱口令爆破/CVE-2017-0143
PHPStudy 弱口令爆破
PHPMyAdmin 弱口令爆破
MySQL 弱口令爆破
Tomcat 弱口令爆破/CVE-2017-12615
Spring Data Commons CVE-2018-1273
Jekins CVE-2019-1003000
JBoss CVE-2010-0738/CVE-2017-12149

常受攻击组件漏洞

应用 漏洞名
Docker Docker未授权漏洞
Nexus Repository Nexus Repository Manager 3远程代码执行漏洞
ElasticSearch ElasticSearch未授权漏洞
Hadoop Yarn Hadoop Yarn REST API未授权漏洞
Kubernetes Kubernetes Api Server 未授权漏洞
Jenkins Jenkins RCE(CVE-2019-1003000)
Spark Spark REST API未授权漏洞

处置思路

  1. 找到webshell
  2. 确定攻击者IP(合理猜测)
  3. 回溯攻击者操作
  4. 梳理整个攻击过程(据实分析,积极沟通)

应急前沟通

  • 现场现象是什么?如何发现的?(依据是什么) ?
  • 什么时候发现的?
  • 目前是否有做物理隔离(断网) ?
  • 受害机器是哪个?
  • 受害服务有几台?(1台/N台)
  • 最先发现是哪台 ?
  • 这台服务器对外有哪些服务?
  • 这台服务器于其他机器是否处于同一个内网?
  • 操作系统类型?
  • 是否有公网映射业务?
  • 远程管理方式?
  • 网络边界有没有流量监控设备?
  • 主机侧是否有EDR等安全设备

响应事件——Web攻击

相关表现: 页面被篡改、恶意推广、黑词黑页、webshell
相关危害: 导致搜索引擎告警、微信等app分享告警、首页敏感内容、拖库、内网沦陷等排查
要点: 能否多个环境下复现异常现象;确定相关资产是否存在;恶意文件是否确实存在于服务器上
操作要点: 备份文件;webshell后门查杀;web日志分析;web中间件缓存处理;web中间件配置检查;重启web中间件;服务器后门检查;
防护措施: 加固相关web应用,修改相关系统的所有用户密码

响应事件——链路劫持

相关表现: 区域性服务不可用或返回异常内容
相关危害: 导致搜索引擎告警、微信等app分享告警、首页敏感内容等
排查要点: 能否多个环境下复现异常现象;确定相关资产是否存在;恶意文件是否确实存在于服务器上
操作要点: 跨地区、运营商进行测试,确定受影响范围:在能复现的环境中判断是DNS劫持还是HTTP劫持
防护措施: 重要业务部署https

响应事件——代理隧道

相关表现: 持续性或间断性外连行为,通常为tcp协议,对内网多个主机有访问行为
相关危害: 作为跳板机攻击其他内网资产
排查要点: 确定存在代理隧道的跳板机,通常为某时间段内集中访问内网多种资源的机器,判断隧道类型
防护措施: 完善内网acl,服务器按业务需要通过白名单策略访问外网

响应事件——替换系统命令

相关表现: 无明显表现
相关危害: 将后门、木马持久化在系统中:窃取账号、密码等重要凭证
排查要点: 使用包管理自带的包校验功能验证文件完整性,分析恶意文件行为,确定影响面
操作要点: 使用静态链接的busybox;重新安装被替换的包
命令:


rpm -Va
dpkg --verify

响应事件——ld.so.preload动态链接库劫持

相关表现: 无明显表现
相关危害: 将后门、木马持久化在系统中:窃取账号、密码等重要凭证
排查要点: 检查/etc/ld.so.preload,ld.so(如/lib/x86_64-linux-gnu/ld-2.27.so)
操作要点: 使用静态链接的busybox; 重启被注入恶意模块的进程,必要时直接重启系统

响应事件——内核态rootkit

相关表现: 无明显表现
相关危害: 将后门、木马持久化在系统中:隐藏文件、进程等信息
排查要点: 确定是否存在无法使用常规命令查看的文件、进程;
操作要点: 使用tyton内核态rootkit检测工具检测:检查/etc/modules是否有未知的内核模块

响应事件——计划任务

相关表现: 特定时间间隔触发木马、后门、网络链接、DNS请求、篡改页面等行为
相关危害: 将后门、木马持久化在系统中:周期性篡改页面、拉取数据等
排查要点: 判断是否存在周期性出现的异常现象,检查/var/spool/cron/crontabs/,/etc/cron.*等常用计划任务配置文件
操作要点: 停止计划任务服务后再操作;注意辨别利用\r回车符的障眼法小技巧

响应事件——远控木马

相关表现: 有持续或间断性的对外网络链接或DNS请求等通信行为
相关危害: 窃取系统资料、作为跳板进一步攻击内网其他机器
排查要点: 关注tcp、udp、icmp等一切网络行为,检查注册表、服务、开机目录、计划任务等一系列常见的持久化点
操作要点: 检查网络连接,以及IDS设备上的异常远控告警

Windows应急响应

常用命令

常用命令 说明
regedit 注册表
Taskmgr 注册表
Msconfig 系统配置(包含启动项)
eventvwr.msc 事件查看器
compmgmt.msc 计算机管理(本地用户和组)
gpedit.msc 本地组策略
taskschd.msc 计划任务
lusrmgr.msc 本地用户和组

获取本机用户列表: net user

本机管理员: net localgroup administrators

查看当前会话: net session

查看当前运行的服务: net start

远程连接: net use

查看当前用户下的共享目录: net share

最近打开的文件:%UserProfile%\Recent
          %APPDATA%\Microsoft\Windows\Recent
          
查找文件中的字符串: findstr /m /i /s "hello" *.txt

查看网络连接: netstat - ano

操作系统的详细配置信息: systeminfo

获取系统进程信息: Wmic process

根据应用程序查找PID: wmic process where name="cmd.exe”get processid,executablepath,name

根据PID查找应用程序: wmic process where processid="4296”get executablepath,name

获取系统进程信息:tasklist

对于要查询特定dll的调用情况,可以使用命令tasklist /m dll名称

计算样本MD5: certutil -hashfile %样本文件名% MD5

应急管理工具

PChunter
系统信息监控工具,主要拿来看数字签名
黑色是微软认证的
粉红色是未认证的
红色是可疑进程

Autoruns
启动项、计划任务等动态监测工具

Process Explorer
应用程序监测工具
数据量很大,需要过滤

TCPView
其实就是netstat -ano的输出,但是可视化方便处理

Microsoft Network Monitor
很小的一个流量监控软件
安装完需要重启,可以监测单个程序进程

D盾
查杀webshell

Everything
快速查找文件和目录

sysmon
微软开发的系统监控工具,常用来判断挖矿后门等等

ID 说明
Event ID 1 进程创建事件,恶意进程的创建,包括他的父进程,PID,执行命令及对应文件所在目录记录信息等等
Event ID 3 网络连接事件,当恶意程序外连 CC 服务器或者矿地址池等操作的时候,可监控到是哪个进程发起的连接,并找到对应程序所在目录进行清理操作。
Event ID 11 文件创建事件,创建或覆盖文件时,这些创建操作会被记录下来。此事件对于监控自动启动位置,如启动文件夹目录、临时目录、下载目录非常有用.,而这些目录正是初始感染阶段恶意运行要用到的目录
Event ID 22 记录 DNS 查询,容易受该功能影响的一种场景就是基于 DNS 的 C2 通信,其中大量请求会被记录下来

威胁分析平台

BeaconEye
监测CS木马后门特征

DumpIt
内存取证工具,需要dump整个系统,取证空间占用太大,不建议使用
替代工具:FTK ImagerWinPMem

Volatility
内存取证工具

日志分析

windows主要有以下三类日志记录系统事件: 系统日志、安全日志、应用程序日志


打开方式:
1、开始 -> 运行 -> eventvwr
2、开始-> 管理工具 -> 事件查看 -> 安全

系统日志
默认位置:%SystemRoot%System32WinevtLogsSystem.evtx

事件 ID
系统启动 6005
事件日志服务已启动 6006
事件日志服务已停止 12
系统关闭 13

安全日志
%SystemRoot%System32WinevtLogsSecurity.evtx
注意:不同版本的系统日志ID可能不同,建议自行查找

应用程序日志
%SystemRoot%System32WinevtLogsApplication.evtx

Linux应急响应

基本命令

topps -aux
查看系统资源占用

netstat -antpl
查看网络连接以及其对应可执行程序

lsof
查看开放端口的进程

登录信息查看
显示错误的尝试登录信息: lastb
显示系统用户最近的登录信息: last
现实所有的用户最近的登录信息: lastlog

grep
查找符合条件的字符串:netstat -antpl lgrep 22

crontab
查看定时任务: crontab -1 、 cat /etc/crontab

历史命令
查看历史命令: history、cat ~/.bash history

校验RPM软件包
校验RPM软件包: rpm -Va、dpkg -verify
S:表示对应文件的大小 (Size) 不一致
M: 表示对于文件的mode不一致
5:表示对应文件的MD5不一致
D:表示文件的major和minor号不一致
L:表示文件的符号连接内容不一致
U:表示文件的owner不一致
G: 表示文件的group不一致
T:表示文件的修改时间不一致

其它
登录成功的IP
grep “Accepted” /var/log/secure | awk ‘{print $11}’ | sort | uniq -c | sort -nr | more
定位有爆破行为的IP
grep “Failed password” /var/log/secure awk ‘{print $11}’ | sort | uniq -c | sort -nr | more
查看隐藏进程
ps -ef awk ‘{print $11}’ | sort -n | uniq >1
ls /proc | sort -n | uniq >2
diff 1 2

应急工具

BusyBox
静态链接库的BusyBox
当命令被替换时使用
赋予可执行权限后.\即可

chkrootkit
监测RootKit的脚本

Rkhunter
同上

unhide
查找隐藏的UDP/TCP进程

ClamAV
检测各种恶意木马,病毒,进程
注意是否存在so文件的注入

河马Webshell

Web日志分析

查找文件中的恶意/危险函数

PHP: eval(、system(、assert (
JSP: getRunTime(、FileOutputStream(
ASP: eval(、execute(、ExecuteGlobal (

从日志记录中查找
查看每个 IP 地址访问次数:
cat access.log |awk ‘{print $1}’ |sort|uniq - c
访问URL排序:
cat access.log |awk ‘{print $1}’ |sort|uniq - c |sort -rn|head
访问指定资源日志:
cat access.log |awk ‘{print $7}’ |grep /%25Domain |sort|uniq - c |sort -rn|more


评论
  目录