Një teknikë e re për shfrytëzimin e dobësive në SQLite është prezantuar

Kërkuesit nga kompania Check Point zbuluan në konferencën DEF CON, detajet për teknikën e re të sulmeve ndaj aplikacioneve që përdorin versione të dobësuara të SQLite. Metoda e Check Point shqyrton skedarët me DB si një mundësi për integrimin e skenarëve të shfrytëzimit të dobësive në sisteme të ndryshme të brendshme të SQLite, të paqasshme për shfrytëzim direkt. Kërkuesit gjithashtu kanë përgatitur një teknikë për shfrytëzimin e dobësive duke aktivizuar eksploitin në formën e një vargu SELECT-kërkesash në DB-në SQLite, e cila mundëson kalimin e ASLR.

Për një sulm të suksesshëm është e nevojshme që të ketë mundësinë e modifikimit të skedarëve të DB-së së aplikacioneve në shënjestër, gjë që e kufizon metodën në sulme ndaj aplikacioneve që përdorin DB-në SQLite si format për të dhënat tranzitore dhe hyrëse. Metoda gjithashtu mund të përdoret për të zgjeruar aksesin lokal që është arritur, për shembull, për integrimin e backdoor-ve të fshehta në aplikacionet në përdorim, si dhe për të anashkaluar mekanizmat e mbrojtjes gjatë analizës së malware-it. Shfrytëzimi pas zëvendësimit të skedarit realizohet në momentin kur aplikacioni kryen kërkesën e parë SELECT ndaj tabelës në DB-në e modifikuar.

Si shembull është demonstruar mundësia e ekzekutimit të kodit në iOS kur hapet lista e adresave, skedari me DB-në "AddressBook.sqlitedb" i modifikuar duke përdorur metodën e propozuar. Për sulmin u përdor një dobësi në funksionin fts3_tokenizer (CVE-2019-8602, mundësia e dereferencimit të pointerit), e rregulluar në përditësimin e prillit të SQLite 2.28, së bashku me dobësi të tjera në implementimin e funksioneve dritare. Përveç kësaj, është demonstruar përdorimi i metodës për kapjen e largët të kontrollit mbi serverin e backend-it të shkruar në PHP nga sulmuesit, të cilët mbledhin fjalëkalime të kapura gjatë funksionimit të kodit të keq (fjalëkalimet e kapura u dërguan në formën e një DB-je SQLite). në realizimin e funksioneve të dritareve. Për më tepër, është demonstruar aplikimi i metodës për kapjen e kontrollit nga larg mbi një server backend të shkruar në PHP nga personat keqbërës, të cilët realizonin grumbullimin e fjalëkalimeve, të kapura gjatë funksionimit të kodit të dëmshëm (fjalëkalimet e kapura u dërguan në formën e një databaze SQLite).

Metoda e sulmit bazohet nĂ« pĂ«rdorimin e dy teknikave „Query Hijacking“ dhe „Query Oriented Programming“, qĂ« lejojnĂ« shfrytĂ«zimin e problemeve tĂ« rastĂ«sishme qĂ« çojnĂ« nĂ« dĂ«mtimin e memories nĂ« motorin SQLite. Thelbi i „Query Hijacking“ Ă«shtĂ« zĂ«vendĂ«simi i pĂ«rmbajtjes sĂ« fushĂ«s „sql“ nĂ« tabelĂ«n e shĂ«rbimit sqlite_master, e cila pĂ«rcakton strukturĂ«n e DB-sĂ«. Kjo fushĂ« pĂ«rmban njĂ« bllok DDL (Data Definition Language), i cili pĂ«rdoret pĂ«r tĂ« pĂ«rshkruar strukturĂ«n e objekteve nĂ« DB. PĂ«rcaktimi jepet duke pĂ«rdorur sintaksĂ«n standarde SQL, pra pĂ«rdoret konstruksioni „CREATE TABLE“
i cili ekzekutohet gjatë procesit të inicializimit të DB-së (në kohën e lançimit të parë
funksioni sqlite3LocateTable) për të krijuar strukturat e brendshme të lidhura me tabelën në memorie.

Ideja Ă«shtĂ« qĂ«, si rezultat i zĂ«vendĂ«simit tĂ« „CREATE TABLE“ me „CREATE VIEW“, shfaqet mundĂ«sia pĂ«rmes pĂ«rcaktimit tĂ« pamjes tuaj pĂ«r tĂ« kontrolluar çdo referencĂ« nĂ« DB. Me ndihmĂ«n e „CREATE VIEW“, operacioni „SELECT“ i lidhur me tabelĂ«n do tĂ« thirret nĂ« vend tĂ« „CREATE TABLE“, duke lejuar aksesin nĂ« pjesĂ« tĂ« ndryshme tĂ« interpreterit SQLite. MĂ« pas, mĂ«nyra mĂ« e thjeshtĂ« pĂ«r tĂ« sulmuar do tĂ« ishte thirrja e funksionit „load_extension“, qĂ« lejon ngarkimin e njĂ« biblioteke tĂ« rastĂ«sishme me njĂ« zgjerim, por ky funksion Ă«shtĂ« çaktivizuar nga parazgjedhja.

PĂ«r tĂ« realizuar sulmin nĂ« kushte qĂ« lejojnĂ« ekzekutimin e operacionit „SELECT“, Ă«shtĂ« propozuar teknika „Query Oriented Programming“, qĂ« ofron mundĂ«sinĂ« pĂ«r tĂ« shfrytĂ«zuar problemet nĂ« SQLite qĂ« çojnĂ« nĂ« dĂ«mtimin e memories. Teknikat ngjajnĂ« me programimin e orientuar nĂ« kthim (ROP, Return-Oriented Programming), por pĂ«rdorin pĂ«r ndĂ«rtimin e zinxhirĂ«ve tĂ« thirrjeve („gadgets“) jo fragmente ekzistuese tĂ« kodit tĂ« makinĂ«s, por futje nĂ« grupin e nĂ«npyetjes brenda SELECT.

Një teknikë e re për shfrytëzimin e dobësive në SQLite është prezantuar

Një teknikë e re për shfrytëzimin e dobësive në SQLite është prezantuar

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster