应急响应(Incident Response/Emergency Response):
通常是指一个组织为了应对各种意外事件的发生所做的准备工作以及在突发事件发生时或者发生后所采取的措施
计算机网络应急响应的对象是指计算机或网络所存储、传输、处理的信息的安全事件,事件的主体可能来自自然界、系统自身故障(这里的系统包括主机范畴内的问题,也包括网络范畴内的问题)、组织内部或外部的人、计算机病毒或蠕虫等
应急处置
启动应急响应计划后,应立即采取相关措施抑制信息安全事件影响,避免造成更大损失.在确定有效控制了信息安全事件影响后,开始实施恢复操作.恢复阶段的行动集中于建立临时业务处理能力、修复原系统的损害、在原系统或新设施中恢复运行业务能力等应急措施.
信息安全应急响应计划规范GB/T 24363-2009
应急响应生命周期(PDCERF)
检测
预防为主
微观
- 帮助服务对象建立安全政策
- 帮助服务对象按照安全政策配置安全设备和软件 扫描,风险分析,打补丁 如有条件且得到许可,建立监控设施
宏观
- 建立协作体系和应急制度
- 建立信息沟通渠道和通报机制
- 电话、即时通讯、email
- 如有条件,建立数据汇总分析的体系和能力 有关法律法规的制定
制定应急响应计划
资源准备
- 应急经费筹集
- 人力资源
- 指挥调度人员、协作人员
- 技术人员、专家
- 设备、系统和服务提供商
- 硬件设备准备
- 数据保护设备(磁盘、SAN)、冗余设备 (网络链路、网络设备、关键计算机设备
- 软件工具准备
- 备份软件、日志处理软件
- 系统软件、应急启动盘
- 病毒、恶意软件查杀软件
- 现场备份
- 业务连续性保障
- 系统容灾、搭建临时业务系统
准备
确定事件性质和处理人
微观(负责具体网络的CERT)
- 确定事件的责任人:指定一个责任人全权处理,事件,给予必要的资源
- 确定事件的性质: 误会?玩笑?还是恶意的攻击/入侵? 影响的严重程度, 预计采用什么样的专用资源来修复?
宏观(负责总体网络的CERT)
- 通过汇总,确定是否发生了全网的大规模事件
- 确定应急等级,以决定启动哪一级应急方案
事故的标志(征兆和预兆)
- Web服务器崩溃
- 用户抱怨主机连接网络速度过慢
- 子邮件管理员可以看到大批的反弹电子邮件与可疑内容
- 网络管理员通告了一个不寻常的偏离典型的网络流量流向
来源
- 网络和主机IDS 、防病毒软件、文件完整性检查软件、系统、网络、蜜罐日志
- 公开可利用的信息、第三方监视服务
确认事故
- 确认网络和系统轮廓: 分析事故的最好技术方法之一
- 理解正常的行为: 基于处理事故的良好准备
- 使用集中的日志管理并创建日志保留策略
- 执行事件关联
- 保持所有主机时钟同步
- 维护和使用信息知识库: 分析事故时的快速参考
- 使用互联网搜索引擎进行研究
- 运行包嗅探器以搜集更多的数据
- 过滤数据
- 经验是不可替代的
- 建立诊断矩阵
- 寻求帮助
诊断矩阵实例
征兆 |
拒绝服务 |
恶意代码 |
非授权访问 |
不正确使用 |
文件,关键,访问尝试 |
低 |
中 |
高 |
低 |
文件,不适当的内容 |
低 |
中 |
低 |
高 |
主机崩溃 |
中 |
中 |
中 |
低 |
端口扫码,输入的, 不正常的 |
高 |
低 |
中 |
低 |
端口扫码,输出的, 不正常的 |
低 |
高 |
中 |
低 |
利用带宽高 |
高 |
中 |
低 |
中 |
利用电子邮件 |
中 |
高 |
中 |
中 |
遏制
即时采取的行动
微观
- 防止进一步的损失,确定后果
- 初步分析,重点是确定适当的封锁方法
- 咨询安全政策
- 确定进一步操作的风险
- 损失最小化(最快最简单的方式恢复系统的基本功能,例如备机启动)
- 可列出若干选项,讲明各自的风险,由服务对象选择
宏观
- 确保封锁方法对各网业务影响最小
- 通过协调争取各网一致行动,实施隔离
- 汇总数据,估算损失和隔离效果
建议组织机构为几类主要的事故建立单独的遏制策略
其标准包括:
- 潜在的破坏和资源的窃取
- 证据保留的需要
- 服务可用性(例如:网络连接,提供给外部当事方的服务)
- 实施战略需要的时间和资源
- 战略的有效性(例如:部分遏制事故,完全遏制事故)
- 解决方案的期限(例如:紧急事故工作区需在4 小时内清除,临时工作区需在两周内清除,永久的解决方案)。
根除
长期的补救措施
微观
- 详细分析,确定原因,定义征兆
- 分析漏洞
- 加强防范
- 消除原因
- 修改安全政策
宏观
- 加强宣传,公布危害性和解决办法,呼吁用户解决终端的问题;
- 加强检测工作,发现和清理行业与重点部门的问题
恢复
微观
- 被攻击的系统恢复正常的工作状态
- 作一个新的备份
- 把所有安全上的变更作备份
- 服务重新上线
- 持续监控
宏观
- 持续汇总分析,了解各网的运行情况
- 根据各网的运行情况判断隔离措施的有效性
- 通过汇总分析的结果判断仍然受影响的终端的规模
- 发现重要用户及时通报解决
- 适当的时候解除封锁措施
跟踪
- 关注系统恢复以后的安全状况,特别是曾经出问题的地方
- 建立跟踪文档,规范记录跟踪结果
- 对响应效果给出评估
- 对进入司法程序的事件,进行进一步的调查,打击违法犯罪活动
- 事件的归档与统计
- 处理人、时间和时段、地点
- 工作量、事件的类型、对事件的处置情况
- 代价、细节
应急响应信息收集表
客户名称 |
什么区域的什么客户 |
感染主机数 |
感染了多数台主机 |
补丁情况 |
打了哪些补丁,是否存在补丁漏打 |
中毒现象 |
勒索/挖矿/DoS/僵尸网络/后门/木马 |
帐号密码 |
确认是否有弱密码 |
对外开发端口 |
对外开发了哪些端口 |
开启的服务 |
开启了哪些服务 |
操作系统版本 |
操作系统版本信息 |
客户需求 |
确认客户具体需求 |
响应流程
事件发生
运维监控人员、客服审核人员等发现问题,向上通报。
事件确认
收集事件信息、分析网络活动相关程序,日志和数据,判断事件的严重性,评估出问题的严重等级,是否向上进行汇报等。
事件响应
各部门通力合作,处理安全问题,具体解决问题,避免存在漏洞未修补、后门未清除等残留问题。
事件关闭
处理完事件之后,需要关闭事件,并写出安全应急处理分析报告,完成整个应急过程。
事件分类
- 病毒、木马、蠕虫事件
- Web服务器入侵事件
- 第三方服务入侵事件
- 系统入侵事件
- 利用Windows漏洞攻击操作系统
- 网络攻击事件
- DDoS / ARP欺骗 / DNS劫持等
分析方向
文件分析
- 基于变化的分析
日期 文件增改 最近使用文件
- 源码分析
检查源码改动 查杀WebShell等后门
- 系统日志分析
- 应用日志分析
分析User-Agent,e.g. awvs / burpsuite / w3af / nessus / openvas 对每种攻击进行关键字匹配,e.g. select/alert/eval 异常请求,连续的404或者500
- md5sum 检查常用命令二进制文件的哈希,检查是否被植入rootkit
进程分析
- 符合以下特征的进程
CPU或内存资源占用长时间过高 没有签名验证信息 没有描述信息的进程 进程的路径不合法
- dump系统内存进行分析
- 正在运行的进程
- 正在运行的服务
- 父进程和子进程
- 后台可执行文件的完整哈希
- 已安装的应用程序
- 运行着密钥或其他正在自动运行的持久化程序
- 计划任务
身份信息分析
- 本地以及域账号用户
- 异常的身份验证
- 非标准格式的用户名
日志分析
- 杀软检测记录
网络分析
- 防火墙配置
- DNS配置
- 路由配置
- 监听端口和相关服务
- 最近建立的网络连接
- RDP / VPN / SSH 等会话
配置分析
- 查看Linux SE等配置
- 查看环境变量
- 查看配套的注册表信息检索,SAM文件
- 内核模块
Linux应急响应
文件分析
- 最近使用文件
find / -ctime -2 C:Documents and SettingsAdministratorRecent C:Documents and SettingsDefault UserRecent %UserProfile%Recent
- 系统日志分析
/var/log/ more /etc/rsyslog.conf # 查看日志配置情况
- 重点分析位置
# 日志级别 debug # 系统调试信息 info # 常规信息 warning # 警告信息 err # 报错(级别低,阻止了某个功能能不能正常工作) crit # 报错(级别高,阻止了某个软件或整个系统不能正常工作) alert # 需要立即修改的信息 emerg # 内核崩溃 none # 不采集任何日志信息 # 注意:从上到下,级别从低到高,记录的信息越来越少 # 必看日志:secure、Messages、wtmp
/etc/passwd # 用户列表
/etc/init.d/ # 开机启动项
/etc/cron* # 定时任务
/tmp # 临时目录
~/.ssh
/var/log/messages # 包括整体系统信息,其中也包含系统启动期间的日志.此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中
/var/log/dmesg # 包含内核缓冲信息(kernel ring buffer).在系统启动时,会在屏幕上显示许多与硬件有关的信息.可以用dmesg查看它们
/var/log/auth.log # 包含系统授权信息,包括用户登录和使用的权限机制等
/var/10g/boot.log # 包含系统启动时的日志
/var/log/daemon.log # 包含各种系统后台守护进程日志信息
/var/log/dpkg.log # 包括安装或dpkg命令清除软件包的日志
/var/log/kern.log # 包含内核产生的日志,有助于在定制内核时解决问题
/var/log/lastlog # 记录所有用户的最近信息.这不是一个ASCII文件,因此需要用lastlog命令查看内容
/var/log/maillog
/var/log/mai1.log # 包含来自系统运行电子邮件服务器的日志信息.例如:sendmail日志信息就全部送到这个文件中
/var/log/user.log # 记录所有等级用户信息的日志
/var/log/Xorg.x.log # 来自X的日志信息
/var/log/alternatives.log # 更新替代信息都记录在这个文件中
/var/log/btmp # 记录所有失败登录信息.使用last命令可以查看btmp文件.例如:last -f /var/log/btmp more
/var/log/cups # 涉及所有打印信息的日志。
/var/log/anaconda.log # 在安装Linux时,所有安装信息都储存在这个文件中
/var/log/yum.log # 包含使用yum安装的软件包信息
/var/log/cron # 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中
/var/log/secure # 包含验证和授权方面信息.例如:sshd 会将所有信息记录(其中包括失败登录)在这里
/var/log/wtmp
/var/log/utmp # 包含登录信息.使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等
/var/log/faillog # 包含用户登录失败信息.此外,错误登录命令也会记录在本文件中
# 除了上述Log文件以外,vār/log还基于系统的具体应用包含以下一些子目录:
/var/log/httpd/或/var/log/apache2 # 包含服务器access_log和error_log信息
/var/log/lighttpd/ # 包含light HTTPD的access_log和error_log
/var/log/mail/ # 这个子目录包含邮件服务器的额外日志
/var/log/prelink/ # 包含.so文件被prelink修改的信息
/var/log/audit/ # 包含被Linux audit daemon储存的信息
/var/log/samba/ # 包含由samba存储的信息
/var/log/sa/ # 包含每日由sysstat软件包收集的sar文件
/var/log/sssd/ # 用于守护进程安全服务
用户分析
- /etc/shadow 密码登陆相关信息
root:$6$szBCA0J1J6UfTeGi$VpIsYVHoULUix8Q.ifya2Qjsf1zLkn0CMvvZqFAyfFvB9u/K7uk6pu4u1yN/P72Jim9tjDN1dMiSsrDRrOJQ..:19240:0:99999:7::: 用户名:密码:密码上次修改时间:允许修改密码最短时间:允许修改密码最长时间:密码过期前提醒用户修改密码的时间 # 可以用john碰撞解密
- uptime 查看用户登陆时间
- /etc/passwd 用户基本信息
root:x:0:0:root:/root:/bin/bash 用户名:密码:用户id:组id:用户说明:家目录:登录之后的shell
- /etc/sudoers sudo用户列表
后门账号排查
# uid为0即是超级用户权限账号 awk -F: '{IF($3==0)PRINT $1}' /etc/passwd # 最小权限 more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)" # 检查是否有可登录的后门账号 awk '/$1|$6/{print $1}' /etc/shadow
cat /etc/passwd | grep -E "/bin/bash$"
# last 用于显示用户最近登录信息 # 登录排查攻击者登录账号和时间
last
# lastb 显示用户错误的登录列表
lastb
# lastlog 显示所有用户上次登录信息
lastlog
进程分析
进程也可以在/proc下面找到,Linux一切皆文件
netstat -antlp|more
查看是否打开了可疑端口- w 命令,查看用户及其进程
- 分析开机自启程序/脚本
/etc/init.d ~/.bashrc
- 查看计划或定时任务
crontab -l
- lsof
lsof -i: PORT lsof -p PID
- ps/pstree
# 查找进程 ps -aux|grep java # 查看进程的子进程 ps -efl | grep java
通信分析
- iptables
Linux平台下的包过滤防火墙,具有封包过滤、封包重定向和网络地址转换(NAT)等功能
表 |
链 |
filter |
INPUT,FORWARD,OUTPUT |
nat |
PREROUTING,OUTPUT,POSTROUTING |
mangle |
PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING |
raw |
PREROUTING,OUTPUT |
动作 |
含义 |
ACCEPT |
允许数据包通过 |
DROP |
直接丢弃数据包,不会给数据端发送响应 |
REJECT |
拒绝数据包,必要时会给数据端发送响应 |
SNAT |
源地址转换,解决内网用户公用一个公网地址 |
MASQUERADE |
SNAT的特殊形式,适用于动态IP |
REDIRECT |
在本机做端口映射 |
# 192.168.10.0/24 可接受,但192.168.10.10丢弃 iptables -A INPUT -i eth0 -s 192.168.10.0/24 -j ACCEPT iptables -A INPUT -i eth0 -s 192.168.10.10 -j DROP iptables -nL --line-number | grep 192.168.10 iptables -L -t nat # 重点注意:红队常用nat
木马排查实战流程
内存马查杀
- visualvm 适用于servlet或filter框架组件内存马(JDK1.8以上,bin文件下)自带
https://visualvm.github.io/
- arthas 适用于servlet或filter框架组件内存马是阿里巴巴开源的Java诊断工具
https://github.com/alibaba/arthas
链接
- copagent 适用于servlet,filter,listenter框架组件内存马
链接
Windows应急响应
系统信息
systeminfo
查看补丁是否齐全,是否存在ms08-067相关漏洞- 工具:
Windows-exploit-suggester
https://github.com/K0rz3n/PatchesTester
文件分析
- 相关目录
下载目录 |
回收站文件 |
Temp |
History |
应用程序打开历史 |
搜索历史 |
Lnk |
驱动:(cmd>Drivequery)日期 |
进程dll关联查询(tasklist -m) |
共享文件(cmd>Net share) |
最近的文件(资源管理器>%UserProfile%Recent) |
文件更新 |
已安装文件,控制面板或者(regedit>softwareMicrosoftWindowsCurrentVersionUninstall) |
- 最近使用文件
C:Documents and SettingsAdministratorRecent C:Documents and SettingsDefault UserRecent %UserProfile%Recent
- 后门查杀
# 启动项 HKEY_LOCAL_MACHINESOFTWAREMicroftwindowscurrentversionrun # 用户登录 HKCUEnvironment HKLMSOFTWAREMicroftWindows NTCurrentVersionWinlogonUserinit # 定时任务/计划任务 1. 单击[开始]>[设置]>[控制面板]>[任务计划],查看计划任务属性,便可以发现木马文件的路径 2. 单击[开始]>[运行];输入cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接 # 服务自启动 1. 单击[开始]>[运行],输入services.msc,注意服务状态和启动类型,检查是否有异常服务 # dll劫持 HKEY_LOCAL_MACHINESYSTEMCurrentControlsetControlSessionManagerExcludeFromKnownDlls # COM劫持 %APPDATA%RoamingMicrosoftInstaller{BCDE0395-E52F-467C-8E3D-C4579291692E}
用户分析
- 查看是否有新增用户
- 查看服务器是否有弱口令
- 查看管理员对应键值
- lusrmgr.msc 查看账户变化
- net user 列出当前登录账户
- wmic UserAccount get 列出当前系统所有账户
进程分析
- netstat -ano 查看是否打开了可疑端口
- tasklist 查看是否有可疑进程
- 分析开机自启程序
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunonce HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionpoliciesExplorerRun HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce (ProfilePath)Start MenuProgramsStartup 启动项 msconfig 启动选项卡 gpedit.msc 组策略编辑器
- 查看计划或定时任务
C:WindowsSystem32Tasks C:WindowsSysWOW64Tasks C:Windowstasks schtasks taskschd.msc compmgmt.msc
- 查看启动服务
services.msc
日志分析
- 事件查看
eventvwr.msc
- 系统日志
# 日志路径 C:WindowsSystem32winevtLogs C:windowsMinidump # 必看日志 Security.evtx、System.evtx、Application.evtx # 特殊ID号 4624、4625、4634、4624、4672管理员登录 # 查看是否执行了某些命令比如4688,创建新进程4732安全组管理 # 4724用户账户管理 4738、4722、4720、4728
其他
- 查看系统环境变量
- WinRM端口复用连接排查
- 在默认情况下,WinRM服务的端口为5985,但可通过配置将其改成80端口
- 在排查时,可使用命令
winrm enumerate winrm/config/listener
查看是否启动服务,当存在返回信息时,则说明服务运行中,当无返回信息时,则服务关闭
- 关闭服务命令
- cmd
winrm delete winrm/config/Listener?Address=*+Transport=HTTP
- powershell
Set-Service -Name winrm -StartupType Disabled
Stop-Service winrm
研判与溯源
分析流程
- 定位事件
- 设备告警
- 辅助设备
- 告警事件
- 应急响应
- 分析服务器以及相应服务开放的端口
- 21 3389 445 443 80 3306 8080
- 分析服务被攻击的方法
- OWASP TOP 10
- 爆破
- 欺骗
- 钓鱼
- 漏洞利用
- 分析日志
- 查找Webshell
- 分析网站数据库连接账号权限
- 分析网站容器权限
- 被提权了
- 查看补丁
- 查看账号连接情况(分析注册表如是否被克隆账号)
- 查看网络连接
- 分析进程
- 分析注册表启动程序
- 分析日志
- 分析一些提权工具
- 漏洞利用程序
- 执行对比命令
- mimakatz
- 报告整理
信息分析
用户画像绘制流程
参考链接
https:
//xz.aliyun.com/t/2524
重大信息安全事件报告表
重大信息安全事件报告表 |
|
报告时间: x 年x 月x 日x 时x 分 |
|
单位名称: |
报告人: |
联系电话: |
通讯地址: |
传真: |
电子邮件: |
发生重大信息安全事件的信息系统名称及用途: |
|
负责部门: |
负责人: |
重大信息安全事件的简要描述(如以前出现过类似情况也应加以说明): |
|
初步判定的事故原因: |
|
当前采取的措施: |
|
本次重大信息安全事件的初步影响状况: |
|
影响范围: |
严重程度: |
值班电话: |
传真: |
应急响应总结模板
信息安全事件应急响应结果报告表 |
|
原事件报告时间: x 年x 月x 日x 时x 分 |
|
备案编号: x 年x 月x 日x 第 x 号 |
|
单位名称: |
报告人: |
联系电话: |
通讯地址: |
信息系统名称及用途: |
|
已采用的安全措施: |
|
信息安全事件的补充描述及最后判定的事故原因: |
|
本次信息安全事件的初步影响状况: |
|
事后结果: |
影响范围: |
严重程度: |
|
本次信息安全事件的主要处理过程及结果: |
|
针对此类信息安全事件应采取的保障信息系统安全的措施和建议: |
|
报告人签名: |
原文始发于微信公众号(巢安实验室):什么是应急响应【建议收藏】
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论