PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anti B00TKIT v0.8.5



EBFE
06.02.2010, 22: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.

Sn0opY
06.02.2010, 22:38
UIUI da hat sich wer mühe gegeben RESPEKT

fred777
06.02.2010, 23:10
So, bin gespannt ob es auch so gut funktioniert wie deine ältere Version, edit kommt hier rein ;)

matze093
07.02.2010, 01:14
Da würde mich noch interessieren wie lange du dran gesessen hast. ^^

super-mario
07.02.2010, 01:18
sowas hab ich gesucht echt klasse danke

Crassmaker
07.02.2010, 01:25
SIeht schon einmal nicht schlecht aus ;-)

albahacker
07.02.2010, 01:26
1000 dank dafür genau das was noch fehlt in meiner sammlung:)

HawK
07.02.2010, 02:00
Seeehr schön, das stuft das Niveau hier mal um klassen höher! :)

Gute Arbeit

keyfraster
07.02.2010, 02:37
Feines Ding , Ich hoffe wir können uns auch noch an weiteren Releases freuen :)

GregorSamsa
07.02.2010, 07:22
Da schließe ich mich meinen Vorrednern doch direkt an!

1a Arbeit und scheinbar auch super umgesetzt (muss ich vorher noch testen) :D

Wie lange hast du daran gesessen?

Und bzgl. der Automatisierung: Hast du dir schon Gedanken über den Speicherort der Prüfsummen gemacht? Auf der Festplatte selber kann ein Bootkit diese ja manipulieren.
Da würde sich nur ein USB-Stick anbieten, der allerdings nur für diesen Zweck benutzt werden dürfte, oder wie siehst du das?

Fixi
07.02.2010, 09:36
Richtig Richtig gut gemacht N1 xd
Aber mich würde auch interessieren wie lange du dafür gebraucht hast.






MFG

EBFE
07.02.2010, 13:31
Danke für die Rückmeldungen, ein paar Testberichte mit Hardwareangaben wären auch fein ;)



Wie lange hast du daran gesessen?

Also seit Ende Dezember arbeite ich mehr oder weniger daran. Wenn auch nicht durchgehend ;).



Und bzgl. der Automatisierung: Hast du dir schon Gedanken über den Speicherort der Prüfsummen gemacht? Auf der Festplatte selber kann ein Bootkit diese ja manipulieren.
Da würde sich nur ein USB-Stick anbieten, der allerdings nur für diesen Zweck benutzt werden dürfte, oder wie siehst du das?Festplatte fällt schon aus dem Grund aus, dass es zig Dateisysteme gibt ;) (Sicherheitsfaktor natürlich auch). Dasselbe gilt aber für den USB - eine FAT32 Systemunterstützung bzw. USB Gerätetreiber wäre _etwas_ übertirebener Aufwand.

Ich denke eher in Richtung eines "Builders" - die Summen werden im Image/ISO selbst gespeichert. Da wird man als User notfalls halt in 2 Rohlinge investieren müssen - wäre aber immer noch günstiger als "extra USB Stick" und sicherheitstechnisch sehe ich da keine Bedenken. Müsste man nur irgendwie halbwegs benutzerfreundlich umsetzen können.

BlackCobra
07.02.2010, 13:58
Respekt. Sehr geile Arbeit. Das beweist, dass die pros nicht nur in Russland und amerika hocken.

J0hn.X3r
24.02.2010, 00:20
Nette Idee und Umsetzung mit dem Anti B00tkit ;) Endlich mal "was neues" :D

Werds denk ich demnaechst auch mal testen und freu mich natuerlich auch auf die naechste Version :)

Sieht bis jetzt wirklich Klasse aus und ist von der Qualitaet her, bei dir sowieso immer, Top ;)

bi0x
24.02.2010, 11:51
Hm werd ich dann wohl auch mal Testen. Mal ne andere Möglichkeit um gegen Bootkits vorzugehen =)

gf0x
09.05.2010, 03:05
Interessantes Ding x)

Stellst du die Source Public?
Würde mich sehr gerne interessieren wie das in (F)ASM aufgebaut ist, da ich es selbst lerne :)

blackberry
09.05.2010, 09:11
Hast du dir das Ding überhaupt mal angesehen?
Der Sourcecode ist dabei.

EBFE
09.05.2010, 12:44
release085\release085>dir /S /B /A:D /O:N
release085\release085\antibootkit
release085\release085\doku_old
release085\release085\howto
release085\release085\screenshots
release085\release085\antibootkit\configurator
release085\release085\antibootkit\mkiso
release085\release085\antibootkit\source
release085\release085\antibootkit\configurator\sou rce
release085\release085\antibootkit\mkiso\source
release085\release085\antibootkit\source\includes
release085\release085\doku_old\img
release085\release085\howto\img
Ohne Source würde das Programm irgendwie an Sinn verlieren ;)

deagleD
09.05.2010, 13:32
Saubere Arbeit ! ;)

wacked
13.05.2010, 09:18
release085\release085>dir /S /B /A:D /O:N
release085\release085\antibootkit
release085\release085\doku_old
release085\release085\howto
release085\release085\screenshots
release085\release085\antibootkit\configurator
release085\release085\antibootkit\mkiso
release085\release085\antibootkit\source
release085\release085\antibootkit\configurator\sou rce
release085\release085\antibootkit\mkiso\source
release085\release085\antibootkit\source\includes
release085\release085\doku_old\img
release085\release085\howto\imgOhne Source würde das Programm irgendwie an Sinn verlieren ;)
Wieso ist doch ASM?

blackberry
13.05.2010, 11:39
Zusammenhang??

mosa01
14.05.2010, 21:21
Funktioniert das auch in Kombination mit einer verschlüsselten Truecrypt-Systempartition :D? Hab kb mit jetzt meinen TC Bootloader zu zerschießen ;)

EBFE
14.05.2010, 21:33
Funktioniert das auch in Kombination mit einer verschlüsselten Truecrypt-Systempartition :D?
Wurde eigentlich extra dafür entwickelt ;)

Hab kb mit jetzt meinen TC Bootloader zu zerschießen ;)
Du sollst es auch nicht als neuen Bootloader schreiben ;). Es wird auf eine CD gebrannt und der Rechner dann so umgestellt, dass er von einer CD bootet.

Die CD zeigt halt die bootbaren Festplatten an (+ deren Hashs) und man kann von der ausgewählten Platte booten. Dabei wird der Bootloader von dieser Festplatte eingelesen und ausgeführt (und nicht etwa überschrieben ;) ). Schreibzugriff auf die Platte ist im Programm gar nicht vorhanden.

mosa01
14.05.2010, 21:52
Ahh, okay. Danke für die Aufklärung ;)