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