Новогоднее исследование ADSL-роутера на базе Linux — введение



0x0 — введение
0x1 — разбираем 🙂
0x2 — знакомимся с программной частью
0x3 — формат прошивки
0x4 — модифицируем файловую систему
0x5 — пишем первую программу
0x6 — последовательный порт
0x7 — заключение
Превращаем ADSL-модем в Ethernet-шилд
Исследование Wi-Fi-роутера TP-LINK TL-MR3020

За окном 31-е декабря. Стругаются салаты оливье, чистятся мандарины… — в общем, всё сигнализирует о том, что приближается Новый Год.
Поэтому, первым делом, поздравляю Всех с Наступающим! Пусть в Новом Году всё будет хорошо 🙂
Впереди Новый Год, а значит, и целых 10 дней новогодних каникул.
А теперь к сути: есть предложение, чем же можно заняться этими длинными зимними вечерами 🙂
В недавней статье «Мозги для робота» были перечислены возможные варианты, что можно использовать в качестве «мозга» робота. И самым последним был вариант:
робот из переделанного устройства

Вот это направление я и предлагаю рассмотреть 🙂
А Вам предлагаю присоединиться к этому небольшому исследованию 🙂

Итак, в качестве подопытного был выбран ADSL-модем:
ZTE ZXDSL831AII

— фактически, он почти идентичен популярному ADSL-модему:
D-link DSL-2500U (Яндекс.Маркет показывает стоимость 700-1000 рублей).

В качестве затравки предлагаю к прочтению две статьи:
* Троян в роутере: заражение D-link 500T в домашних условиях
* Посев троянов в железные девайсы: заражение роутера Dlink 2500U

А вот и про троянца, под названием psyb0t:

Заражению psyb0t подвержены устройства с маршрутизацией пакетов на базе операционной системы Linux Mipsel, снабженные административным интерфейсом, либо открывающие доступ через службы sshd или telnetd для защищенной зоны DMZ, если у них заданы слабые сочетания имени пользователя и пароля (включая устройства openwrt/dd-wrt). Червь «psyb0t» использует специальный алгоритм подбора имен пользователя и паролей, а также несколько стратегий для перехвата управления устройством.

После заражения, червь встраивает фрагмент вредоносного кода в операционную систему устройства – (различные варианты кода для нескольких версий системы Mipsel загружаются с сервера злоумышленников).
Червь закрывает конечному пользователю доступ к устройству по telnet, sshd и через веб-интерфейс и начинает исследовать все проходящие через устройство пакеты, выуживая из них логины и пароли.

Первые инфекции обнаружил австралийский ИТ-консультант, Terry Baume, когда, 11 января 2009 года, эксперт обнаружил зараженный Netcomm NB5 DSL модем.

Обнаружение:
Червь блокирует доступ к портам: 22, 23 и 80. Если у Вас эти порты заблокированы, вероятность заражения червем psyb0t очень высока. Лучше восстановите заводские настройки модема и настройте его заново.

Предотвращение заражения:
— изменить стандартный пароль/логин
— использовать надежные и безопасные пароли
— убедиться в том, что удалённое управление модема — отключено
— установить последние обновления
— использовать фильтры входящего трафика

Удаление червя:
просто сбросить настройки модема к заводским конфигурациям и настроить его заново. Но необходимо принять меры по предотвращению заражении.

Стало интересно? А то! 🙂
Уже чешутся руки раскрутить свой роутер? Только не торопитесь — в приведённых выше статьях есть целый ряд неточностей. Поэтому будем действовать постепенно 🙂

Итак, наше исследование в первую очередь направлено на изучение встраиваемых систем, поэтому хотя его результаты и могут быть использованы в других целях — это остаётся полностью на Вашей совести. Здесь же всё приводится только в учебно-ознакомительных целях.
Так необходимо отметить, что эксперименты над своим оборудованием Вы совершаете на свой страх и риск.
Всё ещё согласны? Тогда вперёд!

Предвосхищая возможные вопросы я составил мини-FAQ по теме (возможно он будет дополняться 🙂

Стандартное введение:

! эксперименты над своим модемом/роутером Вы совершаете на свой страх/риск!
! Автор (я, то есть) снимает с себя любую возможную(и невозможную) ответственность за возможный ущерб вашему(или чужому :)) оборудованию/программному обеспечению/здоровью/вере в человечество/спокойствию/аппетиту/нонконформизму/etc. !


переходим к вопросам:

Возникает резонный вопрос — а имеет ли смысл возиться с этой железкой?
На этот разумный вопрос — я отвечу просто:
Да. Имеет 🙂
Это знакомство с железячным линуксом, настоящими встраиваемыми системами. Их базовыми понятиями, инструментарием и возможностями.
Причём сразу же на доступном и наглядном материале 🙂

Мой модем вышел из строя! Что мне делать?
гхм… не знаю 🙂
В любом случае — я честно предупреждал, что потрошение модема может не довести до добра.
Гуглите, проверьте — возможно загрузчик доступен через последовательное подключение, курите JTAG.

Почему именно этот модем?
Тут всё просто — он у меня есть 🙂 Валялся тут со времён ADSL-доступа и стал не нужен после подключения выделенки 🙂
Я про него и не знал, пока не натолкнулся при переносе тумбы на кухню. И тут такой подарок 🙂 Так что судьба модема была предрешена.

У меня другой модем/роутер. Что мне делать?
Используйте силу гугл. (причём не только в этом, а при любом подходящем случае :))
Хорошим началом поиска может стать сайт:
http://openwrt.org

У меня нет Linux. Что мне делать?
Как и я — воспользоваться виртуальной машиной 🙂
Лично мне приглянулся VirtualBox.
Бесплатная и очень удобная программа.
Но Вы можете использовать любую другую программу: Virtual PC, VMWare, Parallels.

А зачем всё это?
Например, можно приспособить роутер для управления роботом.
В качестве управляющих линий, можно попробовать приспособить выходы светодиодов, а для получения данных — выведенный UART.

И что всё это реально сделать за праздники?
Конечно! К тому же, основную подготовительную работу я проделал заранее 🙂

Что теперь? Я планирую опубликовать несколько статей в которых мы с Вами, шаг за шагом, начнём исследование встраиваемых систем (и линукса) на примере ADSL-роутера.

Пока я буду писать следующую статью вы можете подготовиться:
1. достать из угла свой роутер и смахнуть с него пыль.
2. установить себе Linux

Читать далее:
0x1 — разбираем 🙂

Ссылки
Psyb0t
http://openwrt.org
Робот на базе Wi-Fi точки доступа
Посев троянов в железные девайсы: заражение роутера Dlink 2500U
Что нам стоит «умный дом» построить. Делаем фарш из микроконтроллеров и роутера

С Наступающим! И прибудет с нами великий Tux! 🙂

Автор: Vladimir (noonv), 2010-2011

Эксклюзивно для robocraft.ru
копирование на другие ресурсы и публикация
без разрешения автора запрещены.


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение