Esitletud on uus SQLite haavatavustega exploitation'i tehnika

Check Pointi teadlased avaldasid tutvustasid DEF CON konverentsil uusi rĂŒnnaku meetodeid rakendustele, mis kasutavad haavatavaid SQLite versioone. Check Pointi meetod kĂ€sitleb andmebaasifailide vĂ”imalust haavatavuste ekspluiteerimise skriptide integreerimiseks erinevatesse SQLite sisealadesse, mis pole otsesele ekspluiteerimisele avatud. Teadlased on vĂ€lja töötanud ka haavatavuste ekspluiteerimise tehnika, mis kodeerib ekspluudi SQLite andmebaasi SELECT pĂ€ringute ahelana, vĂ”imaldades ASLR-i ĂŒletamist.

Edukaks rĂŒnnakuks on vajalik, et oleks vĂ”imalik manipuleerida rĂŒnnatavate rakenduste andmebaasifailidega, mis piirab meetodi kasutamist rakendustele, mis kasutavad SQLite-d andmevormingina vahe- ja sisendandmete jaoks. Meetodit saab rakendada ka juba saadud kohalikku juurdepÀÀsu laiendamiseks, nĂ€iteks varjatud tagauksete integreerimiseks kasutatavatesse rakendustesse, samuti turvamehhanismide ĂŒletamiseks, mida kasutavad turvauuringud pahavara analĂŒĂŒsimisel. Ekspluateerimine toimib pĂ€rast faili asendamist rakenduse esimese SELECT pĂ€ringu tĂ€itmise ajal muudetud andmebaasis.

NĂ€iteks demonstreeriti koodi kĂ€ivitamise vĂ”imalust iOS-is aadressiraamatu avamisel, mille andmebaasifail "AddressBook.sqlitedb" oli muudetud kasutades pakutud meetodit. RĂŒnnakus kasutati haavatavust fts3_tokenizer funktsioonis (CVE-2019-8602, vajadus dereferentsi nĂ€itaja), mis parandati SQLite-i aprillikuise uuendusega versioonis 2.28, koos teise haavatavusega akenfunktsioonide teostuses. Lisaks demonstreeriti meetodi rakendamist kaugtaseme juhtimise haaramiseks PHP taustaserveri ĂŒle, mis kogus parooli, mis on saadud pahavara kĂ€itamise kĂ€igus (tabatud paroolid edastati SQLite andmebaasi vormis).

RĂŒnnakumeetod pĂ”hineb kahe tehnika, „Query Hijacking“ ja „Query Oriented Programming“, kasutamisel, mis vĂ”imaldavad Ă€ra kasutada juhuslikke probleeme, mis viivad SQLite mootori mĂ€luhĂ€ireteni. „Query Hijacking“ olemus on muutmine sqlite_master sĂŒsteemitabeli „sql“ vĂ€lja sisu, mis mÀÀratleb andmebaasi struktuuri. Antud vĂ€li sisaldab DDL (Data Definition Language) blokki, mida kasutatakse andmebaasi objektide struktuuri kirjeldamiseks. Kirjeldus antakse tavapĂ€rase SQL sĂŒntaksi abil, st kasutatakse konstruktsiooni „CREATE TABLE“.
mis tÀidetakse andmebaasi initsialiseerimise kÀigus (esmakordsel kÀivitamisel
funktsiooni sqlite3LocateTable) jaoks, et luua mÀlus seotud tabeli sisemised struktuurid.

Idee on selles, et, kui asendada „CREATE TABLE“ „CREATE VIEW“ -ga, avaneb vĂ”imalus oma vaate mÀÀratlemise kaudu kontrollida kĂ”iki andmebaasi pĂ€ringuid. Kasutades „CREATE VIEW“, seotakse tabeliga „SELECT“ operatsioon, mis kutsub esile „CREATE TABLE“ ja vĂ”imaldab pÀÀseda ligi erinevatele SQLite tĂ”lgendaja osadele. Edasi kĂ”ige lihtsam rĂŒnnak oleks funktsiooni „load_extension“ kutsumine, mis lubab laadida juhusliku laienduse teegi, kuid see funktsioon on vaikimisi keelatud.

RĂŒnnaku sooritamiseks „SELECT“ operatsiooni Ă”iguse korral on vĂ€lja pakutud tehnika „Query Oriented Programming“, mis vĂ”imaldab Ă€ra kasutada SQLite'is esinevaid mĂ€luhĂ€irete probleeme. Tehnika meenutab tagasipööratud programmeerimist (ROP, Return-Oriented Programming), kuid kasutab oma vĂ€ljakutsumisjadade („gadĆŸeteid“) loomisel mitteeksisteerivaid masinkoodi katkeid, vaid sĂŒntaksit alamsĂŒette pĂ”hjal SELECT-i sees.

Esitletud on uus SQLite haavatavustega exploitation'i tehnika

Esitletud on uus SQLite haavatavustega exploitation'i tehnika

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster