Canoga-Perkins Passwortwiederherstellung (Brute-Forcing über COM-Port)

961
Tim_Stewart

Ich erhielt kürzlich einen (Canoga-Perkins 9145E-104) Medienkonverter / NID. Canoga Perkins

Der Freund, der es mir gegeben hat, arbeitet für ein lokales CLEC und gibt mir alle möglichen Arten von Arbeitskleidung von Upgrades usw.

Ich hatte angenommen, dass die Reset-Taste am Gerät das Administratorkennwort zurücksetzen würde, aber nicht. Als ich den Canoga-Perkins-Support anrief, sagten sie im Wesentlichen, dass das Gerät wie ein Vorhängeschloss ist. Es müsste an sie gesendet werden, damit das Passwort zurückgesetzt werden kann. Natürlich hörte ich nicht zu und knallte die Oberseite des Geräts ab, um zu sehen, ob es eine CMOS-Batterie oder einen Jumper gab, um das NV-RAM zu löschen. Meine Bemühungen waren vergebens.

Ich habe jedoch einen Konsolenzugriff über den COM-Port (Benutzername / Passwort gesperrt) und es scheint keine Einschränkung für Passwortversuche zu geben.

Ich sprach mit dem Freund, der es mir gab, um zu fragen, ob er wusste, wie das Passwort aussehen könnte. Er sagte, es sei von vor dem Umzug auf AAA-Server und hatte wahrscheinlich ein einfaches alphanumerisches Passwort mit 4 bis 6 Ziffern.

Mein Gedanke war also:

Verwenden Sie crunch oder ein anderes Wörterbuch zum Erstellen eines Wörterbuchs, um ein Wörterbuch zu erstellen. Ich bin mir jedoch nicht sicher, wie ich dies an den COM-Port in Windows oder Linux weiterleiten kann. Ich bin offen für jede Lösung mit jeder Distro.

Hat jemand irgendwelche Ideen, wie ich diese Aufgabe lösen könnte?

Bearbeiten:

Ich habe einen sehr ähnlichen Beitrag zum Senden von Befehlen über serielle Verbindungen gefunden.

Echo / Pipe-Befehlsausgabe an die serielle Leitung

Der Benutzer AFH hat in den Kommentaren dort einige Vorschläge gemacht. Ich muss etwas lesen, da ich keine Ahnung habe, wie ich herausfinden soll, was er beschreibt.

Edit-2: Ich hatte letzte Nacht etwas damit zu tun, man kann mit minicom direkt nach ttyUSB0 pfeifen. Ich habe es auf Ubuntu und Kali Linux getestet. Verwenden von "crunch 4 4 abcd | sudo minicom" Da das Gerät zur Eingabe eines Benutzernamens und eines Kennworts auffordert. Ich muss das Wörterbuch in eine Datei schreiben, die Datei analysieren und zwischen jedem Passwortversuch einen "admin" hinzufügen. Und wahrscheinlich finden Sie heraus, wie Sie die Ausgabe etwas verlangsamen können. Ich habe einen Freund, der ein professioneller Programmierer ist. Er sagte, er kann mir ein Programm schreiben, um die Datei zu analysieren und die Admin-Zeilen hinzuzufügen. Danach müssen Sie nur noch herausfinden, wie Sie die geänderte Datei lesen und über minicom an die NID senden.

