Daten aus einem verschlüsselten Laufwerk abrufen

Daten aus einem verschlüsselten Laufwerk abrufen
Die Verschlüsselung ist der beste Weg, um sicherzustellen. Der Angreifer muss das Verschlüsselungskennwort, eine Tastatur oder den privaten Schlüssel eingeben, um auf den Inhalt der Dateien in diesem Laufwerk zuzugreifen. Die Verschlüsselung konvertiert die Datei in zufällig bedeutungslose Daten, auf die nicht zugegriffen werden kann, ohne die Passphrase einzugeben. Verschlüsselung bedeutet nicht, dass es das Laufwerk vor Malware, Viren und Würmern schützen kann.

Beginnen wir mit einer Beschreibung einiger Verschlüsselungssoftware:

Veracrypt:

Veracrypt ist eine modifizierte Version von TrueCrypt, eine berühmte Open-Source-Verschlüsselungssoftware, die sowohl unter Windows als auch für Unix wie Betriebssysteme verwendet werden kann. Es ist ein kostenloses und open-Source-Tool, das eine vollständige Festplattenverschlüsselung bietet. Im Vergleich zu TrueCrypt fügt Veracrypt einige neue und sichere Verschlüsselungsalgen und Formate für verschlüsselte Partitionen hinzu. Veracrypt bietet Verschlüsselung mit unterschiedlichen Verschlüsselungsalgorithmen wie AES, Schlange, Twofish, Kamelien usw. Darüber hinaus verwendet es 30 -mal mehr Iterationen beim Verschlingen einer Partition im Vergleich zu TrueCrypt.

Bitlocker:

Bitlocker ist eine beliebte Full-Disk-Verschlüsselungssoftware, die nur für Windows verfügbar ist. Es verwendet den AES-Algorithmus mit 128 oder 256-Bit-Schlüssel zur Verschlüsselung. Eine wichtige Sache über Bitlocker ist, dass, wenn Sie Ihren Computer einschalten lassen, alle Ihre Dateien sichtbar sind. Windows BitLocker steht jedem zur Verfügung, der Windows Vista oder über der Version von Windows verwendet. Durch BitLocker kann ein Benutzer das gesamte Laufwerk nur gleichzeitig verschlüsseln.

Starten Sie BitLocker, indem Sie den Suchbereich eingeben. Ein Bildschirm wie dieser wird angezeigt

Klicken Sie auf BitLocker vor der gewünschten Partition eintreiben.

Jetzt wird nach einem Passwort gefragt. Geben Sie eine starke Kombination aus Buchstaben, Zahlen und Sonderzeichen als Passwort ein, und Sie können loslegen.

Um auf BitLocker Protected Drive unter Linux zuzugreifen, müssen Sie den folgenden Befehl mit dem folgenden Befehl installieren:

Ubuntu@Ubuntu: ~ $ sudo appt install dislocker

Luks:

Luks (steht für Linux Unified Key Setup) ist ein Linux-basierter Festplattenverschlüsselungstool, das 2004 von Clemens Fruhwirth entworfen wurde. Es bietet nicht so viele Funktionen im Vergleich zu Veracrypt, aber es ist flexibel, Verschlüsselungsalgorithmen zu verwenden. Luks bietet einfach keine Kompatibilität zwischen verschiedenen Programmen, versichert auch systematisch das Kennwortmanagement. Es wird als Standard für die Festplattenverschlüsselung in UNIX -wie Betriebssystemen verwendet.

Um auf Windows zugreifen zu können, können Sie LIBICRYPT verwenden.

Dateivault 2:

FileVault2 ist die Antwort von Apple auf Windows Bitlocker. Diese Software ist nur für Mac OS verfügbar. Für die Verschlüsselung verwendet es AES-XTS 128-Bit-Verschlüsselungsalgorithmus und unterstützt nur eine symmetrische Schlüsselverschlüsselung mit einem Kennwort. Eine wichtige ähnliche Sache über BitLocker und FileVault2 ist, dass alle Daten ihres verschlüsselten Laufwerks sichtbar sind, bis das Computersystem heruntergefahren ist.

Verschlüsseln Sie eine Festplatte mit Veracrypt:

Nehmen wir eine USB oder eine Festplatte und verschlüsseln sie mit Veracrypt. Anschließend werden wir versuchen, ihre Verschlüsselung mithashcat zu brechen, um auf unsere Daten zuzugreifen.

Öffnen Sie Veracrypt Sie sehen einen Bildschirm wie folgt:

Klicken Sie auf das Volumen erstellen und wählen Sie eine Lautstärke mit Partition erstellen.

