Ebfe's Anti-B00TKIT Projekt

März 27, 2010

Anti BOOTKIT v 0.8.5

Filed under: AntiBootkit, Releases — Schlagwörter: , , , — ebfes @ 3:16 pm

So, alte ToDo Liste abgearbeitet:

Update:
release Version 0.85 (27.03.2010)

  • CRC wurde entfernt (macht keinen Sinn neben SHA1)
  • automatische Hashprüfung (auf der CD gespeicherte Hashs werden mit den Ermittelten verglichen). Erfordert eine benutzerangepasste CD.
  • automatisches Hochfahren nach einer festgelegten Zeit von einer vordefinierten Festplatte. Erfordert eine benutzerangepasste CD.
  • Konfigurationstools, um ohne Programmierkenntnisse solche benuterangepasste CDs zu erstellen ;).

Eine Schritt-für-Schritt Anleitung zum basteln einer eigenen BootCD, die automatisch die Integrität der Festplatten-MBRs prüft und anschließend das System von einer festgelegten Festplatte startet:
http://ebfe.de.vu/antibootkit/howto
sollte verständlicher sein, als das bisherige Kauderwelsch.
die neue Version:
http://ebfe.de.vu/antibootkit/release085.zip

Neues To-Do:
– erstmal die technische Doku updaten (ist für Leute interessant, die mit den Sourcen spielen wollen 😉 )
– dann eventuell Konfigurationstools mit einer GUI versehen, damit Windowsanwender nicht gleich geschockt werden *g*
– „extended“ Version herausbringen, die kompletten 63 Sektoren prüft (sicher ist sicher – vor allem gegen zukünftige anti-anti bootkits 😉 )

Ein paar Screenshots:
„Default“ ISO/Img

Benutzerdefiniert (automatische Prüfung/Boot):

Bootvorgang wird unterbrochen, falls die Hashes nicht stimmen:

gespeicherte Hashes werden mit angezeigt (nicht übereinstimmende in rot)

Dumpansicht ist immer noch möglich 😉

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

Januar 25, 2010

Anti B00TKIT v0.3

Filed under: Releases — Schlagwörter: , , — ebfes @ 1:38 pm

Bootloader/Bootdisk, der MBRs=MasterBootRecord der Festplatten ausliest, deren jeweilige CRC16 (CRC-CCITT (0xFFFF)) und BSDSums anzeigt und von der ausgewählten Platte „weiterbooten“ kann.

Sinn:
die MBR enthält üblicherweise einen Bootloader, der das eigentliche Betriebssystem lädt.
Bootkits überschreiben diese Sequenz mit dem eigenen Code. So kann dieser schon vor dem Betriebssystem geladen werden. Üblicherweise hooken Bootkits zusätzlich „Lowlevel“ Lese/Schreibfunktionen – versucht das Betriebssystem bzw. ein AV Programm MBR auszulesen, bekommen sie nur den hübschen Backup der früheren Daten, nicht jedoch die reale MBR zu sehen. Damit können auch jegliche Sicherheitsmechanismen ausgehebelt werden ( berühmtes Bsp: http://www.heise.de/newsticker/meldung/B…859.html). Kurz: man kann ein infiziertes System „von sich selbst aus“ nicht erkennen.

Man kann allerdings von CD booten und sich die MBR anschauen/die Checksums prüfen ;). Was ist aber der Unterschied zu einem modifizierten Knoppix&Co?
Ganz einfach: 2 Sectoren == 1024 Byte großer Loader bootet nunmal sehr schnell. D.h Bootsequenz im Bios einstellen und immer von CD booten – kurzer Blick auf Prüfsummen und „weiterbooten“ sollte auf jedenfall sehr viel flotter gehen als mit einer „schwergewichtigen“ LiveCD ;).

How-To: 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 + Checksummen sowie einem Dump angezeigt werden.

Screenshot: anti-bootkit 0.3

Tasten:
ESC oder ’s‘ – für Shutdown
BACKSPACE oder ‚r‘ – für Reboot
ENTER oder ‚b‘ – booten vom ausgewählten Laufwerk

Bild_hoch(PageUp) oder ‚c‘ – Hochscrollen im Dump-Fenster
Bild_runter(PageDown) oder ‚v‘ – Herunterscrollen im Dump-Fenster
Pfeiltaste_hoch oder ‚d‘ – Plattenauswahl
Pfeiltaste_runter oder ‚f‘ – Plattenauswahl

Schaut etwas verwirrend aus, sollte aber größtenteils intuitiv sein:
1. Hauptfunktionen werden im Menu angezeigt (jeweiliger Buchstabe highlighted)
2. Festplattenmenü wird über Pfeiltasten und ENTER gesteuert
3. nur die Hex-Dump Ansicht wird mit Bild_hoch/runter Tasten gescrollt.

Vornweg:
Software wurde für den Eigengebrauch geschrieben.
Es weden grundsäztlich nur „Leseoperationen“ verwendet.

Trotzdem: ich übernehme keine Verantwortung für irgendwelche
Schäden sowie kein Support für irgendwas (bei mir läuft’s 😉 – und über
„Ferndiagnose“ kommt man bei diesen Sachen nicht weit – daher will ich
gar nicht erst anfangen zu supporten).

Inhalt:
—————————-
Fertige Images:
boot.iso – zum brennen auf CD
mbrcheck.img – auf USB,Diskette, Festplatte oder „selbstständig“ auf CD brennbares Image.
mbrcheck.realsize.img – dasselbe wie oben, nur nicht auf 1.44MB aufgefüllt, sondern bei 1024Byte gelassen 😉

—————————-
Source:
mbrcheck.asm und defines.inc
—————————-
Makes:
makefile (für Linux-Make) oder make.bat (Win), benötigt NASM.
Erstellt ein fertiges Image.

makecd.bat (Win), benötigt: mkisofs.exe (z.B von hier: http://www.heise.de/ct/…),
erstellt aus dem Image eine bootbare ISO. Alternativ kann man unter Win die übliche
Brennsoftware verwenden, IMG Datei auswählen und die Option „bootbar“ suchen.
Ich gehe davon aus, dass Linuxuser in der Lage sind makecd.bat zu lesen 😉
—————————-

Sonderedition ( mbrcheck v0.3.0-1337.zip ): *ich konnt’s mir nicht verkneifen :)*

Screenshot von Anti-Bootkit 1337 Version

Download:
Anti Bootkit 0.3
Anti Bootkit 0.3.1337

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.