Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Jeśli ktoś jest nowy w temacie podatności na TP-Linkach, warto zobaczyć moje poprzednie badanie (można zacząć od tego, a mięso – tutaj).
Tym razem na warsztacie mamy 2 urządzenia – oba to w dość nowe modele zapewniające komunikację w standardzie WiFi 802.11ac:

Archer C20i

Archer C2
Historia jest dość prosta: na początek przechwycimy request HTTP wykonywany przez urządzenie w momencie uruchamiania funkcji ping:

Warto zwrócić uwagę, że login i hasło wymagane do wysłania tego requestu są zakodowane w Base64 (nagłówek Cookie). Co się jednak stanie jeśli nie podam danych uwierzytelniających? Otrzymam odpowiedź z kodem 403 Forbidden:

Jednak… można do requestu dołożyć nagłówek Referer z wartością będącą adresem urządzenia (prywatnym lub publicznym) i w ten sposób… ominąć uwierzytelnienie (error 0 na zrzucie poniżej oznacza…brak błędu :)

Jak wykonać wstrzyknięcie kodu w OS? Tak:

Tylko ten request nic nie wykonuje… urządzenie się nie rebootuje. Żeby kod się wykonał potrzebny jest drugi (również nieuwierzytelniony) request http:

Jak widać response już nie przychodzi… A tymczasem ping zachowuje się tak:

Na koniec – jak uzyskać już interaktywnego roota? Prosty PoC wygląda tak (z inżynierami TP-Linka potwierdziłem, że wstrzyknięcie kodu działa również przez Internet – jeśli panel administracyjny jest wystawiony na publicznym adresie IP):



c.d.n
Podziękowania też dla inżynierów TP-Link Polska za miłą i sprawną współpracę podczas obsługi zgłoszenia.
–Michał Sajdak, pentester w Securitum.
meh, też tak umiem
już mogłeś pokazać zdalny upload busyboxa, z dostępem fizycznym to się mija z celem
Jak napisałem – c d n – poza tym nie ma co dawać scripkiddym za dużo paliwa. Poza tym jak jesteś uważny zapewne zauważysz tam proces dropbear – więc nawet nie bardzo trzeba cokolwiek uploadować ;-)