应急响应总结
# 应急响应
# 应急响应目的
哈哈,先拔网线,别关机,会损害现场。。
- 判断这次应急是否是被成功入侵的安全事件
- 阻断黑客攻击
- 找出攻击者的第一入口点,提取恶意样本
- 帮助客户梳理攻击者的攻击路线,提供漏洞修复方案
# 应急响应流程
- 事件判断: 判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DDoS 等等.
- 临时处置: 给出客户临时处置建议,断网隔离,保护现场环境。
- 信息收集分析: 收集客户信息和中毒主机信息,包括样本,日志分析、进程分析、启动项分析、样本分析
- 清理处置: 直接杀掉进程,删除文件,打补丁,抑或是修复文件。
- 产出报告: 整理并输出完整的安全事件报告。
# 应急前沟通
- 现场现象是什么?如何发现的?
- 依据是什么?
- 什么时候发现的?
- 目前是否有做物理隔离 (断网)?
- 受害机器是哪个?
- 受害服务有几台?(1 台 / N 台)
- 最先发现是哪台?
- 这台服务器对外有哪些服务?
- 这台服务器与其他机器是否处于同一个内网?
- 操作系统类型?是否有公网映射业务?远程管理方式?
- 网络边界有没有流量监控设备?
- 主机侧是否有 EDR 等安全设备?
# 应急响应杂谈
- 要点一:了解常见端口的攻击手法
- 要点二:不要相信客户说的话
# 攻击者常利用的 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 | 弱口令爆破 |
Spring Data Commons | CVE-2018-1273 |
Tomcat | 弱口令爆破,CVE-2017-12615 |
MsSQL | 弱口令爆破 |
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 RESTAPI 未授权漏洞 |
Kubernetes | Kubernetes Api Server 未授权漏洞 |
Jenkins | Jenkins RCE (CVE-2019-1003000) |
Spark | Spark RESTAPI 未授权漏洞 |
# 应急响应处置思路
应急响应反着来
- 据实分析
- 合理猜测
- 积极沟通
# 1. 外网扫描(梳理整个攻击过程)
- 利用漏洞扫描器进行
- web 扫描
- Xray
- AWVS
- SQLMAP
- ...
# 2. 漏洞利用(回溯攻击者操作)
通过一些高位的漏洞
Shiro/struts2 等反序列命令执行..
# 3. 主机控制(确定攻击者 IP)
- 上传 webshell,反弹 shell,利用远程控制程序进行控制
- CS(CobaltStrike)
- Metasploit
# 4. 横向渗透(找到 webshell)
- 上传内网渗透工具,扫描内网,跳板攻击
- CS(CobaltStrike)
- Metasploit
# 实战攻击场景下应急响应
# web 攻击事件
- 相关表现: 页面被篡改、恶意推广、黑词黑页、webshell
- 相关危害: 导致搜索引擎告警、微信等 app 分享告警、首页敏感内容、拖库、内网沦陷等
- 排查要点: 能否多个环境下复现异常现象,确定相关资产是否存在,恶意文件是否确实存在于服务器上
- 操作要点: 备份文件,webshell 后门查杀;web 日志分析;web 中间件缓存处理;web 中间件配置检查;重启 web 中间件;服务器后门检查;
- 防护措施: 加固相关 web 应用,修改相关系统的所有用户密码
# 链路劫持
- 相关表现: 区域性服务不可用或返回异常内容
- 相关危害: 导致搜索引擎告警、微信等 app 分享告警、首页敏感内容等
- 排查要点: 能否多个环境下复现异常现象,确定相关资产是否存在,恶意文件是否确实存在于服务器上
- 操作要点: 跨地区、运营商进行测试,确定受影响范围,在能复现的环境中判断是 DNS 劫持还是 HTTP 劫持 S
- 防护措施: 重要业务部署 https
# 替换命令
替换 ssh 或 rpm 包
- 相关表现: 无明显表现
- 相关危害: 将后门、木马持久化在系统中;窃取账号、密码等重要凭证
- 排查要点: 使用包管理自带的包校验功能验证文件完整性,分析恶意文件行为,确定影响面
- 操作要点: 使用静态链接的 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 请求、篡改页面等行为
- 相关危害: 将后门、木马持久化在系统中,周期性篡改页面、拉取数据等
- 操作要点: 停止计划任务服务后再操作,注意辨别利用 \r 回车符的障眼法小技巧
- 排查要点: 判断是否存在周期性出现的异常现象,检查
/var/spool/cron/crontabs/
,/etc/cron.*
等常用计划任务配置文件
# 远控木马
- 相关表现: 有持续或间断性的对外网络链接或 DNS 请求等通信行为
- 相关危害: 窃取系统资料、作为跳板进一步攻击内网其他机器
- 排查要点: 关注 tcp、udp、icmp 等一切网络行为,检查注册表、服务、开机目录、计划任务等一系列常见的持久化点
- 操作要点: 检查网络连接,以及 IDS 设备上的异常远控告警