Иногда надоедает постоянно скачивать какие-то утилиты Sysinternals для проведения тестов и после отката к голому образу? Так можно их не скачивать.
Live Sysinternals - это публикация всего набора утилит Sysinternals на веб-ресурсе Microsoft, позволяющая запускать их прямо из сети без предварительной установки или ручной выгрузки архива. Доступ возможен как через браузер, так и через UNC-путь из Проводника, командной строки или PowerShell.
Live Sysinternals - это публикация всего набора утилит Sysinternals на веб-ресурсе Microsoft, позволяющая запускать их прямо из сети без предварительной установки или ручной выгрузки архива. Доступ возможен как через браузер, так и через UNC-путь из Проводника, командной строки или PowerShell.
Запустить Process Explorer из сети:
\\live.sysinternals.com\tools\procexp.exe
Запустить Process Monitor:
\\live.sysinternals.com\tools\procmon.exe
Открыть весь каталог в Проводнике:
в адресной строке введите \\live.sysinternals.com\tools
Как убить службу AV/EDR не прибегая к symlink и сторонним драйверам в Windows
Как показал кейс с использованием Procmon и аналогичных утилит, ключевая идея состоит в поиске драйвера, который фиксирует события на самых ранних этапах загрузки операционной системы. Возникает естественный вопрос: можно ли обойтись без установки собственных драйверов и дополнительных компонентов, опираясь только на доступные в системе механизмы и не прибегая к символическим ссылкам.
А что, если немножечко изменить те пути куда уже пишутся какие то логи самой системой?
И тут есть отличная веточка реестра
WMI AutoLogger - способ настраивать одну или несколько автосессий трассировки, которые стартуют при загрузке. В отличие от GlobalLogger, каждая AutoLogger-сессия самостоятельно рассылает провайдерам сигнал включения и может быть точно настроена под нужный набор провайдеров. AutoLogger не предназначен для записи специальных событий ядра NT Kernel Logger - для этого используется GlobalLogger.
WMI GlobalLogger - исторически более ранний механизм единственной глобальной сессии. Он также стартует на раннем этапе загрузки и может включать ядровые провайдеры через специальные флаги. Важно, что контроллер GlobalLogger не вызывает EnableTrace для провайдеров - провайдер сам должен определить, что глобальная сессия активна, и включить запись.
В AutoLogger уже есть достаточное количество различных сессий, можете тестировать разные (какие то работают, какие-то нет). В моем случае использовалась
Для GlobalLogger по умолчанию у меня не было никаких настроек, но можно добавить их самостоятельно:
Из минусов только наличие прав админа и перезагрузка хоста, но в целом выглядит жизнеспособно.
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Как показал кейс с использованием Procmon и аналогичных утилит, ключевая идея состоит в поиске драйвера, который фиксирует события на самых ранних этапах загрузки операционной системы. Возникает естественный вопрос: можно ли обойтись без установки собственных драйверов и дополнительных компонентов, опираясь только на доступные в системе механизмы и не прибегая к символическим ссылкам.
А что, если немножечко изменить те пути куда уже пишутся какие то логи самой системой?
И тут есть отличная веточка реестра
HKLM\SYSTEM\CurrentControlSet\Control\WMI в которой существуют AutoLogger и GlobalLogger.WMI AutoLogger - способ настраивать одну или несколько автосессий трассировки, которые стартуют при загрузке. В отличие от GlobalLogger, каждая AutoLogger-сессия самостоятельно рассылает провайдерам сигнал включения и может быть точно настроена под нужный набор провайдеров. AutoLogger не предназначен для записи специальных событий ядра NT Kernel Logger - для этого используется GlobalLogger.
WMI GlobalLogger - исторически более ранний механизм единственной глобальной сессии. Он также стартует на раннем этапе загрузки и может включать ядровые провайдеры через специальные флаги. Важно, что контроллер GlobalLogger не вызывает EnableTrace для провайдеров - провайдер сам должен определить, что глобальная сессия активна, и включить запись.
В AutoLogger уже есть достаточное количество различных сессий, можете тестировать разные (какие то работают, какие-то нет). В моем случае использовалась
HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot, где можно заменить путь указанный в FileName на путь к файлу службы, который хотим перезаписать.Для GlobalLogger по умолчанию у меня не было никаких настроек, но можно добавить их самостоятельно:
$reg = [wmiclass]'root\default:StdRegProv'
$HKLM = 2147483650
$base = 'SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger'
$null = $reg.CreateKey($HKLM,$base)
$reg.SetDWORDValue($HKLM,$base,'Start',1)
$reg.SetStringValue($HKLM,$base,'FileName','C:\<путь до файла службы который требуется перезаписать>.exe')
$flags = 0x00000010 -bor 0x00000020
$bytes = [BitConverter]::GetBytes([UInt32]$flags)
$reg.SetBinaryValue($HKLM,$base,'EnableKernelFlags',$bytes)
Из минусов только наличие прав админа и перезагрузка хоста, но в целом выглядит жизнеспособно.
KVC - Kernel Vulnerability Capabilities Framework
Фреймворк Kernel Vulnerability Capabilities (KVC) представляет собой смену парадигмы в исследованиях безопасности Windows, предлагая беспрецедентный доступ к внутренним компонентам современной Windows посредством сложных операций на уровне «кольца 0». Изначально задуманный как «контроль уязвимостей ядра», фреймворк развивался, делая акцент не просто на контроле, а на полном использовании возможностей ядра Windows для легитимного исследования безопасности и тестирования на проникновение.
KVC устраняет критический пробел, оставленный традиционными криминалистическими инструментами, которые устарели на фоне современных мер по усилению безопасности Windows. Там, где такие инструменты, как ProcDump и Process Explorer, не справляются с ограничениями Protected Process Light (PPL), KVC добивается успеха, работая на уровне ядра, манипулируя теми же структурами, которые определяют эти средства защиты.
Возможностей достаточно много, описаны подробно в на странице проекта.
[GitHub]
Фреймворк Kernel Vulnerability Capabilities (KVC) представляет собой смену парадигмы в исследованиях безопасности Windows, предлагая беспрецедентный доступ к внутренним компонентам современной Windows посредством сложных операций на уровне «кольца 0». Изначально задуманный как «контроль уязвимостей ядра», фреймворк развивался, делая акцент не просто на контроле, а на полном использовании возможностей ядра Windows для легитимного исследования безопасности и тестирования на проникновение.
KVC устраняет критический пробел, оставленный традиционными криминалистическими инструментами, которые устарели на фоне современных мер по усилению безопасности Windows. Там, где такие инструменты, как ProcDump и Process Explorer, не справляются с ограничениями Protected Process Light (PPL), KVC добивается успеха, работая на уровне ядра, манипулируя теми же структурами, которые определяют эти средства защиты.
Возможностей достаточно много, описаны подробно в на странице проекта.
# Traditional approach (FAILS on modern Windows)
procdump.exe -ma lsass.exe lsass.dmp
# Result: Access Denied (0x80070005)
# KVC approach (SUCCEEDS)
kvc.exe dump lsass
# Result: Full memory dump with credentials
[GitHub]
Как вы считаете, если есть возможность любую папку в системе превратить в ярлык в том числе system32 при этом оригинальная папка больше никогда не будет загружена это уязвимость ?
Anonymous Poll
80%
Да 🫡
20%
Нет 🫤
Bypassing directory emptiness check
Возвращаясь к ответу на опрос, проводимый постом выше, Microsoft не признали это уязвимостью.
Файлы на томе NTFS хранятся в формате: <имя_файла>:<имя_потока>:<тип> и при создании символической ссылки через CreateSymbolicLinkW передаются такие параметры:
Подробнее
Упрощённо последовательность такая:
1. Нормализация путей (DOS - NT-путь), определение типа ссылки (на файл или каталог), проверка права SeCreateSymbolicLinkPrivilege либо режима разработчика;
2. Создание «контейнера» будущей ссылки;
3. Открытие этого объекта с флагами FILE_FLAG_OPEN_REPARSE_POINT;
4. Формирование REPARSE_DATA_BUFFER;
4. Формирование REPARSE_DATA_BUFFER с меткой IO_REPARSE_TAG_SYMLINK (для джанкшенов - IO_REPARSE_TAG_MOUNT_POINT).
В драйвере NTFS запрос попадает в обработчик FSCTL_SET_REPARSE_POINT. Перед записью атрибута $REPARSE_POINT NTFS выполняет валидации:
- Объект действительно файл/каталог NTFS и не содержит «несовместимых» атрибутов;
- У объекта нет уже установленного reparse-тэга (или разрешена замена специальным контролом);
- Для каталога: каталог обязан быть пустым. Проверка реализуется как перечисление записей индекса каталога (структуры $INDEX_ROOT/$INDEX_ALLOCATION) и убеждение, что присутствуют только служебные . и ... Если есть любые дочерние записи - возвращается статус ядра STATUS_DIRECTORY_NOT_EMPTY, который Procmon показывает как NOT EMPTY.
Однако, для Windows 10 (тестировал на сборке 22H2) данной проверки видимо не происходит и при передаче в качестве lpSymlinkFileName формата <имя_файла>:<любые символы> проверяется на существование полная строка, в результате существующая директория превращается в линку...
Таким образом мы получаем следующие возможности:
1. Вызвать DOS системы, если критичные системные каталоги превратить в симлинку;
2. Сделать невозможной для чтения директорию с находящимися в ней файлами (к примеру отключить полностью AV/EDR т.к. система не сможет прочитать их файлы во время загрузки;
3. Если допустим заранее скопировать папки AV/EDR в другую директорию подменить любые файлы на те которые хотим (допустим подменить службу агента EDR, то она будет запущена при старте системы, т.е. по сути возможно выполнить закрепление через службу используя уже существующую службу) и многое другое, что зависит от вашей фантазии.
Самый простой вариант эксплуатации:
Если кратко: на сборках Windows 10 открытие каталога через поток :$ позволяло обойти проверку пустоты, поэтому FSCTL_SET_REPARSE_POINT по пути вида ...\:$ завершался успешно. В Windows 11 ntfs.sys исправлен: он всегда проверяет сам каталог, поэтому возвращает NOT EMPTY.
Если данную технику комбинировать с Applocker и Backstab, то можно обойтись без перезагрузки хоста, и службы AV/EDR более не загрузятся (тестировалось как POC, не уверен, что работает с СЗИ всех вендоров, но после перезагрузки результат уже 100%)
1. Создаем политику запрета служб AV/EDR по серту издателя
2. Создаем линку (уничтожаем директорию и подменяем её своей для закрепа)
3. С помощью Backstab уничтожаем сервисы AV/EDR
(ТЕСТИРОВАЛОСЬ НА WIN10 - РАБОТАЕТ, НА WINDOWS 11, WINDOWS SERVER 2022 - НЕ РАБОТАЕТ, НА SERVER 2016 ПРЕДПОЛОЖИТЕЛЬНО РАБОТАЕТ НАДО ТЕСТИРОВАТЬ)
Дополнительно фишки NTFS
Возвращаясь к ответу на опрос, проводимый постом выше, Microsoft не признали это уязвимостью.
Файлы на томе NTFS хранятся в формате: <имя_файла>:<имя_потока>:<тип> и при создании символической ссылки через CreateSymbolicLinkW передаются такие параметры:
BOOLEAN CreateSymbolicLinkW(
[in] LPCWSTR lpSymlinkFileName,
[in] LPCWSTR lpTargetFileName,
[in] DWORD dwFlags
);
Подробнее
Упрощённо последовательность такая:
1. Нормализация путей (DOS - NT-путь), определение типа ссылки (на файл или каталог), проверка права SeCreateSymbolicLinkPrivilege либо режима разработчика;
2. Создание «контейнера» будущей ссылки;
3. Открытие этого объекта с флагами FILE_FLAG_OPEN_REPARSE_POINT;
4. Формирование REPARSE_DATA_BUFFER;
4. Формирование REPARSE_DATA_BUFFER с меткой IO_REPARSE_TAG_SYMLINK (для джанкшенов - IO_REPARSE_TAG_MOUNT_POINT).
В драйвере NTFS запрос попадает в обработчик FSCTL_SET_REPARSE_POINT. Перед записью атрибута $REPARSE_POINT NTFS выполняет валидации:
- Объект действительно файл/каталог NTFS и не содержит «несовместимых» атрибутов;
- У объекта нет уже установленного reparse-тэга (или разрешена замена специальным контролом);
- Для каталога: каталог обязан быть пустым. Проверка реализуется как перечисление записей индекса каталога (структуры $INDEX_ROOT/$INDEX_ALLOCATION) и убеждение, что присутствуют только служебные . и ... Если есть любые дочерние записи - возвращается статус ядра STATUS_DIRECTORY_NOT_EMPTY, который Procmon показывает как NOT EMPTY.
Однако, для Windows 10 (тестировал на сборке 22H2) данной проверки видимо не происходит и при передаче в качестве lpSymlinkFileName формата <имя_файла>:<любые символы> проверяется на существование полная строка, в результате существующая директория превращается в линку...
Таким образом мы получаем следующие возможности:
1. Вызвать DOS системы, если критичные системные каталоги превратить в симлинку;
2. Сделать невозможной для чтения директорию с находящимися в ней файлами (к примеру отключить полностью AV/EDR т.к. система не сможет прочитать их файлы во время загрузки;
3. Если допустим заранее скопировать папки AV/EDR в другую директорию подменить любые файлы на те которые хотим (допустим подменить службу агента EDR, то она будет запущена при старте системы, т.е. по сути возможно выполнить закрепление через службу используя уже существующую службу) и многое другое, что зависит от вашей фантазии.
Самый простой вариант эксплуатации:
mklink "<путь до первой папки где лежит AV/EDR>:$" "<Путь до новой папки с нашими файлами без имени первой папки AV/EDR>"
Если кратко: на сборках Windows 10 открытие каталога через поток :$ позволяло обойти проверку пустоты, поэтому FSCTL_SET_REPARSE_POINT по пути вида ...\:$ завершался успешно. В Windows 11 ntfs.sys исправлен: он всегда проверяет сам каталог, поэтому возвращает NOT EMPTY.
Если данную технику комбинировать с Applocker и Backstab, то можно обойтись без перезагрузки хоста, и службы AV/EDR более не загрузятся (тестировалось как POC, не уверен, что работает с СЗИ всех вендоров, но после перезагрузки результат уже 100%)
1. Создаем политику запрета служб AV/EDR по серту издателя
2. Создаем линку (уничтожаем директорию и подменяем её своей для закрепа)
3. С помощью Backstab уничтожаем сервисы AV/EDR
(ТЕСТИРОВАЛОСЬ НА WIN10 - РАБОТАЕТ, НА WINDOWS 11, WINDOWS SERVER 2022 - НЕ РАБОТАЕТ, НА SERVER 2016 ПРЕДПОЛОЖИТЕЛЬНО РАБОТАЕТ НАДО ТЕСТИРОВАТЬ)
Дополнительно фишки NTFS
IAmAntimalware: внедрение кода в процессы антивируса
Антивирусы защищают свои процессы от завершения, инъекций и доступа, в том числе через высокие привилегии, самоконтроль, проверку целостности кода, режим защищенных процессов Windows и драйверы в ядре. Идея автора - заставить сам антивирус загрузить «чужой» модуль как «свой».
1. Создается клон служебного процесса антивируса с теми же параметрами запуска, чтобы механизм самозащиты распознавал его как доверенный;
2. Используется момент инициализации, когда процесс обращается к криптографической инфраструктуре Windows: конфигурация провайдера временно указывает на управляемую библиотеку;
3. Для прохождения проверок подписи модулей применяются доверенные сертификаты - либо собственный импортированный сертификат, либо «клонирование» подписей легитимных программ по методике из отдельного инструмента автора;
4. Дополнительно возможен вариант перехвата через COM-объекты, которые подгружаются при старте.
Подробнее
https://github.com/TwoSevenOneT/IAmAntimalware
https://github.com/TwoSevenOneT/CertClone
Антивирусы защищают свои процессы от завершения, инъекций и доступа, в том числе через высокие привилегии, самоконтроль, проверку целостности кода, режим защищенных процессов Windows и драйверы в ядре. Идея автора - заставить сам антивирус загрузить «чужой» модуль как «свой».
1. Создается клон служебного процесса антивируса с теми же параметрами запуска, чтобы механизм самозащиты распознавал его как доверенный;
2. Используется момент инициализации, когда процесс обращается к криптографической инфраструктуре Windows: конфигурация провайдера временно указывает на управляемую библиотеку;
3. Для прохождения проверок подписи модулей применяются доверенные сертификаты - либо собственный импортированный сертификат, либо «клонирование» подписей легитимных программ по методике из отдельного инструмента автора;
4. Дополнительно возможен вариант перехвата через COM-объекты, которые подгружаются при старте.
Подробнее
https://github.com/TwoSevenOneT/IAmAntimalware
https://github.com/TwoSevenOneT/CertClone
Forwarded from InfoSec Portal
Открытый инструмент под названием RealBlindingEDR позволяет злоумышленникам «ослеплять», навсегда отключать или завершать работу антивирусного (AV) и EDR-ПО, очищая критические колбэки ядра в системах Windows.
Утилита использует подписанные драйверы для произвольного чтения и записи в память, обходит защиты вроде PatchGuard и нацелена на шесть основных типов колбэков ядра.
Эксплуатируя уязвимые драйверы, такие как echo_driver.sys или dbutil_2_3.sys, RealBlindingEDR получает доступ уровня ядра, не вызывая мгновенного обнаружения.
Читать далее: https://cybersecuritynews.com/realblindingedr-tool/
Please open Telegram to view this post
VIEW IN TELEGRAM
ANTIFORENSIC moment
Как отмечали специалисты Kaspersky в статье об AmCache, этот артефакт формируется и сопровождается операционной системой, и на момент выхода материала не было известных способов вмешаться в его содержимое или удалить его записи.
Похоже, что сейчас как раз наступил тот самый момент, о котором они писали. Как уже отмечалось в исходном посте, в Windows 11, в отличие от Windows 10, стало невозможно перезаписать объект каталога целиком. Однако нигде не сказано, что аналогичный прием нельзя применить к отдельным файлам внутри этого каталога. К сожалению, так удается поступить не со всеми файлами, к тому же в целевой директории должны быть права на запись. А если провернуть ещё парочку манипуляций, то к файлу не просто будет невозможно обратиться, но и он в целом перестанет существовать. )
Используя тот же подход:
становится возможным превратить файл в symlink.
Кстати какой нибудь SAM, можно перезаписать таким же образом. Возможно, у этого есть и более интересное применение, но его пока что не придумал, если есть идеи то жду в комментариях.
Как отмечали специалисты Kaspersky в статье об AmCache, этот артефакт формируется и сопровождается операционной системой, и на момент выхода материала не было известных способов вмешаться в его содержимое или удалить его записи.
Похоже, что сейчас как раз наступил тот самый момент, о котором они писали. Как уже отмечалось в исходном посте, в Windows 11, в отличие от Windows 10, стало невозможно перезаписать объект каталога целиком. Однако нигде не сказано, что аналогичный прием нельзя применить к отдельным файлам внутри этого каталога. К сожалению, так удается поступить не со всеми файлами, к тому же в целевой директории должны быть права на запись. А если провернуть ещё парочку манипуляций, то к файлу не просто будет невозможно обратиться, но и он в целом перестанет существовать. )
Используя тот же подход:
mklink "<Path_to_File>:<Any_symbols>"
становится возможным превратить файл в symlink.
Кстати какой нибудь SAM, можно перезаписать таким же образом. Возможно, у этого есть и более интересное применение, но его пока что не придумал, если есть идеи то жду в комментариях.
Продолжаем смеяться над Windows
Image File Execution Options все традиционно воспринимают как метод закрепления и повышения привилегий, но что если не только... Этот раздел реестра можно использовать для перенаправления выполнения любого приложения на другой исполняемый файл. Следовательно...
После перезапуска службы (как вариант перезагрузки хоста) служба более не стартует.
Работает с продуктами не всех вендоров, но работает.
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"
После перезапуска службы (как вариант перезагрузки хоста) служба более не стартует.
Работает с продуктами не всех вендоров, но работает.
OFFICE MOMENT
Параметр, позволяющий установить, нажимал ли пользователь кнопку "Включить содержимое", хранится в ветви:
Внутри ключа
- разрешил редактирование документа, полученного из недоверенного источника;
- включил выполнение активного содержимого (макросов, встроенного VBScript).
Шаблоны Word (Normal.dotm, NormalEmail.dotm) как механизм закрепления
Стандартные шаблоны Word располагаются по пути:
Злоумышленник может внедрить вредоносный VBA-код непосредственно в базовый шаблон Word (Normal.dotm). В результате каждый запуск Word и открытие любого документа приводят к загрузке макроса и потенциальному выполнению вредоносного кода без привязки к конкретному файлу. Подробнее
Для типичной установки Office размер файлов Normal.dotm и NormalEmail.dotm находится в диапазоне примерно 17-19 КБ. Значительное увеличение размера может указывать на наличие дополнительных макросов, форм, встроенных объектов и других модификаций. Однако это лишь предварительный индикатор, требующий дальнейшего анализа содержимого.
Outlook и параметр LoadMacroProviderOnBoot
Параметр:
При этом необходимо учитывать, что в отдельных случаях настройка может быть изменена легитимным программным обеспечением или корпоративной политикой, поэтому интерпретация всегда должна сопровождаться анализом установленных надстроек Outlook и сопоставлением с перечнем разрешенного программного обеспечения.
Доверенные расположения (Trusted Locations) как обход политики макросов
В Office реализован механизм доверенных расположений, в которых документы могут содержать активное содержимое (макросы, встроенные скрипты) и при этом открываться без дополнительных предупреждений пользователя. Эти настройки задаются отдельно для каждого приложения и версии Office.
где
-
-
-
Данные техники использовались в атаках APT28.
Параметр, позволяющий установить, нажимал ли пользователь кнопку "Включить содержимое", хранится в ветви:
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 - флаг, указывающий, распространяется ли доверие на вложенные каталоги;-
Denoscription, Date и другие атрибуты, уточняющие суть и время создания записи.Данные техники использовались в атаках APT28.
Удаляем драйвер через smss.exe
Кто-то меня спрашивал как удалить драйвер AV/EDR, потому что службу мы уже смогли и перезаписать и удалить, а с драйвером так сделать было невозможно.
В общем я что то потыкал и удалил драйвер с перезагрузкой хоста.
Открываем:
И в параметр
Работает и на 10 и на 11 Windows
Кто-то меня спрашивал как удалить драйвер AV/EDR, потому что службу мы уже смогли и перезаписать и удалить, а с драйвером так сделать было невозможно.
В общем я что то потыкал и удалил драйвер с перезагрузкой хоста.
Открываем:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
И в параметр
ExistingPageFiles записываем путь к драйверу AV/EDR (начало пути \??\C:\ ну или иная метка диска), после ребутаем тачку и получаем профит в случае, если smss.exe сможет получить права на удаление. По этой причине работа данной техники сильно зависит от архитектуры решения которое мы пытаемся удалить.Работает и на 10 и на 11 Windows
ELF HEADERS
В исполняемых файлах формата ELF присутствуют заголовки и служебные структуры, которые не являются критичными для непосредственной загрузки и выполнения бинарного модуля операционной системой или динамическим загрузчиком, но активно используются утилитами анализа при парсинге файла. Умышленное искажение таких заголовков позволяет формировать вредоносные программы, которые будут приводить к сбоям и аварийному завершению работы песочниц и систем анализа, оставаясь при этом работоспособными на целевом хосте, а также использовать отдельные поля заголовков как контейнер для скрытого хранения конфиденциальных данных.
Подробно:
https://kyrr1s.github.io/posts/abusing-elf-header-forgotten-fields/
При поддержке:
@while_not_False
В исполняемых файлах формата ELF присутствуют заголовки и служебные структуры, которые не являются критичными для непосредственной загрузки и выполнения бинарного модуля операционной системой или динамическим загрузчиком, но активно используются утилитами анализа при парсинге файла. Умышленное искажение таких заголовков позволяет формировать вредоносные программы, которые будут приводить к сбоям и аварийному завершению работы песочниц и систем анализа, оставаясь при этом работоспособными на целевом хосте, а также использовать отдельные поля заголовков как контейнер для скрытого хранения конфиденциальных данных.
Подробно:
https://kyrr1s.github.io/posts/abusing-elf-header-forgotten-fields/
При поддержке:
@while_not_False