Klicken Sie auf Weiter und wählen Sie die gewünschte Partition aus angegebenen Partitionen aus.

Jetzt haben wir zwei Dinge zur Auswahl. Verschlüsselungsalgorithmus und Hash -Algorithmus.

Wählen Sie eine andere Wählen Sie, wenn Sie eine besondere Anforderung haben oder sie bei Standardeinstellung lassen.

Wenn Sie auf Weiter klicken, können Sie das Passwort auswählen.

Wählen Sie ein starkes Passwort mit einer Kombination aus Buchstaben, Zahlen und Sonderzeichen gemäß Anweisungen.

Wenn Sie auf Weiter klicken, werden nach einem Format gefragt. Klicken Sie auf OK und nach kurzer Zeit wird Ihr Laufwerk verschlüsselt.

Cracking Veracrypt -Verschlüsselung:

Um das Veracrypt -Volumes mit Hashcat zu knacken, müssen Sie Hashcat mit den binären Daten mit Hashes und Verschlüsselungsinformationen bereitstellen. Was Sie brauchen, sind die ersten 512 Bytes des Veracrypt -Volumes.

Startfahrten müssen die 512 Bytes im letzten Sektor der ersten Spur des Laufwerks ziehen. 1 Track ist 63 Sektoren lang. Wir müssen also 31744 (62*512) Bytes überspringen und die nächsten 512 Bytes extrahieren, in denen der Kopfball gespeichert ist. Für Nicht-Boot-Laufwerke müssen wir die ersten 512 Bytes extrahieren.

Wir werden dies tun, indem wir DD auf unserem verschlüsselten USB -Laufwerk mit dem Namen /Dev /SDB1 verwenden, indem wir den folgenden Befehl verwenden:

Ubuntu@Ubuntu: ~ $ sudo dd if =/dev/sdb1 von = binary_data bs = 512 count = 1
Conv = NoError, Synchronisationsstatus = Fortschritt
  • if = Laufwerksname
  • von =Datei, in der extrahierte Daten gespeichert werden
  • BS =Blockgröße (Anzahl der Bytes, die gezogen werden)
  • Conv = NoError, Synchronisationsstatus = Fortschritt = Führen Sie die Arbeit im Falle eines Fehlers weiter aus

Für Boot-Drives verwenden wir den folgenden Befehl. Wir müssen die ersten 31744-Bytes überspringen:

Ubuntu@ubuntu: ~ $ sudo dd if =/dev/sdb1 von = binary_data slip = 31744 bs = 512 count = 1
Conv = NoError, Synchronisationsstatus = Fortschritt

Wenn wir das Laufwerk verschlüsseln, müssen wir bei der Auswahl einer versteckten Partition die ersten 64K (65536) -Bytes überspringen und den folgenden Befehl verwenden:

Ubuntu@Ubuntu: ~ $ sudo dd if =/dev/sdb1 von = binary_data slip = 65536 bs = 512
count = 1 conv = noError, Synchronisationsstatus = Fortschritt

Hashcat:

Hashcat ist das leistungsstärkste und schnellste Dienstprogramm für Passwortwiederherstellungen, das 5 Angriffsmodi für mehr als 300 hochoptimierte Hashing-Algorithmen unterstützt. Es ist auch mit verschiedenen Arten von grafischen Verarbeitungseinheiten (GPUs) kompatibel, die sich mit seiner Rissgeschwindigkeit vervielfachen können. Hashcat ist sowohl für Windows als auch für Unix -ähnliche Betriebssysteme verfügbar.

Hashcat braucht 3 Dinge, um zu knacken:

  1. M: Hash -Typ
  2. A: Angriffstyp
  3. Binärdatendatei

Schauen wir uns an Hashcat -Help:

