-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Zdobył roota na radiu w swoim Nissanie. Wystarczyło odpowiednio nazwać nośnik USB…

27 stycznia 2021, 22:09 | W biegu | komentarzy 8

Ciekawa historia, która finalnie doprowadziła do w miarę prostego zdobycia roota na radiu (czy raczej systemie multimedia) w Nissanie Xterra, który należał do badacza.

Na początek badacz zastanawiał się czy zamiast pendrive z muzyką dałoby się do portu USB podłączyć jakieś inne urządzenie? Np. klawiaturę. W tym celu użył narzędzia umap2scan, odpalił skanowanie i po chwili:

[ALWAYS] Found 1 supported device(s) (out of 1098):
[ALWAYS] 0. vid:pid 077b:2226, vendor: Linksys, product: USB200M 100baseTX Adapter,
driver: drivers/net/usb/asix_devices.c, info: device not reached set configuration state

Czyli możemy podłączyć kartę sieciową na USB :) Np. taką:

Co dalej? DHCP nie działał w tej sieci, ale sniffowanie ruchu na karcie pokazało pakiety wysłane z adresu IP: 172.17.0.1

Dalej – skanowanie portów i okazało się… że na tej maszynie nic nie słucha, jednak port 22 nie jest filtrowany na firewallu (co oznaczało, że jeśli uda się odpalić w jakiś sposób sshd na maszynce – uda się tam dostać).

Ale jak to zrobić? Jakiego loginu i hasła użyć? Tutaj badacz postanowił zakupić drugie (powypadkowe) urządzenie:

A następnie podpiąć się do jego portu szeregowego:

W trakcie bootowania pokazał się U-Boot:

[    0.009674]
[    0.009698] U-Boot 2010.03-00391-gf3b3496 (May 15 2014 - 16:53:57) for NEC NEmid
[    0.009754]
[    0.009772] (C) 2009-2010 Robert Bosch Car Multimedia, CM-AI/PJ-CF32, Dirk Behme
[    0.009830] CPU:      MPCore at 400MHz
[    0.009866] U-Boot    #1 (env @ 0x40080000)

A cały proces można było przerwać naciśnięciem dowolnego klawisza oraz zmienić parametry bootowania. To w miarę standardowa technika dostawania się do shella tego typu urządzenia (zauważcie poniżej init=/bin/sh).

setenv bootargs console=${console},115200n8n mem=${linuxmem} maxcpus=${cores} root=/dev/${rootdev} rootwait lpj=1994752 panic=${panic} panic_on_oops=${panic_on_oops} usbcore.rh_oc_handler=1 4 init=/bin/sh

No więc badacz miał interaktywnego roota na żywym urządzeniu, w /etc/passwd konto roota zostało zdefiniowane bez hasła (hurrra!). Ale jak odpalić sshd?

Okazało się, że po podłączeniu pendrive do urządzenia, odpalał się pewien skrypt, w którym udało się namierzyć pewną podatność. Otóż zawartość nośnika montowała się do katalogu:

/dev/media/$mountdir

$mountdir ustawiany był z kolei tak (w przypadku kiedy pendrive nie miał zdefiniowanego UUID)

mountdir=${ID_FS_LABEL}

Po udanym (bądź nie) montowaniu odpalała się jeszcze binarka logger. Finalny atak wyglądał więc tak:

  1. Przygotowanie pendrive, który nie miał ustawionego UUID, ale miał ustawioną nazwę: ../../usr/bin
  2. Na pendrive przygotowanie skryptu o nazwie logger, który uruchamiał sshd z urządzenia (ew. dowolne inne polecenie ;)
  3. Wrzucenie pendrive do systemu multimedia

W tym momencie zawartość pendrive montuje się do /dev/media/../../usr/bin
Czyli w /usr/bin na urządzeniu znajduje się zawartość naszego pendrive.

Teraz odpalana miała być binarka logger. No i jest odpalana – ale w /usr/bin siedzi nasza wersja logger :) (jest to tak naprawdę skrypt shellowy odpalający sshd). Teraz już możemy naszą kartą sieciową logować się na roota (bez hasła). Co było do pokazania ;)

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Dj

    Ojojo… i jak tu żyć :D

    Odpowiedz
  2. Michał

    Ludzka pomysłowość nie zna granic. Jeśli chodzi o sposób dojścia do tego jak i o sam umap2scan, nie wiedziałem nawet że coś takiego istnieje :).

    Odpowiedz
  3. Andrzej

    Ciekawe, aczkolwiek co się da z tym zrobić? Czy nissan umożliwia sterowanie parametrami jazdy lub np. awaryjne hamowanie?

    Odpowiedz
    • to jest tylko moduł multimedia

      Odpowiedz
      • asdsad

        W czasach wszędobylskiego CAN, pewnie da się przeskoczyć na sterownik klimy, z niego zatelnetować do komputera świateł, z którego prostą drogą przez moduł komfortu, webasto i ABS, wbijemy się do silnika ;)

        Odpowiedz
        • Jasio Plasio

          Mogę się mylić, ale z tego co się orientuję, magistrala „krytyczna” jest odseparowana od mediów

          Odpowiedz
  4. Bartosz

    No to sobie Kodi zainstaluje…

    Odpowiedz
  5. Paweł

    Takie sobie … niby jakaś dziura jest ale mając takie auto i radio, ktoś mi się do niego włamie ?

    Odpowiedz

Odpowiedz