Sebuah teknik baru ditemukan untuk mengeksploitasi kerentanan di SQLite

versi SQLite yang rentan

Los Peneliti Check Point baru-baru ini mengungkapkan dalam konferensi DEF dengan detailnya dari teknik baru yang ditemukan, ini digunakan pUntuk menyerang aplikasi yang menggunakan versi SQLite yang rentan.

Metode Check Point menganggap file database sebagai peluang untuk mengintegrasikan skenario eksploitasi kerentanan di berbagai subsistem SQLite internal yang tidak dapat diakses untuk eksploitasi dahi. Para peneliti juga mengembangkan teknik untuk mengeksploitasi kerentanan dengan mengeksploitasi coding dalam bentuk string query SELECT dalam database SQLite, yang memungkinkan ASLR dihindari.

Tentang kerentanan

Para peneliti Check Point merinci itu Untuk serangan yang berhasil, penyerang harus dapat mengubah file database dari aplikasi yang diserang, yang membatasi metode penyerangan aplikasi yang menggunakan database SQLite sebagai format untuk transit dan input data.

Meskipun mereka juga mengungkapkan bahwa metode tersebut juga dapat digunakan untuk memperluas akses lokal yang telah diperoleh, misalnya, untuk mengintegrasikan pintu belakang yang tersembunyi dalam aplikasi yang digunakan, serta untuk menghindari peneliti keamanan saat menganalisis perangkat lunak jahat.

Operasi setelah penyamaran file dilakukan pada saat aplikasi menjalankan permintaan SELECT pertama ke tabel dalam database yang dimodifikasi.

Sebagai contoh, kemampuan untuk menjalankan kode di iOS saat membuka buku alamat telah didemonstrasikan, file dengan database «Buku Alamat.sqlitedb»Yang dimodifikasi menggunakan metode yang diusulkan.

Untuk serangan itu, kerentanan digunakan dalam fungsi fts3_tokenizer (CVE-2019-8602, kemampuan untuk mendereferensi penunjuk), diperbaiki dalam pembaruan SQLite 2.28 April, bersama dengan kerentanan lain dalam implementasi fungsi jendela.

Selain itu, mendemonstrasikan penggunaan metode penyitaan remote control server backend dari penyerang yang ditulis dalam PHP, yang mengakumulasi kata sandi yang dicegat selama operasi kode berbahaya (kata sandi yang dicegat ditransfer dalam bentuk database SQLite).

Metode serangan didasarkan pada penggunaan dua teknik, Query Hijacking dan Query Oriented Programming, yang memungkinkan masalah sewenang-wenang yang menyebabkan kerusakan memori di mesin SQLite untuk dieksploitasi.

Inti dari "Query hijacking" adalah mengganti konten kolom "sql" di tabel layanan sqlite_master yang mendefinisikan struktur database. Bidang yang ditentukan berisi blok DDL (Data Definition Language) yang digunakan untuk mendeskripsikan struktur objek dalam database.

Deskripsi diatur menggunakan sintaks SQL normal, yaitu. Konstruksi "CREATE TABLE", yang dilakukan selama inisialisasi database (selama eksekusi pertama fungsi sqlite3LocateTable) digunakan untuk membuat struktur internal yang terkait dengan tabel di memori.

Idenya adalah sebagai hasil dari penggantian "CREATE TABLE" dan "CREATE VIEW, dimungkinkan untuk mengontrol akses apa pun ke database melalui definisi dari tampilannya.

Di sisi lain, dengan menggunakan perintah "CREATE VIEW", operasi "SELECT" dilampirkan ke tabel, yang akan dipanggil alih-alih "CREATE TABLE" dan memungkinkan penyerang untuk mengakses berbagai bagian interpreter SQLite.

Selain itu, cara termudah untuk menyerang adalah dengan memanggil fungsi "load_extension", yang memungkinkan penyerang untuk dapat memuat pustaka arbitrer dengan ekstensi tersebut, tetapi fungsi ini dinonaktifkan secara default.

Untuk melakukan serangan di bawah kondisi kemampuan untuk melakukan operasi SELECT, teknik pemrograman berorientasi kueri diusulkan, yang memungkinkan mengeksploitasi masalah di SQLite yang menyebabkan kerusakan memori.

Teknik ini mengingatkan pada Pemrograman Berorientasi Kembali (ROP), tetapi menggunakan cuplikan kode mesin yang tidak ada, tetapi dimasukkan ke dalam satu set subkueri dalam SELECT untuk membangun rantai panggilan ("gadget").

sumber: https://threatpost.com/


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.