应急响应--事件溯源

admin 2023年2月25日12:43:33评论55 views字数 4751阅读15分50秒阅读模式

应急响应--事件溯源

攻击者对痕迹的处理

攻击痕迹混淆:向/var/spool/cron/root 这个持久化的文件里面写入了大量的垃圾数据(好处是不修改创建时间,仅改变了修改时间)


###清空历史信息
history -c
echo 0>/var/spool/mail/root
echo 0>/var/log/wtmp
echo 0>/var/log/secure
echo 0>/var/log/cron
echo > /root/.bash_history

隐遁:Rootkit

Rootkit是一个恶意软件,它可以隐藏自身以及指定的文件、进程、网络、链接、端口等信息。Rootkit可通过加载特殊的驱动修改系统内核,进而达到隐藏信息的目的。

Linux Rootkit参考工具:https://github.com/f0rb1dd3n/Reptile/wiki/Local-Usage

Windwos Rootkit参考工具:https://github.com/bytecode77/r77-rootkit

应急响应--事件溯源

应急响应--事件溯源

从上两个图来看,Rootkit功能是十分强大的,强大到可能你中了病毒你也一无所知的程度,如果一台服务器被植入了Rootkit,溯源工作者将无法找到恶意文件,也无法查看到恶意文件对外的链接等等,无疑Rootkit工具给应急工作人员带来了更难的应急溯源挑战任务。攻击者

## 清空计划任务
echo "">/var/spool/cron/root
echo "">/var/spool/cron/crontabs/root

## 重写计划任务,root用户写到/etc/crontab,非root写到/var/spool/cron/`whoami`
if [ "`whoami`" ==  "root" ];then
    cronpath=/etc/crontab
    Xpath=/.Xl1
else
    cronpath=/var/spool/cron/`whoami`
    Xpath=~/.Xl1
fi
if [ ! -d "$Xpath" ];then
    mkdir $Xpath
fi

## 注册表写入 开机启动项
注册表路径:HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun

将payload写入到内存中来权限维持

应急响应--事件溯源

攻击者为了防止恶意程序被删除,修改文件权限。

应急响应--事件溯源

无文件落地持久化

其主要是通过内存的方式来实现,一是stager文件存在在注册表中,从而实现无文件;其次是加载的时候直接在内存中加载,从而实现文件落地时也是无文件的。

方式一:powershell

无文件落地的powershell常见的命令如下:

NoProfile –nop 不加载配置文件
iex $env:randomname
DownloadFile下载文件到本地
Downloadstring 下载文件到内存
-w hidden 隐藏执行命令窗口
-ep bypass 忽略执行策略文件
Unrestricted

方式二:stager

stager的特点:目标机器执行后,会向teamserver发起一个GET请求,从而用post下载真正的shell code。

常用高危漏洞

永恒之蓝

不同版本的操作系统对应的MS17-010补丁编号如下

winxp特别补丁KB4012598
winxp3 32位 Security Update for Windows XP SP3 (KB4012598)
winxp2 64位 Security Update for Windows XP SP2 for x64-based Systems (KB4012598)

win2003特别补丁KB4012598
2003SP2 32位 Security Update for Windows Server 2003 (KB4012598)
2003SP2 64位 Security Update for Windows Server 2003 for x64-based Systems (KB4012598)

win2008R2补丁 KB4012212、KB4012215
March, 2017 Security Only Quality Update for Windows Server 2008 R2 for x64-based Systems (KB4012212)
March, 2017 Security Monthly Quality Rollup for Windows Server 2008 R2 for x64-based Systems (KB4012215)

win7补丁 KB4012212、KB4012215
win7 32位
March, 2017 Security Only Quality Update for Windows 7 (KB4012212)
March, 2017 Security Monthly Quality Rollup for Windows 7 (KB4012215)

win7 64位
March, 2017 Security Only Quality Update for Windows 7 for x64-based Systems (KB4012212)
March, 2017 Security Monthly Quality Rollup for Windows 7 for x64-based Systems (KB4012215)

win10 1607补丁 KB4013429
win10 1607 32位
Cumulative Update for Windows 10 Version 1607 (KB4013429)

win10 1607 64位
Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB4013429)


win2012R2补丁 KB4012213、KB4012216
March, 2017 Security Only Quality Update for Windows Server 2012 R2 (KB4012213)
March, 2017 Security Monthly Quality Rollup for Windows Server 2012 R2 (KB4012216)

win2016补丁 KB4013429
Cumulative Update for Windows Server 2016 for x64-based Systems (KB4013429)

首先判断系统是否安装了补丁,如果未安装直接MSF加载MS17-010漏洞。

应急响应--事件溯源

VMware Esxi 5.5心脏滴血漏洞

简介:

