DarkHydrus powershell恶意软件
字数 2431 2025-08-20 18:17:42

DarkHydrus PowerShell恶意软件分析教学文档

1. 概述

DarkHydrus是一个针对中东地区的攻击活动,使用PowerShell恶意软件进行攻击。攻击链分为三个阶段,主要通过鱼叉式钓鱼邮件传播。

2. 攻击流程

2.1 初始感染阶段

  • 传播方式:含有密码保护的.RAR文件的鱼叉式钓鱼邮件
  • 文件类型:.IQY文件(Excel Internet Query file)
  • MD5哈希:377cfd5b9aad2473d1659a5dbad01d90

2.2 下载器阶段

  • 功能:从远程服务器下载第二阶段payload
  • MD5哈希:bd764192e951b5afd56870d2084bccfd
  • 下载URL:hxxp://micrrosoft.net/releasenotes.txt

2.3 最终阶段

  • 功能:执行恶意操作并与C2通信
  • MD5哈希:953a753dd4944c9a2b9876b090bf7c00
  • 下载URL:hxxp://micrrosoft.net/winupdate.ps1

3. 技术细节分析

3.1 初始感染机制

  1. 受害者打开.RAR文件中的.IQY文件
  2. Excel显示安全警告,用户需点击"Enable"继续
  3. Excel从URL获取releasenotes.txt文件
  4. 弹出cmd.exe执行警告,用户点击"Yes"后:
    • 创建cmd.exe进程
    • 运行PowerShell.exe进程

3.2 反分析技术

恶意软件使用Sandbox()函数检测分析环境:

  1. 虚拟机检测

    • 检查SMBIOSBIOSVersion是否包含:VBOX、bochs、qemu、VirtualBox、VM
    • 检查Manufacturer是否包含XEN
    • 发现匹配则打印"Virtual Machine Founded"并退出
  2. 内存检测

    • 检查总物理内存是否小于2.9GB(2900000000)
    • 小于则退出
  3. 处理器检测

    • 检查处理器核心数是否大于1
    • 沙箱通常只分配1个处理器核心
  4. 进程检测

    • 检查是否运行Wireshark或Sysinternals工具
    • 发现则退出

绕过方法

  • 修改Win32_Bios信息(使用mofcomp.exe)
  • 分配足够RAM(>2.9GB)
  • 分配至少2个处理器核心
  • 避免运行分析工具

3.3 通信机制

使用DNS进行C2通信,通过query()函数实现:

  1. 查询类型:A, AAAA, AC, CNAME, MX, TXT, SRV, SOA

  2. 通信流程

    • 循环尝试8种查询类型
    • 使用nslookup.exe发送请求
    • 检查响应中的特定字段(canonical name, mx等)
    • 成功则设置默认通信方法
    • 失败则等待并重试(最多6次循环)
  3. 轮询机制

    • 使用roundRobin函数在域名列表中轮换
    • 可改变DNS查询模式

3.4 持久化机制

  1. 检查全局变量hasstartup是否为1
  2. 创建以下文件:
    • %APPDATA%\OneDrive.bat:执行PowerShell脚本
    • %APPDATA%\OneDrive.ps1:保存恶意代码
    • 开始菜单中的OneDrive.lnk快捷方式
  3. 针对Windows 7系统特别处理

3.5 信息收集

myInfo()函数收集以下信息:

  • 本地IP地址
  • 当前域名
  • 用户名
  • 计算机名
  • 用户权限
  • 全局变量状态(hasGarbage, hasstartup等)

信息经Base64编码后通过spliting函数发送给C2服务器。

3.6 命令与控制

支持以下命令:

  • $fileDownload:文件下载
  • $importModule:导入模块
  • $fileUpload:文件上传
  • $screenshot:截图
  • $command:执行任意命令
  • slp:\d+:设置C2通信间隔
  • slpx:\d+:设置DNS请求间隔
  • testmode:测试连接
  • showconfig:显示配置

4. 攻击链总结

  1. 第一阶段:IQY文件从hxxp://micrrosoft.net/releasenotes.txt下载PowerShell命令
  2. 第二阶段:从http://micrrosoft.net/winupdate.ps1下载最终脚本并执行
  3. 第三阶段
    • 解压并执行Base64编码的payload
    • 执行沙箱检测
    • 设置持久化(如启用)
    • 建立C2通信
    • 收集并回传系统信息
    • 等待执行攻击者命令

5. IOC(入侵指标)

文件哈希

  • .IQY文件:377cfd5b9aad2473d1659a5dbad01d90
  • Stage 2:bd764192e951b5afd56870d2084bccfd
  • Stage 3:953a753dd4944c9a2b9876b090bf7c00
  • 持久化payload:e84022a40796374cdf1d4487dda43b7d

URL

  • Stage 2下载:hxxp://micrrosoft.net/releasenotes.txt
  • Stage 3下载:hxxp://micrrosoft.net/winupdate.ps1

C2服务器域名

  • anyconnect[.]stream
  • bigip[.]stream
  • fortiweb[.]download
  • kaspersky[.]science
  • microtik[.]stream
  • owa365[.]bid
  • symanteclive[.]download
  • windowsdefender[.]win

