Forwarded from purple shift
Сегодня расскажем ещё одну поучительную историю из практики наших пентестов.
Однажды на проекте мы сами себе создали задачу: у нас было RCE от SYSTEM на контроллере домена, но мы не хотели создавать новые учетные записи или добавлять существующие в администраторы домена. А получить привилегии админа было нужно. Мы придумали несколько решений, и хотя не все они сработали, это был интересный опыт.
Условия задачи:
— Есть исполнение на доменном хосте от SYSTEM и NT-хеш пароля этого хоста.
— Есть привилегии администратора домена в корневом домене в другом лесу AD (двухстороние трасты).
— Есть RCE на контроллере домена (уязвимость в Veritas Backup Exec Agent). Не очень удобно исполнять команды (нет вывода), но можно читать и записывать файлы, запись через экплойт очень медленная.
— Есть возможность подключения по SSH на linux-хост (без root-а).
— Настрой на то, что чем меньше изменений и чем меньше придется чистить затем заказчику, тем лучше.
Варианты решения:
1. Запустить агента Mythic
— c SYSVOL на контроллере домена в другом лесу. Результат: ошибка Access Denied.
— загрузить файл с агентом Mythic через эксплойт. Результат: запустить удалось, но правила файрвола не позволили установить ни bind, ни реверс-соединение.
2. Получить сертификат
— выгрузить сертификат с приватным ключом из хранилища (командлеты
— запросить новый сертификат. Результат: проанализировали шаблоны сертификатов и не нашли такого, чтобы контроллер мог запросить сертификат, использовать его для аутентификации и с возможностью экспорта приватного ключа.
3. Unconstrained delegation
Так как уже были привилегии админа домена в другом лесу, а для контроллеров домена настроено неограниченное делегирование, можно было бы попробовать. Но в
4. Прочитать пароль LAPS
Некоторые учетные записи компьютеров имели много привилегий (например, Exchange-сервера или центр сертификации) и получение привилегий админов на этих хостах могло бы помочь продвинуться дальше. Но модули с командлетами
5. Релеи
Это была скоре абстрактная идея. Linux-хостов с root-ом не было, и освобождать 445 порт на доменном хосте не хотелось. А служба WebClient для коерса на другой порт на контроллере не была установлена. Кроме того, на LDAP требовалась подпись, а шаблонов сертификатов, подходящих для ESC8, не было.
6. Сохранить учетные данные из реестра
С помощью
7. Resource-based Constrained Delegation
Так как у нас была скомпрометированная учетная запись хоста (её NT-хеш), удалось провести атаку на ограниченное делегирование на основе ресурсов. Модифицировать
И затем сгенерировать TGS с имперсонацией учетной записи администратора домена или другого контроллера домена. Результат: успех.
8. Rubeus и т.п.
Можно было бы загрузить на контроллер Rubeus или другие утилиты для дампа Kerberos-билетов, но после проверки идеи (1) мы поняли, что загрузить файл будет непросто.
Мораль:
Даже очень простая (на первый взгляд) задача "от RCE на контроллере до администратора домена" может иметь множество решений, если не пойти по первому пришедшему на ум пути.
Однажды на проекте мы сами себе создали задачу: у нас было RCE от SYSTEM на контроллере домена, но мы не хотели создавать новые учетные записи или добавлять существующие в администраторы домена. А получить привилегии админа было нужно. Мы придумали несколько решений, и хотя не все они сработали, это был интересный опыт.
Условия задачи:
— Есть исполнение на доменном хосте от SYSTEM и NT-хеш пароля этого хоста.
— Есть привилегии администратора домена в корневом домене в другом лесу AD (двухстороние трасты).
— Есть RCE на контроллере домена (уязвимость в Veritas Backup Exec Agent). Не очень удобно исполнять команды (нет вывода), но можно читать и записывать файлы, запись через экплойт очень медленная.
— Есть возможность подключения по SSH на linux-хост (без root-а).
— Настрой на то, что чем меньше изменений и чем меньше придется чистить затем заказчику, тем лучше.
Варианты решения:
1. Запустить агента Mythic
— c SYSVOL на контроллере домена в другом лесу. Результат: ошибка Access Denied.
— загрузить файл с агентом Mythic через эксплойт. Результат: запустить удалось, но правила файрвола не позволили установить ни bind, ни реверс-соединение.
2. Получить сертификат
— выгрузить сертификат с приватным ключом из хранилища (командлеты
Get-ChildItem -Path Cert:\CurrentUser\My\ для получения списка и Export-PfxCertificate для экспорта). Результат: не было сертификатов, для которых разрешен экспорт приватного ключа.— запросить новый сертификат. Результат: проанализировали шаблоны сертификатов и не нашли такого, чтобы контроллер мог запросить сертификат, использовать его для аутентификации и с возможностью экспорта приватного ключа.
3. Unconstrained delegation
Так как уже были привилегии админа домена в другом лесу, а для контроллеров домена настроено неограниченное делегирование, можно было бы попробовать. Но в
trustAttributes не было флага, разрешающего делегирование. Так что даже не пробовали.4. Прочитать пароль LAPS
Некоторые учетные записи компьютеров имели много привилегий (например, Exchange-сервера или центр сертификации) и получение привилегий админов на этих хостах могло бы помочь продвинуться дальше. Но модули с командлетами
Get-LapsADPassword и Get-AdmPwdPassword не были установлены.5. Релеи
Это была скоре абстрактная идея. Linux-хостов с root-ом не было, и освобождать 445 порт на доменном хосте не хотелось. А служба WebClient для коерса на другой порт на контроллере не была установлена. Кроме того, на LDAP требовалась подпись, а шаблонов сертификатов, подходящих для ESC8, не было.
6. Сохранить учетные данные из реестра
С помощью
reg save или Silent Harvester можно было получить учетные данные из реестра. Получили бы NT-хеш контроллера домена и могли бы сделать DCSync. Но пришлось бы сохранять файлы в SYSVOL, чтобы получить к ним доступ с имеющейся учеткой.7. Resource-based Constrained Delegation
Так как у нас была скомпрометированная учетная запись хоста (её NT-хеш), удалось провести атаку на ограниченное делегирование на основе ресурсов. Модифицировать
msDS-AllowedToActOnBehalfOfOtherIdentity учетной записи контроллера:Set-ADComputer -Identity DC_Name -Properties PrincipalsAllowedToDelegateToAccount owned$
И затем сгенерировать TGS с имперсонацией учетной записи администратора домена или другого контроллера домена. Результат: успех.
8. Rubeus и т.п.
Можно было бы загрузить на контроллер Rubeus или другие утилиты для дампа Kerberos-билетов, но после проверки идеи (1) мы поняли, что загрузить файл будет непросто.
Мораль:
Даже очень простая (на первый взгляд) задача "от RCE на контроллере до администратора домена" может иметь множество решений, если не пойти по первому пришедшему на ум пути.
GRO Frag - седьмая уязвимость класса Copy Fail, предоставляющая права root в Linux
В открытом доступе размещён эксплоит для седьмой уязвимости (1, 2-3, 4, 5, 6) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. CVE-идентификатор ещё не присвоен, кроме кода эксплоита информации о проблеме пока нет. Исправление доступно только в виде патча, который опубликован 20 мая и 21 мая был принят в основную ветку ядра Linux (корректирующие выпуски ядра ещё недоступны).
Уязвимость присутствует в реализации технологии GRO (Generic Receive Offload), применяемой для ускорения обработки сегментированных пакетов. Уязвимость вызвана ошибкой в реализации механизма zerocopy в функции skb_gro_receive(), осуществляющей прямое изменение данных в страничном кэше для исключения лишней буферизации. При установленном флаге SKBFL_MANAGED_FRAG_REFS пропускалось сохранение ссылки на освобождаемые страницы памяти в поле shinfo->frags, после чего данное поле присоединялось к другому skb без изменения счётчика ссылок, что приводило к обращению к памяти после её освобождения (use-after-free).
Проблему удалось эксплуатировать для перезаписи данных в страничном кэше, благодаря манипуляции с указателем на буфер io_uring.
Атака возможна на системы с включённой подсистемой io_uring (io_uring_disabled=0). Для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root. Механизм эксплуатации сводится к тому, что атакующий добивается оседания базы пользователей в страничном кэше, после чего подставляет в кэш строку "hax::0:0::/root:/bin/sh". Следом запускается команда "su hax", которая получает не оригинальную базу пользователей с накопителя, а изменённую копию с подставным логином "hax", которому выставлены права root и пустой пароль. Работа эксплоита протестирована в Ubuntu 24.04.
🔗 Ссылка:
https://opennet.me/65504/
В открытом доступе размещён эксплоит для седьмой уязвимости (1, 2-3, 4, 5, 6) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. CVE-идентификатор ещё не присвоен, кроме кода эксплоита информации о проблеме пока нет. Исправление доступно только в виде патча, который опубликован 20 мая и 21 мая был принят в основную ветку ядра Linux (корректирующие выпуски ядра ещё недоступны).
Уязвимость присутствует в реализации технологии GRO (Generic Receive Offload), применяемой для ускорения обработки сегментированных пакетов. Уязвимость вызвана ошибкой в реализации механизма zerocopy в функции skb_gro_receive(), осуществляющей прямое изменение данных в страничном кэше для исключения лишней буферизации. При установленном флаге SKBFL_MANAGED_FRAG_REFS пропускалось сохранение ссылки на освобождаемые страницы памяти в поле shinfo->frags, после чего данное поле присоединялось к другому skb без изменения счётчика ссылок, что приводило к обращению к памяти после её освобождения (use-after-free).
Проблему удалось эксплуатировать для перезаписи данных в страничном кэше, благодаря манипуляции с указателем на буфер io_uring.
Атака возможна на системы с включённой подсистемой io_uring (io_uring_disabled=0). Для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root. Механизм эксплуатации сводится к тому, что атакующий добивается оседания базы пользователей в страничном кэше, после чего подставляет в кэш строку "hax::0:0::/root:/bin/sh". Следом запускается команда "su hax", которая получает не оригинальную базу пользователей с накопителя, а изменённую копию с подставным логином "hax", которому выставлены права root и пустой пароль. Работа эксплоита протестирована в Ubuntu 24.04.
🔗 Ссылка:
https://opennet.me/65504/
Forwarded from SecuriXy.kz
🛰 OpenRecon v1.2.0
Обновил свой recon-toolkit. Теперь это не только сабдомены, порты, WHOIS и WAF/tech-фингерпринт, но и полноценный аудит почтовой безопасности домена за один запуск.
📖 Что нового в Mail Security:
✉️ SPF / DMARC / DKIM - параллельный брутфорс 130+ селекторов + словарь
🔐 MX с per-host проверкой STARTTLS (видно какой именно хост слабый и почему это плохо)
🛡 DNSSEC, MTA-STS, SMTP TLS-RPT, BIMI
📡 Open SMTP Relay - активная проверка по 25/tcp
📄 security.txt по RFC 9116 - Contact, Expires, HTTPS, проверка просрочки
📦 экспорт при -o:
Все артефакты складываются в одну папку recon_<domain>_<дата>: сабдомены по источникам (crtsh, chaos, brute, alive), sub_ip_map, unique_ips, per-IP WHOIS через RDAP, target_networks, mail_security.{txt,json}, dkim_found, summary.{csv,json}.
🔧 Прочее:
🎨 Компактный 2-строчный баннер вместо 14-строчного ASCII-арт
🩹 WHOIS-fallback на системный whois когда python-whois падает (например на .kz с датой `2023-03-09 12:33:38 (GMT+0:00)`)
✓ Иконки ✓ ✕ ! • вместо больших эмодзи
⚙️ Флаг -t/--threads теперь реально работает
🔧 Установка / обновление:
🔗 https://github.com/cleverg0d/OpenRecon
#tools #recon #pentest #bugbounty #osint #mailsecurity
Обновил свой recon-toolkit. Теперь это не только сабдомены, порты, WHOIS и WAF/tech-фингерпринт, но и полноценный аудит почтовой безопасности домена за один запуск.
📖 Что нового в Mail Security:
✉️ SPF / DMARC / DKIM - параллельный брутфорс 130+ селекторов + словарь
🔐 MX с per-host проверкой STARTTLS (видно какой именно хост слабый и почему это плохо)
🛡 DNSSEC, MTA-STS, SMTP TLS-RPT, BIMI
📡 Open SMTP Relay - активная проверка по 25/tcp
📄 security.txt по RFC 9116 - Contact, Expires, HTTPS, проверка просрочки
📦 экспорт при -o:
Все артефакты складываются в одну папку recon_<domain>_<дата>: сабдомены по источникам (crtsh, chaos, brute, alive), sub_ip_map, unique_ips, per-IP WHOIS через RDAP, target_networks, mail_security.{txt,json}, dkim_found, summary.{csv,json}.
🔧 Прочее:
🎨 Компактный 2-строчный баннер вместо 14-строчного ASCII-арт
🩹 WHOIS-fallback на системный whois когда python-whois падает (например на .kz с датой `2023-03-09 12:33:38 (GMT+0:00)`)
✓ Иконки ✓ ✕ ! • вместо больших эмодзи
⚙️ Флаг -t/--threads теперь реально работает
🔧 Установка / обновление:
pipx install --force git+https://github.com/cleverg0d/OpenRecon.git
🔗 https://github.com/cleverg0d/OpenRecon
#tools #recon #pentest #bugbounty #osint #mailsecurity
Google случайно раскрыл детали неисправленной уязвимости в Chromium
🔗Ссылка:
https://opennet.me/65491/
🔗Ссылка:
https://opennet.me/65491/
В 7-Zip нашли уязвимость, из-за которой обычное открытие специально подготовленного образа могло закончиться не ошибкой распаковки, а выполнением вредоносного кода. Проблема затрагивает обработку NTFS-архивов и опасна тем, что расширение файла не играет решающей роли: вредоносный образ может выглядеть как архив другого формата или вовсе не иметь привычного окончания.
Уязвимость получила идентификатор CVE-2026-48095 и оценку 8.8 по шкале CVSS 3.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Команда GitHub Security Lab сообщила о проблеме разработчикам 7-Zip 24 апреля 2026 года, а уже 27 апреля вышла версия 26.01 с исправлением. Ошибка подтверждена в 7-Zip 26.00, однако проблемный расчёт присутствовал с момента появления поддержки сжатых потоков NTFS, поэтому затронуты все версии вплоть до 26.00.
🔗Ссылка:
https://www.securitylab.ru/news/573061.php
Уязвимость получила идентификатор CVE-2026-48095 и оценку 8.8 по шкале CVSS 3.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Команда GitHub Security Lab сообщила о проблеме разработчикам 7-Zip 24 апреля 2026 года, а уже 27 апреля вышла версия 26.01 с исправлением. Ошибка подтверждена в 7-Zip 26.00, однако проблемный расчёт присутствовал с момента появления поддержки сжатых потоков NTFS, поэтому затронуты все версии вплоть до 26.00.
🔗Ссылка:
https://www.securitylab.ru/news/573061.php
❤2
Forwarded from 0day Alert
Посетители японской учебной платформы KnowledgeDeliver получили Cobalt Strike вместо урока
Все установки KnowledgeDeliver до 24 февраля 2026 года поставлялись с одинаковым файлом
После проникновения атакующие развернули веб-оболочку BLUEBEAM (Godzilla), работающую исключительно в памяти процесса IIS
Затем злоумышленники внедрили вредоносный код в JavaScript-файл сайта и начали показывать посетителям поддельное предупреждение безопасности с предложением установить «модуль проверки подлинности». Поддельный установщик заражал рабочие станции загрузчиком Cobalt Strike BEACON, зашифрованным с использованием названия конкретной атакуемой организации.
#knowledgedeliver #уязвимость #aspnet #кибербезопасность
@ZerodayAlert
Все установки KnowledgeDeliver до 24 февраля 2026 года поставлялись с одинаковым файлом
web.config, содержащим стандартные ключи ASP.NET machineKey. Зная эти ключи, злоумышленник мог сформировать вредоносный ViewState и выполнить произвольный код на любом доступном сервере платформы без аутентификации.После проникновения атакующие развернули веб-оболочку BLUEBEAM (Godzilla), работающую исключительно в памяти процесса IIS
w3wp.exe. Это позволяло управлять сервером через зашифрованные HTTP POST-запросы, не оставляя следов на диске при стандартной проверке файлов.Затем злоумышленники внедрили вредоносный код в JavaScript-файл сайта и начали показывать посетителям поддельное предупреждение безопасности с предложением установить «модуль проверки подлинности». Поддельный установщик заражал рабочие станции загрузчиком Cobalt Strike BEACON, зашифрованным с использованием названия конкретной атакуемой организации.
#knowledgedeliver #уязвимость #aspnet #кибербезопасность
@ZerodayAlert