Egy ATM feltörése QR kóddal

Az IOActive Labs hozzáfért néhány Lamassu Douro ATM-hez. Ez lehetőséget biztosított számukra arra, hogy felmérjék ezeknek az eszközöknek a biztonságát és megpróbálják elérni a teljes ellenőrzést felettük.

Miután javították a hibákat, kiadtak egy  bejegyzést, amiben ismertetik az összes lépést a teljes ellenőrzés elérése érdekében. A teszt során egy támadó szerepét vették fel, aki ugyanolyan fizikai hozzáféréssel rendelkezik az eszközhöz, mint egy átlagos ügyfél.

A rendszerindítás után a képernyőn megjelenik a kioszk elsődleges alkalmazásának felhasználói felülete. A rendszerindítás során a felhasználó néhány másodpercig interakcióba léphet a Linux operációs rendszer ablakkezelőjével, ami idő alatt lehetőségük volt terminálablakot előhozni és alacsony jogosultságú felhasználóként bármilyen más telepített alkalmazást futtatni.

Az eszköz feletti teljes irányítás megszerzéséhez szükség volt a jogosultságok kiterjesztésére. Ehhez a szoftverfrissítési mechanizmust használták ki. Létrehoztak egy /tmp/extract/package/updatescript.js nevű fájlt egy payloaddal. Ezután létrehoztak egy done.txt nevű fájlt a /tmp/extract mappában. Ez elindítja a watchdog folyamatot, amely root-ként fut a vizsgált gépeken, hogy végrehajtsa a JavaScript payloadot.

Bár kaptak hozzáférést a grafikus felülethez és a terminálhoz, nem volt csatlakoztatva billentyűzet. Az ATM támogat egy funkciót, amely lehetővé teszi a QR-kódok olvasását, és a /usr/bin/zbarcam címen található bináris program az érintésvezérlés segítségével futtatható volt, így egy egyedi QR-kódot készítettek, amely a payload-ot tartalmazta. Ennek beolvasása után egy root shell ugrott fel.

A root hozzáférés megszerzése után megnézték az /etc/shadow fájlt, ahol kevesebb, mint egy perc alatt sikerült feltörniük a root jelszót – és ugyanaz a jelszó volt érvényes az összes eszközön.

Az IOActive felelősségteljes közzétételi eljárásokat követett, amelyek a következőket tartalmazták:

  • július 11. – Első kapcsolatfelvétel a sebezhetőségek bejelentésére.
  • október 9. – A gyártó megerősítette, hogy a problémákat kijavították.
  • október 25. – A gyártó kérte, hogy késleltessék a sebezhetőségek részleteinek közzétételét.
  • november 22. – A gyártó közzétett egy tanácsadást, amelyben megemlítette, hogy a problémákat kijavították.
  • január 18. – A CVE-k közzététele.

(labs.ioactive.com)