LINUX.ORG.RU
ФорумTalks

Уязвимость в прошивке TP-Link SR20

 , , poc, ,


0

1

Подробности тут: https://twitter.com/mjg59/status/1111106885736787975

PoC: https://pastebin.com/GAzccR95

It's been over 90 days since I reported it and @TPLINK never responded, so: arbitrary command execution on the TP-Link SR20 smart hub and router (and possibly other TP-Link device)

TP-Link routers frequently run a process called «tddp» (TP-Link Device Debug Protocol) as root. It's had multiple vulnerabilities in the past and the protocol is fairly well documented. Version 1 has no auth, version 2 requires the admin password.

The SR20 still exposes some version 1 commands, one of which (command 0x1f, request 0x01) appears to be for some sort of configuration validation. You send it a filename, a semicolon and then an argument.

The router then connects back to the requesting machine over TFTP, requests the filename via TFTP, imports it into a LUA interpreter and passes the argument to the config_test() function in the file it just imported. The interpreter is running as root.

The os.execute() method allows you to execute whatever you want, and you're running as root, so victory. tddp is listening on all interfaces but the default firewall rules block WAN access, so this is local network only.

Anyway, stop shipping debug daemons on production firmware and if you're going to have a webform to submit security issues then have someone actually respond to it.

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

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

Deleted
()

Даже если бы у меня и был этот тыпылинк, сток жил бы на нем не больше времени, необходимого для компиляции опенврт ;)

ncrmnt ★★★★★
()

А что, кто-то ещё покупает дешманские TPLink'и не для последующей перепрошивки на OpenWRT ?

Я считаю, что разрабам из TPL, стоило-бы официально поставлять на своих роутерах OpenWRT. И денег-бы сэкономили, и уважение от айтишников получили-бы.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 1)
Ответ на: комментарий от Deleted

1) Лучшая проработанность и большая функциональность.

2) Расширяемость.

