Înapoi la Noutăți
Amenințări

Telefonul și-a dat singur acces de shell

RatHat apasă de șapte ori pe Build Number, pornește Wireless Debugging, își citește propriul cod de împerechere de pe ecran și se conectează la dispozitivul pe care rulează deja. Apoi îți reconstruiește PIN-ul din locul în care ai apăsat.

Telefonul și-a dat singur acces de shell

O aplicație de Android nu îți poate citi PIN-ul în timp ce îl tastezi. Tastatura aparține altei aplicații, evenimentele de atingere merg la sistem, iar sandbox-ul există tocmai ca să țină o aplicație departe de treburile alteia.

RatHat ocolește asta nerămânând o aplicație.

Secvența

După ce victima instalează APK-ul din afara magazinului — distribuit prin mesaje frauduloase, reclame malițioase și portaluri false de descărcare, deghizat în serviciu de streaming sau în browser — malware-ul folosește pagini de momeală localizate ca s-o convingă să acorde permisiunea Accessibility.

Tot ce urmează e automat, iar dispozitivul își face asta singur:

1 Atingeri sintetice deschid Setari si Optiuni pentru dezvoltatori 2 Build Number e apasat de sapte ori 3 Wireless Debugging e activat 4 Se deschide ecranul de imperechere 5 Codul de imperechere din sase cifre si portul dinamic sunt citite de pe ecranul pe care malware-ul il urmareste deja 6 O implementare ADB incorporata se imperecheaza cu daemonul ADB local al telefonului

Fără cablu USB. Fără calculator. Telefonul se împerechează cu el însuși, iar malware-ul deține acum un context de shell cu privilegii pe care nicio aplicație Android obișnuită nu le poate obține.

Permisiunea Accessibility e ce a acordat victima. Accesul la nivel de shell e ce a luat malware-ul odată cu ea.

De acolo se instalează două binare Go, deghizate în biblioteci native: liblocal-service.so, agent local privilegiat care rulează din /data/local/tmp, și libmedia_codec.so, un client de proxy invers care deschide un tunel permanent către operator.

Nu îți citește PIN-ul. Îl reconstruiește.

Asta e capabilitatea care merită înțeleasă, pentru că demontează o presupunere pe care majoritatea oamenilor o au fără s-o formuleze.

Agentul Go apelează utilitarul getevent din Android ca să monitorizeze /dev/input și să înregistreze coordonatele brute ale atingerilor, cu marcaje de timp. Aplicațiile obișnuite nu pot citi acele noduri — contextul de shell obținut prin Wireless Debugging e ce face posibil lucrul ăsta.

Coordonatele sunt apoi transformate înapoi în valori, printr-un fișier de configurare pe care malware-ul îl aduce cu el, locateValues.json.

Deci malware-ul nu are nevoie să vadă conținutul unei tastaturi securizate. Îi trebuie doar să știe unde ți-a aterizat degetul și ce se afla la acele coordonate. PIN-uri, modele de deblocare și parole sunt reconstruite din geometrie.

În paralel rulează suprapuneri HTML peste aplicații de banking, plăți, criptomonede și mesagerie, interceptează SMS-uri și notificări ca să capteze coduri unice, înregistrează evenimentele de modificare a textului și extrage adrese direct din bara de adrese a browserului — Chrome și Samsung Internet sunt ambele vizate explicit.

Partea cu AI, la dimensiunea ei reală

Majoritatea relatărilor pun AI-ul în titlu. Merită un paragraf, nu un titlu.

RatHat serializează arborele de accesibilitate viu în XML și trimite porțiuni dintr-el către un asistent comercial de AI generativ. Prompturile — scrise în chineză, ceea ce face parte din atribuire — cer trei lucruri: coordonatele centrului unui element de interfață numit, textul vizibil efectiv al unui element și o instrucțiune de navigare de tipul SCROLL_DOWN.

Asta e înțelegerea interfeței, externalizată. Beneficiul pentru operator e durabilitatea: un script de automatizare scris fix se rupe în clipa în care o bancă își redesenează un ecran, iar ăsta nu se rupe. E aceeași constatare pe care a raportat-o echipa de threat intelligence a Google la începutul lunii — atacatorii folosesc AI pentru adaptabilitate și eficiență, nu pentru capabilități pe care nu le aveau înainte.

Merită notată o consecință pe care autorii malware-ului poate n-au cântărit-o. Operațiunea depinde de un serviciu AI terț, căruia îi trimite continuu structura ecranelor vii ale victimelor. E în același timp o dependență și o pârghie.

Ștergerea aplicației nu înseamnă eliminarea malware-ului

RatHat rulează două componente care se restaurează reciproc. Ștergi aplicația malițioasă, iar agentul privilegiat o reinstalează; elimini agentul, iar aplicația îl pune la loc.

Se opune și direct dezinstalării: malware-ul interceptează fereastra de confirmare, anulează operațiunea și afișează o suprapunere falsă de Google Play, cu un mesaj de eroare plauzibil. Pentru utilizator pare că ștergerea a eșuat din motive obișnuite.

Adaugă deasupra tehnicile anti-analiză — alterarea containerului APK, un manifest umflat deliberat la circa șase megaocteți și pseudoinstrucțiuni DEX invalide, menite să strice uneltele de analiză — iar concluzia practică e că un dispozitiv care a parcurs tot lanțul de infecție trebuie resetat de pe o imagine de încredere, nu curățat.

Ce ai de făcut

Pe orice telefon Android, azi, un minut:

Deschide Setări, caută Accesibilitate și uită-te ce aplicații au acea permisiune. Pe majoritatea telefoanelor, lista corectă e un cititor de ecran sau nimic.

E a doua familie de Android despre care scriem în două săptămâni și care se învârte integral în jurul acelei singure permisiuni. E verificarea cu cel mai mare randament disponibilă unui utilizator obișnuit de telefon și aproape nimeni n-a făcut-o vreodată.

Merită verificat și dacă Opțiunile pentru dezvoltatori sunt activate pe un telefon unde nu-și amintește nimeni să le fi pornit și dacă Wireless Debugging e pornit. Niciuna n-ar trebui să fie, pe un telefon folosit pentru banking.

Regula care previne tot lanțul: nu instala fișiere APK din afara Google Play și lasă Play Protect pornit.

Pentru organizații:

  1. Tratează codurile unice prin SMS ca fiind compromise pe orice dispozitiv posibil afectat. Malware-ul ăsta le citește la sosire, ca oricare altul din clasa lui. Autentificarea rezistentă la phishing e răspunsul, iar am făcut punctul ăsta în trei articole separate luna asta.
  2. Dacă un telefon personal ajunge la e-mailul sau la sistemele companiei, e o problemă a companiei. Suprapunerile captează credențialele, interceptarea notificărilor captează al doilea factor, iar PIN-ul de blocare se recuperează din geometria atingerilor.
  3. Conformitatea dispozitivului ca o condiție de acces nu cere administrarea telefonului personal al unui angajat. Cere decizia că unul neadministrat nu ajunge la datele companiei.

4Tify evaluează care dintre factorii tăi de autentificare depind de dispozitive pe care organizația nu le controlează. Dacă vrei o cartografiere, scrie-ne.

DISTRIBUIE