OpenSSL环境:OpenSSL是SSL协议以及一系列加密算法的开源实现。
扩展心跳机制:TLS(安全传输协议)位于传输层和应用层之间,提供数据安全加密。TLS心跳指的是用户向服务器发送数据包,服务器返回一个相同的数据包以确定彼此在线,以支持持续通信功能。DTLS(Datagram Transport Layer Security)数据包传输层安全协议。TLS不能用来保证UDP上传输的数据的安全,因此Datagram TLS试图在现存的TLS协议架构上提出扩展,使之支持UDP,即成为TLS的一个支持数据报传输的版本。DTLS1.0基于TLS1.1,DTLS1.2基于TLS1.2。

## 心脏滴血攻击本质是内存缓冲区的溢出
用户向服务器发送的心跳数据中用两个字节表明有效负载数据长度,而服务器端OpenSSL将根据这个有效负载长度构造一个新的数据包会送给客户端用户。
OpenSSL在实现TLS和DTLS的心跳处理逻辑时,存在编码缺陷。OpenSSL的心跳处理逻辑没有检测心跳包中的长度字段是否和后续的数据字段相符合。这就可能造成缓冲区溢出,被攻击者利用。
心脏出血漏洞主要通过攻击者模拟向服务器端发送自己编写的Heartbeat心跳数据包,主要是HeartbeatMessage的长度与payload的length进行匹配,若payload_length长度大于HeartbeatMessage的length,则会在服务器返回的response响应包中产生数据溢出,造成有用数据泄露。

OpenSSL存在漏洞版本有OpenSSL1.0.1,1.0.1a,1.0.1b,1.0.1c,1.0.1d,1.0.1e,1.0.1f,Beta 1 of OpenSSL1.0.2等

漏洞技法

使用Nmap进行扫描
nmap -p 8443 --script=ssl-heartbleed 192.168.5.143 

MSF利用
use auxiliary/scanner/ssl/openssl_heartbleed
set rhost 192.168.5.143
set rport 8443
set verbose true
run

应急响应--事件溯源

应急处置

最简单的招数,往往行之有效。Linux应急处置三板斧,简单的招式往往就像独孤九剑,有招胜无招。

Top ## 找进程
kill -i PID ## 删除进程
rm -rf    ## 删除文件

Windows应急处置法宝:安全模式

有于病毒文件常见于用dll、svg等系统文件,而这些文件均为RAIN3级别的,正常情况下无法直接删除,所以我们需要进入到安全模式下进行处理。

应急响应攻防对照表

攻击者做了什么 防御者溯源/处置方法 溯源/处置命令 备注
模糊痕迹:清空历史记录 攻击者通过的是、echo 覆盖写入空内容,这就导致了创建时间不会修改,改变的只是修改时间。
内存清空:清空计划任务
权限维持:写人计划任务 删除计划任务 cat /etc/crontab 人工排查
行动收割:植入并执行恶意程序 参看文件创建时间/修改时间/访问时间 stat filename Windows:右键参看文件属性
行动收割:植入并执行恶意程序 恶意程序分析 找到并杀掉恶意程序 https://x.threatbook.com/https://www.virustotal.com/gui/home/upload https://app.any.run/
权限维持:dll文件 安全模式 删除恶意dll
攻击尝试:登录密码爆破 查看系统日志 windows事件ID4625
权限维持:修改文件权限 改回他鸭的 对文件的操作前可以做好备份
权限维持:写入注册表 查看注册表启动项、计划任务等
漏洞利用:永恒之蓝 通过日志排查永恒之蓝登录日志 特殊痕迹事件ID为3 日志辣么多,找不到的
pypi投毒:发送一个实用的py脚本到Github上,调用被投毒的库。 遇到要install的库不随便安装,可以去官网上看看。 https://pypi.org/ 当然不是说官网有就是安全的,但是相对来说是比较安全
Rootkit命令替换 1、分析文件完整性 2、行为日志分析 3、计划任务分析

溯源分析

针对不同的事件溯源方法也是不同的,这边不做详细介绍。

安全事件大概可以分为:

1、钓鱼邮件

2、挖矿事件

3、勒索事件

4、黑帽SEO事件

5、远控后门事件(webshell等)

溯源分析中应急工作者需要做到

0、事件类型判断

1、分析怎么被感染或怎么被植入病毒 关键漏洞 关键恶意文件

2、找到恶意程序

3、分析恶意程序 提取指纹信息 提取攻击IP

4、分析流量,找到危害源头

5、日志、计划任务、网络链接、开放端口分析 日志这边包过系统日志,应用日志,web日志

6、给出处置建议,加固建议

原文始发于微信公众号(Th0r安全):应急响应--事件溯源

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月25日12:43:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   应急响应--事件溯源http://cn-sec.com/archives/1574219.html

发表评论

匿名网友 填写信息