Ubuntu@Ubuntu: ~ $ Hashcat -HELP
- [ Optionen ] -
Optionen kurz / lang | Typ | Beschreibung | Beispiel
=========================ieben ====================================================== ===
-M, -Hash-Typ | Num | Hash-Typ, siehe Referenzen unten | -M 1000
-A,-Angriffsmodus | Num | Angriffsmodus, siehe Referenzen unten | -a 3
-V, --version | | Druckversion |
-H, -Help | | Druckhilfe |
--ruhig | | Ausgang unterdrücken |
--hex-charset | | Angenommen, Charset ist in Hex | angegeben
--Hex-Salz | | Angenommen, Salz wird in Hex | angegeben
--Hex-Wortliste | | Angenommen, Wörter in WordList sind in Hex | angegeben
--Kraft | | Warnungen ignorieren |
--Status | | Aktivieren Sie die automatische Aktualisierung des Statusbildschirms |
--Status-Timer | Num | Legt Sekunden zwischen Statusbildschirmaktualisierungen zu X | fest --Status-Timer = 1
--Stdin-Timeout-Abort | Num | Abbrechen, wenn es für x Sekunden keine Eingabe von Stdin gibt | --stdin-Timeout-Abort = 300
--maschinelles Lesbar | | Zeigen Sie die Statusansicht in einem maschinenlesbaren Format an |
--achten | | Raten Sie den Hash weiter, nachdem es geknackt wurde |
--Selbsttest-disable | | Deaktivieren Sie die Selbsttestfunktionalität beim Start |
--Loopback | | Fügen Sie neue Ebenen hinzu, um das Verzeichnis induzieren |
--Markov-hcstat2 | Datei | Geben Sie die HCSTAT2 -Datei an, die verwendet werden soll -markov-hcstat2 = my.hcstat2
--markov-disable | | Deaktiviert Markov-Kains, emuliert klassische Brute-Force |
--Markov-Klasse | | Ermöglicht klassische Markov-Ketten, keine pro Position |
-t,-markov-schwelle | Num | Schwelle X Wenn Sie aufhören, neue Markov-Ketten zu akzeptieren | -t 50
--Laufzeit | Num | Sitzung nach x Sekunden Laufzeit | -Runtime = 10
--Sitzung | Str | Definieren Sie den bestimmten Sitzungsnamen | -Sitzung = MySession
--wiederherstellen | | Wiederherstellung der Sitzung von -Session |
--Wiederherstellung disable | | Schreiben Sie keine Wiederherstellungsdatei |
--restore-file-path | Datei | Spezifischer Weg zur Wiederherstellung der Datei | -RESTORE-SCHLEISE-PATH = x.wiederherstellen
-O, -Outfile | Datei | Definieren Sie Outfile für wiederhergestelltes Hash | -O Outfile.txt
--Outfile-Format | Num | Definieren Sie Outfile-Format X für wiederhergestelltes Hash | -OutFile-format =
--Outfile-autohex-disable | | Deaktivieren Sie die Verwendung von $ hex [] in Ausgabeebenen |
--Outfile-Check-Timer | Num | Legt Sekunden zwischen Outfile -Schecks zu X | fest -OutFile-Check = 30
--WordList-autohex-disable | | Deaktivieren Sie die Konvertierung von $ hex [] von der WordList |
-P, -Seziator | Char | Trennzeichen für Hashlisten und Outfile | -P :
--stdout | | Knacken Sie keinen Hash, sondern drucken Sie stattdessen nur Kandidaten |
--Show | | Vergleichen Sie die Hashlist mit Potfile; Show Cracked Hashes |
--links | | Vergleichen Sie die Hashlist mit Potfile; Zeigen Sie ungekratzte Hashes |
--Benutzername | | Aktivieren Sie die Ignorierung von Benutzernamen in Hashfile |
--entfernen | | Aktivieren Sie die Entfernung von Hashes, sobald sie geknackt sind |
--Timer entfernen | Num | Aktualisieren Sie die Eingabe -Hash -Datei jeweils x Sekunden | -Remove-Timer = 30
--potfile-disable | | Schreiben Sie nicht potfile |
--Potfile-Pfad | Datei | Spezifischer Weg zu Potfile | -Potfile-path = my.Topf
--Codierungsfrom | Code | Erzwingen Sie die interne WordList -Codierung aus x | --Coding-from = ISO-8859-15
--Codierung zu | Code | Erzwingen Sie die interne WordList -Codierung nach X | --coding-to = utf-32le
--Debug-Modus | Num | Definiert den Debug -Modus (hybrid nur unter Verwendung von Regeln) | -Debug-Modus = 4
--Debug-Datei | Datei | Datei Ausgabe für Debugging -Regeln | -Debug-file = gut.Protokoll
--Induktion-Dir | Dir | Geben Sie das Induktionsverzeichnis an, das für Loopback | verwendet werden soll -Induktion = Indukte
--Outfile-Check-Dir | Dir | Geben Sie das Outfile -Verzeichnis an, um die Ebenen zu überwachen | -OutFile-Check-dir = x
--logfile-disable | | Deaktivieren Sie die Protokolldatei |
--HCCAPX-MESSAGE-PAIR | Num | Laden Sie nur Nachrichtenpaare von HCCAPX -Matching X | -HCCAPX-MESSAGE-PAIR = 2
--Nonce-Error-Korrekturen | Num | Der BF -Größenbereich, um den Nonce Last -Bytes von AP zu ersetzen | -Nonce-Error-Korrekturen = 16
--Tastatur-Layout-Mapping | Datei | Tastatur-Layout-Mapping-Tabelle für spezielle Hash-Modes | -Keyb = Deutsch.hckmap
--TrueCrypt-Key-Dateien | Datei | Zu verwenden von Schlüsselfilmen, getrennt mit Kommas | -kalypt-keyf = x.png
--Veracrypt-Key-Files | Datei | Zu verwenden von Schlüsselfilmen, getrennt mit Kommas | --veracrypt-keyf = x.txt
--Veracrypt-pim | Num | Veracrypt Personal Iterations Multiplikator | --veracrypt-pim = 1000
-B, -Benchmark | | Rennen Sie den Benchmark aus ausgewählten Hash-Modes |
--Benchmark-All | | Führen Sie den Benchmark aller Hash -Modes aus (erfordert -b) |
--Nur Geschwindigkeit | | Rückkehr die erwartete Geschwindigkeit des Angriffs, dann aufhören |
--Nur Fortschritt | | Ret ideal Progress Schritt und Zeit zum Verarbeiten |
-C,-Segment-Größe | Num | Legt die Größe in MB auf Cache von der Wortdatei nach x | fest -c 32
--Bitmap-min | Num | Setzt Mindestbits für Bitmaps auf X | -Bitmap-min = 24
--Bitmap-Max | Num | Setzt maximale Bits zu, die Bitmaps auf X | erlaubt sind -Bitmap-max = 24
--CPU-AFFINITE | Str | Sperren zu CPU -Geräten, getrennt mit Kommas | -CPU-AFFINITE = 1,2,3
--Beispielhähne | | Zeigen Sie ein Beispiel für jeden Hash-Modus |
-I,-Opencl-info | | Informationen zu erkannten OpenCL -Plattformen/-geräten anzeigen | -ICH
--opencl-Plattformen | Str | OpenCL -Plattformen zu verwenden, getrennt mit Kommas | -OpenCl-Plattforms = 2
-D,-Opencl-Geräte | Str | OpenCl -Geräte zu verwenden, getrennt mit Kommas | -d 1
-D,-Opencl-Device-Type | Str | OpenCL-Gerätetypen zu verwenden, getrennt mit Kommas | -D 1
--opencl-vektor-width | Num | OpenCL-Breite manuell auf x | überschreiben --opencl-vector = 4
-O,-optimiert-Kernel-Enable | | Aktivieren Sie optimierte Kerne (Grenzkennwortlänge) |
-W,-Workload-Profil | Num | Aktivieren Sie ein bestimmtes Workload -Profil. Siehe Pool unten | -W 3
-N,-Kernel-Accel | Num | Manuell Workload -Tuning, setzen -n 64
-U,-Kernel-Schleife | Num | Manuell Workload -Abstimmung, Innerloop -Schrittgröße auf x | festlegen -U 256
-T,-Kernel-Threads | Num | Manuell Workload -Abstimmung, Thread Count auf x | festlegen -T 64
-S, - -skip | Num | Überspringen Sie x Wörter vom Start | -S 1000000
-l, -limit | Num | Begrenzen Sie x Wörter aus dem Start + übersprungene Wörter | -l 1000000
--Schlüsselspace | | Schlüsselspace Base: Mod -Werte und Beenden |
-J,-RULE-LINK | Regel | Einzelregel an jedes Wort von der linken WordList | -J 'C'
-K,-RULE-Right | Regel | Einzelregel an jedes Wort aus der rechten Wortliste | -k '^-'
-R,-Rules-Datei | Datei | Mehrere Regeln, die auf jedes Wort von WordLists angewendet werden | -R Regeln/Best64.Regel
-G,-generieren Rules | Num | Generieren x zufällige Regeln | -G 10000
--erzeugen Rules-Func-Min | Num | Erzwingen Sie min x Funktionen pro Regel |
--erzeugen Rules-Func-Max | Num | Erzwingen Sie max. X Funktionen pro Regel |
--Rules-Samen | Num | Erzwingen Sie RNG -Samen auf X |
-1,-Custom-charset1 | CS | Benutzerdefinierte Zeichen ?1 | -1 ?l?D?u
-2,-Custom-charset2 | CS | Benutzerdefinierte Zeichen ?2 | -2 ?l?D?S
-3,-Custom-charset3 | CS | Benutzerdefinierte Zeichen ?3 |
-4,-Custom-charset4 | CS | Benutzerdefinierte Zeichen ?4 |
-I, -Inkrement | | Aktivieren Sie den Maskeninkrementmodus |
--Inkrement-min | Num | Starten Sie die Maskeninkrementierung bei x | -Inkrement-min = 4
--Inkrementmax | Num | Stoppen Sie die Maskeninkrementierung bei x | -Inkrementmax = 8
-S,-Slow-Candidates | | Aktivieren Sie langsamere (aber fortgeschrittene) Kandidatengeneratoren |
--Hirnserver | | Brain Server aktivieren |
-Z,-Brain-Client | | Brain Client aktivieren, aktiviert -s |
--Hirn-Klient-Merkmale | Num | Definieren Sie die Merkmale von Brain Client, siehe unten | -Brain-Client-Merkmale = 3
--Hirn-Host | Str | Brain Server Host (IP oder Domain) | -Brain-Host = 127.0.0.1
--Hirnport | Port | Brain Server Port | -Brain-Port = 13743
--Gehirnpasswort | Str | Brain Server Authentifizierung Passwort | -Brain-Password = bzfhcvgusjrq
--Gehirnsitzung | Hex | Überschreibt automatisch berechnet die Gehirnsitzung | -Brain-Session = 0x2ae611db
--Hirn-Session-Whitelist | Hex | Erlauben Sie nur gegebene Sitzungen, getrennt mit Kommas | -Brain-Session-Whitelist = 0x2AE611DB

