Като грешки в администраторски маршрутизатори могат да дадат пълен достъп до рутера

доставчици на софтуер не е достатъчно за рутера и сигурността се грижат. И това е през рутера на нападателя може да проникне на вътрешната мрежа и да слушате всичко преминаване трафик. В тази статия ще се занимае грешки и уязвимости, които са били открити от мен и приятел @ 090h в pentest печели популярност рутери ZyXEL Keenetic.

модерен рутер

пръв поглед

Ние трябва да разберем, че ние сме в частност изследване на уязвимости в рутера. Не е имало проблем да се справи човек, който трябва да сме желаната точка за достъп. Първото нещо, което започнахме - това е Nmap пристанище сканиране от вътрешната мрежа (извън уеб админ панела по подразбиране е затворен). Скенерът ни показа три отворени портове, от които ни интересуват само две - 80 минути (уеб интерфейс) и 23-ти (Telnet).

На порт 80 се превръща един обикновен уеб-базиран интерфейс за управление на рутера. Това е мястото, където ние ще започнем.

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

По-конкретно, всеки Аз няма да помисли за XSS, но си струва да се обръща внимание на един интересен вариант на XSS експлоатация (Life-хак). Може би искаше да се скрие от списъка с клиенти, които са свързани към рутера (можете да видите в административната област на рутера). Тя ще изглежда, че трябва да има достъп до конзолата, пишат модули на ядрото, и така нататък. Но отговорът се крие на повърхността. Просто смяна на името на нашия компютър (полето "Описание") на 1 '>] »); предупреждение (1); и да се свързвате към рутера. В резултат на това може да се види, че ние сме "притиснати" в JS по такъв начин, че да не се обработват и дава празен списък от клиенти. Това ще бъде достатъчно, за да себе си и други потребители, свързани към точка за достъп се скрие от очите на невнимателен администратор.

Като грешки в администраторски маршрутизатори могат да дадат пълен достъп до рутера
Firmware под скалпела

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

Jailbreak от ПМС

Свържете чрез телнет и влезте с данните, които сме научили от KEENETIC.cfg файл, да влязат в интерактивна конзола Keenetic. Тук можем да извършите примитивни операции или системни команди чрез EXEC. например:

Но фактът, че тя е диво неудобно, и бих искал да има пълен конзола, а не някаква крива обвивката. За пълния конзолата и е установено, proekspluatirovat интересен бъг с неправилна разбор на аргумента за пинг. Благодарение на това успява да изпълни произволен команди, включително "скочи" на предложената черупка в пепелта на обвивката:

И сега вече имаме пълноправен конзола. Сега можем да правите каквото си искате, но не забравяйте, че рутера използва SquashFS файловата система в режим само за четене.

Като грешки в администраторски маршрутизатори могат да дадат пълен достъп до рутера
Променете името на мрежата, за да XSS, и то се изпълнява

Сега направете нещо, което ще улесни работата ни с конзолата. Разбира се, това bekkonnekt. Той е много проста:

Сега отворете конзолата на нашия компютър:

Както можете да видите, ние дори може да направи bekkonnekt с вашия сървър. В някои случаи това може да помогне за заобикаляне на защитата, ако има такива.

Намерени буболечки отварят възможности за по-нататъшно развитие на атаката. Помислете за някои от понятията.

  1. Направете промени в софтуера на рутера. Както казах по-рано, ние се занимаваме с SquashFS файловата система, както и да направите някакви промени, ще трябва да работим усилено. За да започнете, изтеглите оригиналния фърмуер и разопаковането (в интернет, можете лесно да намерите изобилие от инструкции), след което променете необходимите файлове и "лепилото" в удобен вид на фърмуера. След това трябва да се актуализира фърмуера на рутера, като го изтеглите фърмуер е променен. По този начин, ние ще бъдем в състояние да променя, добавя, или да изтриете всички файлове от фърмуера.
  2. Добавянето на функционалността чрез модула за ядрото. Ако притежавате програмиране на модула умения ядрото, нищо не ви пречи да се напише модул за ядрото, тя събира и се зареди чрез lsmod. Но за да не фърмуер имат свободно място за създаване и модифициране на файловете, трябва да свържете външно устройство за съхранение, както и да работите директно с него (въпреки, че много потребители на външен носител е свързан).
  3. Получаване на допълнителна информация чрез командата флаш. Струва си да се обръща внимание на инструмент като флаш команда, на разположение в конзолата на рутера. Това може да ни даде интересни данни (например, парола NetFriend програма за отдалечено конфигуриране на рутера), която по-късно може да се използва срещу жертвата. например:
  • Дискусия на рутери ZyXEL Keenetic;
  • Интересно тема във форума на iXBT;
  • възможности Keenetic фърмуера на втория pokoleniyahabrahabr.ru;
  • Допълнителни приложения за Keenetic.

Като грешки в администраторски маршрутизатори могат да дадат пълен достъп до рутера
Промяна на името на хоста в специален код и скриване на всички потребители

Информация за уязвимостта на компанията е предаден на специалисти ZyXEL.

бързо BugFix

Момчетата от ZyXEL веднага заявиха, че ще се направи с бъгове

"Поправя грешки, намерени (когато е необходимо) скоро ще станат достъпни за потребителите в един или друг начин, в зависимост от версията на фърмуера (V1 - в неформални събрания, V2 - с пресни продукти). Firmware 2.0 като цяло е изградена въз основа на различен принцип - без използването на черупката и BusyBox. Всички логиката е скрита в модули и библиотеки, както и да засегне работата си много по-трудно. Вземи корен достъп просто никъде. NDM плащам макар и изпълнена от името на корена, но тя е толкова ограничен, че се нуждае от отделен кабинет, как да го използвате недобросъвестно. Що се отнася до уязвимости уеб интерфейса, за да вмъкнете код на страницата, чрез името на компютъра в фърмуер 2.0 не е възможно (за всеки случай ние проверихме). Използвайте CSRF няма да работи, тъй като ние сме с помощта на AJAX, а не GET / POST или чрез формата на URL, както и между различните домейни AJAX заявки отдавна блокирани от браузъри. Също така не може да я откраднат, тъй като тя не се съхранява в ясно. "

Покажете тази статия на приятел: