Obtenir des données à partir d'un lecteur crypté

Obtenir des données à partir d'un lecteur crypté
Le cryptage est le meilleur moyen de s'assurer que personne ne peut lire les fichiers privés dans votre disque dur même au cas où ils auraient accédé à votre lecteur physiquement. L'attaquant doit entrer le mot de passe de chiffrement, un phrase de clé ou la clé privée pour accéder au contenu des fichiers à l'intérieur de ce lecteur. Le cryptage convertit le fichier en regardant au hasard des données dénuées de sens qui ne sont pas accessibles sans entrer dans la phrase secrète. Le chiffrement ne signifie pas qu'il peut protéger le lecteur contre les logiciels malveillants, les virus et les vers pendant que le système est en cours d'exécution, c'est juste que quelqu'un ne peut pas mettre la main sur le contenu du lecteur sans entrer dans le mot de passe.

Commençons par une description de certains logiciels de chiffrement:

Veracrypt:

Veracrypt est une version modifiée de TrueCrypt, un célèbre logiciel de chiffrement open source qui peut être utilisé sur Windows et Unix comme les systèmes d'exploitation. Il s'agit d'un outil libre et open-source qui fournit un chiffrement complet du disque. Si comparé à TrueCrypt, Veracrypt ajoute des algos et formats de chiffrement nouveaux et sécurisés pour les partitions chiffrées. Veracrypt fournit un cryptage avec différents algorithmes de chiffrement comme AES, Serpent, Twofish, Camellia, etc. De plus, il utilise 30 fois plus d'itérations lors de la cryptage d'une partition par rapport à TrueCrypt.

BitLocker:

BitLocker est un logiciel de chiffrement à disque complet populaire disponible uniquement pour Windows. Il utilise l'algorithme AES avec des clés 128 ou 256 bits pour le cryptage. Une chose importante à propos de BitLocker est que si vous quittez votre ordinateur allumé tous vos fichiers seront visibles. Windows Bitlocker est disponible pour toute personne utilisant Windows Vista ou au-dessus de la version de Windows. Grâce à Bitlocker, un utilisateur ne peut crypter l'ensemble du lecteur à la fois.

Démarrez Bitlocker en tapant la zone de recherche. Un écran comme celui-ci apparaîtra

Cliquez sur BitLocker devant la partition souhaitée.

Maintenant, il demandera un mot de passe. Entrez une forte combinaison de lettres, de chiffres et de caractères spéciaux comme mot de passe et vous êtes prêt à partir.

Pour accéder à BitLocker Protected Drive sur Linux, vous devez installer Dislocker à l'aide de la commande suivante:

ubuntu @ ubuntu: ~ $ sudo apt instlocer

Luks:

LUKS (signifie Linux Unified Key Configuration) est un outil de chiffrement en disque basé sur Linux conçu par Clemens Fruhwirth en 2004. Il n'offre pas autant de fonctionnalités par rapport à Veracrypt, mais il est flexible dans l'utilisation des algorithmes de chiffrement. LUKS n'offre tout simplement pas de compatibilité entre les différents programmes, mais assure également la gestion des mots de passe de manière systématique. Il est utilisé comme norme pour le chiffrement du disque dur dans UNIX comme les systèmes d'exploitation.

Pour accéder à des lecteurs cryptés Luks sur Windows, vous pouvez utiliser LibreCrypt.

FileVault 2:

FileVault2 est la réponse d'Apple à Windows Bitlocker. Ce logiciel n'est disponible que pour Mac OS. Pour le chiffrement, il utilise un algorithme de chiffrement AES-TXT 128 bits et il ne prend en charge que le cryptage de clés symétrique à l'aide d'un mot de passe. Une chose similaire importante à propos de BitLocker et FileVault2 est que toutes les données de leur lecteur cryptées sont visibles jusqu'à ce que le système informatique soit arrêté.

Encryportant un disque dur avec Veracrypt:

Prenons un USB ou un disque dur et le crypter avec Veracrypt, puis nous essaierons de briser son chiffrement en utilisant Hashcat pour accéder à nos données.

