Otkrivena je nova tehnika za iskorištavanje ranjivosti u SQLiteu

ranjive verzije SQLitea

u Istraživači Check Pointa nedavno su otkrili na konferenciji DEF sa detaljima nove tehnike koja je otkrivena, ovo se koristi strZa napad na aplikacije koje koriste ranjive verzije SQLitea.

Metoda Check Point datoteke datoteka vidi kao priliku za integraciju scenarija iskorištavanja ranjivosti u raznim internim SQLite podsistemima koji nisu dostupni za eksploataciju čela. Istraživači su takođe razvili tehniku ​​za iskorištavanje ranjivosti pomoću exploit kodiranja 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, koji ograničava metod napada aplikacija koje koriste SQLite baze podataka kao format za tranzit i ulazne podatke.

Ipak oni takođe otkrivaju da se metoda takođe može koristiti za proširenje lokalnog pristupa koji je već stečen, na primjer, za integriranje skrivenih stražnjih vrata u korištene aplikacije, 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, prikazana je sposobnost pokretanja koda na iOS-u prilikom otvaranja adresara, datoteka sa bazom podataka «Adresar.sqlitedb»Koji je modifikovan predloženom metodom.

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

Takođe, demonstrira upotrebu metode za daljinsko upravljanje zapljenom pozadinskog servera od napadača napisanim u PHP-u, koji akumulira presretnute lozinke tijekom rada zlonamernog koda (presretnute lozinke su prenesene u obliku SQLite baze podataka).

Metoda napada temelji se na korištenju dvije tehnike, otmici upita i programiranju usmjerenom na upite, koje omogućavaju 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 servisnoj 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 pomoću normalne SQL sintakse, tj. Konstrukcija "CREATE TABLE", koja se izvodi tijekom inicijalizacije baze podataka (tijekom prvog izvršavanja funkcije sqlite3LocateTable) koristi se za stvaranje internih 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 kroz definiciju njenog prikaza.

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

Uz to, najlakši način napada bio bi pozivom funkcije "load_extension", koja omogućava napadaču da može učitati proizvoljnu biblioteku s ekstenzijom, ali ova je funkcija po defaultu onemogućena.

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

Tehnika podsjeća na povratno orijentirano programiranje (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 komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.