
hydra
H Y D R A
(c) 2001-2023 par van Hauser / THC
<[email protected]> https://github.com/vanhauser-thc/thc-hydra
De nombreux modules ont été écrits par David (dot) Maciejak @ gmail (dot) com
Code BFG par Jan Dlabal <[email protected]>
Sous licence AGPLv3 (voir fichier LICENSE)
Veuillez ne pas utiliser dans les organisations militaires ou de services secrets,
ni à des fins illégales.
(C'est le souhait de l'auteur et non contraignant. De nombreuses personnes travaillent
dans ces organisations ne se soucient de toute façon pas des lois et de l'éthique.
Vous n'êtes pas l'un des « bons » si vous ignorez cela.)
NOTE : Non, ce n'est pas censé être un document markdown ! à l'ancienne !
Hydra dans l'état le plus actuel de GitHub peut être téléchargé directement via Docker :``` docker pull vanhauser/hydra
INTRODUCTION
------------
L'un des plus grands trous de sécurité sont les mots de passe, comme chaque étude
de sécurité sur les mots de passe le démontre.
Cet outil est un code de preuve de concept destiné à permettre aux chercheurs et
consultants en sécurité de montrer à quel point il serait facile d'obtenir un accès
non autorisé à distance à un système.
CET OUTIL EST UNIQUEMENT À DES FINS LÉGALES !
Il existe déjà plusieurs outils de cassage de mots de passe pour les connexions ; cependant, aucun d'entre eux
ne prend en charge plus d'un protocole à attaquer ou ne permet des connexions
parallélisées.
Il a été testé pour compiler proprement sur Linux, Windows/Cygwin, Solaris,
FreeBSD/OpenBSD, QNX (Blackberry 10) et MacOS.
Actuellement, cet outil prend en charge les protocoles suivants :
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,
Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,
Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,
SSH (v1 et v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth,
VNC et XMPP.
Cependant, le moteur de modules pour les nouveaux services est très simple, donc il ne faudra pas
longtemps avant que davantage de services soient pris en charge.
Votre aide pour écrire, améliorer ou corriger les modules est grandement appréciée !! :-)
OÙ SE PROCURER
------------
Vous pouvez toujours trouver la version finale/stable la plus récente de Hydra sur sa
page du projet à https://github.com/vanhauser-thc/thc-hydra/releases
Si vous êtes intéressé par l'état de développement actuel, le dépôt de développement public
est sur GitHub :
svn co https://github.com/vanhauser-thc/thc-hydra
ou
git clone https://github.com/vanhauser-thc/thc-hydra
Utilisez la version de développement à vos propres risques. Elle contient de nouvelles fonctionnalités et
de nouveaux bugs. Certaines choses peuvent ne pas fonctionner !
Alternativement (et plus simplement), vous pouvez l'extraire en tant que conteneur Docker :```
docker pull vanhauser/hydra
Pour configurer, compiler et installer Hydra, il suffit de taper :``` ./configure make make install
Si vous voulez le module SSH, vous devez mettre en place libssh (pas libssh2!) sur votre
système, obtenez-le depuis https://www.libssh.org, pour le support ssh v1 vous devez également
ajouter l'option "-DWITH_SSH1=On" dans la ligne de commande cmake.
IMPORTANT : Si vous compilez sur macOS, vous devez faire ceci - n'installez pas libssh via Homebrew.
Si vous utilisez Ubuntu/Debian, cela installera les bibliothèques supplémentaires nécessaires
pour quelques modules optionnels (notez que certains peuvent ne pas être disponibles sur votre distribution) :```
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
libgtk-3-dev libmysqlclient-dev libpq-dev libsvn-dev \
firebird-dev libmemcached-dev libgpg-error-dev \
libgcrypt11-dev libgcrypt20-dev freetds-dev
Cela active tous les modules et fonctionnalités optionnels, à l'exception d'Oracle, SAP R/3, NCP et du protocole de classement Apple - que vous devrez télécharger et installer depuis les sites Web des fournisseurs.
Pour tous les autres dérivés Linux et systèmes basés sur BSD, utilisez le gestionnaire de logiciels système et recherchez des bibliothèques portant un nom similaire, comme dans la commande ci-dessus. Dans tous les autres cas, vous devez télécharger toutes les bibliothèques sources et les compiler manuellement.
Si vous tapez simplement hydra, un bref résumé des options importantes
disponibles s'affiche.
Tapez ./hydra -h pour voir toutes les options de la ligne de commande.
Notez qu'aucun fichier de login/mot de passe n'est inclus. Générez-les vous-même. Une liste de mots de passe par défaut est cependant présente ; utilisez « dpl4hydra.sh » pour générer une liste.
Pour les utilisateurs Linux, une interface graphique GTK est disponible ; essayez ./xhydra
Pour l'utilisation en ligne de commande, la syntaxe est la suivante : Pour attaquer une seule cible ou un réseau, vous pouvez utiliser le nouveau style « :// » : hydra [some command line options] PROTOCOL://TARGET:PORT/MODULE-OPTIONS L'ancien mode peut également être utilisé pour cela, et en plus, si vous souhaitez spécifier vos cibles à partir d'un fichier texte ; vous devez utiliser celui-ci :``` hydra [some command line options] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
Via les options de la ligne de commande, vous spécifiez quels identifiants essayer, quels mots de passe,
si SSL doit être utilisé, combien de tâches parallèles doivent être utilisées pour l'attaque, etc.
PROTOCOL est le protocole que vous souhaitez utiliser pour l'attaque, par ex., ftp, SMTP,
http-get ou bien d'autres sont disponibles
TARGET est la cible que vous souhaitez attaquer
MODULE-OPTIONS sont des valeurs optionnelles propres à chaque module PROTOCOL
PREMIÈREMENT – sélectionnez votre cible
Vous avez trois options pour spécifier la cible que vous souhaitez attaquer :
1. Une cible unique sur la ligne de commande : il suffit de mettre l'adresse IP ou DNS
2. Une plage réseau sur la ligne de commande : spécification CIDR comme "192.168.0.0/24"
3. Une liste d'hôtes dans un fichier texte : une ligne par entrée (voir ci-dessous)
DEUXIÈMEMENT – sélectionnez votre protocole
Essayez d'éviter telnet, car il n'est pas fiable pour détecter une tentative de connexion correcte ou erronée.
Utilisez un scanner de ports pour voir quels protocoles sont activés sur la cible.
TROISIÈMEMENT – vérifiez si le module a des paramètres optionnels
hydra -U PROTOCOL
ex. hydra -U smtp
QUATRIÈMEMENT – le port de destination
Ceci est optionnel ; si aucun port n'est fourni, le port par défaut courant pour le
PROTOCOL est utilisé.
Si vous spécifiez l'utilisation de SSL (option "-S"), le port SSL par défaut est utilisé.
Si vous utilisez la notation "://", vous devez utiliser des crochets "[" "]" si vous souhaitez fournir
des adresses IPv6 ou des notations CIDR ("192.168.0.0/24") pour attaquer :
hydra [some command line options] ftp://[192.168.0.0/24]/
hydra [some command line options] -6 smtps://[2001:db8::1]/NTLM
Notez que tout ce que fait Hydra est uniquement IPv4 !
Si vous souhaitez attaquer des adresses IPv6, vous devez ajouter l'option de ligne de commande "-6".
Toutes les attaques sont alors uniquement IPv6 !
Si vous souhaitez fournir vos cibles via un fichier texte, vous ne pouvez pas utiliser la notation ://
mais utiliser l'ancien style et fournir simplement le protocole (et les options du module) :
hydra [some command line options] -M targets.txt ftp
Vous pouvez également fournir le port pour chaque entrée de cible en ajoutant ":<port>" après une
entrée de cible dans le fichier, par ex. :```
foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
Notez que si vous voulez attacher des cibles IPv6, vous devez fournir l'option -6 et devez mettre les adresses IPv6 entre crochets dans le fichier(!) comme ceci :``` foo.bar.com target.com:21 [fe80::1%eth0] [2001::1] [2002::2]:https://raw.githubusercontent.com/vanhauser-thc/thc-hydra/master/8080 [2a01:24a:133:0:00:123:ff:1a]
IDENTIFIANTS ET MOTS DE PASSE
--------------------
Vous avez de nombreuses options pour attaquer avec des identifiants et des mots de passe
Avec -l pour l'identifiant et -p pour le mot de passe, vous indiquez à Hydra qu'il s'agit du seul
identifiant et/ou mot de passe à essayer.
Avec -L pour les identifiants et -P pour les mots de passe, vous fournissez des fichiers texte avec des entrées.
par exemple :```
hydra -l admin -p password ftp://localhost/
hydra -L default_logins.txt -p test ftp://localhost/
hydra -l admin -P common_passwords.txt ftp://localhost/
hydra -L logins.txt -P passwords.txt ftp://localhost/
De plus, vous pouvez essayer des mots de passe basés sur l'identifiant via l'option "-e". L'option "-e" a trois paramètres :``` s - try the login as password n - try an empty password r - reverse the login and try it as a password
Si vous voulez, par exemple, essayer "try login as password" et "mot de passe vide", vous spécifiez "-e sn" sur la ligne de commande.
Mais il existe deux autres modes pour essayer les mots de passe que -p/-P :
Vous pouvez utiliser un fichier texte où une paire login et mot de passe est séparée par deux-points, par exemple :```
admin:password
test:test
foo:bar
Ceci est une liste de comptes par défaut courante qui est également générée par le générateur de fichiers de comptes par défaut dpl4hydra.sh fourni avec Hydra. Vous utilisez un tel fichier texte avec l'option -C - notez que dans ce mode vous ne pouvez pas utiliser les options -l/-L/-p/-P (vous pouvez cependant utiliser -e nsr). Exemple :``` hydra -C default_accounts.txt ftp://localhost/
Et enfin, il existe un mode force brute avec l'option -x (que vous ne pouvez pas utiliser avec -p/-P/-C) :```
-x minimum_length:maximum_length:charset
La définition du jeu de caractères est a pour les lettres minuscules, A pour les lettres majuscules, 1 pour les chiffres et pour tout autre chose, ce que vous fournissez est leur représentation réelle.
Exemples :```
-x 1:3:a generate passwords from length 1 to 3 with all lowercase letters
-x 2:5:/ generate passwords from length 2 to 5 containing only slashes
-x 5:8:A1 generate passwords from length 5 to 8 with uppercase and numbers
-x '3:3:aA1&~#\ "'<{([-|_^@)]=}>$%*?./§,;:!`' -v generates length 3 passwords with all 95 characters, and verbose.
Exemple:```
hydra -l ftp -x 3:3:a ftp://localhost/
Via le troisième paramètre de ligne de commande (TARGET SERVICE OPTIONAL) ou l'option de ligne de commande -m, vous pouvez passer une option à un module. De nombreux modules l'utilisent ; quelques-uns l'exigent !
Pour voir l'option spéciale d'un module, tapez :
hydra -U
par ex.
./hydra -U http-post-form
Les options spéciales peuvent être passées via le paramètre -m, comme troisième option de ligne de commande ou dans le format service://cible/option.
Exemples (ils sont tous équivalents) :``` ./hydra -l test -p test -m PLAIN 127.0.0.1 imap ./hydra -l test -p test 127.0.0.1 imap PLAIN ./hydra -l test -p test imap://127.0.0.1/PLAIN
RESTAURER UNE SESSION INTERROMPUE/PLANTÉE
------------------------------------------
Lorsque Hydra est interrompu avec Control-C, tué, ou plante, il laisse un
fichier "hydra.restore", qui contient toutes les informations nécessaires pour
restaurer la session. Ce fichier de session est écrit toutes les 5 minutes.
NOTE : le fichier hydra.restore NE PEUT PAS être copié sur une plateforme différente (par exemple
de little endian à big endian, ou de Solaris à AIX)
COMMENT SCANNER/CRAQUER VIA UN PROXY
-------------------------------------
La variable d'environnement HYDRA_PROXY_HTTP définit le proxy web (cela fonctionne
uniquement pour les services HTTP !).
La syntaxe suivante est valide :```
HYDRA_PROXY_HTTP="http://123.45.67.89:8080/"
HYDRA_PROXY_HTTP="http://login:[email protected]:8080/"
HYDRA_PROXY_HTTP="proxylist.txt"
Le dernier exemple est un fichier texte contenant jusqu'à 64 proxies (dans le même format de définition que les autres exemples).
Pour tous les autres services, utilisez la variable HYDRA_PROXY pour scanner/craquer. Elle utilise la même syntaxe. p. ex. :``` HYDRA_PROXY=[connect|socks4|socks5]://[login:password@]proxy_addr:proxy_port
par exemple :
---```
HYDRA_PROXY=connect://proxy.anonymizer.com:8000
HYDRA_PROXY=socks4://auth:[email protected]:1080
HYDRA_PROXY=socksproxylist.txt
Les résultats sont affichés sur stdout avec les autres informations. Via l'option de ligne de commande -o, les résultats peuvent également être écrits dans un fichier. En utilisant -b, le format de sortie peut être spécifié. Actuellement, ceux-ci sont pris en charge :
text - format texte brutjsonv1 - données JSON utilisant la version 1.x du schéma (défini ci-dessous).json - données JSON utilisant la dernière version du schéma ; actuellement, il n'y a
que la version 1.Si vous utilisez la sortie JSON, le fichier de résultats peut ne pas être un JSON valide s'il y a des erreurs graves lors du démarrage d'Hydra.
Voici un exemple de la sortie JSON. Remarques sur certains champs :
errormessages - un tableau de zéro ou plusieurs chaînes qui sont normalement imprimées
sur stderr à la fin de l'exécution d'Hydra. Le texte est très libre.success - indication si Hydra s'est exécuté correctement sans erreur (PAS si
des mots de passe ont été détectés). Ce paramètre est la valeur JSON true
ou false selon la fin.quantityfound - Combien de combinaisons nom d'utilisateur+mot de passe ont été découvertes.jsonoutputversion - Version du schéma, 1.00, 1.01, 1.11, 2.00,
2.03, etc. Hydra fera en sorte que le deuxième tuple de la version soit toujours à deux
chiffres pour faciliter le travail des processeurs en aval (par opposition à v1.1 vs
v1.10). Les versions de niveau mineur sont additives, donc 1.02 contiendra plus
de champs que la version 1.00 et sera rétrocompatible. La version 2.x
cassera quelque chose de la sortie de la version 1.x.Exemple version 1.00 :``` { "errormessages": [ "[ERROR] Error Message of Something", "[ERROR] Another Message", "These are very free form" ], "generator": { "built": "2021-03-01 14:44:22", "commandline": "hydra -b jsonv1 -o results.json ... ...", "jsonoutputversion": "1.00", "server": "127.0.0.1", "service": "http-post-form", "software": "Hydra", "version": "v8.5" }, "quantityfound": 2, "results": [ { "host": "127.0.0.1", "login": "[email protected]", "password": "bill", "port": 9999, "service": "http-post-form" }, { "host": "127.0.0.1", "login": "[email protected]", "password": "joe", "port": 9999, "service": "http-post-form" } ], "success": false }
VITESSE
-----
Grâce à la fonction de parallélisation, cet outil de craquage de mots de passe peut être très rapide ; cependant, cela dépend du protocole. Les plus rapides sont généralement POP3 et FTP.
Expérimentez avec l'option de tâche (-t) pour accélérer les choses ! Plus le nombre est élevé - plus c'est rapide ;-) (mais trop élevé - et cela désactive le service)
STATISTIQUES
----------
Exécuté contre un SuSE Linux 7.2 sur localhost avec un « -C FILE » contenant
295 entrées (294 tentatives de connexions invalides, 1 valide). Chaque test a été exécuté trois fois
(seulement pour « 1 task » une seule fois), et la moyenne a été notée.```
P A R A L L E L T A S K S
SERVICE 1 4 8 16 32 50 64 100 128
------- --------------------------------------------------------------------
telnet 23:20 5:58 2:58 1:34 1:05 0:33 0:45* 0:25* 0:55*
ftp 45:54 11:51 5:54 3:06 1:25 0:58 0:46 0:29 0:32
pop3 92:10 27:16 13:56 6:42 2:55 1:57 1:24 1:14 0:50
imap 31:05 7:41 3:51 1:58 1:01 0:39 0:32 0:25 0:21
(*) Remarque : les temps de telnet peuvent être TRÈS différents pour 64 à 128 tâches ! Par exemple, avec 128 tâches, exécutées quatre fois, les temps obtenus varient entre 28 et 97 secondes ! La raison en est inconnue...
suppositions par tâche (arrondies à l'unité supérieure) :
295 74 38 19 10 6 5 3 3
suppositions possibles par connexion (dépend du logiciel serveur et de la configuration) :
telnet 4 ftp 6 pop3 1 imap 3
Hydra : Envoyez un email à moi ou David si vous trouvez des bugs ou si vous avez écrit un nouveau module. [email protected] (et mettez "antispam" dans l'objet)
Vous devriez utiliser PGP pour chiffrer les emails à [email protected] :``` -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v3.3.3 ([email protected])
mQINBFIp+7QBEADQcJctjohuYjBxq7MELAlFDvXRTeIqqh8kqHPOR018xKL09pZT KiBWFBkU48xlR3EtV5fC1yEt8gDEULe5o0qtK1aFlYBtAWkflVNjDrs+Y2BpjITQ FnAPHw0SOOT/jfcvmhNOZMzMU8lIubAVC4cVWoSWJbLTv6e0DRIPiYgXNT5Quh6c vqhnI1C39pEo/W/nh3hSa16oTc5dtTLbi5kEbdzml78TnT0OASmWLI+xtYKnP+5k Xv4xrXRMVk4L1Bv9WpCY/Jb6J8K8SJYdXPtbaIi4VjgVr5gvg9QC/d/QP2etmw3p lJ1Ldv63x6nXsxnPq6MSOOw8+QqKc1dAgIA43k6SU4wLq9TB3x0uTKnnB8pA3ACI zPeRN9LFkr7v1KUMeKKEdu8jUut5iKUJVu63lVYxuM5ODb6Owt3+UXgsSaQLu9nI DZqnp/M6YTCJTJ+cJANN+uQzESI4Z2m9ITg/U/cuccN/LIDg8/eDXW3VsCqJz8Bf lBSwMItMhs/Qwzqc1QCKfY3xcNGc4aFlJz4Bq3zSdw3mUjHYJYv1UkKntCtvvTCN DiomxyBEKB9J7KNsOLI/CSst3MQWSG794r9ZjcfA0EWZ9u6929F2pGDZ3LiS7Jx5 n+gdBDMe0PuuonLIGXzyIuMrkfoBeW/WdnOxh+27eemcdpCb68XtQCw6UQARAQAB tB52YW4gSGF1c2VyICgyMDEzKSA8dmhAdGhjLm9yZz6JAjkEEwECACMCGwMCHgEC F4AFAlIp/QcGCwkIAwcCBhUKCQgLAgUWAwIBAAAKCRDI8AEqhCFiv2R9D/9qTCJJ xCH4BUbWIUhw1zRkn9iCVSwZMmfaAhz5PdVTjeTelimMh5qwK2MNAjpR7vCCd3BH Z2VLB2Eoz9MOgSCxcMOnCDJjtCdCOeaxiASJt8qLeRMwdMOtznM8MnKCIO8X4oo4 qH8eNj83KgpI50ERBCj/EMsgg07vSyZ9i1UXjFofFnbHRWSW9yZO16qD4F6r4SGz dsfXARcO3QRI5lbjdGqm+g+HOPj1EFLAOxJAQOygz7ZN5fj+vPp+G/drONxNyVKp QFtENpvqPdU9CqYh8ssazXTWeBi/TIs0q0EXkzqo7CQjfNb6tlRsg18FxnJDK/ga V/1umTg41bQuVP9gGmycsiNI8Atr5DWqaF+O4uDmQxcxS0kX2YXQ4CSQJFi0pml5 slAGL8HaAUbV7UnQEqpayPyyTEx1i0wK5ZCHYjLBfJRZCbmHX7SbviSAzKdo5JIl Atuk+atgW3vC3hDTrBu5qlsFCZvbxS21PJ+9zmK7ySjAEFH/NKFmx4B8kb7rPAOM 0qCTv0pD/e4ogJCxVrqQ2XcCSJWxJL31FNAMnBZpVzidudNURG2v61h3ckkSB/fP JnkRy/yxYWrdFBYkURImxD8iFD1atj1n3EI5HBL7p/9mHxf1DVJWz7rYQk+3czvs IhBz7xGBz4nhpCi87VDEYttghYlJanbiRfNh3okCOAQTAQIAIgUCUin7tAIbAwYL CQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQyPABKoQhYr8OIA//cvkhoKay88yS AjMQypach8C5CvP7eFCT11pkCt1DMAO/8Dt6Y/Ts10dPjohGdIX4PkoLTkQDwBDJ HoLO75oqj0CYLlqDI4oHgf2uzd0Zv8f/11CQQCtut5oEK72mGNzv3GgVqg60z2KR 2vpxvGQmDwpDOPP620tf/LuRQgBpks7uazcbkAE2Br09YrUQSCBNHy8kirHW5m5C nupMrcvuFx7mHKW1z3FuhM8ijG7oRmcBWfVoneQgIT3l2WBniXg1mKFhuUSV8Erc XIcc11qsKshyqh0GWb2JfeXbAcTW8/4IwrCP+VfAyLO9F9khP6SnCmcNF9EVJyR6 Aw+JMNRin7PgvsqbFhpkq9N+gVBAufz3DZoMTEbsMTtW4lYG6HMWhza2+8G9XyaL ARAWhkNVsmQQ5T6qGkI19thB6E/T6ZorTxqeopNVA7VNK3RVlKpkmUu07w5bTD6V l3Ti6XfcSQqzt6YX2/WUE8ekEG3rSesuJ5fqjuTnIIOjBxr+pPxkzdoazlu2zJ9F n24fHvlU20TccEWXteXj9VFzV/zbPEQbEqmE16lV+bO8U7UHqCOdE83OMrbNKszl 7LSCbFhCDtflUsyClBt/OPnlLEHgEE1j9QkqdFFy90l4HqGwKvx7lUFDnuF8LYsb /hcP4XhqjiGcjTPYBDK254iYrpOSMZSIRgQQEQIABgUCUioGfQAKCRBDlBVOdiii tuddAJ4zMrge4qzajScIQcXYgIWMXVenCQCfYTNQPGkHVyp3dMhJ0NR21TYoYMC5 Ag0EUin7tAEQAK5/AEIBLlA/TTgjUF3im6nu/rkWTM7/gs5H4W0a04kF4UPhaJUR gCNlDfUnBFA0QD7Jja5LHYgLdoHXiFelPhGrbZel/Sw6sH2gkGCBtFMrVkm3u7tt x3AZlprqqRH68Y5xTCEjGRncCAmaDgd2apgisJqXpu0dRDroFYpJFNH3vw9N2a62 0ShNakYP4ykVG3jTDC4MSl2q3BO5dzn8GYFHU0CNz6nf3gZR+48BG+zmAT77peTS +C4Mbd6LmMmB0cuS2kYiFRwE2B69UWguLHjpXFcu9/85JJVCl2CIab7l5hpqGmgw G/yW8HFK04Yhew7ZJOXJfUYlv1EZzR5bOsZ8Z9inC6hvFmxuCYCFnvkiEI+pOxPA oeNOkMaT/W4W+au0ZVt3Hx+oD0pkJb5if0jrCaoAD4gpWOte6LZA8mAbKTxkHPBr rA9/JFis5CVNI688O6eDiJqCCJjPOQA+COJI+0V+tFa6XyHPB4LxA46RxtumUZMC v/06sDJlXMNpZbSd5Fq95YfZd4l9Vr9VrvKXfbomn+akwUymP8RDyc6Z8BzjF4Y5 02m6Ts0J0MnSYfEDqJPPZbMGB+GAgAqLs7FrZJQzOZTiOXOSIJsKMYsPIDWE8lXv s77rs0rGvgvQfWzPsJlMIx6ryrMnAsfOkzM2GChGNX9+pABpgOdYII4bABEBAAGJ Ah8EGAECAAkFAlIp+7QCGwwACgkQyPABKoQhYr+hrg/9Er0+HN78y6UWGFHu/KVK d8M6ekaqjQndQXmzQaPQwsOHOvWdC+EtBoTdR3VIjAtX96uvzCRV3sb0XPB9S9eP gRrO/t5+qTVTtjua1zzjZsMOr1SxhBgZ5+0U2aoY1vMhyIjUuwpKKNqj2uf+uj5Y ZQbCNklghf7EVDHsYQ4goB9gsNT7rnmrzSc6UUuJOYI2jjtHp5BPMBHh2WtUVfYP 8JqDfQ+eJQr5NCFB24xMW8OxMJit3MGckUbcZlUa1wKiTb0b76fOjt0y/+9u1ykd X+i27DAM6PniFG8BfqPq/E3iU20IZGYtaAFBuhhDWR3vGY4+r3OxdlFAJfBG9XDD aEDTzv1XF+tEBo69GFaxXZGdk9//7qxcgiya4LL9Kltuvs82+ZzQhC09p8d3YSQN cfaYObm4EwbINdKP7cr4anGFXvsLC9urhow/RNBLiMbRX/5qBzx2DayXtxEnDlSC Mh7wCkNDYkSIZOrPVUFOCGxu7lloRgPxEetM5x608HRa3hDHoe5KvUBmmtavB/aR zlGuZP1S6Y7S13ytiULSzTfUxJmyGYgNo+4ygh0i6Dudf9NLmV+i9aEIbLbd6bni 1B/y8hBSx3SVb4sQVRe3clBkfS1/mYjlldtYjzOwcd02x599KJlcChf8HnWFB7qT zB3yrr+vYBT0uDWmxwPjiJs= =ytEf -----END PGP PUBLIC KEY BLOCK-----