Il s'agit de la commande pyrit qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
pyrit - Un cracker de clé WPA/WPA2-PSK piloté par GPGPU
SYNOPSIS
pyrite [Options] commander
DESCRIPTION
Pyrit exploite la puissance de calcul des plates-formes multicœurs et GPGPU pour créer des
bases de données, pré-calcul d'une partie de la phase d'authentification WPA/WPA2-PSK dans un espace-temps
troquer. Il s'agit d'une attaque puissante contre l'un des protocoles de sécurité les plus utilisés au monde.
Ce document essaie de décrire et d'expliquer toutes les fonctions du client en ligne de commande pyrite
fournit. Un ou plus Options peut être donné sur la ligne de commande pour personnaliser un commanderL’
comportement exact de Options Depend de commander.
Au moment d'écrire ces lignes, cowpatty n'est pas disponible dans Debian. Références à cowpatty
et ses commandes sont néanmoins conservées dans un souci d'exhaustivité.
OPTIONS
Pyrit reconnaît les options suivantes :
-b BSSID
Spécifie un BSSID. Peut être utilisé pour restreindre les commandes à certains points d'accès.
-e IDESS
Spécifie l'ESSID. Les commandes font généralement référence à tous les ESSID de la base de données lorsque cela
l'option est omise.
-i dans le fichier
Spécifie un nom de fichier à lire ; le nom de fichier spécial "-" peut être utilisé pour Stdin.
Le fichier peut être compressé avec gzip, auquel cas son nom doit se terminer par .gz pour
décompression transparente.
-o fichier de sortie
Spécifie un nom de fichier dans lequel écrire ; le nom de fichier spécial "-" peut être utilisé pour Stdout.
Noms de fichiers se terminant par .gz causer pyrite pour gzip-compresser le fichier à la volée.
-r fichier-capture
Spécifie un fichier de capture de paquets au format pcap (éventuellement compressé avec gzip) ou un
périphérique (par exemple : « wlan0 ») à partir duquel effectuer la capture.
-u URL Spécifie l'URL du périphérique de stockage sous la forme de
pilote://nom d'utilisateur:mot de passe@hôte:port/base de données
Pyrit peut utiliser le système de fichiers, un Pyrit-Relay-Server distant et, si le package
python-sqlalchimie est installé, SQL-Databases comme stockage. Le conducteur fichier: // se réfère
au stockage basé sur le système de fichiers de Pyrit, http:// se connecte à un Pyrit-Relay-Server
et toutes les autres URL sont transmises directement à python-sqlalchimie, si disponible. Les
L'URL de stockage par défaut peut également être spécifiée par la clé stockage par défaut in pyrite's
fichier de configuration (voir DES DOSSIERS ci-dessous).
--toutes les poignées de main
Les commandes attaque_lot, attaque_db, attaque_cowpatty et mes attaque_passthrough
utiliser automatiquement la poignée de main unique de la plus haute qualité uniquement. Dans certains cas même
cette poignée de main peut avoir été reconstituée à tort à partir des données capturées,
rendant l'attaque vaine. Dans le cas où plus d'une poignée de main EAPOL est reconstruite
du fichier de capture, l'option --toutes les poignées de main peut être utilisé pour attaquer tous
poignées de main reconstructibles à partir des données capturées. Comportement exact des commandes
affecté par cette option est décrit ci-dessous.
COMMANDES
il analyse
Analyser un ou plusieurs fichiers de capture de paquets (au format pcap, éventuellement compressé avec gzip)
donné par l'option -r et essayez de détecter les points d'accès, les stations et EAPOL-
poignées de main. Par exemple:
pyrit -r "test*.pcap" analyse
Pyrit affiche une liste des points d'accès, des stations associées et des poignées de main EAPOL qui
pourraient être identifiés à partir des données saisies. Les poignées de main sont affichées ordonnées par leur
"qualité":
Bon: La poignée de main comprend le défi du point d'accès, le
la réponse de la Station et la confirmation du Point d'Accès.
Réalisable: La poignée de main comprend la réponse de la Station et le
confirmation du point d'accès. Le défi n'a pas été relevé.
Bad: La poignée de main comprend le défi du point d'accès et le
réponse de la gare. La confirmation n'a pas été capturée.
Les poignées de main de même qualité sont classées en fonction de la proximité des paquets
qui composent la poignée de main sont entre eux.
attaque_lot
Attaquer une poignée de main EAPOL trouvée dans le(s) fichier(s) de capture de paquets donnés par le
option -r à l'aide des clés principales et des mots de passe enregistrés dans le
base de données. Les options -b et mes -e peut être utilisé pour spécifier le point d'accès à
attaque; il est sélectionné automatiquement si les deux options sont omises. Les
le mot de passe est écrit dans le nom de fichier donné par l'option -o si spécifié. Pour
Exemple:
pyrit -r test.pcap -e MonRéseau -b 00:de:ad:c0:de:00 \
-o MyNetworkPassword.txt attaque_batch
Les clés principales par paire qui ont été précédemment calculées et stockées dans le
la base de données est extraite de là ; tous les autres mots de passe sont traduits dans leur
paires de clés principales respectives et ajoutées à la base de données pour une réutilisation ultérieure.
Les ESSID sont créés automatiquement dans la base de données si nécessaire.
Pyrit dresse la liste des poignées de main EAPOL reconstruites au cas où le
option --toutes les poignées de main est fourni.
attaque_cowpatty
Attaquer une poignée de main EAPOL trouvée dans le(s) fichier(s) de capture de paquets donnés par le
option -r en utilisant Pairwise Master Keys à partir d'un fichier de type cowpatty (par exemple
généré par ``genpmk'' de cowpatty, ou export_cowpatty ci-dessous) donnée par
l'option -f. Les options -b et mes -e peut être utilisé pour spécifier le point d'accès
attaquer; il est sélectionné automatiquement si les deux options sont omises. Les
le mot de passe est écrit dans le nom de fichier donné par l'option -o si spécifié.
Le fichier cowpatty peut être compressé avec gzip et doit correspondre à l'ESSID choisi.
Par exemple :
pyrit -r test.pcap -e MonOwnNetwork \
-i MonOwnNetwork.cow.gz -o - attack_cowpatty
La propre base de données de Pyrit n'est pas touchée par attaque_cowpatty.
Pyrit attaque toutes les poignées de main EAPOL en même temps si l'option
--toutes les poignées de main est fourni. Cela réduira le débit (par exemple : 33 %
dans le cas de trois poignées de main).
attaque_db
Attaquer une poignée de main EAPOL trouvée dans le(s) fichier(s) de capture de paquets donnés par le
option -r en utilisant les clés principales par paires stockées dans la base de données. Les options
-b et mes -e peut être utilisé pour spécifier le point d'accès à attaquer ; il est cueilli
automatiquement si les deux options sont omises. Le mot de passe est écrit dans le
nom de fichier donné par l'option -o si spécifié. Par exemple:
pyrit -r test.pcap -e MyOtherNetwork attaque_db
Uniquement les clés principales par paires qui ont été calculées précédemment et qui sont stockées
dans la base de données sont utilisés par attaque_db.
Pyrit dresse la liste des poignées de main EAPOL reconstruites au cas où le
option --toutes les poignées de main est fourni.
attaque_passthrough
Attaquer une poignée de main EAPOL trouvée dans le(s) fichier(s) de capture de paquets donnés par le
option -r en utilisant les mots de passe lus dans le fichier donné par l'option -i.
Les options -b et mes -e peut être utilisé pour spécifier le point d'accès à attaquer ; ce
est sélectionné automatiquement si les deux options sont omises. Le mot de passe est écrit
au nom de fichier donné par l'option -o si spécifié. Par exemple:
pyrit -r test.pcap -b 00:de:ad:be:ef:00 \
-i mots.txt attack_passthrough
Cette commande contourne la base de données de Pyrit et ne doit être utilisée que si
l'espace de stockage est un problème (par exemple sur les LiveCD). Vous devriez envisager d'utiliser
attaque_lot autrement.
Pyrit attaque toutes les poignées de main EAPOL en même temps si l'option
--toutes les poignées de main est fourni.
lot
Commencez à traduire tous les mots de passe de la base de données dans leurs
Pairwise Master Keys et stockez les résultats dans la base de données. L'option -e
peut être utilisé pour restreindre cette commande à un seul ESSID ; s'il est omis,
tous les ESSID sont traités les uns après les autres dans un ordre indéfini. Pour
Exemple:
pyrit -e NETGEAR lot
L'option -o peut être utilisé pour spécifier un nom de fichier que les résultats doivent
en plus être écrit au format binaire de cowpatty. L'option -e
devient obligatoire et l'ESSID est automatiquement créé dans la base de données si
nécessaire. Les clés principales par paires qui ont été précédemment calculées et
stockés dans la base de données sont exportés à partir de là sans autre traitement.
Pyrit s'arrête et sort si un Erreur IOErreur est déclenché lors de l'écriture dans le spécifié
déposer. Cela rend très pratique le transfert des résultats directement vers d'autres
programmes mais aussi les conserver pour une utilisation ultérieure. Par exemple:
pyrit -e NETGEAR -o - lot | \
cowpatty -d - -r wpatestcapture.cap -s NETGEAR
référence
Déterminez les performances de pointe du matériel disponible en calculant des données factices.
résultats. Par exemple:
référence de pyrit
check_db
Décompressez l'intégralité de la base de données et recherchez les erreurs telles que la corruption de données ou
erreurs de référence. Cette fonction ne vérifie pas la valeur des résultats calculés
(voir vérifier). Par exemple:
pyrite check_db
créer_essid
Ajoutez de nouveaux ESSID à la base de données. Un seul ESSID peut être donné par l'option
-e. Plusieurs ESSID peuvent être créés en fournissant un fichier (un par ligne) via
l'option -i. La recréation d'un ESSID existant n'entraîne pas d'erreur.
Par exemple :
pyrit -e NETGEAR create_essid
delete_essid
Supprimer l'ESSID donné par -e de la base de données. Cela inclut tous les résultats
qui peut avoir été stocké pour cet ESSID particulier. Par exemple:
pyrit -e NETGEAR delete_essid
eval
Comptez tous les mots de passe disponibles, tous les ESSID et leurs résultats respectifs dans
la base de données. Par exemple:
évaluation de la pyrite
export_passwords
Écrire tous les mots de passe actuellement stockés dans la base de données dans un nouveau fichier
donné par -o. Les mots de passe se terminent par un seul caractère de nouvelle ligne ("\n").
Les fichiers existants sont écrasés sans confirmation. Par exemple:
pyrit -o monmot.txt.gz export_passwords
export_cowpatty
Écrivez tous les résultats pour l'ESSID donnés par -e au dossier remis par -o in
format binaire de cowpatty. Les fichiers existants sont écrasés sans
confirmation. Par exemple:
pyrit -o NETGEAR.cow -e NETGEAR export_cowpatty
export_hashdb
Écrire tous les résultats actuellement stockés dans la base de données dans le airolib-ng-
base de données fournie par -o. La base de données est créée avec une disposition de table par défaut si
le fichier n'existe pas encore. L'option -e peut être utilisé pour limiter l'exportation
à un seul ESSID. Par exemple:
pyrit -o NETGEAR.db -e NETGEAR export_hashdb
import_passwords
Lire le fichier fourni par -i et importez un mot de passe par ligne dans la base de données.
Les mots de passe peuvent contenir tous les caractères (y compris les octets NULL) à l'exception
le caractère de fin de ligne ("\n"). Mots de passe qui ne conviennent pas
pour être utilisé avec WPA-/WPA2-PSK sont ignorés. Le stockage de Pyrit-
la mise en œuvre garantit que tous les mots de passe restent uniques tout au long du
base de données entière. Par exemple:
pyrit -i dirty_words.txt import_passwords
import_unique_passwords
Lire le fichier fourni par -i et importez un mot de passe par ligne dans la base de données.
Les mots de passe peuvent contenir tous les caractères (y compris les octets NULL) à l'exception
le caractère de fin de ligne ("\n"). Mots de passe qui ne conviennent pas
pour être utilisé avec WPA-/WPA2-PSK sont ignorés. Cette commande ne vérifie pas
s'il y a des mots de passe en double dans le fichier ou entre le fichier et le
base de données; il doit être utilisé avec prudence pour empêcher la base de données de
être empoisonné par des mots de passe dupliqués. Cette commande peut cependant être beaucoup
plus rapide que import_passwords. Par exemple:
pyrit -i dirty_words.txt import_unique_passwords
liste_cores
Affiche une liste de tous les modules matériels disponibles que Pyrit utilise actuellement. Pour
Exemple:
liste_cores de pyrit
liste_essids
Affiche une liste de tous les ESSID actuellement stockés dans la base de données. Cette fonction est
plus rapide que eval au cas où vous n'auriez pas besoin de connaître le nombre de calculs
résultats. Par exemple:
pyrite list_essids
traverser
Lire les mots de passe du fichier donné par -i et calculer leur Pairwise Master
Clés pour l'ESSID données par -e. Les résultats sont écrits dans le fichier
spécifié par -o au format binaire de cowpatty et ne sont pas stockés dans le
base de données pour une utilisation ultérieure. Cette commande contourne donc l'ensemble
base de données et ne doit être utilisé que si l'espace de stockage est un problème (par exemple lorsque
en utilisant Pyrit sur un LiveCD). Les lot-commande fournit exactement la même chose
fonctionnalité comme traverser mais peut donner de bien meilleures performances en tant que résultats
peuvent être lus à partir de la base de données au lieu de les recalculer. Par exemple:
pyrit -i mots_sales.txt.gz -e NETGEAR \
-o - passthrough | vache -d - \
-r wpatestcapture.cap -s NETGEAR
relais
Démarrez un serveur pour relayer un autre périphérique de stockage via XML-RPC ; autre Pyrit-
les clients peuvent utiliser le serveur comme périphérique de stockage. Cela permet d'avoir
accès réseau à une source de stockage qui ne fournit pas d'accès réseau sur
le leur (comme fichier: // et mes sqlite://) ou masquer une base de données SQL derrière un
pare-feu et laisser plusieurs clients accéder à cette base de données uniquement via le RPC de Pyrit-
interface. Le port TCP 17934 doit être ouvert pour que cette fonction fonctionne. Pour
exemple, sur le serveur (où se trouve la base de données) :
pyrit -u sqlite://var/local/pyrit.db relais
et le client (où se trouve le gros GPU) :
pyrite -u http://192.168.0.100:17934 lot
auto-test
Exécutez un autotest complet pendant environ 60 secondes. Ce test comprend le
mécanisme de planification complet et tous les cœurs répertoriés par liste_cores. Vous
peut utiliser cette fonction pour détecter les modules matériels cassés ou malveillants
clients-réseau. Par exemple:
autotest de pyrit
besoin
Démarrez un serveur qui donne accès au matériel informatique local pour vous aider
autres clients de Pyrit. L'adresse IP du serveur doit être ajoutée à celle du client
fichier de configuration (voir DES DOSSIERS) sous forme de liste séparée par des espaces sous
clients_connus. Les clients serveur_rpc-setting doit également être défini sur 'true'.
Les ports TCP et UDP 17935 doivent être accessibles. Par exemple, sur le serveur
(où se trouve le GPU) :
servir de pyrite
et sur le client (l'adresse IP du serveur a été ajoutée à clients_connus
et mes serveur_rpc est défini sur 'true'):
pyrit -r test.pcap -b 00:de:ad:be:ef:00 \
-i mots.txt attack_passthrough
bande
Analyser un ou plusieurs fichiers de capture de paquets donnés par l'option -r, extraire uniquement
paquets nécessaires à la détection d'établissement de liaison EAPOL et écrivez un nouveau
dump vers le nom de fichier donné par l'option -o. Les options -e et mes -b peuvent être
utilisé pour filtrer certains points d'accès. Par exemple:
pyrit -r "large_dumps_*.pcap" -e MonRéseau \
-o tiny_compressed_dump_MyNetwork.dump.gz bande
bandeLive
Analyser un fichier de capture de paquets donné par l'option -r, extraire uniquement les paquets
qui sont nécessaires à la détection de la prise de contact EAPOL et écrivez un nouveau dump dans le
fichier donné par l'option -o. Cette commande diffère de bande comme la capture-
le fichier peut être n'importe quel périphérique de caractères, y compris les sockets et autres pseudo-fichiers
qui du dernier comme fichiers au format pcap. bandeLive écrit les paquets pertinents dans
le nouveau fichier donné par -o à mesure qu'ils arrivent au lieu d'essayer de lire l'intégralité
fichier de capture en premier.
pyrit -r /temp/kismet_dump -o small_dump.pcap stripLive
vérifier
Choisissez au hasard 10% des résultats stockés dans la base de données et vérifiez leur
valeur par recalcul. Vous avez besoin de cette fonction si vous pensez que c'est cassé
du matériel ou des clients réseau malveillants. Par exemple:
pyrit -e NETGEAR vérifier
EXIT STATUT
If commander réussit, pyritel'état de sortie du processus de est défini sur 0 ; sinon il est mis à 1 et
(généralement) un message d'erreur ou un python-traceback est écrit dans stderr. Ce qui suit
les commandes indiquent également une condition d'erreur dans certains cas :
analyser: Pas au moins une poignée de main EAPOL valide n'a pu être détectée.
attaque_passthrough, attaque_lot, attaque_db et mes attaque_cowpatty : Vue d'ensemble
le mot de passe n'a pas pu être trouvé.
vérifier Au moins une unité de travail contenait des résultats invalides.
check_db Des erreurs dans la base de données ont été trouvées (et peut-être corrigées).
Utilisez pyrit en ligne en utilisant les services onworks.net