Есть люди, которые любят бросить все и пойти в поход, забыв на недельку о благах цивилизации. Другие обожают запереться дома, укутаться в плед и читать интересную книгу, попивая ароматный глинтвейн. Ну а я выбираю ковыряться в старом компьютерном железе. Каждое устройство может рассказать интересную историю и познакомить с такими особенностями, которых в современных девайсах уже не найти. А если учесть, что большинство из них имело весьма скромные по нынешним меркам технические характеристики, становится еще более увлекательно.

Несколько дней назад ко мне попал небольшой артефакт из 2005 года — сетевой файловый сервер от TrendNet, размером с роутер. Любопытно, что внутри у него вообще нет никаких дисковых накопителей, а все, чем он может похвастаться, это два USB-порта и Ethernet 10/100 Mbps с auto-MDIX (интересно, сейчас хоть кто-то помнит что это такое?). Антиквариат, одним словом. Если задуматься, на нем можно соорудить файловую шару для старых операционных систем. Все это в тексте и обсудим, а еще поговорим о том, почему обновления безопасности так важны для современных NAS.

Внешний вид

Эту замечательную коробку я нашел на местной барахолке. Внутри лежал абсолютно новый файловый сервер, его никто еще ни разу не включал и не использовал. Даже запах у него до сих пор был как у только что вышедшего с конвейера устройства.

Trendnet — одна из старейших американских компаний, уже 35 лет производящих сетевые устройства. Чтобы выделиться на фоне черных и серых девайсов конкурентов, маркетологи выбрали насыщенный синий цвет корпуса, который потом стал их «визитной карточкой». Со временем концепция поменялась, но первоначально были именно в таком стиле.

Внешне TS-U100 легко спутать с обычным роутером. Похожий форм-фактор и компактные габариты — 147 x 112 x 30 мм. На передней панели располагаются четыре светодиода, два из которых показывают присутствие питания и сетевого соединения, а оставшиеся — наличие и режим работы дисковых накопителей, подключенных к USB-портам.

На задней части устройства есть разъем питания (5В, 2.4A), кнопки Reset и Unmount и два USB-порта, поддерживающие стандарты 1.1 и 2.0. По замыслу создателей в них можно подключить внешний жесткий диск, флешку, картридер, CD/DVD-привод и даже такая экзотику, как MicroDrive или M.O. (дисковод для магнитооптических дисков). Ничего удивительного, что в этих же портах прекрасно заработал внешний флоппик.

Все это натолкнуло на простую мысль — внутри Linux. Это и объясняет наличие драйверов и столь широкую поддержку разных носителей. Но эту теорию я проверю чуть позже. Получается, с таким девайсом у тебя есть сетевой FDD и DVD-ROM — полезно в некоторых ситуациях. 

Управление

TS-U100 разрабатывался для SOHO-сегмента, тут предполагается только один тип управления — через веб-интерфейс. По-умолчанию DHCP выключен, а само устройство имеет адрес 192.168.1.2. Логин и пароль для входа в админку вполне стандартные — admin/admin. Глядя на интерфейс мне на секунду мне показалось, что сейчас попросят вставить диск с IE6:

Главная страница веб-интерфейса
Главная страница веб-интерфейса

Первое, что я решил сделать, — проверить, какая прошивка актуальна. Когда устройство попало мне в руки, у него была версия от 2005 года. Особо ни на что не рассчитывая, я решил заглянуть на официальный сайт, и тут меня ждало интересное. На сайте было упоминание 2017 года, несмотря на то, что файл имел все идентификаторы 2006 года — 1.98.0215.2006.

А что у нас было в 2017? Правильно — майская эпидемия вируса WannaCry, который заразил более 200 тысяч компьютеров в 150 странах мира. Зловред использовал уязвимость в протоколе SMB под названием EthernalBlue, которая утекла из инструментов АНБ. Это событие продемонстрировало, что такие простые и базовые протоколы, как SMB, несут значительную угрозу и проигнорировать ее не получится.

