Forwarded from AD_POHEQUE
МЕТОДОЛОГИЯ MCPwn'а
знаешь, какие сервисы крутятся рядом с llm?
уверен, что ни один из них не отдаёт тебе внутреннюю сеть по json-rpc / http без аутентификации?
mcp уже в проде: ide, ассистенты, консольные инструменты. для нас это не «новый хайп», а ещё один класс открытых api, где вместо
и да — SSRF, LFI, IDOR и COMMAND INJECTION теперь кайфуют там.
я собрал вводный разбор по атакам на mcp-серверы:
— что это за протокол;
— как искать открытые mcp-endpoint’ы;
— чем полезны damn vulnerable mcp server + mcp-scanner;
— какие векторы уже видно сейчас и как их тестировать в рамках пентеста.
если ты пентестер / оператор red team / appsec инженер и ещё не держишь mcp в модели угроз — ты пропускаешь новую поверхность атаки. через год это будет такой же must-have, как когда-то было «научиться ковырять graphql».
читай и применяй в проектах:
https://teletype.in/@ad_poheque/pentesting_mcp_servers
#Pentest #RedTeam #MLSecOps
👾
знаешь, какие сервисы крутятся рядом с llm?
уверен, что ни один из них не отдаёт тебе внутреннюю сеть по json-rpc / http без аутентификации?
mcp уже в проде: ide, ассистенты, консольные инструменты. для нас это не «новый хайп», а ещё один класс открытых api, где вместо
/api/v1 теперь /mcp. и да — SSRF, LFI, IDOR и COMMAND INJECTION теперь кайфуют там.
я собрал вводный разбор по атакам на mcp-серверы:
— что это за протокол;
— как искать открытые mcp-endpoint’ы;
— чем полезны damn vulnerable mcp server + mcp-scanner;
— какие векторы уже видно сейчас и как их тестировать в рамках пентеста.
если ты пентестер / оператор red team / appsec инженер и ещё не держишь mcp в модели угроз — ты пропускаешь новую поверхность атаки. через год это будет такой же must-have, как когда-то было «научиться ковырять graphql».
читай и применяй в проектах:
https://teletype.in/@ad_poheque/pentesting_mcp_servers
#Pentest #RedTeam #MLSecOps
👾
Вместо того, чтобы просто предлагать расширения, ffufai может анализировать целевое веб-приложение и создавать кастомные словари для фаззинга.
Параметры:
--wordlists — для включения фичи
--max-wordlist-size — для управления размером
--include-response — для включения содержимого страницы и получения еще более разумных предложений
Под капотом скрипт просто делает запрос к OpenAI или Anthropic API, но задумка интересная, согласитесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8👍4
Forwarded from Поросёнок Пётр
This media is not supported in your browser
VIEW IN TELEGRAM
Кажется в следующем году в мои финансовые расходы на "ведение бизнеса" войдет лицензия на Caido 🤑
Все больше и больше вижу решений и возможностей от комьюнити. И все меньше вижу подобного со стороны PortSwigger. Только Джеймс периодически рассказывает об очередной desync attacks схемке или об очередном обновлении Turbo Intruder.
Вот отличный пример по использованию Strix. И по мотивам этого примера даже был доклад на последнем NahamCon от Джастина Гарднера.
Все больше и больше вижу решений и возможностей от комьюнити. И все меньше вижу подобного со стороны PortSwigger. Только Джеймс периодически рассказывает об очередной desync attacks схемке или об очередном обновлении Turbo Intruder.
Вот отличный пример по использованию Strix. И по мотивам этого примера даже был доклад на последнем NahamCon от Джастина Гарднера.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Content-Security-Policy — это не только механизм безопасности. Это ещё и карта внешних зависимостей приложения
CSP часто копируют между проектами и тянут из шаблонов. Если у двух сайтов одинаковая CSP-политика, велика вероятность, что это одна организация, общая инфраструктура или забытый/тестовый хост.
В результате можно найти новые домены, которые не были в исходном скоупе
Для автоматизации подойдет любой парсер CSP. Например, csprecon ускоряет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
При тестировании форм регистрации имеет смысл проверять поле email на SSTI, например:
attacker+{{payload}}@gmail.comВполне возможный кейс у какого-нибудь хостинг-провайдера: приложение позволяет поднимать собственные инстансы CMS, в результате чего
После проверки БД через phpMyAdmin ты выясняешь, что email пользователя сохраняется как
attacker+49@gmail.com. И тут понеслась:✔️ Подтверждаем, что шаблон вычисляется сервером, а не просто сохраняется
✔️ Выясняем, что приложение использует Ansible для автоматического развёртывания инстансов, и пользовательские данные попадают в Ansible-конфигурации
✔️ В итоге получаем утечку Ansible конфига, извлекаем Ansible переменные
Для повышения импакта используем особенность Ansible: модуль lookup поддерживает тип
pipe, который позволяет выполнять системные команды.
P. S. SSTI может жить не в шаблоне веб-приложения, а глубоко в инфраструктуре. Инъекции в конфигурационные файлы = высокий импакт.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Работа с JavaScript на разных целевых платформах иногда может быть сложным процессом из-за упакованного JS-кода, минификации и сложности чтения.
Маст-хэв при тестировании приложения методом черного ящика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Обновляется ежемесячно, есть API с примерами для разных языков.
curl https://ip.thc.org/1.1.1.1?l=10
curl https://ip.thc.org/segfault.net
curl https://ip.thc.org/cn/phrack.org
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В начале января PortSwigger запустил ежегодное голосование за лучшие техники веб-взлома. Проекту уже 19 лет — его начали Jeremiah Grossman и Matt Johansen ещё в 2006-м, а с 2017 года эстафету подхватил PortSwigger.
Суть: сообщество собирает исследования, которые не просто описывают одну уязвимость, а дают переиспользуемые техники. Log4Shell забудут, а JNDI Injection останется.
EXT.TERM примитивамиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Инструмент для автоматизации рутины при анализе JS-кода веб-приложений. Работает в связке с Burp Suite или Caido.
Что делает:
.mapРасширение VSCode выступает в качестве интерфейса для jxscout и визуализирует результаты анализа AST в виде дерева.
Платная версия добавляет:
В итоге jxscout — удобный помощник для багхантера, позволяющий получать готовые файлы/структуры для обхода и анализа.
Если ты не можешь справиться с бесконечным количеством минифицированных скриптов, source maps и пропущенными чанками — этот инструмент может серьезно ускорить работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Caido Extension автоматически определяет прокси и маршрутизирует трафик из браузера прямо в инстанс Caido — без ручной настройки. Скачай для Firefox или Chrome 🌐
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаешь поиск эндпоинтов и скрытых параметров в веб-приложениях вручную? xnLinkFinder сделает за тебя эту работу
Скрипт выполняет поиск целевых объектов, извлекает ссылки, обнаруживает секреты и создает словари для конкретных целей. Все это из файлов Burp/Caido/ZAP, HAR-файлов (HTTP архив) или URL-адресов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from InfoSec VK Hub
Сезон VK Security Confab 2026 объявляем открытым! И первая встреча — Bug Bounty Edition.
Когда: 19 марта
Где: Москва, БЦ SkyLight
Есть крутой кейс, полезный лайфхак или история, которыми стоит поделиться с коммьюнити? Приходите выступать! Ждем ваши заявки до 26 февраля.
🔹 Хочу выступить!
VK Security | Буст этому каналу
#confab #митап #bugbounty
Когда: 19 марта
Где: Москва, БЦ SkyLight
Есть крутой кейс, полезный лайфхак или история, которыми стоит поделиться с коммьюнити? Приходите выступать! Ждем ваши заявки до 26 февраля.
VK Security | Буст этому каналу
#confab #митап #bugbounty
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1
Forwarded from BlackFan
Интересная уязвимость, связанная с кэшированием HTTP ответов из S3, может возникнуть если немного перестараться с настройкой.
Условия:
1) Сайт хранит статику в S3 и по определенным условиям проксирует туда запросы, либо имеет отдельный поддомен, который проксирует запросы на S3 бакет
2) Чтобы не гонять 10 мегабайтные JavaScript файлы, кэшируется контент из S3 для любого HTTP ответа с кодом 200
3) Так как кэшируется только статика - не включаем в ключ кэша cookie или query-параметры
Казалось бы, все в порядке, но проблема заключается в том, что S3 умеет отвечать с кодом 200 не только возвращая контент файла, но еще и при получении другой информации об объекте.
Например, для получения списка тегов достаточно в query-параметры добавить
В результате, вместо контента файла вернется следующий HTTP ответ:
И если так запросить статику на сайте в момент, когда кэш HTTP ответа будет обновляться - это приведет к тому, что всем следующим пользователям вместо JS вернется некорректный ответ и сайт станет недоступен на время жизни зараженного кэша.
Если
Как проверить уязвимость и не аффектить реальных пользователей:
1) Находим через архивы устаревшие JS на сайте
2) Так как к ним никто не обращается, следующий запрос будет с обновлением кэша, поэтому сразу запрашиваем с
3) Проверяем, что зараженный HTTP ответ возвращается без указания query-параметров
3) Проверяем, что кэш не привязан к текущему пользователю запросив с другого устройства / IP / от имени другого пользователя
Как исправить уязвимость:
1) Убрать из проксируемого HTTP запроса query-параметры при передаче на S3
2) Добавить query-параметры в ключ кэша
Условия:
1) Сайт хранит статику в S3 и по определенным условиям проксирует туда запросы, либо имеет отдельный поддомен, который проксирует запросы на S3 бакет
2) Чтобы не гонять 10 мегабайтные JavaScript файлы, кэшируется контент из S3 для любого HTTP ответа с кодом 200
3) Так как кэшируется только статика - не включаем в ключ кэша cookie или query-параметры
Казалось бы, все в порядке, но проблема заключается в том, что S3 умеет отвечать с кодом 200 не только возвращая контент файла, но еще и при получении другой информации об объекте.
Например, для получения списка тегов достаточно в query-параметры добавить
?tagging, что часто разрешают для неавторизованных запросов.https://site.tld/static/somefile.js?tagging
В результате, вместо контента файла вернется следующий HTTP ответ:
<?xml version="1.0" encoding="UTF-8"?>
<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<TagSet></TagSet>
</Tagging>
И если так запросить статику на сайте в момент, когда кэш HTTP ответа будет обновляться - это приведет к тому, что всем следующим пользователям вместо JS вернется некорректный ответ и сайт станет недоступен на время жизни зараженного кэша.
Если
?tagging, ?acl и подобные методы возвращают 403, можно попробовать параметры из GetObject API и, например, закэшировать некорректный Content-Type, указав в запросе ?response-content-type=text/html. Это приведет к тому, что браузер откажется выполнять JavaScript с некорректным типом, что также приведет к нарушению работы сайта (это поведение еще зависит от наличия в ответе заголовка X-Content-Type-Options: nosniff).Как проверить уязвимость и не аффектить реальных пользователей:
1) Находим через архивы устаревшие JS на сайте
2) Так как к ним никто не обращается, следующий запрос будет с обновлением кэша, поэтому сразу запрашиваем с
?tagging или ?response-content-type=text/html3) Проверяем, что зараженный HTTP ответ возвращается без указания query-параметров
3) Проверяем, что кэш не привязан к текущему пользователю запросив с другого устройства / IP / от имени другого пользователя
Как исправить уязвимость:
1) Убрать из проксируемого HTTP запроса query-параметры при передаче на S3
2) Добавить query-параметры в ключ кэша
👍1
8.8.1028 → Объединяет 3-й и 4-й октеты: 4 × 256 + 4 = 10288.525316 → Объединяет последние три октета в одно десятичное число0x08.8.004.004 → Шестнадцатеричный + десятичный + восьмеричный (сегмент за сегментом)0x08.0x08.004.004 → Два сегмента в hex, два в восьмеричном0x08.010.4.4 → Смешанный hex + восьмеричный + десятичный134743044 → Полное 32-битное целое представление IP-адреса0x08080404 → Весь IP закодирован как одно hex-число010.010.004.004 → Каждый сегмент с ведущим нулём, чтобы форсировать восьмеричную интерпретацию0x8.0x8.0x4.0x4 → Все четыре октета закодированы индивидуально в шестнадцатеричном виде8.8.0x404 → Последний сегмент в hex: 0x404 = 1028curl/ping, но могут срабатывать в других библиотеках/языках: ⑧.⑧.④.④, 𝟠.𝟠.𝟜.𝟜.Автоматизируй работу по байбасу валидации с помощью ipfuscator — простого Go-инструмента для быстрой генерации альтернативных представлений IP-адресов (v4)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Одна из проблем техник байпаса WAF — они быстро устаревают. То, что работало вчера, сегодня уже режется сигнатурами.
Gareth Heyes из PortSwigger подошёл к этому системно: поддерживает актуальную шпаргалку на базе Shazzer, которая помогает тестировать XSS-фильтры через мутации и нестандартные конструкции.
Что внутри полезного:
Главная идея — не «волшебный пэйлоад», а системная генерация мутаций, которые помогают найти слабое место.
Для тестирования кодировок и трансформаций удобно использовать Hackvertor — ускоряет ресёрч и помогает автоматизировать вариации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
List-Unsubscribe — стандартизированный RFC 8058 SMTP-заголовок, который включает URI вида mailto: и HTTP для действий отписки. Почтовые клиенты и серверная автоматизация используют эти URI в процессах «нажми на эту ссылку» и в HTTP-запросах бэкенда.
javascript: в List-Unsubscribe. Когда ссылка отписки отображается в бэкенд/админ-панели, выполняется JS.List-Unsubscribe. Ты контролируешь таргет, а возможность достучаться до внутренних хостов зависит от настройки Nextcloud
allow local remote servers:Enabled = internal accessDisabled = external targets onlyP. S. Везде, где поддерживается
List-Unsubscribe, проверяй возможность SSRF через target URI и blind XSS через пэйлоады в этом заголовке.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5