Ouvrez Veracrypt, vous verrez un écran comme celui-ci:

Cliquez sur Créer un volume et sélectionnez Créer un volume avec partition.

Cliquez sur Suivant et choisissez la partition souhaitée dans les partitions données.

Maintenant, nous avons deux choses à choisir. Algorithme de chiffrement et algorithme de hachage.

Choisissez une autre si vous avez une exigence spéciale ou si vous la laissez par défaut devrait être suffisante.

Cliquez sur Suivant nous amènera pour choisir le mot de passe.

Choisissez un mot de passe fort avec une combinaison de lettres, de chiffres et de caractères spéciaux selon les instructions.

Cliquez sur Suivant demandera un format. Cliquez sur OK et après une courte période, votre lecteur sera crypté.

Cracking Veracrypt Encryption:

Maintenant, pour casser des volumes de veracrypt avec hashcat, vous devez fournir un hashcat avec les données binaires contenant des hachages et des informations de chiffrement. Ce dont vous aurez besoin, ce sont les 512 premiers octets du volume Veracrypt.

Les lecteurs de démarrage nécessitent de tirer les 512 octets situés dans le dernier secteur de la première piste du lecteur. 1 piste est de 63 secteurs long, donc ce que nous devons faire, c'est sauter 31744 (62 * 512) octets et extraire les 512 octets suivants où l'en-tête est stocké. Pour les disques non-Boot, nous devons extraire les 512 premiers octets.

Nous le ferons en utilisant DD sur notre lecteur USB crypté nommé / dev / sdb1 en utilisant la commande suivante:

