out-of-tree v1.0.0 - alat untuk membangun dan menguji eksploitasi dan modul kernel Linux


out-of-tree v1.0.0 - alat untuk membangun dan menguji eksploitasi dan modul kernel Linux

Versi pertama (v1.0.0) out-of-tree, kit alat untuk membangun dan menguji eksploitasi dan modul kernel Linux, telah dikeluarkan.

out-of-tree membolehkan anda mengautomasikan beberapa tindakan rutin untuk mencipta persekitaran untuk menyahpepijat modul dan eksploitasi kernel, menjana statistik kebolehpercayaan eksploit, dan juga menyediakan keupayaan untuk menyepadukan dengan mudah ke dalam CI (Integrasi Berterusan).

Setiap modul kernel atau eksploitasi diterangkan oleh fail .out-of-tree.toml, yang menentukan maklumat tentang persekitaran yang diperlukan dan (jika ia adalah eksploitasi) sekatan ke atas operasi dengan kehadiran pengurangan keselamatan tertentu.

Kit alat ini juga membolehkan anda mengenal pasti versi kernel tertentu yang terjejas oleh kerentanan (menggunakan arahan --guess), dan juga boleh digunakan untuk memudahkan carian binari untuk komit tertentu.

Di bawah ialah senarai perubahan sejak versi v0.2.

Ditambah oleh

  • Melaksanakan keupayaan untuk mengehadkan bilangan kernel yang dijana (autogen kernel luar pokok) (berdasarkan penerangan dalam .out-of-tree.toml) dan semak larian (bangku luar pokok) menggunakan β€”max= Parameter X.

  • Perintah genall baharu, yang membolehkan anda menjana semua kernel untuk pengedaran dan versi tertentu.

  • Semua log kini disimpan dalam pangkalan data sqlite3. Perintah yang dilaksanakan untuk pertanyaan mudah yang kerap diperlukan, serta mengeksport data ke json dan penurunan harga.

  • Pengiraan kebarangkalian operasi yang berjaya dilaksanakan (berdasarkan pelancaran sebelumnya).

  • Keupayaan untuk menyimpan hasil binaan (parameter --dist baharu untuk arahan bangku luar pokok)

  • Sokongan untuk menjana metadata untuk kernel yang dipasang pada sistem hos, serta membina terus pada hos.

  • Sokongan untuk kernel pihak ketiga.

  • Persekitaran nyahpepijat di luar pokok kini mencari simbol penyahpepijatan secara automatik pada sistem hos.

  • Menambah keupayaan untuk mengurus pengurangan keselamatan dengan dayakan/lumpuhkan bendera KASLR, SMEP, SMAP dan KPTI semasa penyahpepijatan.

  • Menambah parameter --threads=N pada perintah ujian bangku luar pokok, yang boleh digunakan untuk menentukan bilangan utas untuk membina/menjalankan dan menguji eksploitasi dan modul kernel.

  • Keupayaan untuk menetapkan tag yang akan direkodkan dalam log dan kemudiannya boleh digunakan untuk mengira statistik.

  • Menambah keupayaan untuk menentukan versi kernel tanpa menggunakan ungkapan biasa.

  • Perintah pek baharu, digunakan untuk ujian besar-besaran eksploitasi dan modul kernel dalam subdirektori.

  • Dalam konfigurasi (.out-of-tree.toml) untuk modul eksploit dan kernel, keupayaan untuk melumpuhkan KASLR, SMEP, SMAP dan KPTI telah ditambah, serta menentukan bilangan teras dan memori yang diperlukan.

  • Kini imej (rootfs) dimuatkan secara automatik semasa kernel autogen sedang berjalan. bootstrap tidak lagi diperlukan.

  • Sokongan untuk kernel CentOS.

Perubahan

  • Sekarang, jika tiada imej (rootfs) untuk versi pengedaran yang diperlukan, out-of-tree akan cuba menggunakan imej versi terdekat. Sebagai contoh, imej Ubuntu 18.04 untuk Ubuntu 18.10.

  • Sekarang ujian untuk modul kernel tidak akan dianggap gagal jika ia hilang (tiada ujian - tiada ralat!).

  • Sekarang out-of-tree akan mengembalikan kod ralat negatif jika sekurang-kurangnya satu peringkat (bina, pelancaran atau ujian) pada mana-mana teras gagal.

  • Projek ini telah beralih kepada menggunakan modul Go, membina dengan GO111MODULE=on kini lebih disukai.

  • Menambah ujian lalai.

  • Test.sh kini akan digunakan secara lalai jika pemasangan dalam ${TARGET}_test tidak dilaksanakan dalam Makefile.

  • Log kernel tidak lagi dibersihkan sebelum menjalankan modul kernel atau mengeksploitasi. Beberapa eksploitasi menggunakan kebocoran asas kernel dalam dmesg untuk memintas KASLR, jadi pembersihan boleh memecahkan logik yang dilaksanakan eksploitasi.

  • qemu/kvm kini menggunakan semua keupayaan pemproses hos.

Dialih keluar

  • Kilang Kernel dikeluarkan sepenuhnya kerana pelaksanaan penjanaan kernel berdasarkan fail Docker yang dikemas kini secara berperingkat.

  • bootstrap tidak melakukan apa-apa lagi. Perintah akan dialih keluar dalam keluaran seterusnya.

Dibetulkan

  • Pada macOS, coreutils GNU tidak lagi diperlukan untuk dijalankan.

  • Fail sementara telah dialihkan ke ~/.out-of-tree/tmp/ kerana ralat pemasangan di dalam docker pada sesetengah sistem.

Sumber: linux.org.ru

Tambah komen