Обложка канала

Кавычка. Страница 9

9725 @webpwn

Ломать - не строить

  • Кавычка

    Green Dog:
    Я на WebVillage буду рассказывать про баги связанные с десериализаций. Выложил пучок мини-вебприложух в докер контейнерах, чтобы можно было потыкать желающим. https://github.com/GrrrDog/ZeroNights-WebVillage-2017
  • Кавычка

  • Кавычка

    В PHP-приложениях есть куча разных уязвимостей, техник эксплуатации и атак. Тему активно ковыряют лет 10 и вроде бы всё уже расковыряли, и постепенно многие техники сходят на нет.

    Но всё равно находятся неожиданные вещи в очевидных местах. Например, на HITCON CTF автор дал задачу по мотивам своих находок, в которой, как выяснилось, нужно было довести чтение произвольных файлов до исполнения кода.
    Подробности тут: https://rdot.org/forum/showthread.php?t=4379

    Если коротко, то любой вызов PHP-функции чтения файлов (поддерживающей обёртки) с контролируемым префиксом может привести к произвольной десериализации.
    В частности, можно использовать аналог техники LFI via phpinfo, чтобы загрузить боевой PHAR-вектор и одновременно прочитать его, причём даже не обязательно, чтоб был вывод ответа, достаточно самого вызова функции чтения.
  • Реклама

  • Кавычка

    Вдогонку: в архив можно всунуть не только симлинк, но и файл с вектором path traversal в имени.
    Некоторые библиотеки для работы с архивами были уязвимы к такой атаке и при распаковке читали произвольные файлы.
    Скрипт для создания таких архивов: https://github.com/ptoomey3/evilarc
  • Кавычка

    В операционных системах существуют символический ссылки. Это специальные файлы, в которых вместо собственных данных ссылка на содержимое другого файла. Чтобы создать такую ссылку в unix - достаточно ввести команду ln -s /etc/passwd myfile Теперь, обращаясь…
  • Кавычка

    В операционных системах существуют символический ссылки. Это специальные файлы, в которых вместо собственных данных ссылка на содержимое другого файла.
    Чтобы создать такую ссылку в unix - достаточно ввести команду
    ln -s /etc/passwd myfile

    Теперь, обращаясь к файлу myfile - мы будем обращаться к файлу passwd.

    Такую ссылку можно запаковать (например утилитой zip с аргументом --symlinks) и если веб-приложение будет работать с архивами, есть вероятность, что обрабатывать она будет собственные файлы, ссылки на которые были в архиве. Тем самым возможно читать локальные файлы или добиться отказа в обслуживании.

    Интересно, а кто-то уже догадался добавлять симлинки в docx 🤔?
  • Кавычка

    Вжух - стартует ZeroNights HackQuest 2017!
    Ссылка как обычно - hackquest.zeronights.org

    Первый день начнется с легкого и логически понятного веба (не зря таск называется webpwn), я уверен, что ты справишься %username%.
  • Кавычка

    @GeoPhotoBot
    Поиск фотографий из соцсетей по геопозиции или по ссылке на Яндекс (Google) карте.
  • Кавычка

  • Кавычка

    Любую функцию javascript можно выполнить без использования каких-либо букв.

    1) http://utf-8.jp/public/jjencode.html
    Позволяет генерировать функции из спецсимволов.

    2) http://www.jsfuck.com/
    Если количество используемых символов ограничено (например не пускает \ ) jsfuck позволяет создать пэйлоад с использованием только символов ()+[]!.

    3) https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html
    А когда запрещено использовать скобки, поможет этот ресурс. Он может преобразовать js в последовательность сиволов [+|>].

    Единственный минус - вектор становится большим. Если в jjencode alert() - 524 символа, в jsfuck становится размером в 1219 символов, то в 5chars он становится просто огромным - 61827 символов.
  • Кавычка

    Предательство Safari. Чтение локальных файлов с дальнейшей отправкой на сервер помощью html документа. https://xakep.ru/2017/07/06/safari-localfile-read/ https://github.com/Bo0oM/Safiler
  • Кавычка

    Многие тулзы, например nmap, требуют рута для нормальной работы. Но если тебе надоело писать каждый раз sudo и не хочется раскидываться suid'ами, то можно воспользоваться linux capabilities и выдать только определённые привилегии.

    Для Nmap надо выставить следующие :
    sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
    и добавить в переменные окружения (в ~/.bashrc, например):
    export NMAP_PRIVILEGED=""

    Для ncat требуется:
    sudo setcap cap_net_bind_service+eip /usr/bin/ncat

    Для Wireshark:
    setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
    Плюс возможно добавить прав на исполнение:
    sudo chmod o+x /usr/bin/dumpcap

    После этого тулзы можно запускать без sudo, под обычным юзером
  • Кавычка

    Забавная смесь логических ошибок превращается в обход SOP браузера. Заходишь по ссылке - данные любых сайтов улетают злоумышленнику (UXSS). Обновляйтесь!

    https://github.com/Bo0oM/CVE-2017-7089
  • Кавычка

    Полезные плагины для Chrome

    Vulners Web Scanner
    Сканер уязвимостей на основе версий используемого софта на сайте
    https://chrome.google.com/webstore/detail/vulners-web-scanner/dgdelbjijbkahooafjfnonijppnffhmd

    HTML5 Storage Manager All in One
    Позволяет редактировать Cookie, Local Storage и indexedDB сайтов
    https://chrome.google.com/webstore/detail/html5-storage-manager-all/giompennnhheakjcnobejbnjgbbkmdnd

    Chrome HTTP Monitor
    Показывает заголовки и время загрузки сайта
    https://chrome.google.com/webstore/detail/chrome-http-monitor/maceikgnmfpfbciilpapjdogebnanahg

    Wappalyzer
    Определяет используемые на сайте CMS, JS библиотеки. Не забудь отключить анонимную стучалку в настройках
    https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg

    Shodan
    Удобен тем, что позволяет посмотреть не только открытые порты, но и страну и организацию ip домена
    https://chrome.google.com/webstore/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap

    Clickjacking Test
    Ничего сложного, просто открывает сайт в фрейме и позволяет сгенерить простой PoC для сайтов без X-Frame-Options
    https://chrome.google.com/webstore/detail/clickjacking-test/bjhigladkmnpmglhcnpeiplekpanekpi

    FoxyProxy Basic
    Создаешь профили с различными настройками прокси и быстро переключаешься между ними
    https://chrome.google.com/webstore/detail/foxyproxy-basic/dookpfaalaaappcdneeahomimbllocnb
  • Кавычка

    Невероятно, но факт: hh.ru сканирует локальные порты. Глупышки, зачем стучаться на 22 порт, Chrome вернет ERR_UNSAFE_PORT
  • Реклама

  • Кавычка

    В burp suite обнаружена уязвимость выполнения произвольного кода. Ты пытаешься атаковать сайт, а сайт атакует тебя)
  • Кавычка

    Используем (костыли) виртуалку (назовем ее proxyhost) для доступа в интернет с удаленной машины за натом.

    На тачке, чей IP нужно получить, нужно предварительно поднять ssh-сервер и создать юзера guest, далее вводим:
    ssh proxyhost -R 2222:localhost:22

    Тем самым мы пробрасываем порт 22 (ssh) на удаленную тачку, можно также указать ключ -N чтоб не держать терминал открытым.

    На клиенте (кому интернет), пишем следующее заклинание:
    ssh -t -L 8888:localhost:8888 proxyhost ssh guest@localhost -p 2222 -D 8888

    Нужно будет ввести пароль от guest (ну или не вводить, если используются ssh-ключи).

    В результате у нас будет поднят socket на порту 8888, его можно ввести в браузер (или использовать в любом другом софте).
  • Кавычка