Hash -Modi:

Wir werden hier mehr als tausend Hash -Modi sehen. Diese sind jetzt von Interesse.

137xy | Veracrypt | Full-Disk-Verschlüsselung (FDE)
X | 1 = pbkdf2-hmac-ripemd160 | Full-Disk-Verschlüsselung (FDE)
X | 2 = PBKDF2-HMAC-SHA512 | Full-Disk-Verschlüsselung (FDE)
X | 3 = PBKDF2-HMAC-Whirlpool | Full-Disk-Verschlüsselung (FDE)
X | 4 = pbkdf2-hmac-ripemd160 + Boot-Mode | Full-Disk-Verschlüsselung (FDE)
X | 5 = PBKDF2-HMAC-SHA256 | Full-Disk-Verschlüsselung (FDE)
X | 6 = pbkdf2-hmac-sha256 + Boot-Mode | Full-Disk-Verschlüsselung (FDE)
X | 7 = PBKDF2-HMAC-STREEBOG-512 | Full-Disk-Verschlüsselung (FDE)
Y | 1 = XTS 512 Bit Pure AES | Full-Disk-Verschlüsselung (FDE)
Y | 1 = XTS 512 Bit Pure Schlange | Full-Disk-Verschlüsselung (FDE)
Y | 1 = XTS 512 Bit Pure Twofish | Full-Disk-Verschlüsselung (FDE)
Y | 1 = XTS 512 Bit reine Kamelie | Full-Disk-Verschlüsselung (FDE)
Y | 1 = XTS 512 Bit rein Kuznyechik | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Pure AES | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Pure Schlange | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Pure Twofish | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit reine Kamelie | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit rein Kuznyechik | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Aes-Twofish | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Camellia-kuznyechik | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Camellia-Serpent | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Kuznyechik-Aes | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Kaskaded Kuznyechik-Twofish | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Serpent-AES | Full-Disk-Verschlüsselung (FDE)
Y | 2 = XTS 1024 Bit Cascaded Twofish-Serpent | Full-Disk-Verschlüsselung (FDE)
Y | 3 = XTS 1536 Bit ALL | Full-Disk-Verschlüsselung (FDE)
14600 | Luks | Full-Disk-Verschlüsselung (FDE)
16700 | Dateivault 2 | Full-Disk-Verschlüsselung (FDE)
18300 | Apple File System (APFS) | Full-Disk-Verschlüsselung (FDE)

