Ebfe's Anti-B00TKIT Projekt

Februar 6, 2010

Anti B00TKIT v0.6

Filed under: Releases — ebfes @ 11:54 pm

Tja, gleich ein Versionssprung auf 0.6. Portierung/Rewrite nach FASM abgeschlossen. Die GUI wurde komplett überarbeitet (Dumpfenster ist nun „getrennt“, Statusleiste mit Tipps/Meldungen ist hinzugekommen, sollte nun deutlich benutzerfreundlicher sien) und SHA1 Checksummenbldung wurde umgesetzt. Der Code ist um das ~4 fache gewachsen. Deutlich bessere Modularität, Fehlerprüfungen und Status/Fehlermeldungen sowie Fallbacks für die meisten Funktionen wurden umgesetzt. Nun läuft es auf allen getesteten Rechnern UND ist halbwegs lesbar 🙂
Download: antibootkitv0.6.zip

                █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
                █  ▄███████▄ ▄████████▄  ▄███████▄  ▄███████▄ █
                █ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▓█ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▒█ █
                █ █▓▓▓▓▓▓▒▒█ █▓▓▓  ▓▓▓█ █▓▓▓▓▓▓▒▒█ █▓▓▓▓▓▓▒▒█ █
                █ █▓▓█▀▀▀▀▀▀ █▓▓▓ ▓ ▓▒█ █▓▓█▀▀▀▀▀▀ █▓▓█▀▀▀▀▀▀ █
                █ █▓▒█ ▓▒░   █▓▒▒   ▒▒█ █▓▒█ ▓▒░   █▓▒█ ▓▒░   █
                █ █▒▒█▄▄▄    █▒▒▒  ▒▒▒█ █▒▒█▄▄▄    █▒▒█▄▄▄    █
                █ █▒▒▒▒▒█    █▒▒▒▒▒▒▒█  █▒▒▒▒▒█    █▒▒▒▒▒█    █
                █ █▒▒█▀▀▀    █▒▒▒  ▒▒▒█ █▒▒█▀▀▀    █▒▒█▀▀▀    █
                █ █▒▒█ ▓▒░   █▒▒▒   ▒▒█ █▒▒█ ▓▓▒ █ █▒▒█ ▓▒░   █
                █ █▒▒█▄▄▄▄▄▄ █▒▒▒ ░ ▒▒█ █▒▒█ ▓▒▒ █ █▒▒█▄▄▄▄▄▄ █
                █ █▒░░░░░░▒█ █▒░░  ▒░░█ █▒░█ ▓▒░ █ █▒░░░░░░▒█ █
                █ █░░░░░░▒▒█ █░░░░░░░░█ █░░█ ▒▒░ █ █░░░░░░▒▒█ █
                █ ▀████████▀ ▀████████▀ ████ ▒░░ █ ▀████████▀ █
                █ ▄▄▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄███▄▄▄▄▄▄▄▄▄▄ █
                █ █▓▒░▓▓████▒▓███▓▓▒▒▓▓▒▒▓███▓▓▒▒▒▒░░▒▓██▓▓██ █
                █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
                                                  ebfe@inbox.ru
─   ──  ─── ──────────────────────────────────────────────────────── ───  ──   ─

                            .::P:R:E:S:E:N:T:S::.
─   ──  ─── ──────────────────────────────────────────────────────── ───  ──   ─

Anti B00TKIT v0.6

