Startseite > Elektronische Projekte > Brute Force Attacke ein BIOS mit Arduino

Brute Force Attacke ein BIOS mit Arduino

BIOS hack Das Ziel dieses Experiments ist es, das Arduino Board in eine USB-Tastatur und einem VGA-Sniffer, um das Passwort eines Standard-BIOS mit dem knacken konvertieren Brute-Force-Angriff -Methode. Es gibt keine Vorteile in der Anwendung dieser Methode in der Tat kann dies sehr langsam und man kann nie finden Sie das Passwort überhaupt, aber wie immer wir tun es zum Spaß. Es ist nur ein Proof of Concept, es gibt viele Möglichkeiten bestehen beim Zurücksetzen eines BIOS speziell, wenn Sie Zugriff auf die Hardware haben, und Sie müssen es trotzdem, weil wir über BIOS reden und es gibt kein "Remote Access" soweit ich weiß.


In der Theorie haben, können Sie es mit anderen Programmen verwenden auch nicht nur ein BIOS-Setup, aber es müssen einige besondere Bedingungen, zum Beispiel die Software muss einer von denen, die nicht nach ein paar fehlgeschlagenen Kennwort-Eintrag Versuche nicht zu blockieren.

Auch eine der wichtigsten Einschränkungen ist, dass wir nicht lesen können, das ganze VGA-Frame und verarbeiten sie, sondern wir ein einzelnes Pixel aus (mehr oder weniger) die Mitte des Bildschirms zu lesen, und nach ihrer Farbe gehen wir durch die verschiedenen Schritte, für Beispiel: ein rotes Pixel in der Mitte des Bildschirms kann anzeigen, dass das Passwort falsch ist in einem regelmäßigen BIOS, während ein blaues Pixel anzeigen kann, dass sie bereit ist, das nächste Passwort zu empfangen.

USB-Tastatur-Emulator

Für den USB-Keyboard-Part, ich habe den verwendeten V-USB für Arduino -Code, was wiederum nutzt V-USB-Bibliothek . Sie müssen die V-USB für Arduino installieren, um den "PDE" Arbeit zu machen.

Schaltung

Der Arduino Shield für dieses Projekt ist ziemlich einfach, ich habe einen regulären LCD-Modul angebracht, um einen Ausgang haben, um einen zweiten Computer zu vermeiden, nur um den Fortschritt oder Ergebnis zu sehen.
Ein paar Z-Dioden, um die USB-Tastatur-Schnittstelle (es ist eine der vier Optionen in der V-USB Readme vorgeschlagen, hier ist ein Link zu einem anderen Projekt , das diese Methode verwendet auch).
Es gibt eine Taste, die Pause genutzt wird / auch weiterhin den Angriff. Wenn Sie die Taste länger als 2 Sekunden gedrückt halten, wird der Angriff zurückgesetzt.


BIOS hack schematic
BIOS hack board

Sniff den VGA

Um die Farbe des Pixels in der Mitte des Bildschirms wissen, müssen wir, um das analoge Rot-Signal zu lesen, und auch die vertikale und horizontale Synchronisation Impulse zu wissen, wann die Rot gelesen. Der erste Versuch wurde mit Hilfe der Arduino attachInterrupt die HSYNC und VSYNC zu erfassen, aber der Aufwand hat die USB-Tastatur nicht mehr funktioniert.

Das ISR () und SIGNAL ()-Makros scheint besser zu funktionieren in diesem Fall, so dass die VSYNC-Impuls wird eine globale Variable namens zurückgesetzt h_line während die HSYNC es erhöht wird, zu wissen, in welcher Zeile der VGA Rahmen gezogen ist.

Unsere waitWrongPassword Funktion wird in der Analyse des Pixels. Sie wartet auf ein paar Sekunden, um die roten Pixel angezeigt werden, und hält suchen dem Zeilenzähler dann, wenn es in der Nr. 238 (fast die Mitte in einer vertikalen Auflösung 640 × 480) ist, wird es ein wenig verzögert, um die horizontale Mitte zu erhalten Timing, und lesen Sie den analogen Eingang.

Dann, nachdem er den roten Analogeingang das Ergebnis im Vergleich zu sehen, ob der "falschen Passwort-Dialog ist aufgetaucht ist, bin ich über das zu sprechen if (valueR > 140) . Sie werden wahrscheinlich brauchen, um diesen Wert zu ändern, ganz nach Ihren VGA-Karte Ebenen.

Code

Sie müssen den Zeichensatz, den Sie für den Angriff benutzen zu definieren. Um dies zu tun, ändern Sie die charset -Array Hinzufügen der USB-Key Codes, die Sie verwenden möchten. Wir haben nur KEY_A, KEY_B, KEY_C standardmäßig in der Beispiel-Code. Außerdem müssen Sie ein zweites Array mit dem Namen ändern charset_log was müssen die gleiche Größe haben, aber statt des Schlüsselcodes es spiegelt die druckbare Byte, der Protokollierung.
Das andere, was Sie ändern müssen, ist die maximale Länge des Passworts, standardmäßig auf 4. Achten Sie auf das MAX_LEN definieren.
Der Staat wird in regelmäßigen Abständen im EEPROM gespeichert, so dass im Falle eines Stromausfalls können Sie auch weiterhin von der letzten (oder in der Nähe des letzten) geprüfte Passwort.


Laden Sie die Code hier ein , und fühlen sich frei, ihn zu ändern, wenn Sie benötigen.


Hier einige Bilder des Schildes

Ein iPod-Box für den Fall


Tonübertragungsfunktion Methode, um das Brett zu machen. Ein wenig ausgebrannt aufgrund der zu hohen Bügeln.


Front


Zurück


Bye!

  1. MAx
    29. April 2012 um 08:59 | # 1

    Ich will das Detail dieses Projekt, dass u gemacht .... Ich möchte The Value of Widerständler, Kondensatoren, etc ...
    Wich-ICs der Sie das ganze Zeug im ..... wirklich warten für ur Antwort ... wenn u PCB-Design für dieses Projekt haben, dass auch senden ..... pl.pl.pl.pl.pl.pl.pl.pl.pl

  2. fvicente
    29. April 2012 um 21:33 | # 2

    Hallo Max. Alles wird in diesem Beitrag detailliert, einschließlich PCB und Quellcode. Alle innerhalb des ZIP (achten Sie auf "Code hier" in diesem Beitrag). Die wichtigste Komponente ist die Arduino, außer, dass ich einen Zeilen-Display, ein variabler Widerstand (10k), um den Kontrast des Displays einzustellen, und die Anschlüsse. Alles ist in der Eagle Schaltplan. Laden Sie Eagle CAD, wenn Sie es nicht haben, und öffnen Sie die Dateien für weitere Details.

  3. krnico
    2. Mai 2012 um 22:44 | # 3

    Passwörter pro Sekunde ausprobiert? wie viel Zeit, um eine AZ 5 characaters vergessen?

  4. fvicente
    3. Mai 2012 um 17:12 | # 4

    @ Krnico
    Passwörter pro Sekunde ... summ ... langsam, sehr langsam. : D
    Ich schätze, dass nur 5 Zeichen-Länge mit einem solchen Zeichensatz wird so schlimm nicht sein (ein paar Tage?). Denken Sie daran, die beiden Tabellen in der. PDE mit dem Zeichensatz Sie verwenden möchten, aktualisieren!

Spam-Schutz durch WP Captcha-freie