Была у меня гипотеза, что специалисты Trendnet летом 2017 года достали старую версию прошивки, исправили в ней уязвимость и упаковали обратно, не меняя более ничего. Со стороны производителя это было бы весьма разумным и грамотным шагом, направленным на обеспечение безопасности пользователей старых устройств. Забегая вперед, скажу, что гипотеза не подтвердилась, но прошивку все же обновил:

Обновленная прошивка от 2017 года
Обновленная прошивка от 2017 года

Особенности

Перед тем, как начинать ковыряться в прошивке, стоит внимательно изучить, какие сервисы способна предоставлять эта железка и насколько хорошо она делает свою работу. Так что кратко пробегусь по ним, благо тут их всего два:

  • FTP-сервер. Открывает порт 21, поддерживает до 10 пользователей и умеет ограничивать скорость скачивания.

  • SMB-сервер. Используется порт 139 (SMB over NetBIOS), а порт 445 не слушает вообще.

Остальные функции можно больше назвать сервисными, вроде синхронизации времени по протоколу NTP. Но одна фича стоит особняком, у нее даже вход в панель управления отдельный — автоматическое скачивание файлов с внешних ресурсов:

Создание задачи на скачивание
Создание задачи на скачивание

Устройство позволяло стягивать файлы или целые директории с удаленных серверов по протоколам HTTP или FTP без компьютера и участия пользователя. Самый натуральный wget с таймером. Раньше такую функцию имели многие NAS и даже роутеры с USB-портом для подключения внешнего устройства хранения.

Фактически TS-U100 способен быть мини-роботом, который ночью скачивает нужные файлы из сети, выполняет синхронизацию FTP-папки или вообще делает резервную копию с одного USB-диска на другой. Это позволяло не потерять данные, даже если один накопитель выйдет из строя. Разумеется, ни о каком rsync или Bittorrent речи не шло, но для своих лет даже такая возможность была весьма полезной.

Все на виду

Вот мы и подошли к основному блюду. Теперь, когда функции устройства более-менее понятны, предлагаю немного порыться в прошивке и посмотреть, на чем же работает этот маленький чудный девайс. Скачивается она непосредственно с сайта производителя — Firmware_TS-U100_1.98.zip

И только я собрался вооружиться Binwalk, как мне пришла в голову мысль посмотреть, какие еще версии есть на сайте. В тот же момент я понял, что веб-сервер trendnet.com позволяет просматривать содержимое директорий, а производитель соблюдает условия GPL. Там я обнаружил:

6/6/2006 11:39 AM        60447 bridge-utils-0.9.6.tar.gz

6/6/2006 11:52 AM     44775979 linux-2.4.18.tar.gz

6/14/2007  4:39 PM     64224840 Linux_Source.tar.gz

6/6/2006 11:40 AM      1425086 Part_1.zip

6/14/2007 11:37 AM     44483600 Part_2.zip

6/6/2006 11:54 AM      7543342 Part_3.zip

6/6/2006 11:55 AM      1667817 Part_4.zip

Бинго! Тут есть все, что использовалось при сборке прошивки. Делаю вывод, что последняя основана на ядре Linux 2.4.18, выпущенном 25 февраля 2002 года. Распаковав Linux_Source.tar.gz, я в обратил внимание на файл .config. Первые же строки дают ответы на важные вопросы:

CONFIG_MIPS_AM5120=y

Итак, наш пациент создан на базе SoC ADM5120, специально разработанного компанией ADMtek Inc. для сетевых устройств, таких как роутеры, беспроводные точки доступа, VPN-шлюзы и принт-серверы. На кристалле размещаются:

  • MIPS-процессор с частотой 175 МГц

  • Коммутатор с поддержкой до 5 портов FastEthernet

  • Сетевой интерфейс 10/100-PHY

  • Аппаратный блок ADM5001 для ускорения VPN-операций

  • Интерфейсы для взаимодействия с PCI, UART, SDRAM, NAND Flash и USB

Источник изображения

Ближайшим аналогом нашего сегодняшнего героя можно считать NAS-сервер D-Link DNS-120 rev A2. Также на этом же SoC были построены Edimax BR-6104K, ZyXEL Prestige 334W (P-334W) и даже MikroTik RouterBOARD 133 (RB133).