Was ist Anti B00TKIT? Ein Bootloader/eine Bootdisk. Damit kann man den Rechner hochfahren, die Master Boot Record Einträge der Festplatten auslesen, deren CRC-16 und SHA1 Prüfsummen anzeigen und von der ausgewählten Festplatte weiterbooten. Sinn? Der Master Boot Record enthält üblicherweise die Partitionstabelle und einen Bootloader (zumindest auf einer der Festplatten), der das eigentliche Betriebs- system lädt. Siehe dazu den Wikipediaeintrag. Bootkits überschreiben diese Sequenz mit dem eigenen Code. So kann dieser schon vor dem Betriebssystem geladen werden und damit jeglichen Schutz ausgebeln. Zu- sätzlich hooken Bootkits oft die "Lowlevel" Lese/Schreibfunktionen des Systems. Versucht nun das Betriebssystem oder ein Anti-Virus Programm den MBR auszulesen, bekommen es nur den hübschen Backup der früheren Daten, nicht jedoch den realen MBR zu sehen. Damit können auch jegliche Sicherheitsmechanismen ausgehebelt werden. Ein be- rühmtes Beispiel wäre: http://www.heise.de/newsticker/meldung/B.859.html Kurz: durch ein Bootkit infiziertes System kann die eigene Infektion nicht wirk- lich zuverlässig erkennen. Man kann allerdings von CD booten, sich die MBRs anschauen sowie die Prüfsummen vergleichen - mit dem Anti B00TKIT. Da dieser (idealerweise) auf einer CD oder einem schreibgeschützen Medium liegt und als erstes ausgeführt wird, kann er auch nicht manipuliert werden oder falsche Daten untergeschoben bekommen. Warum nicht gleich eine LiveCD mit Linux oder Antivir Software nehmen? Ganz einfach: 5 Sektoren (2.30KB) großer Loader des Anti B00TKITs ist praktisch sofort, ohne merkbare Verzögerung, geladen. Wie lange würde eine LiveCD booten? Das heißt: Bootsequenz im BIOS so einstellen, dass immer von CD mit Anti B00TKIT hochgefahren wird. Ein kurzer Blick auf die Prüfsummen und "weiterbooten" sollte auf jedenfall sehr viel flotter gehen als mit einer "schwergewichtigen" LiveCD und damit für den täglichen Einsatz deutlich geeigneter 😉 How-To BOOT.ISO bzw. ANTIBOOTKIT.IMG auf CD/Diskette (falls jemand noch sowas hat 😉 ) oder USB schreiben und im BIOS die Bootsequenz so umstellen, dass zuerst von diesem Medium gebootet wird. Falls alles glatt läuft, sollte eine Liste mit Festplatten und Prüfsummen angezeigt werden: Nun kann man sich die Prüfsummen notieren um diese dann bei Bedarf (z.B nächsten Boot) vergleichen zu können. Besonders Neugierige können sich auch den Hexdump anzeigen lassen: Steuerung Die Steuerung sollte größtenteils selbsterklärend sein. Im Hauptmodus: Pfeiltasten hoch/runter - Festplatte auswählen ENTER - von ausgewählten Festplatte booten R - Reboot S - Shutdown D - Dump anzeigen Im Hexdumpmodus: Pfeiltasten rechts/links - Festplatte auswählen ENTER - von der ausgewählten Festplatte booten Pfeiltasten hoch/runter - Dumpfenster scrollen R - Reboot S - Shutdown D - Dump ausblenden (zum Hauptmodus wechseln) Anmerkung: Das Herunterfahren wird durch die APM Schnittstelle realisiert. Aus verständ- lichen Gründen wird es in der nächsten Zeit keine ACPI Umsetzung geben ;). Inhalt des Archivs Fertige Images: boot.iso - zum brennen auf CD antibootkit.img - auf USB-Stick, Diskette, Festplatte oder "selbst- ständig" auf CD brennbares Image Source: antibootkit.asm - Hauptprogramm user.config - hier kann der Benutzer einzelne Sachen konfigurieren (erstmal nur die CUI Farben) \includes\cui.inc - CUI/Anzeigefunktionen \includes\defines.inc - globale Definitionen/Structurdokumentation \includes\pow_mgmt.inc - Funktionen zum Herunterfahren/Neustarten \includes\sha1.inc - SHA1 Implementierung Makes: make.bat - assembliert Source zu einem fertigen Image, benötigt FASM. Muss allerdings vor der Nutzung noch angepasst werden (Pfad zum FASM Ordner setzen) makecd.bat - erstellt aus dem Image eine bootbare ISO. benötigt: mkisofs.exe (http://www.heise.de/ct/ftp/06/03/202/), Alternativ kann man unter Win die übliche Brenn- software verwenden, IMG Datei auswählen und die Op- tion "bootbar" suchen. Ich gehe davon aus, dass die Linuxuser in der Lage sind makecd.bat zu lesen 😉 Anmerkung: Assemblieren per Hand geht durch simples 'fasm antibootkit.asm' 🙂 To Do Geplant ist als nächstes: Eine Automatisierung - Benutzer soll die ermittelten Festplattenprüfsummen im Anti-Bootkit speichern können und diese sollen dann automatisch beim Start geprüft werden. Wenn alles stimmt, wird direkt von der vorher festgelegten Festplatte gebootet. Schlusswort Diese Software wurde für den Eigengebrauch geschrieben. Es werden grundsäztlich nur Leseoperationen verwendet. Trotzdem: ich übernehme keine Verantwortung für irgendwelche Schäden sowie keinerlei Support für irgendwas. PS: ich konnte es mir nicht verkneifen, eine elitäre Version beizulegen *g*

Download: antibootkitv0.6.zip

Bloggen auf WordPress.com.