TP-Link TL-841N: в прошивке роутера нашли захардкоженный пароль, который не убирает сброс настроек
Автор технического блога juni-mp4.com купил на Facebook Marketplace б/у роутер TP-Link TL-841N(EU) за $10 и описал полный цикл его вскрытия, от поиска отладочного порта до анализа файловой системы прошивки.
Сначала он нашёл на плате маркированные контакты UART, подключился USB-UART-адаптером на скорости 115200 бод и получил root-доступ к консоли устройства. Через /proc/mtd он определил семь разделов флеш-памяти (mtd0, mtd6) и скопировал их по очереди на свой компьютер по TFTP, используя RAM-диск /var объёмом всего ~6,4 МиБ как буфер, команды вида cat /dev/mtdN > /var/dump.bin с последующей передачей и удалением файла для каждого раздела.
Параллельно он проверил второй способ, прямое снятие дампа с флеш-чипа GD25Q64CSIG на обратной стороне платы программатором CH341A (сам автор называет его «инструментом извлечения прошивки для бедных»), без демонтажа платы. Перед этим он убедился, что рабочее напряжение чипа, 3,3 В (у части чипов оно 1,8 В, и без переходника программатор может их повредить). Дамп снят командой flashrom --programmer ch341a_spi -r modem.bin, а затем нарезан на разделы утилитой dd по адресам, полученным из /proc/mtd: 128 КиБ, модифицированный Ralink-версией U-Boot 1.1.3 (mtd0), далее раздел ядра Linux (mtd1), 6,6 МиБ SquashFS-файловой системы (mtd2, распакована unsquashfs), и по 64 КиБ на разделы конфигурации, romfile, rom и radio (mtd3, mtd6). Принадлежность прошивки Ralink-версии U-Boot автор подтвердил строкой «Ralink UBoot Version», найденной в разделе ядра.
Разобрав файловую систему, автор обнаружил открытые (незашифрованные) захардкоженные учётные данные, оставленные предыдущим владельцем устройства, причём один из паролей сохраняется даже после полного сброса роутера к заводским настройкам. В разделе mtd3 нашёлся захардкоженный WPS-пароль в открытом виде, тот же, что напечатан на наклейке снизу роутера, и отдельно PPPoE-логин и пароль провайдера, по домену в адресе (@unitiair) принадлежавшие, судя по всему, прежнему владельцу; связь с прежним владельцем автор подтвердил через OSINT, и эти данные пережили заводской сброс. В разделе mtd2 автор нашёл логин администратора admin:admin и несолёный MD5-хеш пароля из /etc/passwd.bak, который взломал утилитой hashcat до admin:1234. Отдельно автор ссылается на CVE-2026-4346, ранее найденную уязвимость в другой модели TP-Link с похожим хранением учётных данных в открытом виде.
Ключевые факты
- Купил TP-Link TL-841N(EU) за $10 на Facebook Marketplace
- Через UART (115200 бод) получил root-шелл и снял прошивку по TFTP посекторно (mtd0, mtd6)
- Параллельно снял полный дамп флеш-чипа GD25Q64CSIG (3,3 В) программатором CH341A прямо с платы
- Распаковал SquashFS-раздел (mtd2, 6,6 МиБ) и нашёл в нём открытые захардкоженные учётные данные предыдущего владельца
- Один из найденных паролей сохраняется даже после полного сброса роутера к заводским настройкам
Почему это важно
История показывает, что «заводской сброс» бывшего владельца не гарантирует чистое устройство. Автор поста купил б/у роутер TP-Link TL-841N(EU) всего за $10 и, вскрыв прошивку, нашёл открытые захардкоженные учётные данные прежнего хозяина, причём один из паролей пережил полный сброс настроек. Для рынка б/у сетевого оборудования это прямой сигнал: устройство может хранить чужие секреты глубже, чем показывает админ-панель.
Кому это важно
Материал полезен энтузиастам hardware hacking и специалистам по безопасности IoT, как разбор полного цикла работы с недорогим роутером: от поиска UART до снятия и разбора прошивки. Пригодится и тем, кто покупает б/у сетевое оборудование: риск унаследовать чужие пароли реален даже после сброса к заводским настройкам.
Как это применить
Автор задокументировал два независимых способа снять прошивку. Первый, через UART: он нашёл маркированные контакты на плате, подключился USB-UART-адаптером на скорости 115200 бод и получил root-доступ к консоли роутера. Через /proc/mtd он определил разделы флеш-памяти (mtd0, mtd6) и по очереди скопировал их через RAM-диск /var (~6,4 МиБ) на компьютер по TFTP командами вида cat /dev/mtdN > /var/dump.bin. Второй способ, прямое снятие дампа с флеш-чипа GD25Q64CSIG (3,3 В) программатором CH341A без разбора платы, командой flashrom --programmer ch341a_spi -r modem.bin, с последующей нарезкой единого дампа на разделы утилитой dd по смещениям из /proc/mtd. Файловую систему раздела mtd2 (SquashFS, 6,6 МиБ) он распаковал утилитой unsquashfs и нашёл в ней открытые пароли предыдущего владельца.
Можно ли доверять
Источник, личный технический блог автора (juni-mp4.com), пост набрал 92 голоса и 18 комментариев на Hacker News, что говорит о положительной оценке сообщества специалистов. Все шаги описаны подробно и воспроизводимо, с командами, распиновкой и адресами разделов флеш-памяти, что повышает доверие к техническому содержанию. Статья доведена до конца: разбор mtd2 и mtd3 в ней есть, а принадлежность найденных PPPoE-кредов прежнему владельцу автор устанавливает через проверку по данным ISP-аккаунта (OSINT), а не голословно.
Риски и подводные камни
Практика хардварного взлома требует аккуратности: автор отдельно предупреждает, что перед подключением программатора нужно проверить напряжение флеш-чипа (у разных чипов оно бывает 3,3 В или 1,8 В), ошибка может повредить чип. Для покупателей б/у IoT-устройств главный риск в другом: производитель может закладывать в прошивку служебные учётные данные, которые не удаляются штатным сбросом к заводским настройкам, и предыдущий владелец рискует оставить в устройстве доступ к своим данным или сети даже после того, как формально его «обнулил».
«Инструмент извлечения прошивки для бедных»
— автор поста, о программаторе CH341A
Компания Meta Platforms признана экстремистской организацией, её деятельность на территории РФ запрещена.