>
Февраль 2017
Пн Вт Ср Чт Пт Сб Вс
« Янв    
 12345
6789101112
13141516171819
20212223242526
2728  

Как взломать роутер. Эксплуатируем ошибки админки.

Производители программного обеспечения недостаточно заботятся о безопасности маршрутизаторов. А ведь именно через роутер злоумышленник может проникнуть во внутреннюю сеть и прослушивать весь проходящий трафик. В данной статье будут рассмотрены баги и уязвимости, которые были найдены мной и товарищем @090h в процессе пентеста завоевавших популярность роутеров ZyXEL Keenetic.

Современный роутер

Если не брать тех людей, которые сравнивают установку Wi-Fi-роутера с монтированием вышки сотовой связи у себя дома и опасаются влияния радиоволн на свой мозг, можно с уверенностью сказать — беспроводная точка доступа есть почти у каждого активного пользователя Сети. Помимо удобства, Wi-Fi-роутер, как правило, добавляет и безопасности: устройства пользователя оказываются за файрволом и недоступны для прямых атак. Но вместе с тем сама точка доступа может стать объектом для атаки. Программное обеспечение точки доступа (как и любого другого девайса) нередко может быть уязвимо. Производители в большинстве случаев редко придают значение серьезным проверкам безопасности, концентрируясь на удобстве пользователя и максимальной производительности. Аргументация простая: если большинство сервисов недоступны извне, а админка доступна только для пользователей в локальной сети, то чего заморачиваться? На самом же деле набор из простых уязвимостей вкупе с социальной инженерией может дать злоумышленнику удаленный доступ к управлению роутером (правда, при определенном стечении обстоятельств). В этой статье мы рассматриваем потенциальную возможность такой атаки на роутер ZyXEL Keenetic, с первой версией прошивки, которая установлена по умолчанию.

Первый взгляд

Надо понимать, что мы целенаправленно искали уязвимости в роутере. Не было задачи взломать кого-то, у кого стоит нужная нам точка доступа. Первое, с чего мы начали, — это сканирование портов Nmap’ом из внутренней сети (снаружи веб-админка по умолчанию закрыта). Сканер показал нам три открытых порта, из которых нас интересуют только два — 80-й (веб-интерфейс) и 23-й (Telnet).

На 80-м порту крутится обычный веб-интерфейс для управления роутером. С него мы и начнем.

Веб-баги

Если рассмотреть веб-интерфейс с точки зрения безопасности, то это провал. Классика жанра: везде, где есть возможность ввода своей информации, отсутствует фильтрация! В формах отсутствуют какие-либо токены, что открывает возможность для CSRF-атак.

защита от ддос атак

Конкретно каждую XSS я рассматривать не буду, но стоит обратить внимание на один интересный вариант эксплуатации XSS (лайф-хак). Тебе наверняка хотелось бы скрыть себя из списка клиентов, подключенных к роутеру (их можно посмотреть в админке роутера). Казалось бы, для этого нужно иметь доступ к консоли, писать модули ядра и так далее. Но ответ лежит на поверхности. Просто меняем имя нашего компьютера (поле «Описание») на 1′}]»);alert(1); и подключаемся к роутеру. В результате можно увидеть, что мы «втиснулись» в JS таким образом, что он не обработался и выдал пустой список клиентов. Этого будет вполне достаточно, чтобы скрыть себя и других пользователей, подключенных к точке доступа, от глаз невнимательного админа.

Прошивка под скальпелем

Благодаря CSRF и XSS можно добыть пароль от роутера и получить удаленный доступ через бэкенд, что будет самым лакомым подарком. Однако для этого не обойтись без социальной инженерии (вообще любая атака становится возможной только при определенном стечении обстоятельств).

  1. Отправляем админу ссылку на хост с заранее подготовленным HTML-файлом:

    Как видишь, используется автосабмит и типичная CSRF. В одном из полей — user_name — с помощью
[Всего голосов: 12    Средний: 3.4/5]

Вам может быть интересно также:

Last updated by at .

Leave a Reply

You can use these HTML tags

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">