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