out-of-tree v1.0.0 - parabot pikeun ngembangkeun sarta nguji exploits sarta modul kernel Linux Ubuntu


out-of-tree v1.0.0 - parabot pikeun ngembangkeun sarta nguji exploits sarta modul kernel Linux Ubuntu

Versi munggaran (v1.0.0) tina out-of-tree, toolkit pikeun ngembangkeun sareng nguji eksploitasi sareng modul kernel Linux, dileupaskeun.

out-of-tree ngidinan Anjeun pikeun ngajadikeun otomatis sababaraha lampah rutin pikeun nyieun lingkungan pikeun debugging modul kernel na exploits, ngahasilkeun statistik reliabiliti mangpaatkeun, sarta ogé nyadiakeun kamampuhan pikeun gampang ngahijikeun kana CI (Continuous Integration).

Unggal modul kernel atawa mangpaatkeun digambarkeun ku file .out-of-tree.toml, nu nangtukeun informasi ngeunaan lingkungan diperlukeun tur (lamun eta mangrupakeun mangpaatkeun) larangan dina operasi ku ayana mitigations kaamanan tangtu.

Toolkit ogé ngamungkinkeun anjeun pikeun ngaidentipikasi versi kernel khusus anu kapangaruhan ku kerentanan (ngagunakeun paréntah --guess), sareng ogé tiasa dianggo pikeun nyederhanakeun milarian binér pikeun komitmen khusus.

Di handap ieu daptar parobahan saprak versi v0.2.

Katambah

  • Dilaksanakeun kamampuhan pikeun ngawatesan jumlah dihasilkeun (out-of-tree kernel autogen) kernels (dumasar kana pedaran dina .out-of-tree.toml) jeung pariksa jalan (out-of-tree pew) ngagunakeun —max= Parameter X.

  • Paréntah genall anyar, anu ngamungkinkeun anjeun ngahasilkeun sadaya kernel pikeun distribusi sareng versi khusus.

  • Sadaya log ayeuna disimpen dina database sqlite3. Paréntah anu dilaksanakeun pikeun patarosan anu sering diperyogikeun, ogé ngékspor data ka json sareng markdown.

  • Dilaksanakeun itungan kamungkinan operasi suksés (dumasar kana peluncuran saméméhna).

  • Kamampuhan pikeun nyimpen hasil ngawangun (parameter --dist anyar pikeun paréntah bangku gereja kaluar-tangkal)

  • Rojongan pikeun ngahasilkeun metadata pikeun kernels dipasang dina sistem host, kitu ogé ngawangun langsung dina host.

  • Rojongan pikeun kernels pihak katilu.

  • Lingkungan debug out-of-tree ayeuna sacara otomatis milarian simbol debugging dina sistem host.

  • Ditambahkeun kamampuan pikeun ngatur mitigasi kaamanan kalayan ngaktifkeun / nganonaktipkeun bendera KASLR, SMEP, SMAP sareng KPTI nalika debugging.

  • Nambahkeun parameter --threads=N kana paréntah pangujian bangku gereja kaluar-of-tree, anu tiasa dianggo pikeun nangtukeun jumlah benang pikeun ngawangun / ngajalankeun sareng nguji eksploitasi sareng modul kernel.

  • Kamampuhan pikeun nyetél tag anu bakal dirékam dina log teras tiasa dianggo pikeun ngitung statistik.

  • Ditambahkeun kamampuan pikeun nangtukeun versi kernel tanpa nganggo ekspresi biasa.

  • Paréntah pak anyar, dianggo pikeun nguji massal eksploitasi sareng modul kernel dina subdirektori.

  • Dina konfigurasi (.out-of-tree.toml) pikeun mangpaatkeun sarta modul kernel, kamampuhan pikeun nganonaktipkeun KASLR, SMEP, SMAP na KPTI geus ditambahkeun, kitu ogé nangtukeun jumlah diperlukeun cores na memori.

  • Ayeuna gambar (rootfs) dimuat sacara otomatis nalika kernel autogen dijalankeun. bootstrap henteu diperyogikeun deui.

  • Rojongan pikeun kernels CentOS.

Parobihan

  • Ayeuna, upami teu aya gambar (rootfs) kanggo versi distribusi anu diperyogikeun, out-of-tree bakal nyobian nganggo gambar tina versi anu paling caket. Contona, gambar Ubuntu 18.04 pikeun Ubuntu 18.10.

  • Ayeuna tés pikeun modul kernel moal dianggap gagal upami aranjeunna leungit (henteu aya tés - henteu aya kasalahan!).

  • Ayeuna kaluar-of-tangkal bakal balik kode kasalahan négatip lamun sahanteuna hiji tahap (ngawangun, ngajalankeun atawa nguji) dina salah sahiji cores gagal.

  • Proyék parantos ngalih ka ngagunakeun modul Go, ngawangun sareng GO111MODULE=on ayeuna langkung dipikaresep.

  • Ditambahkeun tés standar.

  • Test.sh ayeuna bakal dianggo sacara standar upami rakitan di ${TARGET}_test henteu dilaksanakeun dina Makefile.

  • Log kernel henteu deui diberesihan sateuacan ngajalankeun modul kernel atanapi mangpaatkeun. Sababaraha exploits ngagunakeun kernel base bocor di dmesg pikeun bypass KASLR, jadi cleanup bisa megatkeun logika dilaksanakeun exploit.

  • qemu / kvm ayeuna nganggo sadaya kamampuan prosesor host.

Dipiceun

  • Pabrik kernel sagemblengna dipiceun alatan palaksanaan generasi kernel dumasar kana incrementally diropéa Dockerfiles.

  • bootstrap teu ngalakukeun nanaon sejenna. Paréntah bakal dihapus dina release salajengna.

Dilereskeun

  • Dina macOS, GNU coreutils henteu kedah dijalankeun deui.

  • file samentara geus dipindahkeun ka ~/.out-of-tree/tmp/ alatan kasalahan ningkatna jero docker on sababaraha sistem.

sumber: linux.org.ru

Tambahkeun komentar