Otkrivena je nova tehnika za iskorištavanje ranjivosti u SQLiteu

ranjive verzije SQLitea

The Istraživači Check Pointa nedavno su otkrili na konferenciji DEF s detaljima nove tehnike koja je otkrivena, ovo se koristi strZa napad na programe koji koriste ranjive verzije SQLitea.

Metoda Check Point datoteke datoteka vidi kao priliku za integriranje scenarija iskorištavanja ranjivosti u raznim unutarnjim podsustavima SQLite koji nisu dostupni za iskorištavanje čela. Istraživači su također razvili tehniku ​​za iskorištavanje ranjivosti s exploit kodiranjem u obliku niza SELECT upita u SQLite bazi podataka, što omogućava izbjegavanje ASLR-a.

O ranjivosti

Istraživači Check Pointa to detaljno opisuju za uspješan napad, napadač mora biti u mogućnosti mijenjati datoteke baze podataka napadnutih aplikacija, što ograničava metodu napada koji koriste SQLite baze podataka kao format za tranzit i ulazne podatke.

Iako oni također otkrivaju da se metoda također može koristiti za proširenje lokalnog pristupa koji je već dobiven, na primjer, za integriranje skrivenih stražnjih vrata u korištene programe, kao i za izbjegavanje istraživača sigurnosti prilikom analize zlonamjernog softvera.

Operacija nakon lažnog predstavljanja datoteke izvodi se u trenutku kada aplikacija izvršava prvi SELECT zahtjev za tablicu u modificiranoj bazi podataka.

Kao primjer, dokazana je sposobnost pokretanja koda na iOS-u prilikom otvaranja adresara, datoteka s bazom podataka «Adresar.sqlitedb»Koji je izmijenjen predloženom metodom.

Za napad, korištena je ranjivost u funkciji fts3_tokenizer (CVE-2019-8602, mogućnost preusmjeravanja pokazivača), popravljeno u ažuriranju SQLite 2.28 iz travnja, zajedno s još jednom ranjivošću u provedbi prozorskih funkcija.

Osim toga, pokazuje upotrebu metode za daljinsko upravljanje pljenidbom pozadinskog poslužitelja od napadača napisanih na PHP-u, koji akumulira presretnute lozinke tijekom rada zlonamjernog koda (presretnute lozinke prenesene su u obliku SQLite baze podataka).

Metoda napada temelji se na korištenju dviju tehnika, otmici upita i programiranju usmjerenom na upite, koje omogućuju iskorištavanje proizvoljnih problema koji dovode do oštećenja memorije u SQLite mehanizmu.

Suština "otmice upita" je zamjena sadržaja polja "sql" u uslužnoj tablici sqlite_master koja definira strukturu baze podataka. Navedeno polje sadrži blok DDL (jezik definicije podataka) koji se koristi za opisivanje strukture objekata u bazi podataka.

Opis se postavlja korištenjem uobičajene sintakse SQL, tj. Konstrukcija "CREATE TABLE" koja se izvodi tijekom inicijalizacije baze podataka (tijekom prvog izvršavanja funkcije sqlite3LocateTable) koristi se za stvaranje unutarnjih struktura povezanih s tablicom u memoriji.

Ideja je da kao rezultat zamjene "STVORI TABELU" i "STVORI POGLED, moguće je kontrolirati bilo koji pristup bazi podataka putem definicije njezina prikaza.

S druge strane, pomoću naredbe "CREATE VIEW", tablici je pridružena operacija "SELECT" koja će se pozvati umjesto "CREATE TABLE" i omogućuje napadaču pristup raznim dijelovima interpretatora SQLite.

Uz to, najlakši način napada bio bi pozivom funkcije "load_extension", koja napadaču omogućuje učitavanje proizvoljne knjižnice s proširenjem, ali ta je funkcija prema zadanim postavkama onemogućena.

Za izvođenje napada pod uvjetima mogućnosti izvođenja operacije SELECT predložena je tehnika programiranja orijentirana na upit koja omogućuje iskorištavanje problema u SQLiteu koji dovode do oštećenja memorije.

Tehnika podsjeća na programiranje usmjereno na povratak (ROP), ali koristi nepostojeće isječke strojnog koda, ali je umetnuta u skup podupita unutar SELECT-a za izgradnju lanca poziva ("gadgeti").

izvor: https://threatpost.com/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.