Като грешки в администраторски маршрутизатори могат да дадат пълен достъп до рутера
доставчици на софтуер не е достатъчно за рутера и сигурността се грижат. И това е през рутера на нападателя може да проникне на вътрешната мрежа и да слушате всичко преминаване трафик. В тази статия ще се занимае грешки и уязвимости, които са били открити от мен и приятел @ 090h в pentest печели популярност рутери ZyXEL Keenetic.
модерен рутер
пръв поглед
Ние трябва да разберем, че ние сме в частност изследване на уязвимости в рутера. Не е имало проблем да се справи човек, който трябва да сме желаната точка за достъп. Първото нещо, което започнахме - това е Nmap пристанище сканиране от вътрешната мрежа (извън уеб админ панела по подразбиране е затворен). Скенерът ни показа три отворени портове, от които ни интересуват само две - 80 минути (уеб интерфейс) и 23-ти (Telnet).
На порт 80 се превръща един обикновен уеб-базиран интерфейс за управление на рутера. Това е мястото, където ние ще започнем.
Ако ние считаме, от гледна точка на сигурността на уеб интерфейса на, а след това е провал. Класика в жанра: там, където има възможност за въвеждане на информацията си, няма филтриране! В форми, няма жетони, от които се открива възможността за CSRF-атаките.
По-конкретно, всеки Аз няма да помисли за XSS, но си струва да се обръща внимание на един интересен вариант на XSS експлоатация (Life-хак). Може би искаше да се скрие от списъка с клиенти, които са свързани към рутера (можете да видите в административната област на рутера). Тя ще изглежда, че трябва да има достъп до конзолата, пишат модули на ядрото, и така нататък. Но отговорът се крие на повърхността. Просто смяна на името на нашия компютър (полето "Описание") на 1 '>] »); предупреждение (1); и да се свързвате към рутера. В резултат на това може да се види, че ние сме "притиснати" в JS по такъв начин, че да не се обработват и дава празен списък от клиенти. Това ще бъде достатъчно, за да себе си и други потребители, свързани към точка за достъп се скрие от очите на невнимателен администратор.
Firmware под скалпела- Admin изпратите връзка към хост с предварително подготвени HTML-файл:
Jailbreak от ПМС
Свържете чрез телнет и влезте с данните, които сме научили от KEENETIC.cfg файл, да влязат в интерактивна конзола Keenetic. Тук можем да извършите примитивни операции или системни команди чрез EXEC. например:
Но фактът, че тя е диво неудобно, и бих искал да има пълен конзола, а не някаква крива обвивката. За пълния конзолата и е установено, proekspluatirovat интересен бъг с неправилна разбор на аргумента за пинг. Благодарение на това успява да изпълни произволен команди, включително "скочи" на предложената черупка в пепелта на обвивката:
И сега вече имаме пълноправен конзола. Сега можем да правите каквото си искате, но не забравяйте, че рутера използва SquashFS файловата система в режим само за четене.
Променете името на мрежата, за да XSS, и то се изпълняваСега направете нещо, което ще улесни работата ни с конзолата. Разбира се, това bekkonnekt. Той е много проста:
Сега отворете конзолата на нашия компютър:
Както можете да видите, ние дори може да направи bekkonnekt с вашия сървър. В някои случаи това може да помогне за заобикаляне на защитата, ако има такива.
Намерени буболечки отварят възможности за по-нататъшно развитие на атаката. Помислете за някои от понятията.
- Направете промени в софтуера на рутера. Както казах по-рано, ние се занимаваме с SquashFS файловата система, както и да направите някакви промени, ще трябва да работим усилено. За да започнете, изтеглите оригиналния фърмуер и разопаковането (в интернет, можете лесно да намерите изобилие от инструкции), след което променете необходимите файлове и "лепилото" в удобен вид на фърмуера. След това трябва да се актуализира фърмуера на рутера, като го изтеглите фърмуер е променен. По този начин, ние ще бъдем в състояние да променя, добавя, или да изтриете всички файлове от фърмуера.
- Добавянето на функционалността чрез модула за ядрото. Ако притежавате програмиране на модула умения ядрото, нищо не ви пречи да се напише модул за ядрото, тя събира и се зареди чрез lsmod. Но за да не фърмуер имат свободно място за създаване и модифициране на файловете, трябва да свържете външно устройство за съхранение, както и да работите директно с него (въпреки, че много потребители на външен носител е свързан).
- Получаване на допълнителна информация чрез командата флаш. Струва си да се обръща внимание на инструмент като флаш команда, на разположение в конзолата на рутера. Това може да ни даде интересни данни (например, парола 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 заявки отдавна блокирани от браузъри. Също така не може да я откраднат, тъй като тя не се съхранява в ясно. "
Покажете тази статия на приятел: