Stelle kontobezogene Zugangsdaten aus dem alten Export wieder her

LinuxBeginner
Jetzt üben

Einführung

Eine gemeinnützige Organisation hat ihr Personalportal stillgelegt. In einer Vorfallsübung ist eine synthetische Kopie des alten Passwortexports aufgetaucht, während das aktuelle Personalarchiv weiterläuft. Ermittle, was die bereitgestellten Kandidaten tatsächlich wiederherstellen, ohne die Verbindung zwischen einem alten Datensatz und einer Person zu verlieren.

Du nutzt das laufende Archiv, führst John the Ripper in Kali Linux aus und erstellst eine private Wiederherstellungsübersicht. Alle Identitäten sind erfunden. Prüf- und Zielcontainer sind isoliert und teilen den Kernel einer VM. Nur die bereitgestellten Dateien und der Dienst liegen im erlaubten Umfang; Installation oder Programmierung sind nicht nötig.

Vorausgesetzt werden Terminaleingaben und das Erkennen von Pfaden. Dieses Lab erklärt seine Optionen und Dateioperationen. Plane einschließlich Lesen und gewöhnlicher Fehler etwa 45 Minuten ein; dies ist eine Schätzung des Autors. Das nächste angeleitete Lab beginnt unabhängig und prüft die aktuellen Auswirkungen.

Nutze das Archiv und schütze deine Ergebnisse

In diesem Schritt beobachtest du normalen Zugriff, bevor du den Export untersuchst. Öffne Auditor. Das Terminal wechselt als auditor in den Kali-Prüfcontainer nach /home/auditor/project. Das Archiv läuft in einem anderen Container.

SSH ist ein verschlüsseltes Protokoll für entfernte Anmeldungen. Dieses Archiv akzeptiert Passwörter und gibt nur den Namen des authentifizierten Kontos zurück; es stellt keine allgemeine Shell bereit. Beginne mit dem unkritischen Demokonto. -p wählt den Dienstport. Die beiden Optionen -o wählen die vorbereitete Serverschlüsseldatei und verlangen einen passenden Schlüssel. Der Hostschlüssel identifiziert den Server; dein Passwort authentifiziert dich. Das abschließende whoami fordert deinen entfernten Kontonamen an.

ssh -o UserKnownHostsFile=/etc/reuse/known_hosts -o StrictHostKeyChecking=yes -p 12222 demo@staff-archive whoami

Gib bei demo@staff-archive's password: das Passwort welcome-7 ein und drücke Enter. Die Zeichen werden nicht angezeigt. Erwartet werden demo und danach dein lokaler Prompt. Gib das Passwort nicht als Shellbefehl ein. Brich nach einem Tippfehler mit Strg+C ab und wiederhole den SSH-Befehl. Ein Verbindungs- oder Hostschlüsselfehler ist keine Ablehnung von Zugangsdaten; deaktiviere die Schlüsselprüfung nicht.

Lies den autorisierten Umfang. cat zeigt eine Datei; relative Pfade beginnen im aktuellen Verzeichnis. inputs enthält schreibgeschützte Originale.

cat inputs/scope.tsv

Die durch Tabulatoren getrennten Spalten heißen employee_id, current_login, host und port. Nur diese aktuellen Identitäten auf staff-archive:12222 sowie demo dürfen geprüft werden. Rate keine zusätzlichen Benutzernamen, Hosts oder Kandidatenlisten.

Wiederhergestellte Passwörter sind auch hier vertraulich. umask 077 entfernt Gruppen- und Fremdzugriff für neu angelegte Dateien dieser Terminalsitzung. mkdir -m 700 erstellt ein Verzeichnis, das nur der Eigentümer betreten kann. Führe die Befehle einzeln aus:

umask 077
mkdir -m 700 findings

findings ist dein beschreibbarer Ergebnisbereich. Falls es nach dem Wiederverbinden schon existiert, behalte es; wiederhole umask 077 in einer neuen Sitzung. Mit pwd siehst du dein Verzeichnis und mit cd /home/auditor/project kehrst du bei einem relativen Pfadfehler zurück. Bewahre während der Prüfung alle Eingabedateien, Archivkonten und aktuellen Passwörter unverändert.

Stelle die Treffer des bereitgestellten Wörterbuchs wieder her

In diesem Schritt testest du fünf Kandidaten gegen vier echte Passwort-Hashes. Ein Hash ist ein einseitig aus dem Passwort abgeleiteter Wert. Die Offline-Wiederherstellung berechnet Kandidaten-Hashes mit den gespeicherten Einstellungen und vergleicht sie; sie entschlüsselt keine Passwörter und meldet sich nicht am Archiv an.

Bleibe in Auditor unter /home/auditor/project. Lies die beiden kleinen Eingaben:

cat inputs/legacy.txt
cat inputs/candidates.txt

Alte Zeilen haben das Format record_id:hash. $6$ kennzeichnet SHA-512 crypt. Der gespeicherte Wert enthält ein Salt, das bei gleichen Passwörtern unterschiedliche gespeicherte Werte erzeugt. Behalte jeden Datensatzbezeichner bei. Dieses winzige synthetische Wörterbuch beschleunigt die Übung; seine Geschwindigkeit schätzt keine Passwortstärke in Produktionssystemen ab.

