exploits áá»á¬ážáááºáá®ážááŒááºážááŸáá·áº á ááºážáááºááŒááºážá¡ááœáẠtoolkit ááŸáá·áº Linux kernel modules áá»á¬ážá ááááá¯á¶áž (v1.0.0) áá¬ážááŸááºážááᯠáá¯ááºáá±ááá¯ááºáá«áááºá
out-of-tree ááẠááá·áºá¡á¬áž kernel modules áá»á¬ážááŸáá·áº exploits áá»á¬ážááᯠá¡ááŸá¬ážááŸá¬ááŒááºážá¡ááœáẠáááºáááºážáá»ááºáá»á¬ážááᯠáááºáá®ážáááºá exploit reliability ááááºážááááºážáá»á¬ážááᯠáááºáá®ážáá±ážááŒá®áž CI (Continuous Integration) ááœáẠá¡ááœááºááá° áá±á«ááºážá ááºááá¯ááºááŸá¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
kernel module áá áºáá¯á á® ááá¯á·ááá¯áẠexploit áá áºáá¯á á®ááᯠ.out-of-tree.toml ááá¯ááºáá áºáá¯ááŒáá·áº áá±á¬áºááŒáá¬ážááŒá®ážá ááá¯á¡ááºáá±á¬ áááºáááºážáá»ááºááŸáá·áº áááºáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááŸáá·áº áá¯á¶ááŒá¯á¶áá±ážááá¯ááºáᬠáá»á±á¬á·áá«ážáááºáá¬ááŸá¯áá»á¬áž ááŸááá±áá»áááºááœáẠáá¯ááºáá±á¬ááºááŸá¯á¡áá±á«áº ááá·áºáááºáá»ááºáá»á¬áž (exploit ááŒá áºáá«á) ááá·áºáááºáá»ááºáá»á¬áž áá±á¬áºááŒáááºá
áááááá¬á¡á á¯á¶ááẠá¡á¬ážáááºážáá»ááºáá áºáá¯ááŒá±á¬áá·áº áááºáá±á¬ááºááá·áº áá®ážááŒá¬áž kernel áá¬ážááŸááºážáá»á¬ážááᯠááœá²ááŒá¬ážáááºááŸááºááá¯ááºá á±ááá·áºá¡ááŒáẠ(--guess command ááᯠá¡áá¯á¶ážááŒá¯á) ááŸáá·áº áá®ážááŒá¬ážáá»á°ážááœááºááŸá¯á¡ááœáẠbinary ááŸá¬ááœá±ááŸá¯áá»á¬ážááᯠááá¯ážááŸááºážá á±áááºáááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á¡á±á¬ááºááœáẠáá¬ážááŸááºáž v0.2 ááááºážá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá á¬áááºážááŒá áºáááºá
Added
-
âmax= ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±ážáá±á¬ (out-of-tree kernel autogen) á á±á·áá»á¬áž (.out-of-tree.toml) ááœáẠáá±á¬áºááŒáá»ááºá¡áá±á«áº á¡ááŒá±áá¶á áá¯ááºáá±ážááá·áº (out-of-tree pew) á¡áá±á¡ááœááºááᯠááá·áºáááºááá¯ááºá áœááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá X áá±á¬ááºá
-
áááá»áá±á¬ááŒáá·áºááŒá°ážááŸá¯ááŸáá·áºáá¬ážááŸááºážá¡ááœáẠkernels á¡á¬ážáá¯á¶ážááá¯áá¯ááºáá¯ááºááœáá·áºááŒá¯ááá·áº genall command á¡áá áºá
-
ááŸááºáááºážá¡á¬ážáá¯á¶ážááᯠááᯠsqlite3 áá±áá¬áá±á·á áºááœáẠááááºážáááºážáá¬ážáááºá ááá¯ážááŸááºážáá±á¬ áááŒá¬áá ááá¯á¡ááºáá±á¬ áá±ážááœááºážáá»á¬ážá¡ááœáẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážá¡ááŒáẠáá±áá¬ááᯠjson ááŸáá·áº markdown ááá¯á· áááºááá¯á·ááŒááºážá
-
á¡á±á¬ááºááŒááºáá±á¬ áááºáááºááŸá¯ ááŒá áºááá¯ááºááŒá±ááᯠááœááºáá»ááºááŒááºáž (áááẠááœáŸáá·áºáááºááŸá¯áá»á¬ážá¡áá±á«áº á¡ááŒá±áá¶á)
-
áááºáá±á¬ááºááŸá¯ááááºáá»á¬ážááá¯ááááºážáááºážáááºá áœááºážááẠ(áá áºáááºááŒááºá pew á¡áááá·áºá¡ááœáẠ--dist áá±á¬ááºá¡áá áº)
-
host á áá áºááœáẠááá·áºááœááºážáá¬ážáá±á¬ kernels áá»á¬ážá¡ááœáẠmetadata áá¯ááºáá±ážááŒááºážá¡ááŒáẠhost áá±á«áºááœáẠááá¯ááºááá¯ááºáááºáá±á¬ááºááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
-
Third-party kernels á¡ááœááºáá¶á·ááá¯ážááŸá¯á
-
áá áºáááºááŒááºáááŸá á¡ááŸá¬ážááŸá¬ááŒááºáááºáááºážáá»ááºááẠááá¯á¡áá« áááºáá¶á áá áºááŸá á¡ááŸá¬ážááŸá¬áááºá¹áá±ááá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠááŸá¬ááœá±áááºá
-
á¡ááŸá¬ážááŸá¬ááŒááºáá±á ááºá¡ááœááºáž KASLRá SMEPá SMAP ááŸáá·áº KPTI á¡áá¶áá»á¬ážááᯠááœáá·áº/ááááºááŒááºážááŒáá·áº áá¯á¶ááŒá¯á¶áá±ážáá»á±á¬á·áá«ážáááºáá¬á á±ááẠá á®áá¶ááá¯ááºá áœááºážááᯠáá±á«ááºážááá·áºáá¬ážáááºá
-
--threads=N parameter ááᯠout-of-tree pew testing command ááá¯á· áá±á«ááºážááá·áºáá²á·ááŒá®ážá áááºážááẠexploits áá»á¬ážááŸáá·áº kernel module áá»á¬ážááᯠáááºáá±á¬ááºáááº/áá¯ááºáá±á¬ááºáááºá á ááºážáááºááá·áº threads á¡áá±á¡ááœááºááᯠáááºááŸááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
-
ááŸááºáááºážááœáẠááŸááºáááºážáááºáá¬ážááá·áº áááºáá áºáá¯ááᯠáááºááŸááºááá¯ááºááŒá®áž á á¬áááºážááá¬ážáá»á¬ážááᯠááœááºáá»ááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
-
áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááá¯ááá¯á¶ážáá² kernel áá¬ážááŸááºážááᯠáááºááŸááºááá¯ááºááá·áºá áœááºážáááºááᯠááá·áºááœááºážáá¬ážáááºá
-
ááá¯ááºáááºážááŒá±á¬ááºážááœá²áá»á¬ážááŸá exploits áá»á¬ážááŸáá·áº kernel modules áá»á¬ážááᯠá¡á á¯ááá¯ááºá¡ááŒá¯á¶ááá¯ááºá ááºážáááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº pack command á¡áá áºá
-
exploit ááŸáá·áº kernel module á¡ááœáẠconfiguration (.out-of-tree.toml) ááœáẠKASLRá SMEPá SMAP ááŸáá·áº KPTI ááᯠááááºááá¯ááºááá·áº á áœááºážáááºááᯠááá·áºááœááºážáá¬ážááŒá®áž ááá¯á¡ááºáá±á¬ cores ááŸáá·áº memory á¡áá±á¡ááœááºááᯠáááºááŸááºáá±ážáá¬ážáá«áááºá
-
ááá¯á¡áá« kernel autogen áááºáááºáá±áá»áááºááœáẠáá¯á¶áá»á¬áž (rootfs) áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºáá±ážáá«áááºá bootstrap áááá¯á¡ááºáá±á¬á·áá«á
-
CentOS kernels á¡ááœáẠáá¶á·ááá¯ážááŸá¯á
á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž
-
ááá¯á ááŒáá·áºáá±ááŸá¯á ááá¯á¡ááºáá±á¬áá¬ážááŸááºážá¡ááœáẠáá¯ááºáá¯á¶ (rootfs) áááŸááá«áá á¡áá®ážá ááºáá¯á¶ážáá¬ážááŸááºážá áá¯ááºáá¯á¶ááᯠáá¯á¶ážááẠááŒáá¯ážá á¬ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áº Ubuntu 18.04 á¡ááœáẠUbuntu 18.10 áá¯á¶á
-
ááᯠkernel modules á¡ááœáẠá ááºážáááºááŸá¯áá»á¬áž áá»á±á¬ááºáá¯á¶ážáá±áá«á áá»ááŸá¯á¶ážááŸá¯áá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážáááºááá¯ááºáá« (á ááºážáááºááŸá¯áá»á¬ážáááŸááá« - á¡ááŸá¬ážá¡ááœááºážáá»á¬ážáááŸááá«á)
-
cores áá áºáá¯áá¯ááœáẠá¡áááºážáá¯á¶áž á¡ááá·áºáá áºáᯠ(áááºáá±á¬ááºáááºá á áááºááŒááºáž ááá¯á·ááá¯áẠá ááºážáááºááŸá¯) áá¡á±á¬ááºááŒááºáá«á ááᯠááŒááºá-áá áºáááºááẠá¡áá¯ááºááá¹ááᬠá¡ááŸá¬ážáá¯ááºááᯠááŒááºáá±ážáá«áááºá
-
ááá±á¬áá»ááºááẠGo modules áá»á¬ážááá¯á¡áá¯á¶ážááŒá¯á GO111MODULE=on ááŒáá·áºáááºáá±á¬ááºááŒááºážááᯠááá¯á¡áá« ááá¯ááá¯ááŸá áºáááºáááºá
-
áá¯á¶áá±á ááºážáááºááŸá¯áá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá
-
${TARGET}_test ááŸá á ááºážáá±ážááœá²ááᯠMakefile ááœáẠá¡áá±á¬ááºá¡áááºááá±á¬áºáá«á Test.sh ááᯠááá¯á¡áá« áá°áááºážá¡ááá¯ááºáž á¡áá¯á¶ážááŒá¯áá«áááºá
-
kernel ááŸááºáááºážááᯠkernel module áá áºáá¯ááá¯ááºáá±á¬ááºáá® ááá¯á·ááá¯áẠexploit ááá¯ááºáá®ááœáẠkernel ááŸááºáááºážááᯠáááŸááºážáááºážáá±á¬á·áá«á á¡áá»áá¯á·áá±á¬ exploit áá»á¬ážááẠKASLR ááá¯áá»á±á¬áºááŒááºááẠdmesg ááŸá kernel base ááá¯á ááá·áºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá ááá¯á·ááŒá±á¬áá·áº ááŸááºážáááºážááŒááºážááẠexploit á á¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážáá±á¬ logic ááᯠáá»áá¯ážáá»ááºááá¯ááºáááºá
-
qemu/kvm ááẠááᯠhost áááá¯áááºáá¬á áá¯ááºáá±á¬ááºááá¯ááºá áœááºážá¡á¬ážáá¯á¶ážááᯠá¡áá¯á¶ážááŒá¯áááºá
áááºááŸá¬ážáá²á·áááºá
-
Kernel á ááºáá¯á¶ ááá¯ážááŒáá·áºáá¬áá±á¬ Dockerfiles áá»á¬ážááᯠá¡ááŒá±áá¶á kernel áá»áá¯ážáááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒá±á¬áá·áº áá¯á¶ážááááºááŸá¬ážááá¯ááºáá«áááºá
-
bootstrap á áááŒá¬ážáá¬á០ááá¯ááºáá«áá°ážá áá±á¬ááºááœááºááŸáááŸá¯ááœáẠá¡áááá·áºááᯠáááºááŸá¬ážáá«áááºá
ááŒááºáá±ážáááºá
-
macOS ááœááºá GNU coreutils ááá¯áááºáááºáááºáááá¯á¡ááºáá±á¬á·áá«á
-
á¡áá»áá¯á·áá±á¬á áá áºáá»á¬ážááœáẠdocker á¡ááœááºážááŸá á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááŒá±á¬áá·áº áá¬áá®ááá¯ááºáá»á¬ážááᯠ~/.out-of-tree/tmp/ ááá¯á· ááœáŸá±á·áá¬ážáááºá
source: linux.org.ru