Angriffsmodi:

# | Modus
===+======
0 | Gerade
1 | Kombination
3 | Rohe Gewalt
6 | Hybrid WordList + Maske
7 | Hybridmaske + WordList

Wir haben alle 3 Dinge Hashcat -Anforderungen. Lassen Sie uns den folgenden Befehl mit dem folgenden Befehl erledigen:

Ubuntu@Ubuntu: ~ $ sudo hashcat -a 0 -m 13722 BINARY_DATA WordList.txt -Force
Hashcat (v5.1.0) Start…
Hashes: 1 Verdauung; 1 einzigartige Verdauung, 1 einzigartige Salze
Bitmaps: 16 Bits, 65536 Einträge, 0x0000ffff -Maske, 262144 Bytes, 5/13 dreht sich
Regeln: 1
Anwendbare Optimierer:
* Null-byte
* Single-Hash
* Single-Salz
* Slow-hash-Simd-Loop
* Use-64-bit
Mindestkennwortlänge unterstützt von Kernel: 0
Maximale Passwortlänge unterstützt von Kernel: 64
* Gerät Nr. 1: Build_opts '-cl-std = cl1.2 -i opencl -i/usr/share/hashcat/opencl -d
Local_mem_type = 2 -d Vendor_id = 64 -d cuda_arch = 0 -d amd_rocm = 0 -d vect_size = 4 -d
Device_type = 2
-D DGST_R0 = 0 -D DGST_R1 = 1 -D DGST_R2 = 2 -D DGST_R3 = 3 -D DGST_ELEM = 16 -D
Kern_type = 6222 -d _unroll '
[Protokollierung von Clang-Optionen] "/usr/bin/ld" "--eH-Frame-hdr" "-m" "elf_x86_64" "-Shared"
"-o" "/root/.cache/pocl/ungekocht/tempfile-70-00-EB-2C-AA.Also "" -l/usr/lib/gcc/x86_64
-linux-gnu/9 "" -l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/x86_64-linux-gnu "
"-L/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/…/lib64" "-l/lib/x86_64-linux-gnu"
"-L/lib/.../lib64" "-l/usr/lib/x86_64-linux-gnu" "-l/usr/lib/.../lib64"
"-L/usr/lib/x86_64-linux-gnu/…/…/lib64" "-l/usr/lib/gcc/x86_64-linux-gnu/9/
…/…/… "" -L/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib "
"/Wurzel/.cache/pocl/ungekocht/tempfile-b1-44-3f-f1-67.So.o "" -lm "
Wörterbuch -Cache -Treffer:
* Dateiname…: WordList.txt
* Passwörter.: 600000
* Bytes…: 6000000
* Keyspace…: 600000
[Logging Clang-Optionen] "/usr/bin/ld" "--eH-Frame-hdr" "-m" "-l/usr/lib/llvm-6.0/bin/…/lib "
"-L/lib" "-l/usr/lib" "/root/.cache/pocl/ungekocht/tempfile-e2-ba-db-1f-ba.So.o "" -lm "" -lm "
"-lgcc" "-as benötigt" "-lgcc_s" "-no-as-gebrauchte" "-lc" "-lgcc"-as-gebrauchte "" -lgcc_s ""
"-nicht als gebraucht"