John wählt mit --format=sha512crypt das Format; --wordlist liest die bereitgestellten Kandidaten. Eine Pot-Datei speichert wiederhergestellte Hash/Passwort-Paare. --pot wählt eine private Datei statt der gemeinsam genutzten Vorgabe. --session bestimmt den Ort der Wiederaufnahme- und Protokolldateien des Laufs. OMP_NUM_THREADS=2 begrenzt die Arbeitsthreads nur für diesen Befehl. Diese Pfade enthalten keine Leerzeichen und brauchen keine Anführungszeichen.

OMP_NUM_THREADS=2 john --format=sha512crypt --wordlist=inputs/candidates.txt --pot=/home/auditor/project/findings/audit.pot --session=/home/auditor/project/findings/recovery inputs/legacy.txt

Warte auf den Prompt. Drei Hashes sollten wiederhergestellt werden; Zeit und Reihenfolge können variieren. Bei einer Wiederholung kann No password hashes left to crack bedeuten, dass die Pot-Datei die Ergebnisse bereits enthält, nicht dass die Eingabe leer war. --show liest gespeicherte Ergebnisse, ohne eine neue Wiederherstellung zu starten:

john --show --format=sha512crypt --pot=/home/auditor/project/findings/audit.pot inputs/legacy.txt

Erwarte diese Beziehungen, gegebenenfalls in anderer Reihenfolge:

portal-17:cedar42
portal-23:pebble7
portal-41:birch81

3 password hashes cracked, 1 left

Exportiere die tatsächliche Ausgabe. > leitet die Standardausgabe in eine Datei um und ersetzt diese Ergebnisdatei bei einer Wiederholung. Es verändert die Hashes nicht.

john --show --format=sha512crypt --pot=/home/auditor/project/findings/audit.pot inputs/legacy.txt > findings/recovered.txt
cat findings/recovered.txt

Der Export muss Datensatzbezeichner und wiederhergestellte Passwörter erhalten. Korrigiere nach einem Pfadtippfehler den betroffenen Befehl und führe ihn erneut aus. Falls ein Ergebnis für andere lesbar ist, stellt chmod 600 findings/recovered.txt Lesen und Schreiben nur für den Eigentümer wieder her; dieselbe Korrektur funktioniert für andere Ergebnisdateien. Teile weder die Pot-Datei noch den Klartextexport als Vorfallszusammenfassung.

Bewahre Identität und Unsicherheit

In diesem Schritt erstellst du eine passwortfreie Wiederherstellungsübersicht. Bleibe in Auditor und lies die alte Personalliste:

cat inputs/legacy-roster.tsv

Sie verbindet record_id mit einer stabilen employee_id und einem Anzeigenamen. Zwei Personen heißen Morgan Rivera: portal-17 gehört zu E101, portal-41 zu E103. Ein Name kann einen alten Datensatz nicht sicher einem aktuellen Anmeldenamen zuordnen.

Hier bedeutet recovered, dass ein ursprünglicher Hash zu einem bereitgestellten Kandidaten passt. not-recovered bedeutet, dass in diesem abgeschlossenen, begrenzten Lauf kein Kandidat passte. Es bedeutet weder stark noch sicher, abwesend oder nicht wiederverwendet. Ob der aktuelle Dienst die Daten akzeptiert, bleibt für jeden Datensatz unbekannt.

Erstelle findings/recovery.tsv mit den Spalten record_id, employee_id, recovery. printf interpretiert \t als Tabulator und \n als Zeilenumbruch. Einfache Anführungszeichen erhalten diese Folgen, bis printf sie liest; > erstellt oder ersetzt diese passwortfreie Übersicht.

printf 'record_id\temployee_id\trecovery\nportal-17\tE101\trecovered\nportal-23\tE102\trecovered\nportal-41\tE103\trecovered\nportal-58\tE104\tnot-recovered\n' > findings/recovery.tsv
cat findings/recovery.tsv

Prüfe, dass alle vier Datensätze genau einmal mit den Mitarbeiter-IDs der Liste vorkommen: drei wiederhergestellt, einer über dieses Budget hinaus ungeklärt. Korrigiere einen Wert im Text von printf und führe den Befehl erneut aus. Die private Pot-Datei und der Export unterstützen weitere autorisierte Arbeit; diese Übersicht vermittelt das Ergebnis ohne Passwörter offenzulegen.

Zusammenfassung

Du hast einen laufenden SSH-Dienst genutzt, drei synthetische alte Passwörter mit John wiederhergestellt und ihre ursprünglichen Identitäten erhalten. Deine privaten Ergebnisse und die passwortfreie Übersicht unterscheiden erfolgreiche Offline-Treffer von den Grenzen eines ausgeschöpften Wörterbuchs. Noch wurde für kein wiederhergestelltes Passwort nachgewiesen, dass es an einem aktuellen Personalkonto funktioniert. Das nächste angeleitete Lab trifft diese gesonderte Entscheidung mit exakten autorisierten Paaren.