Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
habu — Kit de piratage | Kitploit
Outils/GitHubGitHub/fportantier/habu
OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsSécurité WebSécurité RéseauCryptographieTests d'IntrusionApprentissage et ÉducationAnalyse DNS
GitHubfportantier/habu

habu

Kit de piratage

Voir le dépôt
983163il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Habu Hacking Toolkit

Je développe Habu pour enseigner (et apprendre) certains concepts de Python et de piratage réseau.

Quelques techniques implémentées dans la version actuelle sont :

  • Empoisonnement ARP et Sniffing
  • Découverte DHCP et Starvation
  • Identification de sous-domaines
  • Clonage de certificats
  • Analyse TCP (ISN, Flags)
  • Vérification de noms d'utilisateur sur les réseaux sociaux
  • Identification des technologies web
  • et bien plus encore !

Le développement de ce logiciel est soutenu par Securetia SRL (https://www.securetia.com/)

Piratage avec Habu

Divers scénarios d'utilisation utiles sont détaillés sur https://fportantier.github.io/hacking-with-habu/

Vidéos d'utilisation

La playlist YouTube suivante contient des vidéos montrant l'installation et l'utilisation :

https://www.youtube.com/watch?v=rgp9seLLyqE&list=PL4HZnX8VnFXqSvNw7x-bXOn0dgxNdfnVD

Groupe Telegram

Si vous souhaitez discuter de certaines fonctionnalités de Habu, d'améliorations possibles, etc., vous pouvez utiliser le groupe Telegram Habu : https://t.me/python_habu

Contribuer

Les problèmes et les demandes de tirage doivent être envoyés au dépôt GitHub : https://github.com/fportantier/habu

Installation

Méthode recommandée pour installer :

::

root@kitploit:~
$ python3 -m pip install --upgrade git+https://github.com/fportantier/habu.git

Cela doit fonctionner sur tout système sur lequel Python 3 est installé.

Remarque : Sur certains systèmes (comme Microsoft Windows), vous devez ajuster la commande pour pointer vers le bon chemin de l'exécutable Python.

Mise à niveau

Nous avons maintenant une commande pour mettre à niveau directement depuis le dépôt Git et nettoyer les anciennes commandes qui n'existent plus ou qui ont été renommées.

::

root@kitploit:~
$ habu.upgrade

Obtenir de l'aide

Toutes les commandes implémentent l'option '--help', qui affiche l'aide, les arguments, les options et les valeurs par défaut.

Mode verbeux

Presque toutes les commandes implémentent le mode verbeux avec l'option '-v'. Cela peut vous donner des informations supplémentaires sur ce que fait habu.

Index des commandes

  • arp.ping <#habuarpping>_
  • arp.poison <#habuarppoison>_
  • arp.sniff <#habuarpsniff>_
  • asydns <#habuasydns>_
  • b64 <#habub64>_
  • cert.clone <#habucertclone>_
  • cert.crtsh <#habucertcrtsh>_
  • cert.names <#habucertnames>_
  • config.del <#habuconfigdel>_
  • config.set <#habuconfigset>_
  • config.show <#habuconfigshow>_
  • crack.luhn <#habucrackluhn>_
  • crack.snmp <#habucracksnmp>_

habu.arp.ping

.. code-block::

root@kitploit:~
Usage: habu.arp.ping [OPTIONS] IP

  Send ARP packets to check if a host it's alive in the local network.

  Example:

  # habu.arp.ping 192.168.0.1
  Ether / ARP is at a4:08:f5:19:17:a4 says 192.168.0.1 / Padding

Options:
  -i TEXT  Interface to use
  -v       Verbose output
  --help   Show this message and exit.

habu.arp.poison

.. code-block::

root@kitploit:~
Usage: habu.arp.poison [OPTIONS] VICTIM1 VICTIM2

  Send ARP 'is-at' packets to each victim, poisoning their ARP tables for
  send the traffic to your system.

  Note: If you want a full working Man In The Middle attack, you need to
  enable the packet forwarding on your operating system to act like a
  router. You can do that using:

  # echo 1 > /proc/sys/net/ipv4/ip_forward

  Example:

  # habu.arpoison 192.168.0.1 192.168.0.77
  Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.77
  Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.70
  Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.77
  ...

Options:
  -i TEXT  Interface to use
  -v       Verbose
  --help   Show this message and exit.

habu.arp.sniff

.. code-block::

root@kitploit:~
Usage: habu.arp.sniff [OPTIONS]

  Listen for ARP packets and show information for each device.

  Columns: Seconds from last packet | IP | MAC | Vendor

  Example:

  1   192.168.0.1     a4:08:f5:19:17:a4   Sagemcom Broadband SAS
  7   192.168.0.2     64:bc:0c:33:e5:57   LG Electronics (Mobile Communications)
  2   192.168.0.5     00:c2:c6:30:2c:58   Intel Corporate
  6   192.168.0.7     54:f2:01:db:35:58   Samsung Electronics Co.,Ltd

Options:
  -i TEXT  Interface to use
  --help   Show this message and exit.

habu.asydns

.. code-block::

root@kitploit:~
Usage: habu.asydns [OPTIONS]

  Requests a DNS domain name based on public and private RSA keys using the
  AsyDNS protocol https://github.com/portantier/asydns

  Example:

  $ habu.asydns -v
  Generating RSA key ...
  Loading RSA key ...
  {
      "ip": "181.31.41.231",
      "name": "07286e90fd6e7e6be61d6a7919967c7cf3bbfb23a36edbc72b6d7c53.a.asydns.org"
  }

  $ dig +short 07286e90fd6e7e6be61d6a7919967c7cf3bbfb23a36edbc72b6d7c53.a.asydns.org
  181.31.41.231

Options:
  -u TEXT  API URL
  -g       Force the generation of a new key pair
  -r       Revoke the public key
  -v       Verbose output
  --help   Show this message and exit.

habu.b64

.. code-block::

root@kitploit:~
Usage: habu.b64 [OPTIONS] [F]

  Encodes or decode data in base64, just like the command base64.

  $ echo awesome | habu.b64
  YXdlc29tZQo=

  $ echo YXdlc29tZQo= | habu.b64 -d
  awesome

Options:
  -d      decode instead of encode
  --help  Show this message and exit.

habu.cert.clone

.. code-block::

root@kitploit:~
Usage: habu.cert.clone [OPTIONS] HOSTNAME PORT KEYFILE CERTFILE

  Connect to an SSL/TLS server, get the certificate and generate a
  certificate with the same options and field values.

  Note: The generated certificate is invalid, but can be used for social
  engineering attacks

  Example:

  $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem

Options:
  --copy-extensions  Copy certificate extensions (default: False)
  --expired          Generate an expired certificate (default: False)
  -v                 Verbose
  --help             Show this message and exit.

habu.cert.crtsh

.. code-block::

root@kitploit:~
Usage: habu.cert.crtsh [OPTIONS] DOMAIN

  Downloads the certificate transparency logs for a domain and check with
  DNS queries if each subdomain exists.

  Uses multithreading to improve the performance of the DNS queries.

  Example:

  $ habu.crtsh securetia.com
  alt.securetia.com
  other.securetia.com
  www.securetia.com

Options:
  -c      Disable cache
  -n      Disable DNS subdomain validation
  -v      Verbose output
  --json  Print the output in JSON format
  --help  Show this message and exit.

habu.cert.names

.. code-block::

root@kitploit:~
Usage: habu.cert.names [OPTIONS] [NETWORK]

  Connects to each host/port and shows a summary of the certificate names.

  The hosts to connect to are taken from two possible options:

  1. -i option (default: stdin). A file where each line is a host or network

  2. An argument that can be a host or network

  If you use both methods, the hosts and networks are merged into one list.

  Example:

  $ habu.cert.names 2.18.60.240/29
  2.18.60.241         443 i.s-microsoft.com microsoft.com privacy.microsoft.com
  2.18.60.242         443 aod-ssl.itunes.apple.com aod.itunes.apple.com aodp-ssl.itunes.apple.com
  2.18.60.243         443 *.mlb.com mlb.com
  2.18.60.244         443 [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1056)
  2.18.60.245         443 cert2-cn-public-ubiservices.ubi.com cert2-cn-public-ws-ubiservices.ubi.com
  2.18.60.246         443 *.blog.sina.com.cn *.dmp.sina.cn

  aod.itunes.apple.com
  aodp-ssl.itunes.apple.com
  aod-ssl.itunes.apple.com
  *.blog.sina.com.cn
  cert2-cn-public-ubiservices.ubi.com
  cert2-cn-public-ws-ubiservices.ubi.com
  *.dmp.sina.cn
  i.s-microsoft.com microsoft.com
  *.mlb.com mlb.com
  privacy.microsoft.com

Options:
  -p TEXT      Ports to connect to (comma separated list)
  -i FILENAME  Input file (Default: stdin)
  -t FLOAT     Time to wait for each connection
  -v           Verbose output
  --json       Print the output in JSON format
  --help       Show this message and exit.

habu.config.del

.. code-block::

root@kitploit:~
Usage: habu.config.del [OPTIONS] KEY

  Delete a KEY from the configuration.

  Note: By default, KEY is converted to uppercase.

  Example:

  $ habu.config.del DNS_SERVER

Options:
  --help  Show this message and exit.

habu.config.set

.. code-block::

root@kitploit:~
Usage: habu.config.set [OPTIONS] KEY VALUE

  Set VALUE to the config KEY.

  Note: By default, KEY is converted to uppercase.

  Example:

  $ habu.config.set DNS_SERVER 8.8.8.8

Options:
  --help  Show this message and exit.

habu.config.show

.. code-block::

root@kitploit:~
Usage: habu.config.show [OPTIONS]

  Show the current config.

  Note: By default, the options with 'KEY' in their name are shadowed.

  Example:

  $ habu.config.show
  {
      "DNS_SERVER": "8.8.8.8",
      "FERNET_KEY": "*************"
  }

Options:
  -k, --show-keys   Show also the key values
  --option TEXT...  Write to the config(KEY VALUE)
  --help            Show this message and exit.

habu.crack.luhn

.. code-block::

root@kitploit:~
Usage: habu.crack.luhn [OPTIONS] NUMBER

  Having known values for a Luhn validated number, obtain the possible
  unknown numbers.

  Numbers that use the Luhn algorithm for validation are Credit Cards, IMEI,
  National Provider Identifier in the United States, Canadian Social
  Insurance Numbers, Israel ID Numbers and Greek Social Security Numbers
  (ΑΜΚΑ).

  The '-' characters are ignored.

  Define the missing numbers with the 'x' character.

  Reference: https://en.wikipedia.org/wiki/Luhn_algorithm

  Example:

  $ habu.crack.luhn 4509-xx08-3160-6445
  4509000831606445
  4509180831606445
  4509260831606445
  4509340831606445
  4509420831606445
  4509590831606445
  4509670831606445
  4509750831606445
  4509830831606445
  4509910831606445

Options:
  --help  Show this message and exit.

habu.crack.snmp

.. code-block::

root@kitploit:~
Usage: habu.crack.snmp [OPTIONS] IP

  Launches snmp-get queries against an IP, and tells you when finds a valid
  community string (is a simple SNMP cracker).

  The dictionary used is the distributed with the onesixtyone tool
  https://github.com/trailofbits/onesixtyone

  Example:

  # habu.crack.snmp 179.125.234.210
  Community found: private
  Community found: public

  Note: You can also receive messages like \<UNIVERSAL\> \<class
  'scapy.asn1.asn1.ASN1\_Class\_metaclass'\>, I don't know how to supress
  them for now.

Options:
  -p INTEGER  Port to use
  -c TEXT     Community (default: list of most used)
  -s          Stop after first match
  -v          Verbose
  --help      Show this message and exit.

habu.crypto.fernet

.. code-block::

root@kitploit:~
Usage: habu.crypto.fernet [OPTIONS]

  Fernet cipher.

  Uses AES-128-CBC with HMAC

  Note: You must use a key to cipher with Fernet.

  Use the -k paramenter or set the FERNET_KEY configuration value.

  The keys can be generated with the command habu.crypto.fernet.genkey

  Reference: https://github.com/fernet/spec/blob/master/Spec.md

  Example:

  $ "I want to protect this string" | habu.crypto.fernet
  gAAAAABbXnCGoCULLuVNRElYTbEcwnek9iq5jBKq9JAN3wiiBUzPqpUgV5oWvnC6xfIA...

  $ echo gAAAAABbXnCGoCULLuVNRElYTbEcwnek9iq5jBKq9JAN3wiiBUzPqpUgV5oWvnC6xfIA... | habu.crypto.fernet -d
  I want to protect this string

Options:
  -k TEXT        Key
  -d             Decrypt instead of encrypt
  --ttl INTEGER  Time To Live for timestamp verification
  -i FILENAME    Input file (default: stdin)
  -o FILENAME    Output file (default: stdout)
  --help         Show this message and exit.

habu.crypto.fernet.genkey

.. code-block::

root@kitploit:~
Usage: habu.crypto.fernet.genkey [OPTIONS]

  Generate a new Fernet Key, optionally write it to ~/.habu.json

  Example:

  $ habu.crypto.fernet.genkey
  xgvWCIvjwe9Uq7NBvwO796iI4dsGD623QOT9GWqnuhg=

Options:
  -w      Write this key to ~/.habu.json
  --help  Show this message and exit.

habu.crypto.gppref

.. code-block::

root@kitploit:~
Usage: habu.crypto.gppref [OPTIONS] PASSWORD

  Decrypt the password of local users added via Windows 2008 Group Policy
  Preferences.

  This value is the 'cpassword' attribute embedded in the Groups.xml file,
  stored in the domain controller's Sysvol share.

  Example:

  # habu.crypto.gppref AzVJmXh/J9KrU5n0czX1uBPLSUjzFE8j7dOltPD8tLk
  testpassword

Options:
  --help  Show this message and exit.

habu.crypto.hasher

.. code-block::

root@kitploit:~
Usage: habu.crypto.hasher [OPTIONS] [F]

  Compute various hashes for the input data, that can be a file or a stream.

  Example:

  $ habu.crypto.hasher README.rst
  md5          992a833cd162047daaa6a236b8ac15ae README.rst
  ripemd160    0566f9141e65e57cae93e0e3b70d1d8c2ccb0623 README.rst
  sha1         d7dbfd2c5e2828eb22f776550c826e4166526253 README.rst
  sha256       6bb22d927e1b6307ced616821a1877b6cc35e... README.rst
  sha512       8743f3eb12a11cf3edcc16e400fb14d599b4a... README.rst
  whirlpool    96bcc083242e796992c0f3462f330811f9e8c... README.rst

  You can also specify which algorithm to use. In such case, the output is
  only the value of the calculated hash:

  $ habu.hasher -a md5 README.rst
  992a833cd162047daaa6a236b8ac15ae README.rst

Options:
  -a [md5|sha1|sha256|sha512|ripemd160|whirlpool]
                                  Only this algorithm (Default: all)
  --help                          Show this message and exit.

habu.crypto.xor

.. code-block::

root@kitploit:~
Usage: habu.crypto.xor [OPTIONS]

  XOR cipher.

  Note: XOR is not a 'secure cipher'. If you need strong crypto you must use
  algorithms like AES. You can use habu.fernet for that.

  Example:

  $ habu.xor -k mysecretkey -i /bin/ls > xored
  $ habu.xor -k mysecretkey -i xored > uxored
  $ sha1sum /bin/ls uxored
  $ 6fcf930fcee1395a1c95f87dd38413e02deff4bb  /bin/ls
  $ 6fcf930fcee1395a1c95f87dd38413e02deff4bb  uxored

Options:
  -k TEXT      Encryption key
  -i FILENAME  Input file (default: stdin)
  -o FILENAME  Output file (default: stdout)
  --help       Show this message and exit.

habu.data.enrich

.. code-block::

root@kitploit:~
Usage: habu.data.enrich [OPTIONS]

  Enrich data adding interesting information.

  Example:

  $ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich
  [
      {
          "asset": "8.8.8.8",
          "family": "IPAddress",
          "asn": "15169",
          "net": "8.8.8.0/24",
          "cc": "US",
          "rir": "ARIN",
          "asname": "GOOGLE - Google LLC, US"
      },
      {
          "asset": "8.8.4.4",
          "family": "IPAddress",
          "asn": "15169",
          "net": "8.8.4.0/24",
          "cc": "US",
          "rir": "ARIN",
          "asname": "GOOGLE - Google LLC, US"
      }
  ]

Options:
  -i FILENAME  Input file (Default: stdin)
  -v           Verbose output
  --help       Show this message and exit.

habu.data.extract.domain

.. code-block::

root@kitploit:~
Usage: habu.data.extract.domain [OPTIONS] [INFILE]

  Extract valid domains from a file or stdin.

  Optionally, check each domain for the presence of NS registers.

  Example:

  $ cat /var/log/some.log | habu.data.extract.domain -c
  google.com
  ibm.com
  redhat.com

Options:
  -c      Check if domain has NS servers defined
  -v      Verbose output
  -j      JSON output
  --help  Show this message and exit.

habu.data.extract.email

.. code-block::

root@kitploit:~
Usage: habu.data.extract.email [OPTIONS] [INFILE]

  Extract email addresses from a file or stdin.

  Example:

  $ cat /var/log/auth.log | habu.data.extract.email
  [email protected]
  [email protected]
  [email protected]

Options:
  -v      Verbose output
  -j      JSON output
  --help  Show this message and exit.

habu.data.extract.fqdn

.. code-block::

root@kitploit:~
Usage: habu.data.extract.fqdn [OPTIONS] [INFILE]

  Extract FQDNs (Fully Qualified Domain Names) from a file or stdin.

  Example:

  $ cat /var/log/some.log | habu.data.extract.fqdn
  www.google.com
  ibm.com
  fileserver.redhat.com

Options:
  -c      Check if hostname resolves
  -v      Verbose output
  -j      JSON output
  --help  Show this message and exit.

habu.data.extract.ipv4

.. code-block::

root@kitploit:~
Usage: habu.data.extract.ipv4 [OPTIONS] [INFILE]

  Extract IPv4 addresses from a file or stdin.

  Example:$ cat /var/log/auth.log | habu.data.extract.ipv4
  172.217.162.4
  23.52.213.96
  190.210.43.70

Options :
  -j, --json    Sortie JSON
  -u, --unique  Supprimer les doublons
  -v            Sortie verbeuse
  --help        Afficher ce message et quitter.

habu.data.filter

.. code-block::

root@kitploit:~
Usage: habu.data.filter [OPTIONS] FIELD [gt|lt|eq|ne|ge|le|in|contains|defin
                          ed|undefined|true|false] [VALUE]

  Filtrer les données en fonction des opérateurs.

  Référence des opérateurs :

  gt:         Plus grand que
  lt:         Plus petit que
  eq:         Égal à
  ne:         Différent de
  ge:         Plus grand ou égal à
  le:         Plus petit ou égal à
  in:         Dans la liste de valeurs (ou dans le réseau)
  contains:   Contient la valeur (ou l'adresse réseau)
  defined:    La valeur est définie
  undefined:  La valeur n'est pas définie
  true:       La valeur est Vrai
  false:      La valeur est Faux

  Exemple :

  $ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc eq US
  [
      {
          "item": "8.8.8.8",
          "family": "ipv4_address",
          "asn": "15169",
          "net": "8.8.8.0/24",
          "cc": "US",
          "rir": "ARIN",
          "asname": "GOOGLE - Google LLC, US"
      }
  ]

  Documentation : https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-enrichment

Options :
  -i FILENAME  Fichier d'entrée (Défaut : stdin)
  -v           Sortie verbeuse
  --not        Nier la comparaison
  --help       Afficher ce message et quitter.

habu.data.select

.. code-block::

root@kitploit:~
Usage: habu.data.select [OPTIONS] FIELD

  Sélectionner un champ à partir d'une entrée JSON.

  Exemple :

  $ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc eq US | habu.data.select asset
  8.8.8.7
  8.8.8.8
  8.8.8.9

Options :
  -i FILENAME  Fichier d'entrée (Défaut : stdin)
  -v           Sortie verbeuse
  --json       Sortie JSON
  --help       Afficher ce message et quitter.

habu.dhcp.discover

.. code-block::

root@kitploit:~
Usage: habu.dhcp.discover [OPTIONS]

  Envoyer une requête DHCP et afficher quels périphériques ont répondu.

  Remarque : En utilisant '-v', vous pouvez voir toutes les options (comme les serveurs DNS) incluses dans les réponses.

  # habu.dhcp_discover
  Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.5:bootpc / BOOTP / DHCP

Options :
  -i TEXT     Interface à utiliser
  -t INTEGER  Temps (secondes) d'attente des réponses
  -v          Sortie verbeuse
  --help      Afficher ce message et quitter.

habu.dhcp.starvation

.. code-block::

root@kitploit:~
Usage: habu.dhcp.starvation [OPTIONS]

  Envoyer plusieurs requêtes DHCP avec des adresses MAC forgées pour remplir les baux du serveur DHCP.

  Lorsque toutes les adresses réseau disponibles sont attribuées, le serveur DHCP n'envoie plus de réponses.

  Ainsi, certaines attaques, comme l'usurpation DHCP, peuvent être réalisées.

  # habu.dhcp_starvation
  Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.6:bootpc / BOOTP / DHCP
  Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.7:bootpc / BOOTP / DHCP
  Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.8:bootpc / BOOTP / DHCP

Options :
  -i TEXT     Interface à utiliser
  -t INTEGER  Temps (secondes) d'attente des réponses
  -s INTEGER  Temps (secondes) entre les requêtes
  -v          Sortie verbeuse
  --help      Afficher ce message et quitter.

habu.dns.lookup.forward

.. code-block::

root@kitploit:~
Usage: habu.dns.lookup.forward [OPTIONS] HOSTNAME

  Effectuer une requête directe d'un nom d'hôte donné.

  Exemple :

  $ habu.dns.lookup.forward google.com
  {
      "ipv4": "172.217.168.46",
      "ipv6": "2a00:1450:400a:802::200e"
  }

Options :
  -v      Sortie verbeuse
  --help  Afficher ce message et quitter.

habu.dns.lookup.reverse

.. code-block::

root@kitploit:~
Usage: habu.dns.lookup.reverse [OPTIONS] IP_ADDRESS

  Effectuer une requête inverse d'une adresse IP donnée.

  Exemple :

  $ $ habu.dns.lookup.reverse 8.8.8.8
  {
      "hostname": "google-public-dns-a.google.com"
  }

Options :
  -v      Sortie verbeuse
  --help  Afficher ce message et quitter.

habu.eicar

.. code-block::

root@kitploit:~
Usage: habu.eicar [OPTIONS]

  Afficher la chaîne de test EICAR qui peut être utilisée pour tester les moteurs antivirus.

  Plus d'informations : http://www.eicar.org/86-0-Intended-use.html

  Exemple :

  $ habu.eicar
  X5O!P%@AP[4\XZP54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Options :
  --help  Afficher ce message et quitter.

habu.forkbomb

.. code-block::

root@kitploit:~
Usage: habu.forkbomb [OPTIONS] [bash|batch|c|haskell|perl|php|python|ruby]

  Un raccourci pour se souvenir comment utiliser les fork bombs dans différents langages.

  Langages actuellement supportés : bash, batch, c, haskell, perl, php, python, ruby.

  Exemple :

  $ habu.forkbomb c
  #include <unistd.h>
  int main()
  {
      while(1)
      {
          fork();
      }
      return 0;
  }

Options :
  --help  Afficher ce message et quitter.

habu.fqdn.finder

.. code-block::

root@kitploit:~
Usage: habu.fqdn.finder [OPTIONS] [DOMAINS]...

  Utiliser diverses techniques pour obtenir des FQDN valides pour les domaines spécifiés.

  1. Essayer tous les FQDN avec les transferts de zone DNS
  2. Vérifier les journaux de transparence des certificats
  3. Se connecter aux ports spécifiés, obtenir les certificats SSL et en extraire les FQDN
  4. Se connecter aux sites web et obtenir les FQDN basés sur les liens du site
  5. Force brute DNS pour les noms courants

  Les résultats sont nettoyés pour supprimer les FQDN qui ne résolvent pas via le DNS

  Exemple :

  $ habu.fqdn.finder educacionit.com
  barometrosalarial.educacionit.com
  blog.educacionit.com
  ci.educacionit.com
  educacionit.com
  intranet.educacionit.com
  lecdev.educacionit.com
  lecweb.educacionit.com
  mail.educacionit.com
  plantillas.educacionit.com
  www.educacionit.com

Options :
  -t FLOAT                  Temps d'attente pour chaque connexion
  -v                        Sortie verbeuse
  --debug                   Sortie de débogage
  --connect / --no-connect  Obtenir les certificats SSL des ports ouverts à partir des FQDN connus
  --brute / --no-brute      Effectuer une force brute DNS sur les domaines
  --links / --no-links      Extraire les FQDN des liens du site web
  --xfr / --no-xfr          Essayer d'effectuer un transfert de zone DNS sur les domaines
  --ctlog / --no-ctlog      Essayer d'obtenir les FQDN à partir des journaux de transparence des certificats

  --json                    Afficher la sortie au format JSON
  --help                    Afficher ce message et quitter.

habu.gateway.find

.. code-block::

root@kitploit:~
Usage: habu.gateway.find [OPTIONS] NETWORK

  Essayer d'atteindre une IP externe en utilisant n'importe quel hôte comme routeur.

  Utile pour trouver des routeurs sur votre réseau.

  D'abord, utilise arping pour détecter les hôtes actifs et obtenir les adresses MAC.

  Ensuite, crée un paquet réseau et place chaque adresse MAC comme destination.

  Enfin, affiche les périphériques qui ont correctement transmis les paquets.

  Exemple :

  # habu.find.gateway 192.168.0.0/24
  192.168.0.1 a4:08:f5:19:17:a4 Sagemcom
  192.168.0.7 b0:98:2b:5d:22:70 Sagemcom
  192.168.0.8 b0:98:2b:5d:1f:e8 Sagemcom

Options :
  -i TEXT                Interface à utiliser
  --host TEXT            Hôte à atteindre (défaut : 8.8.8.8)
  --tcp                  Utiliser TCP au lieu d'ICMP
  --dport INTEGER RANGE  Port de destination pour TCP (défaut : 80)
  --timeout INTEGER      Délai d'attente en secondes (défaut : 5)
  -v                     Sortie verbeuse
  --help                 Afficher ce message et quitter.

habu.host

.. code-block::

root@kitploit:~
Usage: habu.host [OPTIONS]

  Collecter des informations sur l'hôte où habu est exécuté.

  Exemple :

  $ habu.host
  {
      "kernel": [
          "Linux",
          "demo123",
          "5.0.6-200.fc29.x86_64",
          "#1 SMP Wed Apr 3 15:09:51 UTC 2019",
          "x86_64",
          "x86_64"
      ],
      "distribution": [
          "Fedora",
          "29",
          "Twenty Nine"
      ],
      "libc": [
          "glibc",
          "2.2.5"
      ],
      "arch": "x86_64",
      "python_version": "3.7.3",
      "os_name": "Linux",
      "cpu": "x86_64",
      "static_hostname": "demo123",
      "fqdn": "demo123.lab.sierra"
  }

Options :
  -v      Sortie verbeuse.
  --help  Afficher ce message et quitter.

habu.http.headers

.. code-block::

root@kitploit:~
Usage: habu.http.headers [OPTIONS] SERVER

  Récupérer les en-têtes HTTP d'un serveur web.

  Exemple :

  $ habu.http.headers http://duckduckgo.com
  {
      "Server": "nginx",
      "Date": "Sun, 14 Apr 2019 00:00:55 GMT",
      "Content-Type": "text/html",
      "Content-Length": "178",
      "Connection": "keep-alive",
      "Location": "https://duckduckgo.com/",
      "X-Frame-Options": "SAMEORIGIN",
      "Content-Security-Policy": "default-src https: blob: data: 'unsafe-inline' 'unsafe-eval'",
      "X-XSS-Protection": "1;mode=block",
      "X-Content-Type-Options": "nosniff",
      "Referrer-Policy": "origin",
      "Expect-CT": "max-age=0",
      "Expires": "Mon, 13 Apr 2020 00:00:55 GMT",
      "Cache-Control": "max-age=31536000"
  }

Options :
  -v      Sortie verbeuse
  --help  Afficher ce message et quitter.

habu.http.options

.. code-block::

root@kitploit:~
Usage: habu.http.options [OPTIONS] SERVER

  Récupérer les méthodes HTTP disponibles d'un serveur web.

  Exemple :

  $ habu.http.options -v http://google.com
  {
      "allowed": "GET, HEAD"
  }

Options :
  -v      Sortie verbeuse
  --help  Afficher ce message et quitter.

habu.http.tech

.. code-block::

root@kitploit:~
Usage: habu.http.tech [OPTIONS] URL

  Utiliser la base de données apps.json de Wappalyzer pour identifier les technologies utilisées sur une application web.

  Référence : https://github.com/AliasIO/Wappalyzer

  Remarque : Cet outil n'envoie qu'une seule requête. Il est donc furtif et non suspect.

  $ habu.web.tech https://woocomerce.com
  Google Tag Manager       inconnu
  MySQL                    inconnu
  Nginx                    inconnu
  PHP                      inconnu
  Prototype                inconnu
  RequireJS                inconnu
  WooCommerce              3.8.0
  WordPress                5.2.4
  Yoast SEO                10.0.1

Options :
  --cache / --no-cache
  --format [txt|csv|json]  Format de sortie
  -v                       Sortie verbeuse
  --help                   Afficher ce message et quitter.

habu.icmp.ping

.. code-block::

root@kitploit:~
Usage: habu.icmp.ping [OPTIONS] IP

  L'outil ping classique qui envoie des requêtes ICMP echo.

  # habu.icmp.ping 8.8.8.8
  IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding
  IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding
  IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding
  IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding

Options :
  -i TEXT     Interface à utiliser (défaut : auto)
  -c INTEGER  Nombre de paquets à envoyer (défaut : infini)
  -t INTEGER  Délai d'attente en secondes (défaut : 2)
  -w INTEGER  Temps entre les paquets en secondes (défaut : 1)
  -v          Sortie verbeuse
  --help      Afficher ce message et quitter.

habu.ip.asn

.. code-block::

root@kitploit:~
Usage: habu.ip.asn [OPTIONS] IP

  Utiliser le service Team Cymru ip2asn pour obtenir des informations sur une adresse IPv4/IPv6 publique.

  Référence : https://www.team-cymru.com/IP-ASN-mapping.html

  $ habu.ip.asn 8.8.8.8
  {
      "asn": "15169",
      "net": "8.8.8.0/24",
      "cc": "US",
      "rir": "ARIN",
      "asname": "GOOGLE - Google LLC, US",
      "country": "United States"
  }

Options :
  --help  Afficher ce message et quitter.

habu.ip.geolocation

.. code-block::

root@kitploit:~
Usage: habu.ip.geolocation [OPTIONS] IP_ADDRESS

  Obtenir la géolocalisation d'une adresse IP depuis https://ipapi.co/.

  Exemple :

  $ habu.ip.geolocation 8.8.8.8
  {
      "ip": "8.8.8.8",
      "city": "Mountain View",
      ...
      "asn": "AS15169",
      "org": "Google LLC"
  }

Options :
  -v      Sortie verbeuse.
  --help  Afficher ce message et quitter.

habu.ip.internal

.. code-block::

root@kitploit:~
Usage: habu.ip.internal [OPTIONS]

  Obtenir la ou les adresses IP locales des interfaces locales.

  Exemple :

  $ habu.ip.internal
  {
    "lo": {
      "ipv4": [
        {
          "addr": "127.0.0.1",
          "netmask": "255.0.0.0",
          "peer": "127.0.0.1"
        }
      ],
      "link_layer": [
        {
          "addr": "00:00:00:00:00:00",
          "peer": "00:00:00:00:00:00"
        }
      ],
      "ipv6": [
        {
          "addr": "::1",
          "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128"
        }
      ]
    },
  ...

Options :
  -v      Sortie verbeuse.
  --help  Afficher ce message et quitter.

habu.ip.public

.. code-block::

root@kitploit:~
Usage: habu.ip.public [OPTIONS]

  Obtenir l'adresse IP publique de la connexion depuis https://api.ipify.org.

  Exemple :

  $ habu.ip.public
  80.219.53.185

Options :
  -4, --ipv4  Afficher votre adresse IPv4 publique (défaut)
  -6, --ipv6  Afficher votre adresse IPv6 publique
  -j, --json  Afficher la sortie au format JSON
  --help      Afficher ce message et quitter.

habu.karma

.. code-block::

root@kitploit:~
Usage: habu.karma [OPTIONS] HOST

  Utiliser le service Karma https://karma.securetia.com pour vérifier une IP par rapport à diverses listes de renseignements sur les menaces / réputation.

  $ habu.karma www.google.com
  www.google.com -> 64.233.190.99
  [
      "hphosts_fsa",
      "hphosts_psh",
      "hphosts_emd"
  ]

  Remarque : Vous pouvez utiliser le nom d'hôte ou l'IP de l'hôte pour interroger.

Options :
  --help  Afficher ce message et quitter.

habu.karma.bulk

.. code-block::

root@kitploit:~
Usage: habu.karma.bulk [OPTIONS] [INFILE]

  Afficher quelles adresses IP sont dans les listes noires en utilisant le service en ligne Karma.

  Exemple :

  $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk
  172.217.162.4   spamhaus_drop,alienvault_spamming
  23.52.213.96    CLEAN
  190.210.43.70   alienvault_malicious

Options :
  --json  Sortie JSON
  --bad   Afficher uniquement les entrées dans les listes noires
  -v      Sortie verbeuse
  --help  Afficher ce message et quitter.

habu.land

.. code-block::

root@kitploit:~
Usage: habu.land [OPTIONS] IP

  Cette commande implémente l'attaque LAND, qui envoie des paquets en forgeant l'adresse IP source pour qu'elle soit identique à l'adresse IP de destination. Utilise également le même port source et destination.

  L'attaque est très ancienne et peut être utilisée pour provoquer un déni de service sur des systèmes anciens, comme Windows NT 4.0. Plus d'informations ici :
  https://en.wikipedia.org/wiki/LAND

  # sudo habu.land 172.16.0.10
  ............

  Remarque : Chaque point (.) est un paquet envoyé. Vous pouvez spécifier le nombre de paquets à envoyer avec l'option '-c'. La valeur par défaut est de ne jamais s'arrêter. Vous pouvez également spécifier le port de destination avec l'option '-p'.

Options :
  -c INTEGER  Nombre de paquets à envoyer (défaut : infini)
  -p INTEGER  Port à utiliser (défaut : 135)
  -i TEXT     Interface à utiliser
  -v          Sortie verbeuse
  --help      Afficher ce message et quitter.

habu.nc

.. code-block::

root@kitploit:~
Usage: habu.nc [OPTIONS] HOST PORT

  Une sorte de remplacement de netcat/ncat.

  L'exécution émule le ressenti de ces outils populaires.

  Exemple :

  $ habu.nc --crlf www.portantier.com 80
  Connected to 45.77.113.133 80
  HEAD / HTTP/1.0

  HTTP/1.0 301 Moved Permanently
  Date: Thu, 26 Jul 2018 21:10:51 GMT
  Server: OpenBSD httpd
  Connection: close
  Content-Type: text/html
  Content-Length: 443
  Location: https://www.portantier.com/

Options :
  --family [4|6|46]            Famille d'adresses IP
  --ssl                        Activer SSL
  --crlf                       Utiliser CRLF pour la séquence de fin de ligne
  --protocol [tcp|udp]         Protocole de couche 4 à utiliser
  --source-ip TEXT             IP source à utiliser
  --source-port INTEGER RANGE  Port source à utiliser
  --help                       Afficher ce message et quitter.

habu.net.contest

.. code-block::

root@kitploit:~
Usage: habu.net.contest [OPTIONS]

  Essayer de se connecter à divers services et vérifier s'ils sont atteignables via votre connexion internet.

  Exemple :

  $ habu.net.contest
  DNS:   True
  FTP:   True
  SSH:   True
  HTTP:  True
  HTTPS: True

Options :
  --help  Afficher ce message et quitter.

habu.net.interfaces

.. code-block::

root@kitploit:~
Usage: habu.net.interfaces [OPTIONS]

  Afficher les interfaces réseau disponibles sur le système.

  Exemple :

  # habu.interfaces
  #  NAME                            MAC                INET             INET6
  0  eth0                            80:fa:5b:4b:f9:18  None             None
  1  lo                              00:00:00:00:00:00  127.0.0.1        ::1
  2  wlan0                           f4:96:34:e5:ae:1b  192.168.0.6      None
  3  vboxnet0                        0a:00:27:00:00:00  192.168.56.1     fe80::800:27ff:fe00:0

Options :
  -j      Sortie au format JSON
  --help  Afficher ce message et quitter.

habu.nmap.excluded

.. code-block::

root@kitploit:~
Usage: habu.nmap.excluded [OPTIONS]

  Afficher un port aléatoire qui n'est pas présent dans le fichier nmap-services, donc non scanné automatiquement par nmap.

  Utile pour des services comme SSH ou RDP, qui sont continuellement scannés sur leurs ports par défaut.

  Exemple :

  # habu.nmap.excluded
  58567

Options :
  -l INTEGER RANGE  Port le plus bas à considérer
  -h INTEGER RANGE  Port le plus haut à considérer
  --help            Afficher ce message et quitter.

habu.nmap.open

.. code-block::

root@kitploit:~
Usage: habu.nmap.open [OPTIONS] SCANFILE

  Lire un rapport nmap et afficher les ports ouverts.

  Afficher les ports qui ont été ouverts en lisant la sortie nmap générée.

  Vous pouvez l'utiliser pour réutiliser rapidement la liste des ports en entrée d'autres outils.

  Prend en charge et détecte les 3 formats de sortie (nmap, gnmap et xml)

  Exemple :

  # habu.nmap.open portantier.nmap
  22,80,443

Options :
  -p [tcp|udp|sctp]  Le protocole (défaut=tcp)
  --help             Afficher ce message et quitter.

habu.nmap.ports ---------------Usage: habu.nmap.ports [OPTIONS] SCANFILE

Lit un rapport nmap et affiche les ports testés.

Affiche les ports qui ont été testés en lisant la sortie générée par nmap.

Vous pouvez l'utiliser pour réutiliser rapidement la liste des ports comme entrée pour d'autres outils.

Supporte et détecte les 3 formats de sortie (nmap, gnmap et xml)

Exemple :

habu.nmap.ports portantier.nmap

21,22,23,80,443

Options : -p [tcp|udp|sctp] Le protocole (par défaut=tcp) --help Affiche ce message et quitte.

habu.protoscan

.. code-block::

root@kitploit:~
Usage: habu.protoscan [OPTIONS] IP

Envoie des paquets IP avec différentes valeurs de champ protocole pour
deviner quels protocoles de couche 4 sont disponibles.

La sortie montre quels protocoles ne génèrent pas de réponse ICMP
'protocol-unreachable'.

Exemple :

$ sudo python cmd_ipscan.py 45.77.113.133
1   icmp
2   igmp
4   ipencap
6   tcp
17  udp
41  ipv6
47  gre
50  esp
51  ah
58  ipv6_icmp
97  etherip
112 vrrp
115 l2tp
132 sctp
137 mpls_in_ip

Options :
  -i TEXT     Interface à utiliser
  -t INTEGER  Délai d'attente pour chaque sonde (par défaut : 2 secondes)
  --all       Tester tous les protocoles (par défaut : défini dans /etc/protocols)
  -v          Sortie verbeuse
  --help      Affiche ce message et quitte.

habu.server.ftp

.. code-block::

root@kitploit:~
Usage: habu.server.ftp [OPTIONS]

Serveur FTP factice basique, ayant pour seul but de voler les identifiants
des utilisateurs.

Supporte SSL/TLS.

Exemple :

# sudo habu.server.ftp --ssl --ssl-cert /tmp/cert.pem --ssl-key /tmp/key.pem
Écoute sur le port 21
Connexion acceptée depuis ('192.168.0.27', 56832)
Identifiants collectés depuis 192.168.0.27 ! fabian 123456

Options :
  -a TEXT          Adresse à écouter (par défaut : toutes)
  -p INTEGER       Port à utiliser (par défaut : 21)
  --ssl            Activer SSL/TLS (par défaut : False)
  --ssl-cert TEXT  Fichier de certificat SSL/TLS
  --ssl-key TEXT   Fichier de clé SSL/TLS
  -v               Verbeux
  --help           Affiche ce message et quitte.

habu.shodan

.. code-block::

root@kitploit:~
Usage: habu.shodan [OPTIONS] IP

Client API Shodan simple.

Affiche le résultat JSON d'une requête Shodan.

Exemple :

$ habu.shodan 216.58.222.36
asn                      AS15169
isp                      Google
hostnames                eze04s06-in-f4.1e100.net, gru09s17-in-f36.1e100.net
country_code             US
region_code              CA
city                     Mountain View
org                      Google
open_ports               tcp/443, tcp/80

Options :
  --cache / --no-cache
  -v                            Sortie verbeuse
  --format [txt|csv|json|nmap]  Format de sortie
  --help                        Affiche ce message et quitte.

habu.shodan.query

.. code-block::

root@kitploit:~
Usage: habu.shodan.query [OPTIONS] QUERY

Client API Shodan simple.

Affiche le résultat JSON d'une requête Shodan.

Exemple :

$ habu.shodan 8.8.8.8
{
    "hostnames": [
        "google-public-dns-a.google.com"
    ],
    "country_code": "US",
    "org": "Google",
    "data": [
        {
            "isp": "Google",
            "transport": "udp",
            "data": "Recursion: enabled",
            "asn": "AS15169",
            "port": 53,
            "hostnames": [
                "google-public-dns-a.google.com"
            ]
        }
    ],
    "ports": [
        53
    ]
}

Options :
  -c           Désactiver le cache
  -v           Sortie verbeuse
  -o FILENAME  Fichier de sortie (par défaut : stdout)
  --help       Affiche ce message et quitte.

habu.tcp.flags

.. code-block::

root@kitploit:~
Usage: habu.tcp.flags [OPTIONS] IP

Envoie des paquets TCP avec différents flags et indique quelles réponses
sont reçues.

Peut être utilisé pour analyser comment les différentes implémentations
et configurations de la pile TCP/IP répondent aux paquets avec diverses
combinaisons de flags.

Exemple :

# habu.tcp_flags www.portantier.com
S  -> SA
FS -> SA
FA -> R
SA -> R

Par défaut, la commande envoie toutes les combinaisons possibles de flags.
Vous pouvez spécifier quels flags doivent toujours être présents (réduisant
ainsi le nombre de combinaisons possibles), avec l'option '-f'.

Vous pouvez également spécifier quels flags doivent être présents dans les
paquets de réponse à afficher, avec l'option '-r'.

Avec la commande suivante, vous voyez toutes les combinaisons possibles qui
ont le flag FIN (F) défini et qui génèrent une réponse contenant le flag
RST (R).

Exemple :

# habu.tcp_flags -f F -r R www.portantier.com
FPA  -> R
FSPA -> R
FAU  -> R

Options :
  -p INTEGER  Port à utiliser (par défaut : 80)
  -f TEXT     Flags qui doivent toujours être envoyés (par défaut : fuzz avec tous les flags)
  -r TEXT     Filtrer par flags de réponse (par défaut : afficher toutes les réponses)
  -v          Verbeux
  --first     S'arrêter dès la première réponse correspondante
  --help      Affiche ce message et quitte.

habu.tcp.isn

.. code-block::

root@kitploit:~
Usage: habu.tcp.isn [OPTIONS] IP

Crée des connexions TCP et affiche les numéros de séquence initiaux TCP
pour chacune.

$ sudo habu.tcp.isn -c 5 www.portantier.com
1962287220
1800895007
589617930
3393793979
469428558

Remarque : Vous pouvez obtenir une représentation graphique (nécessite le
paquet matplotlib) en utilisant l'option '-g' pour mieux comprendre
l'aléatoire.

Options :
  -p INTEGER  Port à utiliser (par défaut : 80)
  -c INTEGER  Combien de paquets envoyer/recevoir (par défaut : 5)
  -i TEXT     Interface à utiliser
  -g          Graphique (nécessite matplotlib)
  -v          Sortie verbeuse
  --help      Affiche ce message et quitte.

habu.tcp.scan

.. code-block::

root@kitploit:~
Usage: habu.tcp.scan [OPTIONS] IP

Scanner de ports TCP.

Affiche les ports qui ont généré une réponse avec le flag SYN ou (si vous
utilisez -a) tous les ports qui ont généré une réponse.

C'est vraiment basique comparé à nmap, mais qui compare ?

Exemple :

# habu.tcp.scan -p 22,23,80,443 -s 1 45.77.113.133
22 S -> SA
80 S -> SA
443 S -> SA

Options :
  -p TEXT     Ports à utiliser (par défaut : 80) exemple : 20-23,80,135
  -i TEXT     Interface à utiliser
  -f TEXT     Flags à utiliser (par défaut : S)
  -s TEXT     Temps entre les sondes (par défaut : tout envoyer ensemble)
  -t INTEGER  Délai d'attente pour chaque sonde (par défaut : 2 secondes)
  -a          Afficher toutes les réponses (par défaut : uniquement celles contenant le flag SYN)
  -v          Sortie verbeuse
  --help      Affiche ce message et quitte.

habu.tcp.synflood

.. code-block::

root@kitploit:~
Usage: habu.tcp.synflood [OPTIONS] IP

Lance un grand nombre de connexions TCP et les maintient ouvertes.

Certains systèmes très anciens peuvent subir un déni de service avec cela.

Référence : https://en.wikipedia.org/wiki/SYN_flood

Exemple :

# sudo habu.tcp.synflood 172.16.0.10
.................

Chaque point est un paquet envoyé.

Vous pouvez utiliser les options '-2' et '-3' pour falsifier les adresses
de couche 2/3.

Si vous les utilisez, chaque connexion sera envoyée depuis une adresse
aléatoire de couche2 (MAC) et/ou de couche3 (IP).

Vous pouvez choisir le nombre de connexions à créer avec l'option '-c'.
Par défaut, il ne s'arrête jamais de créer des connexions.

Remarque : si vous envoyez les paquets depuis votre véritable adresse IP et
que vous souhaitez maintenir les connexions semi-ouvertes, vous devez
configurer votre pare-feu pour ne pas envoyer les paquets RST.

Options :
  -i TEXT     Interface à utiliser (par défaut : auto)
  -c INTEGER  Combien de paquets envoyer (par défaut : infini)
  -p INTEGER  Port à utiliser (par défaut : 135)
  -2          Falsifier l'adresse de couche2/MAC (par défaut : Non)
  -3          Falsifier l'adresse de couche3/IP (par défaut : Non)
  -v          Verbeux
  --help      Affiche ce message et quitte.

habu.traceroute

.. code-block::

root@kitploit:~
Usage: habu.traceroute [OPTIONS] IP

Traceroute TCP.

Identifie le chemin vers une destination en obtenant les messages
ttl-zero-during-transit.

Remarque : Sur Internet, vous pouvez avoir plusieurs chemins valides vers
un appareil.

Exemple :

# habu.traceroute 45.77.113.133
IP / ICMP 192.168.0.1 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror
IP / ICMP 10.242.4.197 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding
IP / ICMP 200.32.127.98 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding
.
IP / ICMP 4.16.180.190 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror
.
IP / TCP 45.77.113.133:http > 192.168.0.5:ftp_data SA / Padding

Remarque : Il est préférable d'utiliser un port ouvert sur le système distant.

Options :
  -p INTEGER  Port à utiliser (par défaut : 80)
  -i TEXT     Interface à utiliser
  --help      Affiche ce message et quitte.

habu.upgrade

.. code-block::

root@kitploit:~
Usage: habu.upgrade [OPTIONS]

Met à jour habu (depuis https://github.com/fportantier/habu)

Options :
  --help  Affiche ce message et quitte.

habu.usercheck

.. code-block::

root@kitploit:~
Usage: habu.usercheck [OPTIONS] USERNAME

Vérifie si le nom d'utilisateur donné existe sur divers réseaux sociaux
et autres sites populaires.

$ habu.usercheck portantier
{
    "aboutme": "https://about.me/portantier",
    "disqus": "https://disqus.com/by/portantier/",
    "github": "https://github.com/portantier/",
    "ifttt": "https://ifttt.com/p/portantier",
    "lastfm": "https://www.last.fm/user/portantier",
    "medium": "https://medium.com/@portantier",
    "pastebin": "https://pastebin.com/u/portantier",
    "pinterest": "https://in.pinterest.com/portantier/",
    "twitter": "https://twitter.com/portantier",
    "vimeo": "https://vimeo.com/portantier"
}

Options :
  -c      Désactiver le cache
  -v      Sortie verbeuse
  -w      Ouvrir chaque URL valide dans un navigateur web
  --help  Affiche ce message et quitte.

habu.version

.. code-block::

root@kitploit:~
Usage: habu.version [OPTIONS]

Options :
  --help  Affiche ce message et quitte.

habu.vhosts

.. code-block::

root@kitploit:~
Usage: habu.vhosts [OPTIONS] HOST

Utilise Bing pour interroger les sites web hébergés sur la même adresse IP.

$ habu.vhosts www.telefonica.com
www.telefonica.com -> 212.170.36.79
[
    'www.telefonica.es',
    'universitas.telefonica.com',
    'www.telefonica.com',
]

Options :
  -c          Désactiver le cache
  -p INTEGER  Nombre de pages (par défaut : 10)
  -f INTEGER  Premier résultat à obtenir (par défaut : 1)
  --help      Affiche ce message et quitte.

habu.virustotal

.. code-block::

root@kitploit:~
Usage: habu.virustotal [OPTIONS] INPUT

Envoie un fichier à VirusTotal https://www.virustotal.com/ et affiche le
rapport au format JSON.

Remarque : Avant d'envoyer un fichier, vérifie si le fichier a déjà été
analysé (en envoyant le sha256 du fichier). Si un rapport existe, aucune
soumission ne sera effectuée et vous verrez le dernier rapport.

$ habu.virustotal meterpreter.exe
Vérification si le hash a déjà été soumis : f4826b219aed3ffdaa23db26cfae611979bf215984fc71a1c12f6397900cb70d
Envoi du fichier pour analyse
Attente/récupération du rapport...
{
    "md5": "0ddb015b5328eb4d0cc2b87c39c49686",
    "permalink": "https://www.virustotal.com/file/c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23/analysis/1526850717/",
    "positives": 49,
    "resource": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
    "response_code": 1,
    "scan_date": "2018-05-20 21:11:57",
    "scan_id": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23-1526850717",
    "scans": {
        "ALYac": {
            "detected": true,
            "result": "Trojan.CryptZ.Gen",
            "update": "20180520",
            "version": "1.1.1.5"
        },
        ... Les autres scanners ...
    },
    "sha1": "5fa33cab1729480dd023b08f7b91a945c16d0a9e",
    "sha256": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
    "total": 67,
    "verbose_msg": "Scan terminé, informations intégrées"
}

Options :
  -v      Sortie verbeuse
  --help  Affiche ce message et quitte.

habu.web.report

.. code-block::

root@kitploit:~
Usage: habu.web.report [OPTIONS] [INPUT_FILE]

Génère un rapport qui inclut les en-têtes HTTP des sites web.

Optionnellement, utilise Firefox ou Chromium pour prendre une capture
d'écran des sites web.

Le format attendu est une URL par ligne.

Crée un répertoire appelé 'report' contenant le résultat.

$ echo https://www.portantier.com | habu.web.report

Options :
  -v                             Sortie verbeuse
  -s                             Prendre une capture d'écran pour chaque site web
  -b [firefox|chromium-browser]  Navigateur à utiliser pour la capture d'écran.
  --help                         Affiche ce message et quitte.

habu.web.screenshot

.. code-block::

root@kitploit:~
Usage: habu.web.screenshot [OPTIONS] URL

Utilise Firefox ou Chromium pour prendre une capture d'écran du site web.

$ habu.web.screenshot https://www.portantier.com

Options :
  -b [firefox|chromium-browser]  Navigateur à utiliser pour la capture d'écran.
  -o TEXT                        Fichier de sortie. (par défaut : screenshot.png)
  --help                         Affiche ce message et quitte.

habu.whois.domain

.. code-block::

root@kitploit:~
Usage: habu.whois.domain [OPTIONS] DOMAIN

Client whois simple pour vérifier les noms de domaine.

Exemple :

$ habu.whois.domain google.com
registrar                MarkMonitor, Inc.
whois_server             whois.markmonitor.com
creation_date            1997-09-15 04:00:00
expiration_date          2028-09-14 04:00:00
name_servers             ns1.google.com, ns2.google.com, ns3.google.com, ns4.google.com
emails                   [email protected], [email protected]
dnssec                   unsigned
org                      Google LLC
country                  US
state                    CA

Options :
  --json  Afficher la sortie au format JSON
  --csv   Afficher la sortie au format CSV
  --help  Affiche ce message et quitte.

habu.whois.ip

.. code-block::

root@kitploit:~
Usage: habu.whois.ip [OPTIONS] IP

Client whois simple pour vérifier les adresses IP (IPv4 et IPv6).

Exemple :

$ habu.whois.ip 8.8.4.4
asn                      15169
asn_registry             arin
asn_cidr                 8.8.4.0/24
asn_country_code         US
asn_description          GOOGLE - Google LLC, US
asn_date                 1992-12-01

Options :
  --json  Afficher la sortie au format JSON
  --csv   Afficher la sortie au format CSV
  --help  Affiche ce message et quitte.
Télécharger l’outil
  • crypto.fernet <#habucryptofernet>_
  • crypto.fernet.genkey <#habucryptofernetgenkey>_
  • crypto.gppref <#habucryptogppref>_
  • crypto.hasher <#habucryptohasher>_
  • crypto.xor <#habucryptoxor>_
  • data.enrich <#habudataenrich>_
  • data.extract.domain <#habudataextractdomain>_
  • data.extract.email <#habudataextractemail>_
  • data.extract.fqdn <#habudataextractfqdn>_
  • data.extract.ipv4 <#habudataextractipv4>_
  • data.filter <#habudatafilter>_
  • data.select <#habudataselect>_
  • dhcp.discover <#habudhcpdiscover>_
  • dhcp.starvation <#habudhcpstarvation>_
  • dns.lookup.forward <#habudnslookupforward>_
  • dns.lookup.reverse <#habudnslookupreverse>_
  • eicar <#habueicar>_
  • forkbomb <#habuforkbomb>_
  • fqdn.finder <#habufqdnfinder>_
  • gateway.find <#habugatewayfind>_
  • host <#habuhost>_
  • http.headers <#habuhttpheaders>_
  • http.options <#habuhttpoptions>_
  • http.tech <#habuhttptech>_
  • icmp.ping <#habuicmpping>_
  • ip.asn <#habuipasn>_
  • ip.geolocation <#habuipgeolocation>_
  • ip.internal <#habuipinternal>_
  • ip.public <#habuippublic>_
  • karma <#habukarma>_
  • karma.bulk <#habukarmabulk>_
  • land <#habuland>_
  • nc <#habunc>_
  • net.contest <#habunetcontest>_
  • net.interfaces <#habunetinterfaces>_
  • nmap.excluded <#habunmapexcluded>_
  • nmap.open <#habunmapopen>_
  • nmap.ports <#habunmapports>_
  • protoscan <#habuprotoscan>_
  • server.ftp <#habuserverftp>_
  • shodan <#habushodan>_
  • shodan.query <#habushodanquery>_
  • tcp.flags <#habutcpflags>_
  • tcp.isn <#habutcpisn>_
  • tcp.scan <#habutcpscan>_
  • tcp.synflood <#habutcpsynflood>_
  • traceroute <#habutraceroute>_
  • upgrade <#habuupgrade>_
  • usercheck <#habuusercheck>_
  • version <#habuversion>_
  • vhosts <#habuvhosts>_
  • virustotal <#habuvirustotal>_
  • web.report <#habuwebreport>_
  • web.screenshot <#habuwebscreenshot>_
  • whois.domain <#habuwhoisdomain>_
  • whois.ip <#habuwhoisip>_