out-of-tree v1.0.0 - Tools fir d'Entwécklung an d'Test vun Ausnotzen a Linux Kernel Moduler


out-of-tree v1.0.0 - Tools fir d'Entwécklung an d'Test vun Ausnotzen a Linux Kernel Moduler

Déi éischt (v1.0.0) Versioun vum Out-of-Bam, e Toolkit fir Exploiten an Linux Kernel Moduler z'entwéckelen an ze testen, gouf verëffentlecht.

Out-of-Baum erlaabt Iech e puer Routine-Aktiounen ze automatiséieren fir Ëmfeld ze kreéieren fir Kernelmoduler an Ausnotzen ze debuggen, Ausbeutungsverlässegkeetsstatistiken ze generéieren, a bitt och d'Fäegkeet fir einfach an CI z'integréieren (Continuous Integration).

All Kernel Modul oder Ausbeutung gëtt vun engem Fichier .out-of-tree.toml beschriwwen, deen Informatioun iwwer dat erfuerdert Ëmfeld spezifizéiert an (wann et en Ausbeutung ass) Restriktiounen op Operatioun a Präsenz vu bestëmmte Sécherheetsmitigatiounen.

D'Toolkit erlaabt Iech och spezifesch Kernel Versiounen z'identifizéieren, déi vun enger Schwachstelle betraff sinn (mat dem Kommando --guess), a kann och benotzt ginn fir binär Sich no engem spezifeschen Engagement ze vereinfachen.

Drënner ass eng Lëscht vun Ännerungen zënter Versioun v0.2.

Bäiginn

  • Implementéiert d'Fäegkeet fir d'Zuel vun generéierten (out-of-tree kernel autogen) kernels ze limitéieren (baséiert op der Beschreiwung an .out-of-tree.toml) a kontrolléiert Lafen (out-of-tree pew) mat der —max= X Parameter.

  • Neie Genall Kommando, wat Iech erlaabt all Kärelen fir eng spezifesch Verdeelung a Versioun ze generéieren.

  • All Logbicher sinn elo an der sqlite3 Datebank gespäichert. Implementéiert Befehle fir einfach dacks gebraucht Ufroen, wéi och Daten op json an Markdown exportéieren.

  • Ëmgesat Berechnung vun der Wahrscheinlechkeet vun erfollegräich Operatioun (baséiert op virdrun lancéiert).

  • D'Kapazitéit fir Bauresultater ze späicheren (neien --dist Parameter fir Out-of-Bam Pew Kommando)

  • Ënnerstëtzung fir Metadaten fir Kernelen ze generéieren déi um Hostsystem installéiert sinn, souwéi direkt op den Host ze bauen.

  • Ënnerstëtzung fir Drëtt Partei Kären.

  • D'out-of-tree Debug Ëmfeld sicht elo automatesch no Debugging Symboler am Hostsystem.

  • D'Fähigkeit bäigefüügt fir Sécherheetsmitigatiounen ze verwalten mat Fändelen KASLR, SMEP, SMAP a KPTI aktivéieren / auszeschalten wärend dem Debugging.

  • Den --threads=N Parameter bäigefüügt fir den Out-of-Baum Pew Test Kommando, dee ka benotzt ginn fir d'Zuel vun de Threads ze spezifizéieren an deenen d'Exploiten a Kernel Moduler bauen / lafen an testen.

  • D'Kapazitéit fir en Tag ze setzen deen am Logbuch opgeholl gëtt a kann dann benotzt ginn fir Statistiken ze berechnen.

  • D'Fäegkeet bäigefüügt fir d'Kernelversioun ze spezifizéieren ouni regelméisseg Ausdréck ze benotzen.

  • Neie Pak Kommando, benotzt fir Mass Testen vun Ausnotzen a Kernel Moduler an Ënnerverzeechnes.

  • An der Konfiguratioun (.out-of-tree.toml) fir den Exploit- a Kernelmodul ass d'Fähigkeit fir KASLR, SMEP, SMAP a KPTI auszeschalten, wéi och déi erfuerderlech Unzuel u Cores an Erënnerung spezifizéieren.

  • Elo ginn Biller (rootfs) automatesch gelueden wärend Kernel Autogen leeft. Bootstrap ass net méi gebraucht.

  • Ënnerstëtzung fir CentOS Kärelen.

Ännerungen

  • Elo, wann et kee Bild (rootfs) fir déi erfuerderlech Versioun vun der Verdeelung gëtt, probéiert Out-of-Bam d'Bild vun der nootster Versioun ze benotzen. Zum Beispill Ubuntu 18.04 Bild fir Ubuntu 18.10.

  • Elo Tester fir Kernelmoduler ginn net als Feeler ugesinn wann se fehlen (keng Tester - keng Feeler!).

  • Elo wäert Out-of-Bam en negativen Fehlercode zréckginn wann op d'mannst eng Etapp (bauen, starten oder testen) op ee vun de Käre gescheitert ass.

  • De Projet ass gewiesselt fir Go Moduler ze benotzen, mam GO111MODULE=on ze bauen ass elo léiwer.

  • Zousätzlech Standard Tester.

  • Test.sh gëtt elo als Standard benotzt wann d'Versammlung am ${TARGET}_test net an der Makefile implementéiert ass.

  • De Kernel Log gëtt net méi geläscht ier Dir e Kernel Modul leeft oder ausnotzt. E puer vun den Ausnotzen benotzen e Kernelbase Leck an dmesg fir KASLR ze ëmgoen, sou datt d'Botzen d'implementéiert Logik vum Exploit briechen.

  • qemu/kvm benotzt elo all d'Fäegkeeten vum Hostprozessor.

geläscht

  • Kernel Factory komplett geläscht wéinst der Ëmsetzung vun der Kernel Generatioun baséiert op inkrementell aktualiséiert Dockerfiles.

  • bootstrap mécht näischt anescht. De Kommando gëtt an der nächster Verëffentlechung geläscht.

Korrigéiert

  • Op macOS ass GNU Coreutils net méi erfuerderlech fir ze lafen.

  • Temporär Dateie goufen op ~/.out-of-tree/tmp/ geplënnert wéinst Montéierungsfehler am Docker op e puer Systemer.

Source: linux.org.ru

Setzt e Commentaire