3) Более высокая безопасность и меньшая забагованность (в сравнении со стоковыми прошивками TPlink'а (которые, насколько я помню тоже основаны на OpenWRT, хоть и старом)).

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Ответ на: комментарий от Deleted

Ну и поддержка у OpenWRT несравненно лучше чем у стоковых прошивок TPL. Просто потому что над OpenWRT работает больше народу.

DawnCaster ★★
()
Ответ на: комментарий от DawnCaster

Ну и поддержка у OpenWRT несравненно лучше чем у стоковых прошивок TPL

Для всех роутеров, или только для определённого списка?

Deleted
()
Ответ на: комментарий от DawnCaster

А что, кто-то ещё покупает дешманские TPLink'и не для последующей перепрошивки на OpenWRT

Внезапно: чем дороже девайс, тем меньше проблем с заливкой OpenWRT, в том смысле, что не надо корячиться с TFTP, Rescue Boot, шинами и прочим гемором. Так что девайсы, в итоге, далеко не дешманские. В последний раз, ЕМНИП, ценник начинался с 2500 с бесплатным купоном на дрочево через TFTP.

DarkAmateur ★★★★
()
Последнее исправление: DarkAmateur (всего исправлений: 2)
Ответ на: комментарий от Deleted

Ну... Я больше всего из их роутеров юзал те что самые недорогие и на чипсетах ar71xx. И там всегда родные прошивки были сильно хуже по функционалу чем OpenWRT. Новости об уязвимостях в родных прошивках на роутерах из этой линейки точно были и неоднократно, в том числе они упоминались и на этом форуме.

Думается мне что и у более дорогих роутеров у них примерно такое-же твориться с прошивками.

DawnCaster ★★
()
Ответ на: комментарий от DarkAmateur

Внезапно: чем дороже девайс, тем меньше проблем с заливкой OpenWRT

Это от девайса зависит. Ходят слухи, что на дорогих 5GHz моделях из-за требований FCC там начали лочить загрузчик, и залить что-то сторонее стало куда сложнее. Я сам такие роутеры TPL шить ещё не пытался, просто где-то слышал подобные слухи. Ну и с учётом «неофициального» статуса сторонних прошивок и возможности получить кирпич с некоторой вероятностью, я всегда подпаиваюсь к аппаратному UART'у чтобы был доступ к консоли и UBOOT'у. А там уже можно что угодно и куда угодно залить, бекапнуть, и.т.д, раз уж накатывать стороннюю прошивку, то по хардкору.

DawnCaster ★★
()
Ответ на: комментарий от Deleted

А сколько именно у вас flash/ram ? Потому что у меня LEDE 17.01.4 и более старый OpenWRT 15.05 прекрасно работает на роутере с 32 метрами ОЗУ и 8 метрами флеша. Да не просто работает, а ещё и крутит одну мою самописную утилитку в LXC песочнице с внешней флешки.

DawnCaster ★★
()
Ответ на: комментарий от DarkAmateur

Не хочу паять, хочу просто OpenWRT.

Поверьте, это оказалось куда проще чем я думал. Нужны всего три провода, 10 КOм-ный резистор и UART->USB конвертер. Получаемые в результате удобства перекрывают весь геморрой с пайкой: хочешь ведро отлаживай, хочешь экспериментируй.

DawnCaster ★★
()
Ответ на: комментарий от DarkAmateur

Фуфло это всё: всё прекрасно работает. Свободного ОЗУ остаётся около половины, а если мало - то можно на время неиспользования выключать LUCI, что дополнительно повышает безопасность также.

Нет, наверное, в будущем, более новые версии не смогут полноценно работать на такой конфигурации. Там точно помню что были какие-то проблемы с портированием новых LTS ядер на эти роутеры. Но текущие версии вполне работают, да и текущие LTS ядра поддерживаться будут ещё долго.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Ответ на: комментарий от Deleted

Флеша мало, это да. Нужно хотя-бы 8. На 4-х можно установить с внешним корнем на флешке, но это не очень удобно. Хотя у меня в хозяйстве у родителей трудится один такой, и ничего. Обновлять такой колхоз сложно.

А 32 метра ОЗУ для основных задач вполне хватает пока. Работающий на такой конфигурации функционал уж точно будет не хуже того что был на стоковой прошивке.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 3)
Ответ на: комментарий от DawnCaster

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

Deleted
()
Ответ на: комментарий от Deleted

4 мб флеша и 32 мб ОЗУ

Если собрать кастомную прошивку, без ненужных вещей, то современный OpenWRT будет работать нормально.

BusyBox v1.28.4 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06-SNAPSHOT, r6907+724-7e15e21766
 -----------------------------------------------------
root@OpenWrt:~# free -m
             total       used       free     shared    buffers     cached
Mem:         28356      14024      14332          0       1360       4036
-/+ buffers/cache:       8628      19728
Swap:            0          0          0
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 1.5M      1.5M         0 100% /rom
/dev/mtdblock3            5.3M    280.0K      5.0M   5% /overlay
overlayfs:/overlay        5.3M    280.0K      5.0M   5% /
root@OpenWrt:~# cat /proc/cpuinfo 
system type		: Atheros AR9132 rev 2
machine			: TP-LINK TL-WR1043ND
processor		: 0
cpu model		: MIPS 24Kc V7.4
BogoMIPS		: 265.42
wait instruction	: yes
microsecond timers	: yes
tlb_entries		: 16
extra interrupt vector	: yes
hardware watchpoint	: yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa			: mips1 mips2 mips32r1 mips32r2
ASEs implemented	: mips16
shadow register sets	: 1
kscratch registers	: 0
package			: 0
core			: 0
VCED exceptions		: not available
VCEI exceptions		: not available

(тут правда флеша в два раза больше, но он и не занят почти)

Deleted
()
Ответ на: комментарий от Deleted

Ну я читал, что если выкинуть веб-морду, то прошивка влезет. Только я не хочу через консоль всё настраивать.

Deleted
()
Ответ на: комментарий от Deleted

замени spi флешку на 256мбит, будет всё влезать вместе с web мордой.

ktk ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.