ubuntu @ ubuntu: ~ $ sudo dd if = / dev / sdb1 de = binary_data bs = 512 count = 1
Conv = Noerror, Sync Status = Progress
  • si = nom du lecteur
  • de =fichier dans lequel les données extraites seront stockées
  • bs =taille du bloc (nombre d'octets qui se font tirer)
  • Conv = Noerror, Sync Status = Progress = Continuez à faire le travail en cas d'erreur

Pour les disques de démarrage, nous utiliserons la commande suivante, nous devons ignorer les 31744 premiers octets:

ubuntu @ ubuntu: ~ $ sudo dd if = / dev / sdb1 de = binary_data skip = 31744 bs = 512 count = 1
Conv = Noerror, Sync Status = Progress

Dans le cas, tout en chiffrant le lecteur si nous avons sélectionné une partition cachée, nous devons ignorer les premiers octets 64K (65536) et utiliser la commande suivante:

ubuntu @ ubuntu: ~ $ sudo dd if = / dev / sdb1 de = binary_data skip = 65536 bs = 512
Count = 1 Conv = Noerror, Sync Status = Progress

Hashcat:

Hashcat est l'utilitaire de récupération de mot de passe le plus puissant et le plus rapide qui prend en charge 5 modes d'attaques pour plus de 300 algorithmes de hachage hautement optimisés. Il est également compatible avec différents types d'unités de traitement graphique (GPU) qui peuvent se multiplier à sa vitesse de fissuration. Hashcat est disponible pour Windows ainsi que pour les systèmes d'exploitation comme UNIX.

Hashcat a besoin de 3 choses pour commencer à craquer:

  1. M: type de hachage
  2. un: type d'attaque
  3. Fichier de données binaires

Regardons hashcat-help:

ubuntu @ ubuntu: ~ $ hashcat - help
- [Options] -
Options courtes / longues | Type | Description | Exemple
============================. ============================ + ==================. ===
-M, - Hash-Type | Num | Type de hachage, voir références ci-dessous | -M 1000
-A, - Mode d'attaque | Num | Mode d'attaque, voir références ci-dessous | -a 3
-V, --version | | Version d'impression |
-h, - help | | Aide d'impression |
--Calme | | Supprimer la sortie |
--Hex-Charset | | Supposons que le charme est donné en hexadécimal |
--HEX-SALT | | Supposons que le sel est donné en hexadécimal |
--Liste des mots hexadécimaux | | Supposons que les mots dans la liste de mots soient donnés en hexadécimal |
--Force | | Ignorer les avertissements |
--Statut | | Activer la mise à jour automatique de l'écran d'état |
--statut-temps | Num | Définit les secondes entre les mises à jour de l'écran d'état à x | --status-timer = 1
--stdin-timeout-abort | Num | Abortez s'il n'y a pas d'entrée de stdin pendant x secondes | --Stdin-Timeout-Abort = 300
--lisible par machine | | Affichez la vue d'état dans un format lisible par machine |
--Garder-Duess | | Continuez à deviner le hachage une fois qu'il a été fissuré |
--auto-test-disable | | Désactiver la fonctionnalité d'auto-test au démarrage |
--Loopback | | Ajouter de nouvelles plaines à la répertoire d'incitation |
--Markov-hcstat2 | Fichier | Spécifiez le fichier HCSTAT2 à utiliser | --Markov-hcstat2 = mon.hcstat2
--Markov-disable | | Désactive les chaînes de Markov, émule la force brute classique |
--Markov-Classic | | Active les chaînes de Markov classiques, pas de position |
-T, --markov-threshold | Num | Seuil x Quand arrêter d'accepter les nouvelles chaînes de Markov | -T 50
--Exécution | Num | Aborter la session après x secondes d'exécution | --runtime = 10
--Session | Str | Définir le nom spécifique de la session | - session = myssion
--Restaurer | | Restaurer la session de - session |
--Restore-Disable | | N'écrivez pas le fichier de restauration |
--Restore-File Path | Fichier | Chemin spécifique pour restaurer le fichier | --restore-file-path = x.restaurer
-o, --outfile | Fichier | Définir Outfile pour le hachage récupéré | -o Outfile.SMS
--Outfile-Format | Num | Définir Outfile-Format X pour le hachage récupéré | - OutFile-Format =
--OutFile-Autohex-Disable | | Désactiver l'utilisation de $ hex [] dans les plaines de sortie |
--Outfile-Check-Timer | Num | Définit les secondes entre les vérifications OutFile sur x | --outFile-Check = 30
--Wordlist-Autohex-Disable | | Désactiver la conversion de $ hex [] de la liste de mots |
-P, - Separator | Char | Séparateur Char pour les hachistes et les coups de pouce | -P:
--stdout | | Ne craquez pas un hachage, mais imprimez les candidats uniquement |
--Show | | Comparez la liste de hachage avec Potfile; montrer des hachages fissurés |
--Gauche | | Comparez la liste de hachage avec Potfile; Montrez des hachages sans crampes |
--Nom d'utilisateur | | Activer l'ignorance des noms d'utilisateur dans Hashfile |
--Supprimer | | Activer le retrait des hachages une fois qu'ils sont fissurés |
--Supprimer-Timer | Num | Mettre à jour le fichier de hachage d'entrée chaque x secondes | --Remove-Timer = 30
--Potfile-Disable | | N'écrivez pas Potfile |
--POTFILE PATH | Fichier | Chemin spécifique vers Potfile | --potfile path = mon.pot
--Encodage à partir de | Code | Forcer le codage de liste de mots interne de x | - Encoding-from = ISO-8859-15
--Encodage à | Code | Force la liste de mots interne encodant à x | --coding-to = utf-32le
--Mode de débogage | Num | Définit le mode de débogage (hybride uniquement en utilisant des règles) | --debug-mode = 4
--débogage-fichier | Fichier | Fichier de sortie pour les règles de débogage | --debug-file = bon.enregistrer
--induction-décor | Dir | Spécifiez le répertoire d'induction à utiliser pour le bouclage | --Induction = intronis
--OutFile-Check-Dir | Dir | Spécifiez le répertoire OutFile pour surveiller les plaines | --outFile-Check-dir = x
--Logfile-Disable | | Désactiver le fichier de journaux |
--HCCAPX-Message-Pair | Num | Chargez uniquement les paires de messages de HCCAPX correspondant x | --hccapx-message-pair = 2
--NONCE-ERROR-Corrections | Num | La plage de taille BF pour remplacer les derniers octets nonce d'AP | --NONCE-ERROR-Corrections = 16
--Clavier-jet-cartographie | Fichier | Tableau de cartographie de mise en page du clavier pour les modèles de hachage spéciaux | --keyb = allemand.hckmap
--TrueCrypt-KeyFiles | Fichier | File-clés à utiliser, séparés avec des virgules | --truecrypt-keyf = x.PNG
--Veracrypt-KeyFiles | Fichier | File-clés à utiliser, séparés avec des virgules | --Veracrypt-keyf = x.SMS
--Veracrypt-pim | Num | Veracrypt I itérations personnelles Multiplicateur | --Veracrypt-pim = 1000
-B, - Benchmark | | Exécuter Benchmark des modèles de hachage sélectionnés |
--Benchmark-all | | Exécutez Benchmark de tous les modes de hachage (nécessite -B) |
--vitesse uniquement | | Retournez la vitesse attendue de l'attaque, puis quittez |
--Progrès uniquement | | Retour taille de pas de progression idéale et temps pour traiter |
-C, - Size segments | Num | Définit la taille en MB pour cache du fichier Word à x | -C 32
--Bitmap-Min | Num | Définit les bits minimaux autorisés pour les bitmaps à x | - bitmap-min = 24
--Bitmap-max | Num | Définit les bits maximaux autorisés pour les bitmaps à x | - bitmap-max = 24
--CPU-Affinité | Str | Verrouille vers les appareils CPU, séparés avec des virgules | --CPU-Affinité = 1,2,3
--Exemples de refuges | | Afficher un exemple de hachage pour chaque mode de hachage |
-I, --OpenCl-Info | | Afficher les informations sur les plates-formes / appareils OpenCL détectés | -JE
--OpenCl-plateformes | Str | Plates-formes OpenCL à utiliser, séparées avec des virgules | --OpenCl-plateformes = 2
-D, --OpenCl-Devices | Str | Dispositifs OpenCL à utiliser, séparés avec des virgules | -d 1
-D, --Openl-Device-Types | Str | Types de périphériques OpenCL à utiliser, séparés avec des virgules | -D 1
--OpenCl-Vector-Width | Num | Remplacez manuellement OpenCl Vector-Width to x | --OpenCl-vector = 4
-O, --optimisé-kernel-inable | | Activer les noyaux optimisés (limite la longueur du mot de passe) |
-w, --workload-profile | Num | Activez un profil de charge de travail spécifique, voir Pool ci-dessous | -W 3
-n, --kernel-accel | Num | Taping de charge de travail manuelle, définissez la taille de pas d'OutoLop sur x | -N 64
-u, --kernel-boucs | Num | Taping de charge de travail manuelle, définissez la taille de l'étape Innerloop sur x | -U 256
-T, --kernel-threads | Num | Réglage manuel de la charge de travail, définissez le nombre de threads sur x | -T 64
-S, --SKIP | Num | Sautez x mots depuis le début | -S 1000000
-L, --Limit | Num | Limiter x mots du début + mots sautés | -L 1000000
--Espace Keys | | Afficher la base de l'espace de Keys: Valeurs de mod et quittez |
-J, --Rule-Left | Règle | Règle unique appliquée à chaque mot de la liste de mots gauche | -J 'C'
-K, --Rule-droite | Règle | Règle unique appliquée à chaque mot de la liste de mots droite | -K '^ -'
-R, --RULES-FILE | Fichier | Plusieurs règles appliquées à chaque mot de Wordlists | -R Règles / Best64.règle
-G, - GÉNÉRAT-RULES | Num | Générer x règles aléatoires | -g 10000
--Générer des Rules-Func-Min | Num | Forcer les fonctions min x par règle |
--Générer des Rules-Func-Max | Num | Force les fonctions max x par règle |
--Générer des graines de rubriques | Num | Force les semences RNG réglées sur x |
-1, --custom-charset1 | CS | Charset défini par l'utilisateur ?1 | -1 ?l?d?u
-2, --custom-charset2 | CS | Charset défini par l'utilisateur ?2 | -2 ?l?d?s
-3, --custom-charset3 | CS | Charset défini par l'utilisateur ?3 |
-4, --custom-charset4 | CS | Charset défini par l'utilisateur ?4 |
-I, - INCRÉMENT | | Activer le mode d'incrément de masque |
--incrément-min | Num | Démarrer le masque incréments à x | --INCRÉMENT-MIN = 4
--Incrément-max | Num | Arrêtez le masque incréments à x | --INCRÉMENT-MAX = 8
-S, --SLOW-CANDIDATES | | Activer les générateurs de candidats plus lents (mais avancés) |
--serveur de cerveau | | Activer le serveur cérébral |
-Z, - Brain-Client | | Activer le client du cerveau, active -s |
--Fertures cérébrales | Num | Définir les fonctionnalités du client, voir ci-dessous | - Brain-Client-Feures = 3
--Host du cerveau | Str | Hôte du serveur cérébral (IP ou domaine) | - Brain-host = 127.0.0.1
--Port de cerveau | Port | Port de serveur cérébral | - Brain-Port = 13743
--Brain-password | Str | Mot de passe d'authentification du serveur cérébral | --Brain-Password = bzfhcvgusjrq
--Brain-Session | Hex | Les remplacements calculées automatiquement la session du cerveau | - Brain-session = 0x2ae611db
--Brain-Session-Whitelist | Hex | Autoriser uniquement les séances, séparées avec des virgules | - Brain-Session-Whitelist = 0x2Ae611db

Modes de hachage:

Nous verrons plus de mille modes de hachage ici. Ce sont des intérêts maintenant.

137xy | Veracrypt | Encryption à disque complet (FDE)
X | 1 = PBKDF2-HMAC-RIPEMD160 | Encryption à disque complet (FDE)
X | 2 = pbkdf2-hmac-sha512 | Encryption à disque complet (FDE)
X | 3 = pbkdf2-hmac-whirlpool | Encryption à disque complet (FDE)
X | 4 = PBKDF2-HMAC-RIPEMD160 + Mode de démarrage | Encryption à disque complet (FDE)
X | 5 = pbkdf2-hmac-sha256 | Encryption à disque complet (FDE)
X | 6 = pbkdf2-hmac-sha256 + mode de démarrage | Encryption à disque complet (FDE)
X | 7 = PBKDF2-HMAC-STREEBOG-512 | Encryption à disque complet (FDE)
Y | 1 = XTS 512 bits purs AES | Encryption à disque complet (FDE)
Y | 1 = XTS 512 bits pur serpent | Encryption à disque complet (FDE)
Y | 1 = xts 512 bits purs twofish | Encryption à disque complet (FDE)
Y | 1 = xts 512 bits purs camélia | Encryption à disque complet (FDE)
Y | 1 = XTS 512 bits pur kuznyechik | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits purs AES | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits pur serpent | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits purs twofish | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 Bit Pure Camellia | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits pur kuznyechik | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits en cascade AES-Twofish | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits Camellia-Kuznyechik | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits en cascade Camellia-Serpent | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits en cascade Kuznyechik-aes | Encryption à disque complet (FDE)
Y | 2 = xts 1024 bits en cascade kuznyechik-twofish | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits en cascade Serpent-aes | Encryption à disque complet (FDE)
Y | 2 = XTS 1024 bits en cascade twofish-serpent | Encryption à disque complet (FDE)
Y | 3 = XTS 1536 Bit All | Encryption à disque complet (FDE)
14600 | LUKS | Encryption à disque complet (FDE)
16700 | FileVault 2 | Encryption à disque complet (FDE)
18300 | Système de fichiers Apple (APFS) | Encryption à disque complet (FDE)

Modes d'attaque:

# | Mode
=== + ======
0 | Droit
1 | Combinaison
3 | Force brute
6 | Liste de mots hybride + masque
7 | Masque hybride + liste de mots

Nous avons les 3 choses dont Hashcat a besoin, faisons-le en utilisant la commande suivante:

ubuntu @ ubuntu: ~ $ sudo hashcat -a 0 -m 13722 binary_data wordlist.TXT - Force
hashcat (v5.1.0) Commencer…
Hashs: 1 digestion; 1 digestion unique, 1 sels uniques
Bitmaps: 16 bits, 65536 entrées, masque 0x0000ffff, 262144 octets, 5/13 Rotates
Règles: 1
Optimisateurs applicables:
* Zéro-octet
* Single-Hash
*
* Boucle lente-hash-simd
* Utilise-64 bits
Longueur de mot de passe minimum prise en charge par le noyau: 0
Longueur de mot de passe maximale prise en charge par le noyau: 64
* Appareil n ° 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 '
[Options de Clang de journalisation] "/ usr / bin / ld" "--eh-frame-hdr" "-m" "elf_x86_64" "-shared"
"-o" "/ root /.Cache / Pocl / non-acheté / 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-gnsU "
"-L / usr / lib / gcc / x86_64-linux-gnsU / 9 /… /… /… /… / lib64" "-l / lib / x86_64-linux-gnsU"
"-L / lib /… / lib64" "-l / usr / lib / x86_64-linux-gnsU" "-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 "
"/racine/.Cache / POCL / non-acheté / Tempfile-B1-44-3F-F1-67.donc.o "" -lm "
Cache du dictionnaire Hit:
* Nom de fichier…: liste de mots.SMS
* Mots de passe.: 600000
* Octets…: 6000000
* Keyspace…: 600000
[Options de Clang de journalisation] "/ usr / bin / ld" "--eh-frame-hdr" "-m" "-l / usr / lib / llvm-6.0 / bin /… / lib "
"-L / lib" "-l / usr / lib" "/ root /.Cache / Pocl / non-acheté / tempfile-e2-ba-db-1f-ba.donc.o "" -lm "" -lm "
"-lgcc" "--aseded" "-lgcc_s" "--no-as-nécessaire" "-lc" "-lgcc" "--ased" "-lgcc_s"
"--no-as-nécessided"

binary_data: tokyo2002

Session…: Hashcat
Statut…: Cracked
Hacher.Type…: Veracrypt pbkdf2-hmac-sha512 + xts 1024 bits
Hacher.Target…: binary_data
Temps.Démarré…: jeu 11 juin 20:38:17 2020 (11 secondes)
Temps.Estimé…: jeu 11 juin 20:38:28 2020 (0 seconde)
Deviner.Base…: fichier (liste de mots.SMS)
Deviner.File d'attente…: 1/1 (100.00%)
Vitesse.# 1…: 0 h / s (0.57 ms) @ Accel: 32 LOOCS: 32 THR: 1 VEC: 4
Récupéré…: 1/1 (100.00%) Digests, 1/1 (100.00%) Sels
Progrès…: 600000/60000 (100.00%)
Rejeté…: 0/60000 (0.00%)
Restaurer.Point…: 0/60000 (0.00%)
Restaurer.Sous.# 1…: SALT: 0 Amplificateur: 0-1 itération: 499968-499999
Candidats.# 1…: MANGO 23232 -> TRAVAIS

Nous avons eu le mot de passe Tokyo2002.

Encryport un lecteur avec LUKS:

Voyons comment crypter un USB à l'aide du chiffrement LUKS:

Installez tout d'abord le package CryptSettup-Luks en utilisant la commande suivante:

ubuntu @ ubuntu: ~ $ sudo apt installer cryptsetup-luks

Utilisez maintenant la commande suivante pour configurer la partition souhaitée pour le cryptage:

ubuntu @ ubuntu: ~ $ cryptsetup -y -v luksformat / dev / xdc

XDC est le nom de partition. Si vous ne connaissez pas le nom de partition, utilisez «fdisk -l».

Créez maintenant un périphérique de dispositif logique monté sur la partition LUKS cryptée à l'aide:

ubuntu @ ubuntu: ~ $ cryptsetup luksopen / dev / xdc

Il demandera une phrase secrète. Entrez une forte combinaison de lettres, de chiffres et de caractères spéciaux comme mot de passe et vous êtes prêt à partir.

Cracking Luks Encryption:

Maintenant, pour casser les volumes Luks avec Hashcat, vous devez nourrir Hashcat avec un fichier de données binaires correct. Nous pouvons extraire ces données en utilisant la commande suivante:

ubuntu @ ubuntu: ~ $ sudo dd if = / dev / sdb1 de = en-tête.LUKS BS = 512 COUNT = 4097
Conv = Noerror, Sync Status = Progress

Cela créera un fichier de 2 Mo contenant tous les besoins de données de Hashcat pour la fissuration.

Hashcat:

Regardons la syntaxe Hashcat:

ubuntu @ ubuntu: ~ $ sudo hashcat -a -m

Maintenant, nous avons le fichier binaire et la liste de mots, mais nous ne connaissons pas le type d'attaque et le type de concentration. Pour cette information, nous allons jeter un œil à Hashcat -Help.

Nous avons découvert les deux:

typeofencryption:

14600 | LUKS | Encryption à disque complet (FDE)
16700 | FileVault 2 | Encryption à disque complet (FDE)
18300 | Système de fichiers Apple (APFS) | Encryption à disque complet (FDE)

Type d'attaque:

# | Mode
=== + ======
0 | Droit
1 | Combinaison
3 | Force brute

Nous y allons, nous commencerons à craquer en tapant la commande suivante:

Ubuntu @ Ubuntu: ~ $ sudo hashcat -a 0 -M 14600.liste de mots luks.SMS
hashcat (v5.1.0) Commencer…
Appareil n ° 1: BUID_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 '
[Options de Clang de journalisation] "/ usr / bin / ld" "--eh-frame-hdr" "-m" "elf_x86_64" "-shared"
"-o" "/ root /.Cache / Pocl / non-acheté / tempfile-70-00-EB-2C-AA.donc"
"-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-gnsU / 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 /
non acheté / tempfile-b1-44-3f-f1-67.donc.o "" -lm "
Cache du dictionnaire Hit:
* Nom de fichier…: liste de mots.SMS
* Mots de passe.: 50
* Octets…: 500
* Keyspace…: 50
[Options de Clang de journalisation] "/ usr / bin / ld" "--eh-frame-hdr" "-m"
"-L / usr / lib / llvm-6.0 / bin /… / lib "" -l / lib "" -l / usr / lib "" / root /.cache / pocl /
non acheté / tempfile-e2-ba-db-1f-ba.donc.o "" -lm "" -lm "" -lgcc "" - comme besoin "
"-lgcc_s" "--no-as-nécessided" "-lc" "-lgcc" "--ased" "-lgcc_s" "--no-as-aied"

entête.LUKS: Tokyo2002

Session…: Hashcat
Statut…: Cracked
Hacher.Type…: Luks
Hacher.Cible…: en-tête.luks
Temps.Démarré…: jeu 11 juin 20:38:17 2020 (11 secondes)
Temps.Estimé…: jeu 11 juin 20:38:28 2020 (0 seconde)
Deviner.Base…: fichier (liste de mots.SMS)
Deviner.File d'attente…: 1/1 (100.00%)
Vitesse.# 1…: 0 h / s (0.57 ms) @ Accel: 32 LOOCS: 32 THR: 1 VEC: 4
Récupéré…: 1/1 (100.00%) Digests, 1/1 (100.00%) Sels
Progrès…: 50/50 (100.00%)
Rejeté…: 0/50 (0.00%)
Restaurer.Point…: 0/50 (0.00%)
Restaurer.Sous.# 1…: SALT: 0 Amplificateur: 0-1 itération: 499968-499999
Candidats.# 1…: MANGO 23232 -> TRAVAIS

Nous avons eu le mot de passe Tokyo2002.

Listes de mots personnalisées en utilisant Crunch:

Créer une liste de mots d'une manière que vous voulez est une bonne compétence à avoir dans votre ceinture. Cela aide beaucoup à la force brute et aux attaques du dictionnaire. L'un des outils qui peuvent être utilisés pour faire une liste de mots personnalisée est la crise.

ubuntu @ ubuntu: ~ $ crunch
Utilisation: Crunch [Options]
  • min: longueur minimale
  • Max: longueur maximale
  • Options: diverses options que nous trouverons sur sa page homme

Options:

B: taille max
C: nombre de lignes
d: Limiter le nombre de caractères en double
E: Arrêtez au cas où une certaine chaîne est portée
F: Utiliser le charme.Fichier LST à générer à partir de
je: commande inversée
O: Sortie au fichier spécifié
R: reprendre une session précédente
S: Spécifiez la chaîne avec laquelle la liste de mots commencera
T: Définir le modèle en utilisant @,% ^ (lettres minuscules, lettres majuscules, chiffres, caractères spéciaux simultanément)
Z: compresser le fichier de sortie

Supposons que nous devions générer une liste de mots avec des caractères minimaux 6 et des caractères maximum 8, nous utiliserons la commande suivante et enregistrerons la sortie en sortie.SMS:

Ubuntu @ Ubuntu: ~ $ Crunch 6 8 -o Sortie.SMS

Le Crunch générera désormais la quantité de données suivante: 1945860473024 octets

1855717 MB
1812 Go
1 TB
0 PB

Le Crunch générera désormais le nombre suivant de lignes: 217167790528

Supposons un autre scénario où nous savons que l'anniversaire de la cible est 2002 et il utilise généralement un mot de passe de 9 caractères se terminant par son anniversaire. Nous utiliserons la commande suivante pour générer une liste de mots correspondant à toutes ces caractéristiques et l'enregistrer dans un fichier nommé Wordlist.SMS.

Ubuntu @ Ubuntu: ~ $ Crunch 9 9 -T @@@@@ 2002 -o liste de consigne.SMS

Le Crunch générera désormais la quantité de données suivante: 118813760 octets

113 MB
0 Go
0 TB0 PB

Le Crunch générera désormais le nombre suivant de lignes: 11881376

Crunch: 100% terminé la production

Ubuntu @ Ubuntu: ~ $ ls -LA Wordlist.SMS
-RW-RW-RW- 1 AZAD AZAD 118813760 JUIN 13 14:43 Wordlist.SMS

Savoir comment créer les bonnes listes de mots pour votre tâche est une compétence qui peut faire gagner beaucoup de temps dans les attaques du dictionnaire.

Conclusion:

Si vous essayez de choisir entre les logiciels de chiffrement, certains logiciels de chiffrement comme Veracrypt ne laisseront quelqu'un ouvrir vos lecteurs sans entrer un mot de passe même si la personne malveillante est connectée, tout en utilisant un logiciel comme BitLocker pour Windows et FileVault2 pour Apple fait tout Vos fichiers visibles si l'utilisateur est connecté. Le chiffrement de vos lecteurs est une bonne chose, mais l'utilisation de mots de passe faibles, répétés ou devignables pour eux les rendra faciles à casser. Presque tous les types de chiffrement peuvent être fissurés, en fonction de la longueur et de la complexité du mot de passe. Cracking Encryping Drives à l'aide d'une liste de mots personnalisée va gagner beaucoup de temps et aidera à effectuer la tâche efficacement. Faire de bonnes listes de mots est un art, de nombreux outils sont disponibles comme Crunch, CEWL, etc. qui vous aideront à le faire. Ensuite, il existe de très bons outils comme Hashcat, Johntheripper qui peuvent casser tout type de chiffrement s'ils sont fournis avec le bon fichier binaire et la bonne liste de mots. Par rapport à John, Hashcat peut utiliser les GPU et est beaucoup plus rapide avec une vitesse de 882 c / s sur John ayant une vitesse de 54.8 c / s.