BINARY_DATA: TOKYO2002

Sitzung…: Hashcat
Status…: gerissen
Hash.Typ…: Veracrypt pbkdf2-hmac-sha512 + XTS 1024 Bit
Hash.Ziel…: Binary_data
Zeit.Start…: Do 11. Juni 20:38:17 2020 (11 Sekunden)
Zeit.Geschätzt…: Do 11. Juni 20:38:28 2020 (0 Sekunden)
Erraten.Basis…: Datei (WordList.txt)
Erraten.Warteschlange…: 1/1 (100.00%)
Geschwindigkeit.#1…: 0 h/s (0.57 ms) @ Accel: 32 Schleifen: 32 THR: 1 VEC: 4
Geborgen…: 1/1 (100.00%) Verdauung, 1/1 (100.00%) Salze
Fortschritt…: 600000/60000 (100.00%)
Abgelehnt…: 0/60000 (0.00%)
Wiederherstellen.Punkt…: 0/60000 (0.00%)
Wiederherstellen.Sub.#1…: Salz: 0 Verstärker: 0-1 Iteration: 499968-499999
Kandidaten.#1…: Mango 23232 -> WrongPassword23

Wir haben das Passwort bekommen Tokio2002.

Verschlüsseln Sie eine Fahrt mit Luks:

Schauen wir uns an, wie Sie einen USB mit der Luks -Verschlüsselung verschlüsseln können:

Installieren Sie zunächst das Cryptsetup-Luks-Paket mit dem folgenden Befehl:

Ubuntu@Ubuntu: ~ $ sudo APT Installieren Sie Cryptsetup-Luks

Verwenden Sie nun den folgenden Befehl, um die gewünschte Partition für die Verschlüsselung einzurichten:

Ubuntu@Ubuntu: ~ $ CryptSetup -y -v luksformat /dev /xdc

XDC ist der Partitionsname. Wenn Sie den Partitionsnamen nicht kennen, verwenden Sie "Fdisk -l".

Erstellen Sie nun ein logisches Gerätemaschinengerät, das mit einer verschlüsselten LUKS-Partition mit folgenden Verschlüsselung montiert ist:

Ubuntu@Ubuntu: ~ $ Cryptsetup Luksopen /Dev /XDC

Es wird um eine Passphrase verlangen. Geben Sie eine starke Kombination aus Buchstaben, Zahlen und Sonderzeichen als Passwort ein, und Sie können loslegen.

Cracking Luks Verschlüsselung:

Um nun das LUKs -Volumes mit Hashcat zu knacken, müssen Sie Hashcat mit einer korrekten Binärdatendatei füttern. Wir können diese Daten mit dem folgenden Befehl extrahieren:

Ubuntu@Ubuntu: ~ $ sudo dd if =/dev/sdb1 von = header.luks bs = 512 count = 4097
Conv = NoError, Synchronisationsstatus = Fortschritt

Dadurch wird eine 2 -MB -Datei erstellt, die alle Daten -Hashcat -Anforderungen für Cracking enthält.

Hashcat:

Schauen wir uns die Hashcat -Syntax an:

Ubuntu@Ubuntu: ~ $ sudo Hashcat -a -M

Jetzt haben wir die Binärdatei und die WordList, aber wir wissen nicht. Für diese Informationen werden wir uns Hashcat -Help ansehen.

Wir haben beide herausgefunden:

Typofencryption:

14600 | Luks | Full-Disk-Verschlüsselung (FDE)
16700 | Dateivault 2 | Full-Disk-Verschlüsselung (FDE)
18300 | Apple File System (APFS) | Full-Disk-Verschlüsselung (FDE)

Angriffstyp:

# | Modus
===+======
0 | Gerade
1 | Kombination
3 | Rohe Gewalt

Da wir gehen, werden wir anfangen zu knacken, indem wir den folgenden Befehl eingeben:

Ubuntu@Ubuntu: ~ $ sudo hashcat -a 0 -m 14600 Header.Luks WordList.txt
Hashcat (v5.1.0) Start…
Gerät Nr. 1: Build_opts '-cl-std = cl1.2 -i opencl -i/usr/share/hashcat/opencl -d
Local_mem_type = 2 -d Vendor_id = 64 -d cuda_arch = 0 -d amd_rocm = 0 -d vect_size = 4 -d
Gerät_Type = 2 -d dgst_r0 = 0 -d dgst_r1 = 1 -d dgst_r2 = 2 -d dgst_r3 = 3 -d dgst_elem = 16
-D KERN_TYPE = 6222 -D _unroll '
[Protokollierung von Clang-Optionen] "/usr/bin/ld" "--eH-Frame-hdr" "-m" "elf_x86_64" "-Shared"
"-o" "/root/.cache/pocl/ungekocht/tempfile-70-00-EB-2C-AA.So"
"-L/usr/lib/gcc/x86_64-linux-gnu/9" "-l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/…/
x86_64-linux-gnu "" -l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/…/lib64 "" -l/lib/
x86_64-linux-gnu "" -l/lib/…/lib64 "" -l/usr/lib/x86_64-linux-gnu "" -l/usr/lib/.../
lib64 "" -l/usr/lib/x86_64-linux-gnu/…/…/lib64 "-L/usr/lib/gcc/x86_64-linux-gnu/9/
…/…/… "" -L/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib ""/root/.Cache/pocl/
ungezwungen/tempfile-b1-44-3f-f1-67.So.o "" -lm "
Wörterbuch -Cache -Treffer:
* Dateiname…: WordList.txt
* Passwörter.: 50
* Bytes…: 500
* Schlüsselspace…: 50
[Protokollierung von Clang-Optionen] "/usr/bin/ld" "--eH-Frame-hdr" "-m"
"-L/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib ""/root/.Cache/pocl/
ungezwungen/tempfile-e2-ba-db-1f-ba.So.o "" -lm "" -lm "" -lgcc "-as-nützlich"
"-lgcc_s" "-no-as-nötig" "-lc" "-lgcc"-as-gebraucht "" -lgcc_s ""-no-as-gebrauchte "

Header.Luks: Tokio2002

Sitzung…: Hashcat
Status…: gerissen
Hash.Typ…: Luks
Hash.Ziel…: Header.Luks
Zeit.Start…: Do 11. Juni 20:38:17 2020 (11 Sekunden)
Zeit.Geschätzt…: Do 11. Juni 20:38:28 2020 (0 Sekunden)
Erraten.Basis…: Datei (WordList.txt)
Erraten.Warteschlange…: 1/1 (100.00%)
Geschwindigkeit.#1…: 0 h/s (0.57 ms) @ Accel: 32 Schleifen: 32 THR: 1 VEC: 4
Geborgen…: 1/1 (100.00%) Verdauung, 1/1 (100.00%) Salze
Fortschritt…: 50/50 (100.00%)
Abgelehnt…: 0/50 (0.00%)
Wiederherstellen.Punkt…: 0/50 (0.00%)
Wiederherstellen.Sub.#1…: Salz: 0 Verstärker: 0-1 Iteration: 499968-499999
Kandidaten.#1…: Mango 23232 -> WrongPassword23