6. 防御建议

  1. 警惕带有密码保护的压缩附件
  2. 禁用Excel自动执行外部内容
  3. 监控异常PowerShell活动
  4. 实施应用程序白名单
  5. 检测和阻止可疑DNS查询模式
  6. 定期更新终端安全解决方案
  7. 对员工进行安全意识培训,特别是关于钓鱼邮件的识别
DarkHydrus PowerShell恶意软件分析教学文档 1. 概述 DarkHydrus是一个针对中东地区的攻击活动,使用PowerShell恶意软件进行攻击。攻击链分为三个阶段,主要通过鱼叉式钓鱼邮件传播。 2. 攻击流程 2.1 初始感染阶段 传播方式 :含有密码保护的.RAR文件的鱼叉式钓鱼邮件 文件类型 :.IQY文件(Excel Internet Query file) MD5哈希 :377cfd5b9aad2473d1659a5dbad01d90 2.2 下载器阶段 功能 :从远程服务器下载第二阶段payload MD5哈希 :bd764192e951b5afd56870d2084bccfd 下载URL :hxxp://micrrosoft.net/releasenotes.txt 2.3 最终阶段 功能 :执行恶意操作并与C2通信 MD5哈希 :953a753dd4944c9a2b9876b090bf7c00 下载URL :hxxp://micrrosoft.net/winupdate.ps1 3. 技术细节分析 3.1 初始感染机制 受害者打开.RAR文件中的.IQY文件 Excel显示安全警告,用户需点击"Enable"继续 Excel从URL获取releasenotes.txt文件 弹出cmd.exe执行警告,用户点击"Yes"后: 创建cmd.exe进程 运行PowerShell.exe进程 3.2 反分析技术 恶意软件使用 Sandbox() 函数检测分析环境: 虚拟机检测 : 检查SMBIOSBIOSVersion是否包含:VBOX、bochs、qemu、VirtualBox、VM 检查Manufacturer是否包含XEN 发现匹配则打印"Virtual Machine Founded"并退出 内存检测 : 检查总物理内存是否小于2.9GB(2900000000) 小于则退出 处理器检测 : 检查处理器核心数是否大于1 沙箱通常只分配1个处理器核心 进程检测 : 检查是否运行Wireshark或Sysinternals工具 发现则退出 绕过方法 : 修改Win32_ Bios信息(使用mofcomp.exe) 分配足够RAM(>2.9GB) 分配至少2个处理器核心 避免运行分析工具 3.3 通信机制 使用DNS进行C2通信,通过 query() 函数实现: 查询类型 :A, AAAA, AC, CNAME, MX, TXT, SRV, SOA 通信流程 : 循环尝试8种查询类型 使用nslookup.exe发送请求 检查响应中的特定字段(canonical name, mx等) 成功则设置默认通信方法 失败则等待并重试(最多6次循环) 轮询机制 : 使用 roundRobin 函数在域名列表中轮换 可改变DNS查询模式 3.4 持久化机制 检查全局变量 hasstartup 是否为1 创建以下文件: %APPDATA%\OneDrive.bat :执行PowerShell脚本 %APPDATA%\OneDrive.ps1 :保存恶意代码 开始菜单中的 OneDrive.lnk 快捷方式 针对Windows 7系统特别处理 3.5 信息收集 myInfo() 函数收集以下信息: 本地IP地址 当前域名 用户名 计算机名 用户权限 全局变量状态(hasGarbage, hasstartup等) 信息经Base64编码后通过 spliting 函数发送给C2服务器。 3.6 命令与控制 支持以下命令: $fileDownload :文件下载 $importModule :导入模块 $fileUpload :文件上传 $screenshot :截图 $command :执行任意命令 slp:\d+ :设置C2通信间隔 slpx:\d+ :设置DNS请求间隔 testmode :测试连接 showconfig :显示配置 4. 攻击链总结 第一阶段 :IQY文件从hxxp://micrrosoft.net/releasenotes.txt下载PowerShell命令 第二阶段 :从http://micrrosoft.net/winupdate.ps1下载最终脚本并执行 第三阶段 : 解压并执行Base64编码的payload 执行沙箱检测 设置持久化(如启用) 建立C2通信 收集并回传系统信息 等待执行攻击者命令 5. IOC(入侵指标) 文件哈希 .IQY文件:377cfd5b9aad2473d1659a5dbad01d90 Stage 2:bd764192e951b5afd56870d2084bccfd Stage 3:953a753dd4944c9a2b9876b090bf7c00 持久化payload:e84022a40796374cdf1d4487dda43b7d URL Stage 2下载:hxxp://micrrosoft.net/releasenotes.txt Stage 3下载:hxxp://micrrosoft.net/winupdate.ps1 C2服务器域名 anyconnect[ . ]stream bigip[ . ]stream fortiweb[ . ]download kaspersky[ . ]science microtik[ . ]stream owa365[ . ]bid symanteclive[ . ]download windowsdefender[ . ]win 6. 防御建议 警惕带有密码保护的压缩附件 禁用Excel自动执行外部内容 监控异常PowerShell活动 实施应用程序白名单 检测和阻止可疑DNS查询模式 定期更新终端安全解决方案 对员工进行安全意识培训,特别是关于钓鱼邮件的识别