4
Kein Problem, Tim, ich versuche immer gerne zu helfen und sogar mit einem Kommentar, wenn mir etwas einfällt, das für das Thema relevant sein könnte. Es klingt wie ein ziemlich Projekt, aber ich freue mich darauf, Ihre endgültige Lösung am Ende zu hören genau das, was Sie für diese Aufgabe verwendet haben. Ich habe einen KVM in einem Rechenzentrum. Ich muss versuchen, über seine serielle RS-232-Schnittstelle Gewalt zu erzwingen, damit ich die KVM-über-IP-Funktionen auf dem Server-Rack, auf dem er sich befindet, konfigurieren kann. Ich bin nie überrascht von Python und seiner Robustheit, seinen Aufgaben usw. und professionellen Programmierern unter https://stackoverflow.com/ und ihrer Hilfe Pimp Juice IT vor 6 Jahren 1
Ähm ... hast du überlegt, dass du `sudo / bin / bash 'machen kannst und dann als root dein Programm ausführen kannst? `crunch 4 4 abcd | minicom`? __WARNING__ Damit geben Sie dem Programm "crunch" die Kontrolle über Ihre Maschine ... besser, erstellen Sie ein Datei-Wörterbuch und führen Sie dann bekannte (sichere) Befehle als root aus. Hastur vor 6 Jahren 0
@Pimp Juice IT nochmals danke. Viel Glück mit deiner KVM. Tim_Stewart vor 6 Jahren 1

1 Antwort auf die Frage

2
Tim_Stewart

Wenn Sie dies auf Ubuntu versuchen,

"sudo apt-get install minicom". Verwenden Sie Ihre bevorzugte Suchmaschine und folgen Sie einer Online-Anleitung, um sich mit Ihrer spezifischen Version von Ubuntu zu beschäftigen.

Ich habe Kali auf einem alten Netbook installiert, um es dieser Aufgabe zu widmen. Seine Spezifikationen sind 2 x 1,8 GHz Hyper-Theading-Kerne und 2 GB RAM. Sie benötigen nicht viel. Wenn Sie keine Pakete manuell installieren möchten, würde ich empfehlen, den Kali Linux-Pfad zu wählen. Kali hat alles vorinstalliert, was Sie dafür brauchen. Ich habe ungefähr 20 Minuten gebraucht, nachdem ich den bootfähigen USB-Stick erstellt hatte, um die Neuinstallation abzuschließen.

Finden Sie den COM-Port-Namen heraus - ttyUSBx

Sie müssen den USB-Adapter an den seriellen Adapter anschließen und herausfinden, an welchen seriellen Anschluss er logisch angeschlossen ist.

Geben Sie am Terminal "dmesg | grep USB" ein.

Sie sollten etwas Ähnliches sehen:

enter image description here

Möglicherweise müssen Sie "chmod 777 / dev / ttyUSB0" abhängig von den Berechtigungen, der Distribution usw. festlegen. In Kali musste ich das nicht tun. Sie werden wissen, ob Sie dies tun müssen, wenn Sie die Einstellungen in minicom nicht speichern können.

Minicom mit "minicom -s" einrichten

Das hängt vom seriellen Gerät ab, mein war der Klassiker

  • 9600 bps
  • 8 Datenbits
  • Keine Parität
  • 1 Stoppbit.

Überprüfen Sie das Gerätehandbuch auf seine seriellen Einstellungen, um eine Verbindung über die Konsole herzustellen. Stellen Sie sicher, dass Sie Ihre Konfiguration nach dem Beenden als Standardeinstellung in minicom speichern und bestätigen, dass sie funktioniert.

Wenn Ihr Gerät nur zur Eingabe eines Kennworts auffordert, haben Sie Glück. du musst nur

"crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 | minicom" Verwenden Sie die Parameter, die Ihr Passwort benötigt. Wenn Ihr Gerät einen Benutzernamen und ein Kennwort benötigt oder Sie die Ausgabe etwas verlangsamen müssen. weiter lesen...

Passwortliste erstellen:

Abhängig davon, auf welchem ​​Crunch installiert ist und wie Sie Ihre Linux Distro initial einrichten. Möglicherweise müssen Sie es mit "sudo ./crunch", "./crunch" oder in Kali nur "crunch" vom Terminal ausführen. Erstellen Sie eine Kennwortliste und schreiben Sie in eine Datei. Beispiel "crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 -o input.txt". Geben Sie auf dem Kali-Terminal den Befehl man crunch ein, um ausführliche Anweisungen zu erhalten.

Wenn Sie sich an einen Teil des Kennworts erinnern, können Sie den Zeitaufwand für das Entsperren Ihres Geräts erheblich reduzieren. Es gibt spezielle Optionen dafür. Suchen Sie online nach Tutorials zu den erweiterten Funktionen von crunch, wenn Sie interessiert sind.

Nachdem Sie Crunch mit den Optionen ausgeführt haben, die Ihren Anforderungen entsprechen. Sie sollten jetzt eine Wörterbuchdatei mit dem Namen "Alle" im Stammverzeichnis haben.

Einen Benutzernamen hinzufügen:

add-user.py Kopieren Sie das Python-Skript in eine neue Datei. Nennen Sie es einfach "add-user.py" und legen Sie es im Stammverzeichnis ab. Öffnen Sie ein Terminalfenster und "chmod 777 add-user.py". Dadurch erhalten Sie Lese- und Schreibzugriff und können das Skript ausführen. Machen Sie ein "ls -la", das Skript sollte in der Liste grün sein. (in kali und ubuntu). lsla

Sie können das Skript jetzt mit "sudo ./add-user.py" oder "./add-user.py" ausführen. Stellen Sie einfach sicher, dass sich die Datei input.txt im selben Verzeichnis befindet und dass Sie gut sein sollten. Die Ausführung des Skripts auf meinem armen alten Netbook dauerte etwa 35 Minuten, wobei alle alphanumerischen Kleinbuchstaben mit insgesamt 5 Ziffern verwendet wurden.

Pipe aus dem neuen Wörterbuch mit ttyUSB0 an minicom

Dieser Teil ist ziemlich einfach "cat w-user-output.txt | minicom"

das ist es im Grunde. Ein paar Dinge sollten jedoch beachtet werden: Wenn Sie ein umfangreiches Wörterbuch erstellen, möchten Sie vielleicht etwas darüber nachdenken, wie das Skript seine Ausgabe druckt. Wenn Sie eine Zählung in der "for" -Schleife starten und alle 50 Schleifen ein Zeilen-Update drucken, wird dies beschleunigt Skript ein bisschen auf. Beachten Sie auch, dass in meinem Fall eine leere Zeile von minicom als ein Benutzer interpretiert wurde, der die Eingabetaste drückt. Dadurch konnte ich das Skript so ändern, dass nach jedem Versuch drei leere Zeilen erstellt werden. Dies verlangsamte die Ausgabe ein wenig und stellte sicher, dass sie zuerst mit admin synchronisiert wurde.

EDIT: Die drei Leerzeilen funktionierten nicht. Während ich das schrieb und zurückkehrte, um den Fortschritt zu überprüfen, stellte ich fest, dass die Benutzer / Passwörter der conoga perkins-Box nicht mehr synchronisiert wurden. Dies ist der richtige Weg, um es zu verlangsamen, wenn Sie:

Erstellen Sie eine neue Datei im Stammverzeichnis, nennen Sie sie "Verlangsamung". Bearbeiten Sie Ihre Datei und geben Sie Folgendes ein. slowdown

Machen Sie eine "chmod + x-Verlangsamung" vom Terminal aus.

Sie können jetzt "cat w-user-output.txt | ./slowdown | minicom" ausführen. Passen Sie den Befehl "sleep" im Bash-Skript so an, dass er das Gerät Ihrer Meinung nach am schnellsten handhaben kann.

Ich möchte mich bei Steve dafür bedanken, dass er meine Fragen zur Programmierung gestellt hat, während er in der Nacht viel Bier getrunken hatte, und dass er ihn weiterhin in Python programmiert hat, auch wenn er darüber nachdrückt, wie einfach dies in C # wäre. Ein besonderes Dankeschön auch an die Nutzer "Pimp Juice IT" & "AFH", die mir beide anständige Vorschläge gemacht haben, als ich an einer Straßensperre war.

Ausnahmsweise verwendet jemand Kali richtig. Journeyman Geek vor 6 Jahren 2