Следующим важным параметром можно считать ОЗУ:

CONFIG_ADM5120_SDRAM_SIZE=32

32 Мб — это вполне штатный показатель для устройств тех лет. Вышеупомянутые роутеры ZyXEL и Edimax могли похвастаться только половиной этого объема. Еще одним прямым указанием на работу с этим SoC является параметр:

CONFIG_MIPS_AM5120_SW=y

Это ни что иное, как подключение драйвера adm5120-switch.c встроенного 5-портового коммутатора. Тут стоит отметить, что ADM5120 поддерживается OpenWRT, однако под Trendnet TS-U100 он никогда официально не собирался. Тем не менее, в документации OpenWRT можно встретить эти же специфические параметры и их описания.

Для работы со встроенной Flash включена целая пачка опций:

CONFIG_MTD_5120_NOR=y

CONFIG_MTD_PARTITIONS=y

CONFIG_MTD_CHAR=y

CONFIG_MTD_BLOCK=y

CONFIG_FTL=y

CONFIG_MTD_CFI=y

CONFIG_MTD_CFI_UTIL=y

CONFIG_MTD_GEN_PROBE=y

CONFIG_MTD_CFI_MXCMDSET=y

CONFIG_MTD_5120_NOR_MX29LV320=y

CONFIG_MTD_5120_NOR_RAW_MX29LV320=y

И это дает ответы на вопросы об объеме постоянной памяти и даже конкретной модели. Ведь MX29LV320 — это чип NOR-Flash емкостью 4 Мб. Довольно мало, чтобы  попробовать установить более-менее современную OpenWRT или пытаться зашить внутрь дополнительный сервис. Если бы передо мной стояла задача собрать что-то вроде OpenWRT 14.07 (в актуальных версиях поддержка этого SoC вырезана), пришлось бы перепаять чип памяти на MX29LV640. Благо последний вроде как полностью совместим по пинам.

Итак, в сухом остатке: ADM5120 175 МГц / 32 Мб ОЗУ / 4 Мб Flash. Конфигурация скромная и не располагающая к потенциальной доработке. Файлы, найденные в ней, говорят о том, что в системе используются:

  • busybox-1.00-pre1 — набор UNIX-утилит

  • at-3.1.8 — инструмент для отложенного запуска команд (как раз то самое скачивание файлов по FTP/HTTP)

  • samba-2.2.8a — старая и уязвимая (я все же потом прошелся binwalk по образу и не нашел ни одного подтверждения пересборки/патча против WannaCry)

  • uClibc-0.9.19 — древняя версия стандартной С-шной библиотеки

  • wget-1.9 — HTTP/1.0 (HTTP/1.1 без keep-alive), только базовая аутентификация

  • wu-ftpd_2.6.2 — крайне дырявый демон с массой уязвимостей, вроде переполнения буфера (CVE-2004-0185).

  • GoAhead WebServer неизвестной версии (редирект на страницу входа http://<IP>/web/login.asp

Вместо заключения

Trendnet TS-U100 — зверек интересный и не бесполезный. Он прекрасно подходит, чтобы нативно предоставлять общую файловую шару для старых версий Windows и Linux. К нему вполне можно подключить пару флешек и собирать туда логи с каких-нибудь датчиков. Главное помнить, что устройство изначально небезопасно и должно быть изолировано от домашней или офисной сети.

Как по мне, это замечательный образец девайса, на котором можно тренировать свои навыки работы с Kali. Из него также получится сделать прекрасный HoneyPot: выставить в открытый интернет и тщательно отслеживая активность тех, кто попытается взломать сервер, используя эксплоиты для уже упомянутых выше старых версий samba и wu-ftpd. 

Если же вдруг у вас родится интересная идея, что еще можно сделать с таким устройством (выкинуть в помойку не предлагать!), то обязательно напишите об этом в комментариях. И не забудьте подписаться на блог, чтобы не пропустить выход моих новых постов.

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


  1. JBFW
    01.11.2025 13:38

    Пересобрать прошивку, выбросить wu-ftpd, добавить dropbear и tgt, переписать веб-интерфейс, используя имеющееся API (наверняка разновидность cgi).