EBFE
06.02.2010, 21:32
Sprache: FASM
OS: - (trau keinem OS, machs selbst ;) )
Hardware: ab 486 (http://de.wikipedia.org/wiki/Intel_80486)
Auszug aus dem Manual. Komplettes Projekt samt ISOs/IMGs und, Beschreibung/Doku und Source:
http://ebfe.de.vu/antibootkit/release085.zip (http://files.mail.ru/JTSDPM)
http://ebfes.wordpress.com/
Eine Schritt-für-Schritt Anleitung zum basteln einer eigenen BootCD, die automatisch die Integrität der Festplatten-MBRs (http://de.wikipedia.org/wiki/Master_Boot_Record) prüft und anschließend das System von einer festgelegten Festplatte startet befindet sich im ZIP Archiv unter "HowTo".
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀█
█ ▄███████▄ ▄████████▄ ▄███████▄ ▄███████▄ █
█ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▓█ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▒█ █
█ █▓▓▓▓▓▓▒▒█ █▓▓▓ ▓▓▓█ █▓▓▓▓▓▓▒▒█ █▓▓▓▓▓▓▒▒█ █
█ █▓▓█▀▀▀▀▀▀ █▓▓▓ ▓ ▓▒█ █▓▓█▀▀▀▀▀▀ █▓▓█▀▀▀▀▀▀ █
█ █▓▒█ ▓▒░ █▓▒▒ ▒▒█ █▓▒█ ▓▒░ █▓▒█ ▓▒░ █
█ █▒▒█▄▄▄ █▒▒▒ ▒▒▒█ █▒▒█▄▄▄ █▒▒█▄▄▄ █
█ █▒▒▒▒▒█ █▒▒▒▒▒▒▒█ █▒▒▒▒▒█ █▒▒▒▒▒█ █
█ █▒▒█▀▀▀ █▒▒▒ ▒▒▒█ █▒▒█▀▀▀ █▒▒█▀▀▀ █
█ █▒▒█ ▓▒░ █▒▒▒ ▒▒█ █▒▒█ ▓▓▒ █ █▒▒█ ▓▒░ █
█ █▒▒█▄▄▄▄▄▄ █▒▒▒ ░ ▒▒█ █▒▒█ ▓▒▒ █ █▒▒█▄▄▄▄▄▄ █
█ █▒░░░░░░▒█ █▒░░ ▒░░█ █▒░█ ▓▒░ █ █▒░░░░░░▒█ █
█ █░░░░░░▒▒█ █░░░░░░░░█ █░░█ ▒▒░ █ █░░░░░░▒▒█ █
█ ▀████████▀ ▀████████▀ ████ ▒░░ █ ▀████████▀ █
█ ▄▄▄▄▄▄▄▄▄▄█▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄███ ▄▄▄▄▄▄▄▄▄ █
█ █▓▒░▓▓████▒▓███▓ ▒▒▓▓▒▒▓███▓▓▒▒▒▒ ░▒▓██▓▓██ █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄█
ebfe@inbox.ru
─ ── ─── ──────────────── ──────────────── ──────────────── ────── ─── ── ─
.::P:R:E:S:E:N:T:S::.
─ ── ─── ──────────────── ──────────────── ──────────────── ────── ─── ── ─
Anti B00TKIT v0.8.5
Was ist Anti B00TKIT?
Ein Bootloader/eine Bootdisk. Damit kann man den Rechner hochfahren, die Master Boot Record (http://de.wikipedia.org/wiki/Master_Boot_Record) Einträge der Festplatten auslesen, die SHA1 (http://de.wikipedia.org/wiki/Secure_Hash_Algorithm) Prüfsumme anzeigen/mit einer gespeicherten vergleichen und anschließend, wenn alles stimmt, von der ausgewählten Festplatte weiterbooten. Das ganze geht sowohl mit der Auswahl "per Hand" wie auch vollständig automatisiert.
Sinn?
Der Master Boot Record (http://de.wikipedia.org/wiki/Master_Boot_Record) enthält üblicherweise die Partitionstabelle (http://de.wikipedia.org/wiki/Partitionstabelle) und einen
Bootloader (http://de.wikipedia.org/wiki/Bootloader) (zumindest auf einer der Festplatten), der das eigentliche Betriebs-
system lädt. Siehe dazu den Wikipediaeintrag.
Bootkits (http://de.wikipedia.org/wiki/Bootkit) überschreiben diese Sequenz mit dem eigenen Code. So kann dieser schon
vor dem Betriebssystem geladen werden und damit jeglichen Schutz aushebeln. Zu-
sätzlich hooken Bootkits (http://de.wikipedia.org/wiki/Bootkit) oft die "Lowlevel" Lese/Schreibfunktionen des Systems.
Versucht nun das Betriebssystem oder ein Anti-Virus Programm den MBR (http://de.wikipedia.org/wiki/Master_Boot_Record) auszulesen,
bekommen es nur den hübschen Backup der früheren Daten, nicht jedoch den realen
MBR (http://de.wikipedia.org/wiki/Master_Boot_Record) zu sehen.
Damit können auch jegliche Sicherheitsmechanismen umgangen werden. Ein be-
rühmtes Beispiel wäre:
heise online - Bootkit hebelt Festplattenverschlüsselung aus (http://www.heise.de/newsticker/meldung/Bootkit-hebelt-Festplattenverschluesselung-aus-748859.html)
Kurz: durch ein Bootkit (http://de.wikipedia.org/wiki/Bootkit) infiziertes System kann die eigene Infektion nicht wirk-
lich zuverlässig erkennen.
Man kann allerdings von CD booten, sich die MBR (http://de.wikipedia.org/wiki/Master_Boot_Record)s 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: 7 Sektoren (http://de.wikipedia.org/wiki/Datenblock) (3.27KB) großer Loader des Anti B00TKITs ist praktisch sofort, ohne merkbare Verzögerung, geladen. Wie lange würde eine LiveCD booten? ;)
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 ;).
To Do (abgearbeitet)
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.
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 http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif .
Eine Schritt-für-Schritt Anleitung zum basteln einer eigenen BootCD, die automatisch die Integrität der Festplatten-MBRs (http://de.wikipedia.org/wiki/Master_Boot_Record) prüft und anschließend das System von einer festgelegten Festplatte startet:
http://ebfe.de.vu/antibootkit/howto (http://ebfe.de.vu/antibootkit/howto)
Zip-Archiv, Unterordner "HowTo".
Sollte verständlicher sein, als das bisherige Kauderwelsch.
die neue Version:
http://ebfe.de.vu/antibootkit/release085.zip (http://files.mail.ru/JTSDPM)
Neues To-Do:
- erstmal die technische Doku updaten (ist für Leute interessant, die mit den Sourcen spielen wollen http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif )
- 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 http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif )
Ein paar Screenshots:
“Default” ISO/Img
http://ebfe.de.vu/antibootkit/howto/img/default.pnghttp://ebfes.files.wordpress.com/2010/03/default.png?w=720
Benutzerdefiniert (automatische Prüfung/Boot):
http://ebfe.de.vu/antibootkit/howto/img/result.pnghttp://ebfes.files.wordpress.com/2010/03/result.png?w=719
Bootvorgang wird unterbrochen, falls die Hashes nicht stimmen:
http://ebfe.de.vu/antibootkit/howto/img/err1.pnghttp://ebfes.files.wordpress.com/2010/03/err1.png?w=719
gespeicherte Hashes werden mit angezeigt (nicht übereinstimmende in rot)
http://ebfe.de.vu/antibootkit/howto/img/err1_ext.pnghttp://ebfes.files.wordpress.com/2010/03/err1_ext.png?w=720
Dumpansicht ist immer noch möglich http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif
http://ebfe.de.vu/antibootkit/howto/img/dump.pnghttp://ebfes.files.wordpress.com/2010/03/dump.png?w=719
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.
OS: - (trau keinem OS, machs selbst ;) )
Hardware: ab 486 (http://de.wikipedia.org/wiki/Intel_80486)
Auszug aus dem Manual. Komplettes Projekt samt ISOs/IMGs und, Beschreibung/Doku und Source:
http://ebfe.de.vu/antibootkit/release085.zip (http://files.mail.ru/JTSDPM)
http://ebfes.wordpress.com/
Eine Schritt-für-Schritt Anleitung zum basteln einer eigenen BootCD, die automatisch die Integrität der Festplatten-MBRs (http://de.wikipedia.org/wiki/Master_Boot_Record) prüft und anschließend das System von einer festgelegten Festplatte startet befindet sich im ZIP Archiv unter "HowTo".
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀█
█ ▄███████▄ ▄████████▄ ▄███████▄ ▄███████▄ █
█ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▓█ █▓▓▓▓▓▓▓▒█ █▓▓▓▓▓▓▓▒█ █
█ █▓▓▓▓▓▓▒▒█ █▓▓▓ ▓▓▓█ █▓▓▓▓▓▓▒▒█ █▓▓▓▓▓▓▒▒█ █
█ █▓▓█▀▀▀▀▀▀ █▓▓▓ ▓ ▓▒█ █▓▓█▀▀▀▀▀▀ █▓▓█▀▀▀▀▀▀ █
█ █▓▒█ ▓▒░ █▓▒▒ ▒▒█ █▓▒█ ▓▒░ █▓▒█ ▓▒░ █
█ █▒▒█▄▄▄ █▒▒▒ ▒▒▒█ █▒▒█▄▄▄ █▒▒█▄▄▄ █
█ █▒▒▒▒▒█ █▒▒▒▒▒▒▒█ █▒▒▒▒▒█ █▒▒▒▒▒█ █
█ █▒▒█▀▀▀ █▒▒▒ ▒▒▒█ █▒▒█▀▀▀ █▒▒█▀▀▀ █
█ █▒▒█ ▓▒░ █▒▒▒ ▒▒█ █▒▒█ ▓▓▒ █ █▒▒█ ▓▒░ █
█ █▒▒█▄▄▄▄▄▄ █▒▒▒ ░ ▒▒█ █▒▒█ ▓▒▒ █ █▒▒█▄▄▄▄▄▄ █
█ █▒░░░░░░▒█ █▒░░ ▒░░█ █▒░█ ▓▒░ █ █▒░░░░░░▒█ █
█ █░░░░░░▒▒█ █░░░░░░░░█ █░░█ ▒▒░ █ █░░░░░░▒▒█ █
█ ▀████████▀ ▀████████▀ ████ ▒░░ █ ▀████████▀ █
█ ▄▄▄▄▄▄▄▄▄▄█▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄███ ▄▄▄▄▄▄▄▄▄ █
█ █▓▒░▓▓████▒▓███▓ ▒▒▓▓▒▒▓███▓▓▒▒▒▒ ░▒▓██▓▓██ █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄█
ebfe@inbox.ru
─ ── ─── ──────────────── ──────────────── ──────────────── ────── ─── ── ─
.::P:R:E:S:E:N:T:S::.
─ ── ─── ──────────────── ──────────────── ──────────────── ────── ─── ── ─
Anti B00TKIT v0.8.5
Was ist Anti B00TKIT?
Ein Bootloader/eine Bootdisk. Damit kann man den Rechner hochfahren, die Master Boot Record (http://de.wikipedia.org/wiki/Master_Boot_Record) Einträge der Festplatten auslesen, die SHA1 (http://de.wikipedia.org/wiki/Secure_Hash_Algorithm) Prüfsumme anzeigen/mit einer gespeicherten vergleichen und anschließend, wenn alles stimmt, von der ausgewählten Festplatte weiterbooten. Das ganze geht sowohl mit der Auswahl "per Hand" wie auch vollständig automatisiert.
Sinn?
Der Master Boot Record (http://de.wikipedia.org/wiki/Master_Boot_Record) enthält üblicherweise die Partitionstabelle (http://de.wikipedia.org/wiki/Partitionstabelle) und einen
Bootloader (http://de.wikipedia.org/wiki/Bootloader) (zumindest auf einer der Festplatten), der das eigentliche Betriebs-
system lädt. Siehe dazu den Wikipediaeintrag.
Bootkits (http://de.wikipedia.org/wiki/Bootkit) überschreiben diese Sequenz mit dem eigenen Code. So kann dieser schon
vor dem Betriebssystem geladen werden und damit jeglichen Schutz aushebeln. Zu-
sätzlich hooken Bootkits (http://de.wikipedia.org/wiki/Bootkit) oft die "Lowlevel" Lese/Schreibfunktionen des Systems.
Versucht nun das Betriebssystem oder ein Anti-Virus Programm den MBR (http://de.wikipedia.org/wiki/Master_Boot_Record) auszulesen,
bekommen es nur den hübschen Backup der früheren Daten, nicht jedoch den realen
MBR (http://de.wikipedia.org/wiki/Master_Boot_Record) zu sehen.
Damit können auch jegliche Sicherheitsmechanismen umgangen werden. Ein be-
rühmtes Beispiel wäre:
heise online - Bootkit hebelt Festplattenverschlüsselung aus (http://www.heise.de/newsticker/meldung/Bootkit-hebelt-Festplattenverschluesselung-aus-748859.html)
Kurz: durch ein Bootkit (http://de.wikipedia.org/wiki/Bootkit) infiziertes System kann die eigene Infektion nicht wirk-
lich zuverlässig erkennen.
Man kann allerdings von CD booten, sich die MBR (http://de.wikipedia.org/wiki/Master_Boot_Record)s 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: 7 Sektoren (http://de.wikipedia.org/wiki/Datenblock) (3.27KB) großer Loader des Anti B00TKITs ist praktisch sofort, ohne merkbare Verzögerung, geladen. Wie lange würde eine LiveCD booten? ;)
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 ;).
To Do (abgearbeitet)
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.
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 http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif .
Eine Schritt-für-Schritt Anleitung zum basteln einer eigenen BootCD, die automatisch die Integrität der Festplatten-MBRs (http://de.wikipedia.org/wiki/Master_Boot_Record) prüft und anschließend das System von einer festgelegten Festplatte startet:
http://ebfe.de.vu/antibootkit/howto (http://ebfe.de.vu/antibootkit/howto)
Zip-Archiv, Unterordner "HowTo".
Sollte verständlicher sein, als das bisherige Kauderwelsch.
die neue Version:
http://ebfe.de.vu/antibootkit/release085.zip (http://files.mail.ru/JTSDPM)
Neues To-Do:
- erstmal die technische Doku updaten (ist für Leute interessant, die mit den Sourcen spielen wollen http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif )
- 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 http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif )
Ein paar Screenshots:
“Default” ISO/Img
http://ebfe.de.vu/antibootkit/howto/img/default.pnghttp://ebfes.files.wordpress.com/2010/03/default.png?w=720
Benutzerdefiniert (automatische Prüfung/Boot):
http://ebfe.de.vu/antibootkit/howto/img/result.pnghttp://ebfes.files.wordpress.com/2010/03/result.png?w=719
Bootvorgang wird unterbrochen, falls die Hashes nicht stimmen:
http://ebfe.de.vu/antibootkit/howto/img/err1.pnghttp://ebfes.files.wordpress.com/2010/03/err1.png?w=719
gespeicherte Hashes werden mit angezeigt (nicht übereinstimmende in rot)
http://ebfe.de.vu/antibootkit/howto/img/err1_ext.pnghttp://ebfes.files.wordpress.com/2010/03/err1_ext.png?w=720
Dumpansicht ist immer noch möglich http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif
http://ebfe.de.vu/antibootkit/howto/img/dump.pnghttp://ebfes.files.wordpress.com/2010/03/dump.png?w=719
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.