Wir haben das Passwort bekommen Tokio2002.

Benutzerdefinierte Wordlisten verwenden Crunch:

Das Erstellen einer WordList auf eine Weise, die Sie möchten, ist eine gute Fähigkeit, die Sie in Ihrem Gürtel haben können. Es hilft viel bei brutalen Kraft- und Wörterbuchangriffen. Eines der Tools, die zum Erstellen einer benutzerdefinierten WordList verwendet werden können, ist Crunch.

Ubuntu@Ubuntu: ~ $ Crunch
Verwendung: Crunch [Optionen]
  • Mindest: minimale Länge
  • Max: maximale Länge
  • Optionen: Verschiedene Optionen, die wir auf seiner Mannseite finden werden

Optionen:

B: maximale Größe
C: anzahl der Zeilen
D: Begrenzen Sie die Anzahl der doppelten Zeichen
E: Stoppen Sie für den Fall, dass eine bestimmte Zeichenfolge erreicht ist
F: Verwenden Sie Charset.LST -Datei zu generieren von
ich: Umkehrungsbestellung
Ö: Ausgabe zur angegebenen Datei
R: Nehmen Sie eine vorherige Sitzung wieder auf
S: Geben Sie die Zeichenfolge an, mit der WordList beginnen wird
T: Setzen Sie das Muster mit @,%^ (Kleinbuchstaben, Großbuchstaben, Zahlen, Sonderzeichen gleichzeitig)
z: Komprimieren Sie die Ausgabedatei

Nehmen wir an, wir müssen eine WordList mit minimalen Zeichen 6 und maximalen Zeichen 8 generieren. Wir werden den folgenden Befehl verwenden und die Ausgabe auf Ausgabe speichern.txt:

Ubuntu@Ubuntu: ~ $ Crunch 6 8 -o Ausgabe.txt

Der Crunch erzeugt nun die folgende Datenmenge: 1945860473024 Bytes

1855717 MB
1812 GB
1 TB
0 pb

Der Crunch erzeugt nun die folgende Anzahl von Zeilen: 217167790528

Nehmen wir ein weiteres Szenario an, in dem wir wissen, dass der Geburtstag des Ziels 2002 ist, und er verwendet normalerweise ein Passwort von 9 Zeichen, die mit seinem Geburtstag enden. Wir werden den folgenden Befehl verwenden, um eine WordList zu generieren, die all diese Eigenschaften entspricht, und sie in einer Datei namens WordList speichern.txt.

ubuntu@ubuntu: ~ $ crunch 9 9 -t @@@@@ 2002 -o WordList.txt

Der Crunch erzeugt nun die folgende Datenmenge: 118813760 Bytes

113 MB
0 GB
0 TB0 PB

Der Crunch erzeugt nun die folgende Anzahl von Zeilen: 11881376

Crunch: 100% abgeschlossener Ausgangsleistung

Ubuntu@Ubuntu: ~ $ ls -la WordList.txt
-RW-RW-RW-1 Azad Azad 118813760 Jun 13 14:43 WordList.txt

Zu wissen, wie man die richtigen Wortlisten für Ihre Aufgabe erstellt.

Abschluss:

Wenn Sie versuchen, zwischen der Verschlüsselungssoftware zu wählen, lässt einige Verschlüsselungssoftware wie Veracrypt jemanden Ihre Laufwerke nicht öffnen, ohne ein Passwort einzugeben, selbst wenn die bösartige Person angemeldet ist, während Sie eine Software wie BitLocker für Windows und FileVault2 für Apple verwenden Ihre Dateien sichtbar, wenn der Benutzer angemeldet ist. Die Verschlüsselung Ihrer Laufwerke ist eine gute Sache, aber die Verwendung schwacher, wiederholter oder erratener Passwörter für sie erleichtert sie leicht zu knacken. Fast jeder Verschlüsselungstyp kann je nach Passwortlänge und Komplexität geknackt werden. Das Knacken von Verschlüsseln mithilfe einer benutzerdefinierten WordList sparen viel Zeit und hilft bei der effizienten Aufgabe. Gute Wordlisten zu machen sind eine Kunst, viele Tools sind wie Crunch, CEWL usw. erhältlich, die Ihnen helfen, dies zu tun. Dann gibt es einige sehr gute Tools wie Hashcat, Johntheripper, die jede Art von Verschlüsselung brechen können, wenn sie mit der richtigen Binärdatei und der richtigen WordList versehen ist. Im Vergleich zu John kann Hashcat GPUs verwenden und ist mit einer Geschwindigkeit von 882 c/s viel schneller über John mit einer Geschwindigkeit von 54.8 c/s.