DarkBlinders行动锁定受害者,实施高级间谍战术
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
DarkBlinders 是一个活跃的网络间谍活动,针对以色列和伊拉克库尔德斯坦地区的政府和外交组织。威胁行为者依赖精心设计的网络钓鱼诱饵,包括假冒的视频会议应用程序和云存储服务的复制品,以部署定制恶意软件。该行动还利用 GitHub 存储库进行命令和控制(C2),并使用选择性激活其第二阶段后门。
调查
Dream Research Labs 对 DarkBlinders 活动进行了深入分析,发现涉及一个名为 StarkMeet 的诱饵应用程序的多阶段感染链。研究人员逆向工程恶意软件,获得了对威胁行为者基于 GitHub 的 C2 基础设施的只读访问权限。这种可视性使他们能够识别受害者任务,并观察到超过 1 GB 的数据从政府云环境中被提取。
缓解措施
组织应对未经验证的软件安装施加严格的控制,监控非开发系统到诸如 GitHub 等共享服务的异常外向连接。还建议增加对云存储共享链接和可疑电子邮件附件的审查。通过 AppDomainManager 或内存加载监控未经授权的 PowerShell 执行,也可以帮助识别与此加载器技术相关的活动。
响应
当检测到 DarkBlinders 活动时,应隔离受影响的主机,以阻止进一步的数据外泄,并保存内存以进行内存负载的法务检查。如果可疑活动涉及组织的开发环境,应检查 GitHub 个人访问令牌和存储库访问日志。重置所有可能通过已识别的网络钓鱼基础设施暴露的帐户的凭据。
攻击流程
检测
非典型路径上的系统进程执行(通过 process_creation)
可疑进程在命令行中使用 URL(通过 cmdline)
可疑的 CURL 使用(通过 cmdline)
通过异常进程发起的可能 GitHub 文件下载(通过 network_connection)
公共用户配置文件中的可疑文件(通过 file_event)
可能滥用 Cloudflare 开发域名(通过 dns)
由异常顶级域名(TLD)DNS 请求所指示的可疑指挥与控制(通过 dns)
用于检测的 IOC(HashSha256):DarkBlinders:活跃的间谍活动内部第 2 部分
用于检测的 IOC(HashSha256):DarkBlinders:活跃的间谍活动内部第 1 部分
用于检测的 IOC(HashMd5):DarkBlinders:活跃的间谍活动内部
用于检测的 IOC(SourceIP):DarkBlinders:活跃的间谍活动内部
用于检测的 IOC(DestinationIP):DarkBlinders:活跃的间谍活动内部
通过 GitHub 和 Cloudflare Workers 的 DarkBlinders C2 活动【Windows 网络连接】
检测 DarkBlinders 活动组成部分【Windows 进程创建】
模拟执行
-
攻击叙述与命令: 对手旨在使用 DarkBlinders 工具包建立持久性和远程访问。在获得初始访问之后,攻击者部署了一个名为
StarkMeet.exe的诱饵应用程序。为了逃避检测,攻击者的恶意软件执行一个 shell 命令以下载进一步的负载。在此模拟中,我们将手动创建一个虚拟StarkMeet.exe并触发它执行cmd.exe,其符合规则逻辑:(StarkMeet.exe) 和 (cmd). -
回归测试脚本:
# 模拟脚本:DarkBlinders 组件触发 # 1. 创建一个虚拟文件以表示 DarkBlinders 组件 $dummyPath = "$env:TEMPStarkMeet.exe" New-Item -Path $dummyPath -ItemType File -Force # 2. 使用一个小负载使“可执行文件”实际运行一个命令 # 出于模拟目的,我们将使用一个 PowerShell 包装器来启动“恶意”进程 # 模仿组件调用 cmd.exe 的行为。 Write-Host "[+] 模拟 DarkBlinders 组件执行..." # 我们使用 Start-Process 来模拟 StarkMeet.exe 进程产生 cmd.exe # 注意:在真实场景中,二进制文件本身应执行生成。 # 为了触发 Sigma 规则的特定“Image”逻辑,我们必须重命名一个进程或 # 模拟执行那个特定的文件名。 # 因为我们在此不能轻易编译一个真实二进制文件,所以模拟 # Sysmon 在 StarkMeet.exe 运行 cmd.exe 时会看到的进程创建事件。 Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "cmd.exe /c echo 'Triggering Detection'" -ErrorAction SilentlyContinue # 由于我们不能实际“运行”一个非二进制文件,我们使用此命令来创建 # 通过模拟进程创建来生成的确切遥测模式,如果可能的话, # 或者简单地确认若规则要触发,文件必须存在。 # 真实测试方式: # 我们将创建一个小型可执行文件或使用已知方法命名一个进程。 # 对于此脚本,我们假设环境允许我们将系统工具重命名为 StarkMeet.exe Copy-Item "C:WindowsSystem32cmd.exe" -Destination "$env:TEMPStarkMeet.exe" Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "/c echo DetectionTriggered" Write-Host "[+] 模拟命令已发送。检查 SIEM 以获取 StarkMeet.exe + cmd/powershell。" -
清理命令:
# 清理模拟工件 Remove-Item -Path "$env:TEMPStarkMeet.exe" -Force -ErrorAction SilentlyContinue Write-Host "[+] 清理完成。"