ngaphandle komthi i-v1.0.0 - izixhobo zokuphuhlisa kunye nokuvavanya ukuxhaphaka kunye neemodyuli ze-Linux kernel


ngaphandle komthi i-v1.0.0 - izixhobo zokuphuhlisa kunye nokuvavanya ukuxhaphaka kunye neemodyuli ze-Linux kernel

Inguqulelo yokuqala (v1.0.0) ye-out-of-tree, i-toolkit yokuphuhlisa kunye nokuvavanya i-exploits kunye ne-Linux kernel modules, yakhululwa.

ngaphandle komthi kukuvumela ukuba wenze ngokuzenzekelayo ezinye izenzo zesiqhelo ukuze wenze iimeko-bume zokulungisa iimodyuli ze-kernel kunye nokuxhaphaza, ukuvelisa izibalo zokuthembeka kwe-exploit, kunye nokubonelela ngokukwazi ukudibanisa ngokulula kwi-CI (Uhlanganiso oluqhubekayo).

Imodyuli nganye ye-kernel okanye i-exploit ichazwa yifayile .out-of-tree.toml, echaza ulwazi malunga nokusingqongileyo okufunekayo kunye (ukuba kukuxhaphaza) izithintelo ekusebenzeni phambi kokunciphisa okuthile kokhuseleko.

Izixhobo zezixhobo zikuvumela ukuba uchonge iinguqulelo ezithile zekernel ezichatshazelwa sesichengeni (usebenzisa i --guess command), kwaye ingasetyenziswa ukwenza lula uphendlo lokubini lwesibophelelo esithile.

Apha ngezantsi kukho uluhlu lweenguqu ukususela kwinguqulelo v0.2.

Yongeziwe

  • Kuphunyezwe ukukwazi ukunciphisa inani le-kernel autogen evelisiweyo (ngaphandle kwe-tree-tree kernel autogen) (ngokusekelwe kwinkcazo kwi-.out-of-tree.toml) kunye ne-check runs (out-of-tree pew) usebenzisa i--max= X ipharamitha.

  • Umyalelo omtsha we-genall, okuvumela ukuba uvelise zonke iikernel zonikezelo oluthile kunye noguqulelo.

  • Zonke iilog ngoku zigcinwe kwi-sqlite3 database. Iphunyeziwe imiyalelo yemibuzo elula efunwa rhoqo, kunye nokuthumela ngaphandle idatha kwi-json kunye nokuphawula.

  • Ukwenziwa kwezibalo zamathuba okusebenza ngempumelelo (ngokusekwe kusungulo lwangaphambili).

  • Ukukwazi ukugcina iziphumo zokwakha (entsha --dist iparamitha yomyalelo wepew ongaphandle komthi)

  • Inkxaso yokuvelisa i-metadata yeenkozo ezifakwe kwinkqubo yokusingatha, kunye nokwakha ngokuthe ngqo kumamkeli.

  • Inkxaso yeenkozo zeqela lesithathu.

  • Imeko-bume ye-debug engaphandle komthi ngoku ikhangela ngokuzenzekelayo iisimboli zolungiso kwindlela yokusingatha.

  • Ukongezwa ukukwazi ukulawula ukuthomalalisa ukhuseleko ngokuvumela / ukukhubaza iiflegi KASLR, SMEP, SMAP kunye ne-KPTI ngexesha lokulungiswa kweempazamo.

  • Yongezwe i--threads=N ipharamitha kumyalelo wokuvavanya i-pew engaphandle komthi, enokusetyenziswa ukucacisa inani lemisonto ekunokwakhiwa kuyo/kuqhutywe kwaye kuvavanywe ukuxhaphaza kunye neemodyuli zekernel.

  • Ukukwazi ukuseta ithegi eya kubhalwa kwilog kwaye ingasetyenziselwa ukubala izibalo.

  • Yongeze ukukwazi ukukhankanya uguqulelo lwe kernel ngaphandle kokusebenzisa amabinzana aqhelekileyo.

  • Umyalelo wepakethi entsha, esetyenziselwa ukuvavanywa kobuninzi bezinto ezisetyenzisiweyo kunye neemodyuli ze-kernel kumacandelo angaphantsi.

  • Kubumbeko (.out-of-tree.toml) kwimodyuli ye-exploit kunye ne-kernel, ukukwazi ukukhubaza i-KASLR, i-SMEP, i-SMAP kunye ne-KPTI yongezwe, kunye nokucacisa inani elifunekayo leentloko kunye nememori.

  • Ngoku imifanekiso (rootfs) ilayishwa ngokuzenzekelayo ngelixa i-kernel autogen isebenza. I-bootstrap ayisafuneki.

  • Inkxaso ye-CentOS kernel.

Utshintsho

  • Ngoku, ukuba akukho mfanekiso (i-rootfs) yenguqu efunekayo yokusabalalisa, ngaphandle komthi kuya kuzama ukusebenzisa umfanekiso wenguqu esondeleyo. Umzekelo, Ubuntu 18.04 umfanekiso we-Ubuntu 18.10.

  • Ngoku iimvavanyo zeemodyuli ze-kernel aziyi kuthathwa njengokusilela ukuba zilahlekile (akukho vavanyo - akukho mpazamo!).

  • Ngoku ngaphandle komthi kuya kubuya ikhowudi yempazamo engalunganga ukuba ubuncinci inqanaba elinye (ukwakha, ukuqaliswa okanye uvavanyo) kuyo nayiphi na ikhowudi ayiphumelelanga.

  • Iprojekthi itshintshele ekusebenziseni iimodyuli zeGo, ukwakha ngeGO111MODULE=on kuyakhethwa ngoku.

  • Iimvavanyo ezimiselweyo zongezwa.

  • Uvavanyo.sh ngoku luya kusetyenziswa ngokungagqibekanga ukuba indibano kwi ${TARGET}_test ayiphunyezwanga kwiMakefile.

  • Ushicilelo lwe kernel alusacocwa phambi kokuqhuba imodyuli ye kernel okanye exploit. Ezinye zezenzo zokuxhaphaza zisebenzisa isiseko sekernel evuzayo kwi-dmesg ukugqitha i-KASLR, ngoko ke ukucoca kunokwaphula ingqiqo ephunyeziweyo ye-exploit.

  • qemu/kvm ngoku isebenzisa bonke ubunakho bomqhubekekisi wamamkeli.

Isusiwe

  • Umzi-mveliso weKernel isuswe ngokupheleleyo ngenxa yokuphunyezwa kokuveliswa kwekernel esekwe kuhlaziyo olunyukayo lweDockerfiles.

  • I-bootstrap ayenzi enye into. Umyalelo uya kususwa kukhupho olulandelayo.

Ilungisiwe

  • Kwi-macOS, ii-coreutils ze-GNU azisafuneki ukuba ziqhube.

  • Iifayile zexeshana ziye zasiwa ~/.out-of-tree/tmp/ ngenxa yeemposiso ezinyukayo ngaphakathi kwidokhi kwezinye iinkqubo.

umthombo: linux.org.ru

Yongeza izimvo