Ich entwickle Habu, um einige Konzepte über Python und Netzwerkhacking zu unterrichten (und zu lernen).
Einige in der aktuelle Version implementierte Techniken sind:
Die Entwicklung dieser Software wird von Securetia SRL (https://www.securetia.com/) unterstützt
Verschiedene nützliche Nutzungsszenarien sind in https://fportantier.github.io/hacking-with-habu/ aufgeführt
Die folgende YouTube -Wiedergabeliste enthält Videos, in denen die Installation und Verwendung angezeigt wird:
https://www.youtube.com/watch?v=rgp9selLyqe&list=pl4HZNX8VNFXQSVNW7X-BXON0DGXNDFNVD
Wenn Sie einige Habu -Funktionen, mögliche Verbesserungen usw. besprechen möchten, können Sie die Habu Telegram Group verwenden: https://t.me/python_habu
Probleme und Zuganfragen müssen an Github Repo gesendet werden: https://github.com/fportantier/habu
Empfohlene Art und Weise zu installieren:
$ Python3 -m PIP Installation -Upgrade Git+https: //github.com/fportantier/habu.git
Dies muss auf jedem System funktionieren, in dem Python 3 installiert ist.
Hinweis: Auf einigen Systemen (wie Microsoft Windows) müssen Sie den Befehl an den richtigen Pfad der ausführbaren Python -Datei anpassen.
Jetzt haben wir einen Befehl, um direkt vom Git Repo zu aktualisieren und einen alten Befehl zu reinigen, der nicht mehr existiert oder umbenannt wurde.
$ habu.upgrade
Alle Befehle implementieren die Option '-HELP', die die Hilfe, Argumente, Optionen und Standardwerte anzeigt.
Fast alle Befehle implementieren den ausführlichen Modus mit der Option '-v'. Dies kann Ihnen einige zusätzliche Informationen darüber geben, was Habu tut.
Verwendung: habu.arp.ping [Optionen] IP Senden Sie ARP -Pakete, um zu überprüfen, ob ein Host im lokalen Netzwerk lebendig ist. Beispiel: # habu.arp.ping 192.168.0.1 Ether / ARP ist bei A4: 08: F5: 19: 17: A4 sagt 192.168.0.1 / Polsterung Optionen: -Ii -Textoberfläche zur Verwendung -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.arp.poison [Optionen] Opfer1 Opfer2 Senden Sie jedes Opfer ARP 'is-at' -Pakete und vergiften ihre ARP-Tische für Senden Sie den Verkehr an Ihr System. Hinweis: Wenn Sie im mittleren Angriff einen vollständigen Arbeiter wünschen, müssen Sie Aktivieren Sie die Paketweiterleitung in Ihrem Betriebssystem, um sich wie a zu verhalten Router. Sie können das mit: # echo 1>/proc/sys/net/ipv4/ip_forward Beispiel: # habu.arpoison 192.168.0.1 192.168.0.77 Ether / ARP ist bei F4: 96: 34: E5: AE: 1B sagt 192.168.0.77 Ether / ARP ist bei F4: 96: 34: E5: AE: 1B sagt 192.168.0.70 Ether / ARP ist bei F4: 96: 34: E5: AE: 1B sagt 192.168.0.77 ... Optionen: -Ii -Textoberfläche zur Verwendung -v ausführlich -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: habu.arp.sniff [Optionen] Hören Sie auf ARP -Pakete und zeigen Sie Informationen für jedes Gerät an. Spalten: Sekunden aus dem letzten Paket | IP | MAC | Verkäufer Beispiel: 1 192.168.0.1 A4: 08: F5: 19: 17: A4 Sagemcom Breitband SAS 7 192.168.0.2 64: BC: 0c: 33: E5: 57 LG Elektronik (Mobilfunkkommunikation) 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. Optionen: -Ii -Textoberfläche zur Verwendung -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.asydns [Optionen]
Fordert einen DNS -Domain -Namen an, der auf öffentlichen und privaten RSA -Schlüssel basiert
ASYDNS -Protokoll https://github.com/portantier/asydns
Beispiel:
$ habu.asydns -v
Generieren von RSA -Schlüssel ...
Laden Sie den RSA -Schlüssel ...
{
"IP": "181.31.41.231",
"Name": "07286E90FD6E7E6BE61D6A7919967C7CF3BFB23A36EDBC72B6D7C53.A.asydns.org"
}
$ dig +Short 07286E90FD6E7E6BE61D6A791967C7CF3BFB23A36EDBC72B6D7C53.A.asydns.org
181.31.41.231
Optionen:
-U Text API -URL
-G Erzwingen Sie die Erzeugung eines neuen Schlüsselpaares
-R widerrufen den öffentlichen Schlüssel
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.B64 [Optionen] [F] Codiert oder dekodieren Sie Daten in Base64 genau wie die Befehlsbasis64. $ echo großartig | Habu.B64 Yxdlc29Tzqo = $ echo yxdlc29Tzqo = | habu.b64 -d Eindrucksvoll Optionen: -D dekodieren anstelle von codieren -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.cert.clone [Optionen] Hostname Port Keyfile Certfile Stellen Sie eine Verbindung zu einem SSL/TLS -Server her, holen Sie sich das Zertifikat und generieren Sie a Zertifikat mit den gleichen Optionen und Feldwerten. Hinweis: Das generierte Zertifikat ist ungültig, kann aber für soziale Verwendung verwendet werden Ingenieurangriffe Beispiel: $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem Optionen: -Copy-Extensions kopieren Zertifikatserweiterungen (Standard: Falsch) -Erstellen Sie ein abgelaufenes Zertifikat (Standard: Falsch) -v ausführlich -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.cert.crtsh [Optionen] Domäne Laden Sie die Zertifikatstransparenzprotokolle für eine Domäne herunter und erkundigen Sie sich mit DNS -Abfragen, wenn jede Subdomänen existiert. Verwendet Multithreading, um die Leistung der DNS -Abfragen zu verbessern. Beispiel: $ habu.crtsh Securetia.com Alt.securetia.com other.securetia.com www.securetia.com Optionen: -C Deaktivieren Sie Cache -n Deaktivieren Sie die DNS -Subdomänenvalidierung -V -ausführliche Ausgabe -JSON Drucken Sie die Ausgabe im JSON-Format aus -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.cert.names [Optionen] [Network] Stellt eine Verbindung zu jedem Host/Port her und zeigt eine Zusammenfassung der Zertifikatennamen an. Die Hosts, mit denen sie eine Verbindung herstellen können, stammen aus zwei möglichen Optionen: 1. -i Option (Standard: stdin). Eine Datei, in der jede Zeile ein Host oder ein Netzwerk ist 2. Ein Argument, das ein Host oder ein Netzwerk sein kann Wenn Sie beide Methoden verwenden, werden die Hosts und Netzwerke in eine Liste verschmolzen. Beispiel: $ habu.cert.names 2.18.60.240/29 2.18.60.241 443 is-microsoft.com microsoft.com Privacy.microsoft.com 2.18.60.242 443 aod-ssl.itunes.apple.com aod.itunes.apple.com aodp-sl.itunes.apple.com 2.18.60.243 443 *.mlb.com mlb.com 2.18.60.244 443 [SSL: TLSV1_ALERT_INTERNAL_ERROR] TLSV1 ALERT INTERNEHMER (_SSL.C: 1056) 2.18.60.245 443 CERT2-CN-PUBLIC-UBISERVICES.UBI.com CERT2-CN-PUBLIC-WS-BISERVICES.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 is-microsoft.com microsoft.com *.mlb.com mlb.com Privacy.Microsoft.com Optionen: -P Textports zur Verbindung zu (comma getrennte Liste) -i Dateiname Eingabedatei (Standard: stdin) -t Float -Zeit, um auf jede Verbindung zu warten -V -ausführliche Ausgabe -JSON Drucken Sie die Ausgabe im JSON-Format aus -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.config.del [Optionen] Schlüssel Löschen Sie einen Schlüssel aus der Konfiguration. Hinweis: Standardmäßig wird die Schlüssel in Großbuchstaben konvertiert. Beispiel: $ habu.config.del dns_server Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.config.set [Optionen] Schlüsselwert Stellen Sie den Wert auf den Konfigurationsschlüssel fest. Hinweis: Standardmäßig wird die Schlüssel in Großbuchstaben konvertiert. Beispiel: $ habu.config.set dns_server 8.8.8.8 Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.config.show [Optionen]
Zeigen Sie die aktuelle Konfiguration an.
Hinweis: Standardmäßig werden die Optionen mit 'Schlüssel' in ihrem Namen beschattet.
Beispiel:
$ habu.config.show
{
"DNS_SERVER": "8.8.8.8",
"Fernet_Key": "*************"
}
Optionen:
-k, --how-keys zeigen auch die Schlüsselwerte
-Option Text ... Schreiben Sie in die Konfiguration (Schlüsselwert)
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crack.luhn [Optionen] Nummer Nach Bekannten von Werten für eine luhn -validierte Zahl erhalten Sie die Möglichkeit Unbekannte Zahlen. Zahlen, die den Luhn -Algorithmus zur Validierung verwenden, sind Kreditkarten, IMEI, Nationaler Anbieterkennung in den Vereinigten Staaten, kanadischer Sozial Versicherungsnummern, Israel -ID -Nummern und griechische Sozialversicherungsnummern (Αμκα). Die '-' Charaktere werden ignoriert. Definieren Sie die fehlenden Zahlen mit dem 'X' -Charakter. Referenz: https://en.wikipedia.org/wiki/luhn_algorithmus Beispiel: $ habu.crack.luhn 4509-xx08-3160-6445 4509000831606445 4509180831606445 4509260831606445 4509340831606445 4509420831606445 4509590831606445 4509670831606445 4509750831606445 4509830831606445 4509910831606445 Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crack.snmp [Optionen] IP Startet SNMP-Get-Anfragen gegen eine IP und teilt Ihnen mit Community String (ist ein einfacher SNMP -Cracker). Das verwendete Wörterbuch ist das mit dem Onesixtyone -Tool verteilt https://github.com/trailofbits/onesixtyone Beispiel: # habu.crack.snmp 179.125.234.210 Gemeinschaft gefunden: privat Gemeinschaft gefunden: öffentlich Hinweis: Sie können auch Nachrichten wie <Universal > <Klasse empfangen 'scapy.asn1.asn1.asn1 _class _metaclass' >, ich weiß nicht sie für jetzt. Optionen: -P Integer Port zur Verwendung -C Text Community (Standard: Liste der am häufigsten verwendeten) -s Stopp nach dem ersten Match -v ausführlich -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crypto.fernet [Optionen] Fernet -Chiffre. Verwendet AES-128-CBC mit HMAC Hinweis: Sie müssen einen Schlüssel verwenden, um mit Fernet zu kommen. Verwenden Sie den -K -Paramenten oder setzen Sie den Konfigurationswert Fernet_key. Die Schlüssel können mit dem Befehl habu.crypto.fernet.genkey generiert werden Referenz: https://github.com/fernet/spec/blob/master/spec.md Beispiel: $ "Ich möchte diese Zeichenfolge schützen" | habu.crypto.fernet GAAAAABBXNCGOCULLUVNREYTBECWNEK9IQ5JBKQ9JAN3WIIBUZPQPUGV5OWVNC6XFIA ... $ echo gaaaaabbxncgoculluvnrelytbecwnek9iq5jbkq9jan3wiibuzpqpugv5owvnc6xfia ... | habu.crypto.fernet -d Ich möchte diese Zeichenfolge schützen Optionen: -K Textschlüssel -d entschlüsseln statt verschlüsseln -ttl ganzzahlige Zeit, um für die Zeitstempelüberprüfung zu leben -i Dateiname Eingabedatei (Standard: stdin) -O Dateiname Ausgabedatei (Standard: stdout) -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crypto.fernet.genkey [Optionen] Generieren Sie einen neuen Fernet -Schlüssel, schreiben Sie ihn optional an ~/.habu.json Beispiel: $ habu.crypto.fernet.genkey xgvwcivjwe9UQ7NBVWO796II4DSGD623QOT9GWQNUHG = Optionen: -W schreiben Sie diesen Schlüssel zu ~/.Habu.json -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crypto.gppref [Optionen] Passwort Entschlüsseln Sie das Kennwort der lokalen Benutzer, die über Windows 2008 -Gruppenrichtlinie hinzugefügt wurden Vorlieben. Dieser Wert ist das "CPassword" -attribut, das in die Datei gruppens.xml eingebettet ist. gespeichert in der Sysvol -Aktie des Domänencontrollers. Beispiel: # habu.crypto.gppref azvjmxh/j9Kru5n0czx1ubplsujzfe8j7doltpd8tlk Testpasswort Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crypto.hasher [Optionen] [f]
Berechnen Sie verschiedene Hashes für die Eingabedaten, die eine Datei oder ein Stream sein können.
Beispiel:
$ 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
Sie können auch angeben, welchen Algorithmus zu verwenden ist. In diesem Fall ist die Ausgabe
Nur der Wert des berechneten Hashs:
$ habu.hasher -a md5 readme.rst
992A833CD162047DAAA6A236B8AC15AE README.RST
Optionen:
-a [Md5 | SHA1 | SHA256 | SHA512 | RIPEMD160 | Whirlpool]
Nur dieser Algorithmus (Standard: Alle)
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.crypto.xor [Optionen] XOR CIPHER. HINWEIS: XOR ist keine "sichere Chiffre". Wenn Sie starke Krypto benötigen, müssen Sie verwenden Algorithmen wie AES. Dafür können Sie Habu.fernet verwenden. Beispiel: $ habu.xor -k mysecretkey -i /bin /ls> xored $ habu.xor -k mysecretkey -i Xored> uxored $ SHA1SUM /BIN /LS UXORDE $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB /BIN /LS $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB UXORD Optionen: -K Textverschlüsselungsschlüssel -i Dateiname Eingabedatei (Standard: stdin) -O Dateiname Ausgabedatei (Standard: stdout) -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.enrich [Optionen]
Daten hinzufügen, um interessante Informationen hinzuzufügen.
Beispiel:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich
[
{
"Asset": "8.8.8.8",
"Familie": "iPaddress",
"Asn": "15169",
"Netz": "8.8.8.0/24",
"CC": "uns",
"Rir": "Arin",
"Asname": "Google - Google LLC, uns"
},
{
"Asset": "8.8.4.4",
"Familie": "iPaddress",
"Asn": "15169",
"Netz": "8.8.4.0/24",
"CC": "uns",
"Rir": "Arin",
"Asname": "Google - Google LLC, uns"
}
]
Optionen:
-i Dateiname Eingabedatei (Standard: stdin)
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.extract.domain [Optionen] [Infile] Extrahieren Sie gültige Domänen aus einer Datei oder einem Stdin. Überprüfen Sie optional jede Domäne auf das Vorhandensein von NS -Registern. Beispiel: $ cat /var/log/some.log | habu.data.extract.domain -c Google.com IBM.com redhat.com Optionen: -C Überprüfen Sie, ob Domain NS -Server definiert sind -V -ausführliche Ausgabe -J JSON Ausgang -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.extract.email [Optionen] [Infile] Extrahieren Sie E -Mail -Adressen aus einer Datei oder einem Stdin. Beispiel: $ cat /var/log/auth.log | habu.data.extract.email [email protected] [email protected] [email protected] Optionen: -V -ausführliche Ausgabe -J JSON Ausgang -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.extract.fqdn [Optionen] [Infile] Extrahieren Sie FQDNS (voll qualifizierte Domänennamen) aus einer Datei oder einem Stdin. Beispiel: $ cat /var/log/some.log | habu.data.extract.fqdn www.google.com IBM.com fileServer.redhat.com Optionen: -C Überprüfen Sie, ob Hostname sich auflöst -V -ausführliche Ausgabe -J JSON Ausgang -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.extract.ipv4 [Optionen] [Infile] Extrahieren Sie IPv4 -Adressen aus einer Datei oder einem Stdin. Beispiel: $ cat /var/log/auth.log | habu.data.extract.ipv4 172.217.162.4 23.52.213.96 190.210.43.70 Optionen: -J, -Json Json Ausgabe -U, -Einheit entfernen Duplikate -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.data.filter [Optionen] Feld [gt | lt | gl | ne | ge | le | in | enthält | definitiv
ed | undefiniert | wahr | false] [Wert]
Filterdaten basierend auf Operatoren.
Operatorreferenz:
GT: größer als
LT: weniger als
Gl.: Gleiche
NE: nicht gleich
GE: Greather oder gleich als
LE: weniger oder gleich als
In: In der Liste der Werte (oder innerhalb des Netzwerks)
Enthält: Enthält den Wert (oder die Netzwerkadresse)
definiert: Der Wert ist definiert
undefiniert: Der Wert ist nicht definiert
Richtig: Der Wert ist wahr
Falsch: Der Wert ist falsch
Beispiel:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter CC EQ us
[
{
"Artikel": "8.8.8.8",
"Familie": "ipv4_address",
"Asn": "15169",
"Netz": "8.8.8.0/24",
"CC": "uns",
"Rir": "Arin",
"Asname": "Google - Google LLC, uns"
}
]
DOCS: https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-nrichment
Optionen:
-i Dateiname Eingabedatei (Standard: stdin)
-V -ausführliche Ausgabe
-Noch nicht den Vergleich negieren
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: habu.data.Select [Optionen] Feld Wählen Sie ein Feld aus einem JSON -Eingang aus. Beispiel: $ 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 Optionen: -i Dateiname Eingabedatei (Standard: stdin) -V -ausführliche Ausgabe -Json Json Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: habu.dhcp.discover [Optionen] Senden Sie eine DHCP -Anfrage und zeigen Sie an, was Geräte geantwortet haben. Hinweis: Verwenden von '-v' Sie können alle Optionen (wie DNS-Server) enthalten sehen auf die Antworten. # habu.dhcp_discover Ether / IP / UDP 192.168.0.1:Bootps> 192.168.0.5:Bootpc / BootP / DHCP Optionen: -Ii -Textoberfläche zur Verwendung -t ganzzahlige Zeit (Sekunden), um auf Antworten zu warten -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.dhcp.starvation [Optionen] Senden Sie mehrere DHCP -Anfragen von gefälschten MAC -Adressen, um das DHCP zu füllen Server -Leasingverträge. Wenn alle verfügbaren Netzwerkadressen zugewiesen werden, der DHCP -Server Senden Sie keine Antworten. Es können also einige Angriffe wie DHCP -Spoofing durchgeführt werden. # 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 Optionen: -Ii -Textoberfläche zur Verwendung -t ganzzahlige Zeit (Sekunden), um auf Antworten zu warten -S Ganzzahlzeit (Sekunden) zwischen Anfragen -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.dns.lookup.forward [Optionen] Hostname
Führen Sie eine Vorwärts suchen eines bestimmten Hostnamens.
Beispiel:
$ habu.dns.lookup.forward Google.com
{
"IPv4": "172.217.168.46",
"IPv6": "2A00: 1450: 400A: 802 :: 200e"
}
Optionen:
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.dns.lookup.Reverse [Optionen] ip_address
Führen Sie eine umgekehrte Suche einer bestimmten IP -Adresse durch.
Beispiel:
$ $ habu.dns.lookup.Reverse 8.8.8.8
{
"Hostname": "Google-Public-dns-a.google.com"
}
Optionen:
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.eicar [Optionen] Drucken Sie die EICAR -Testzeichenfolge, mit der Antimalware -Motoren getestet werden können. Weitere Informationen: http://www.eicar.org/86-0-inteded-use.html Beispiel: $ habu.eicar X5o! Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.Forkbomb [Optionen] [Bash | Batch | C | Haskell | Perl | Php | Python | Ruby]
Eine Abkürzung, um sich daran zu erinnern, wie Sie Gabelbomben in verschiedenen Sprachen verwenden.
Derzeit unterstützt: Bash, Batch, C, Haskell, Perl, PHP, Python, Ruby.
Beispiel:
$ Habu.Forkbomb c
#include <unistd.h>
int main ()
{
während (1)
{
Gabel();
}
Rückkehr 0;
}
Optionen:
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.fqdn.finder [Optionen] [Domains] ...
Verwendet verschiedene Techniken, um gültige FQDNs für die angegebenen Domänen zu erhalten.
1. Versuchen Sie, alle FQDNs mit DNS -Zone -Transfers zu finden
2. Überprüfen Sie die Zertifikattransparenzprotokolle
3.. Verbinden Sie eine Verbindung zu bestimmten Ports, erhalten Sie SSL -Zertifikate und erhalten Sie FQDNs von ihnen
4. Stellen Sie eine Verbindung zu Websites her und erhalten Sie FQDNs basierend auf den Website -Links
5. DNS Brute Force für gebräuchliche Namen
Die Ergebnisse werden gereinigt, um FQDNs zu entfernen, die nicht durch DNS aufgelöst werden
Beispiel:
$ habu.fqdn.finder educacionit.com
barometrosrosarial.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
Optionen:
-t Float -Zeit, um auf jede Verbindung zu warten
-V -ausführliche Ausgabe
-Debug-Debug-Ausgabe
-Connect /-No-Connect erhalten Sie von bekannten FQDNS Open-Ports SSL-Zertifikaten
--brut /-No-Brute Run DNS Brute Force gegen Domains
--Links / --No-Links extrahieren FQDNs aus Website-Links
--xfr / --no-Xfr Versuchen Sie, eine DNS-Zonenübertragung gegen Domänen durchzuführen
-CTLOG / --NO-CTLOG-Versuch, FQDNs von der Zertifikattransparenz zu erhalten
Protokolle
-JSON Drucken Sie die Ausgabe im JSON-Format aus
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.gateway.find [Optionen] Netzwerk Versuchen Sie, eine externe IP mit einem Host zu erreichen, der einen Router hat. Nützlich, um Router in Ihrem Netzwerk zu finden. Erstens verwendet Arping, um lebendige Hosts zu erkennen und MAC -Adressen zu erhalten. Erstellen Sie später ein Netzwerkpaket und setzen Sie jede MAC -Adresse als Ziel. Drucken Sie zuletzt die Geräte aus, die die Pakete korrekt weitergeleitet haben. Beispiel: # 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 Optionen: -Ii -Textoberfläche zur Verwendung -Host Text Host zu erreichen (Standard: 8.8.8.8) -TCP verwenden TCP anstelle von ICMP -Dortgleger Range Zielport für TCP (Standard: 80) -Timeout Integer Timeout in Sekunden (Standard: 5) -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.host [Optionen]
Sammeln Sie Informationen über den Host, auf dem Habu ausgeführt wird.
Beispiel:
$ habu.host
{
"Kernel": [
"Linux",
"Demo123",
"5.0.6-200.fc29.x86_64",
"#1 SMP Mi 3 Apr 3 15:09:51 UTC 2019",
"x86_64",
"x86_64"
],
"Verteilung": [
"Fedora",
"29",
"Neunundzwanzig"
],
"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.sisierra"
}
Optionen:
-V -ausführliche Ausgabe.
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.http.headers [Optionen] Server
Abrufen Sie die HTTP -Header eines Webservers ab.
Beispiel:
$ habu.http.headers http://duckduckgo.com
{
"Server": "Nginx",
"Date": "Sun, 14. April 2019 00:00:55 GMT",
"Inhaltstyp": "Text/HTML",
"Inhaltslänge": "178",
"Verbindung": "Keep-Alive",
"Ort": "https://duckduckgo.com/",
"X-Frame-Options": "Sameorigin",
"Content-Security-Policy": "Standard-SRC HTTPS: BLOB: Daten: 'unsicher-inline' 'unsicherer Eval'",
"X-XSS-Protektion": "1; modus = block",
"X-In-In-In-In-In-in-Typ-Optionen": "Nosniff",
"Referrer-Policy": "Origin",
"Erwartungs-CT": "max-altern = 0",
"Läuft": "Mon, 13. April 2020 00:00:55 GMT",
"Cache-Control": "Max-Alter = 31536000"
}
Optionen:
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.http.options [Optionen] Server
Abrufen Sie die verfügbaren HTTP -Methoden eines Webservers ab.
Beispiel:
$ habu.http.options -v http://google.com
{
"erlaubt": "Holen Sie sich, Kopf"
}
Optionen:
-V -ausführliche Ausgabe
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.http.tech [Optionen] URL Verwendet Wappyzer Apps.json -Datenbank, um Technologien zu identifizieren, die in einem Web verwendet werden Anwendung. Referenz: https://github.com/aliasio/wappalyzer Hinweis: Dieses Tool sendet nur eine Anfrage. Also ist es Stealth und nicht verdächtig. $ habu.web.tech https://woocomerce.com Google Tag Manager Unbekannt Mysql unbekannt Nginx unbekannt PHP unbekannt Prototyp unbekannt Fordernjs unbekannt Woocommerce 3.8.0 WordPress 5.2.4 Yoast SEO 10.0.1 Optionen: -Cache /-no-cache -Format [txt | csv | json] Ausgangsformat -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.icmp.ping [Optionen] IP Das klassische Ping -Tool, das ICMP -Echo -Anfragen sendet. # habu.icmp.ping 8.8.8.8 IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Repry 0 / Polsterung IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Repry 0 / Polsterung IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Repry 0 / Polsterung IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Repry 0 / Polsterung Optionen: -Ii Text wich -Schnittstelle zu verwenden (Standard: automatisch) -C Ganzzahl Wie viele Pakete senden (Standard: Infinit) -t Ganzzahl in Sekunden (Standard: 2) -W Ganzzahl wie viele Sekunden zwischen den Paketen (Standard: 1) -v ausführlich -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.ip.asn [Optionen] IP
Verwenden Sie das Team Cymru IP2ASN -Service, um Informationen zu einem öffentlichen IPv4/IPv6 zu erhalten.
Referenz: https://www.team-cymru.com/ip-asn-mapping.html
$ habu.ip.asn 8.8.8.8
{
"Asn": "15169",
"Netz": "8.8.8.0/24",
"CC": "uns",
"Rir": "Arin",
"Asname": "Google - Google LLC, uns",
"Land": "Vereinigte Staaten"
}
Optionen:
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.ip.geolocation [Optionen] ip_address
Holen Sie sich die Geolokalisierung einer IP -Adddress von https://ipapi.co/.
Beispiel:
$ habu.ip.geolocation 8.8.8.8
{
"IP": "8.8.8.8",
"Stadt": "Mountain View",
...
"Asn": "As15169",
"Org": "Google LLC"
}
Optionen:
-V -ausführliche Ausgabe.
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.ip.internal [Optionen]
Holen Sie sich die lokale IP -Adresse (ES) der lokalen Schnittstellen.
Beispiel:
$ 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"
}
]
},
...
Optionen:
-V -ausführliche Ausgabe.
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.ip.public [Optionen] Holen Sie sich die öffentliche IP -Adresse der Verbindung von https://api.ipify.org. Beispiel: $ habu.ip.public 80.219.53.185 Optionen: -4, -IPV4 Drucken Sie Ihre öffentliche IPv4 -Adresse (Standard) -6, -IPV6 Drucken Sie Ihre öffentliche IPv6 -Adresse aus -J, --json drucken Sie die Ausgabe im JSON -Format aus -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: Habu.karma [Optionen] Host
Verwenden Sie den Karma -Service https://karma.securetia.com, um eine IP gegen zu überprüfen
Verschiedene Listen für Intelligenz- / Ruf von Bedrohungen.
$ habu.karma www.google.com
www.google.com -> 64.233.190.99
[
"hphosts_fsa",
"hphosts_psh",
"hphosts_emd"
]
Hinweis: Sie können den Hostnamen oder die IP des Hosts zur Abfrage verwenden.
Optionen:
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.karma.bulk [Optionen] [Infile] Zeigen Sie, welche IP -Adressen in Blacklists mit dem Karma online sind Service. Beispiel: $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk 172.217.162.4 spamhaus_drop, Alienvault_Spamming 23.52.213.96 sauber 190.210.43.70 Alienvault_Malicious Optionen: -Json Json Ausgabe -Bad zeigen nur Einträge in Blacklists -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.land [Optionen] IP Dieser Befehl implementiert den Landangriff, der Pakete zum Schmieden des Schicksals sendet Quell -IP -Adresse, um das Ziel IP zu sein. Verwendet auch die Gleicher Quell- und Zielport. Der Angriff ist sehr alt und kann verwendet werden, um alte Dienste zu leugnen Systeme wie Windows NT 4.0. Weitere Informationen hier: https://en.wikipedia.org/wiki/land # sudo habu.land 172.16.0.10 ............ HINWEIS: Jeder Punkt (.) Ist ein gesendetes Paket. Sie können angeben, wie viele Pakete senden mit der Option '-c'. Der Standard ist nie eingestellt. Außerdem können Sie die angeben Zielport mit der Option '-p'. Optionen: -C Ganzzahl Wie viele Pakete senden (Standard: Infinit) -P Integer -Port zu verwenden (Standard: 135) -Ii -Textoberfläche zur Verwendung -v ausführlich -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: Habu.nc [Optionen] Host -Port Eine Art NetCAT/NCAT -Ersatz. Die Ausführung emuliert das Gefühl dieser beliebten Werkzeuge. Beispiel: $ habu.nc -CRLF www.portantier.com 80 Verbunden mit 45.77.113.133 80 Kopf / HTTP / 1.0 HTTP/1.0 301 bewegte sich dauerhaft Datum: Do, 26. Juli 2018 21:10:51 GMT Server: OpenBSD HTTPD Verbindung: Schließen Inhaltstyp: Text/HTML Inhaltslänge: 443 Ort: https://www.portantier.com/ Optionen: -Familie [4 | 6 | 46] IP-Adressfamilie -SSL aktivieren SSL -CRLF verwenden CRLF für die EOL-Sequenz -Protokoll [TCP | UDP] Layer 4-Protokoll zu verwenden -Source-IP-Textquelle IP zur Verwendung -Source-Port-Ganzzahl-Bereichs-Quellport, die verwendet werden sollen -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.net.contest [Optionen] Versuchen Sie, eine Verbindung zu verschiedenen Diensten herzustellen und zu überprüfen, ob sie mit Ihrem erreichen können Internetverbindung. Beispiel: $ habu.net.contest DNS: Richtig FTP: Richtig SSH: Richtig Http: true Https: true Optionen: -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.net.interfaces [Optionen] Zeigen Sie die auf dem System verfügbaren Netzwerkschnittstellen an. Beispiel: # Habu.Interfaces # NAME MAC INET INET6 0 ETH0 80: FA: 5B: 4B: F9: 18 Keiner keine 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 Keine 3 VBOXNET0 0A: 00: 27: 00: 00: 00 192.168.56.1 FE80 :: 800: 27FF: FE00: 0 Optionen: -J Ausgabe im JSON -Format -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.nmap.Excluded [Optionen] Druckt einen zufälligen Port, der nicht in der NMAP-Services-Datei vorhanden ist automatisch durch NMAP gescannt. Nützlich für Dienste wie SSH oder RDP, die kontinuierlich gescannt werden ihre Standardports. Beispiel: # habu.nmap.excluded 58567 Optionen: -l ganzzahliger Bereich niedrigster Port zu berücksichtigen -H Ganzzahl der höchste Port zu berücksichtigen -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.nmap.open [Optionen] Scanfile Lesen Sie einen NMAP -Bericht und drucken Sie die offenen Ports aus. Drucken Sie die Ports aus, die geöffnet wurden. Lesen Sie die generierte NMAP Ausgabe. Sie können es verwenden, um die Portliste für die Eingabe anderer schnell wieder zu vereinen Werkzeuge. Unterstützt und erkennt die 3 Ausgangsformate (NMAP, GNMAP und XML) Beispiel: # habu.nmap.open porantier.nmap 22,80,443 Optionen: -p [tcp | udp | sctp] Das Protokoll (default = tcp) -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.nmap.ports [Optionen] Scanfile Lesen Sie einen NMAP -Bericht und drucken Sie die getesteten Ports aus. Drucken Sie die Ports, die getestet wurden, die generierte NMAP -Ausgabe getestet. Sie können es verwenden, um die Portliste für die Eingabe anderer schnell wieder zu vereinen Werkzeuge. Unterstützt und erkennt die 3 Ausgangsformate (NMAP, GNMAP und XML) Beispiel: # habu.nmap.ports portantier.nmap 21,22,23,80,443 Optionen: -p [tcp | udp | sctp] Das Protokoll (default = tcp) -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: Habu.Protoscan [Optionen] IP Senden Sie IP -Pakete mit unterschiedlichem Protokollfeldinhalt, um zu erraten, welche Ebene 4 Protokolle sind verfügbar. Der Ausgang zeigt, welche Protokolle kein „Protokoll-ungebrochenes“ erzeugen ICMP -Antwort. Beispiel: $ sudo python cmd_ipscan.py 45.77.113.133333 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 Optionen: -Ii -Textoberfläche zur Verwendung -t Ganzzahl für jede Sonde (Standard: 2 Sekunden) -Alle Protokolle untersuchen (Standard: Definiert in /etc /Protokollen) -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.server.ftp [Optionen]
Grundlegende gefälschte FTP -Server, der der einzige Zweck, Benutzeranmeldeinformationen zu stehlen.
Unterstützt SSL/TLS.
Beispiel:
# sudo habu.server.ftp--ssl ---sl-cert /tmp/cert.pem ---sl-key /tmp/key.pem
Hören auf Port 21 zuhören
Akzeptierte Verbindung von ('192.168.0.27', 56832)
Anmeldeinformationen von 192.168.0.27! Fabian 123456
Optionen:
-A -Textadresse zu binden (Standard: Alle)
-P Ganzzahl, welcher Port verwendet werden soll (Standard: 21)
-SSL aktivieren SSL/TLS (Standard: Falsch)
-SSL-Cert-Text SSL/TLS-Zertifikatdatei
-SSL-Key-Text-SSL/TLS-Schlüsseldatei
-v ausführlich
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.shodan [Optionen] IP Einfacher Shodan -API -Client. Druckt das JSON -Ergebnis einer schädlichen Abfrage. Beispiel: $ habu.shodan 216.58.222.36 ASN AS15169 ISP Google Hostnames Eze04S06-in-F4.1e100.net, GRU09S17-in-F36.1E100.net Country_Code uns Region_code ca City Mountain View Org Google Open_Ports TCP/443, TCP/80 Optionen: -Cache /-no-cache -V -ausführliche Ausgabe -Format [txt | csv | json | nmap] Ausgangsformat -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Nutzung: habu.shodan.Query [Optionen] Abfrage
Einfacher Shodan -API -Client.
Druckt das JSON -Ergebnis einer schädlichen Abfrage.
Beispiel:
$ habu.shodan 8.8.8.8
{
"Hostnames": [
"Google-Public-DNS-a.google.com"
],
"Country_Code": "US",
"Org": "Google",
"Daten": [
{
"ISP": "Google",
"Transport": "UDP",
"Daten": "Rekursion: aktiviert",
"Asn": "As15169",
"Port": 53,
"Hostnames": [
"Google-Public-DNS-a.google.com"
]
}
],
"Ports": [
53
]
}
Optionen:
-C Deaktivieren Sie Cache
-V -ausführliche Ausgabe
-O Dateiname Ausgabedatei (Standard: stdout)
-HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.tcp.flags [Optionen] IP Senden Sie TCP -Pakete mit unterschiedlichen Flags und geben Sie an, welche Antworten empfangen. Es kann verwendet werden, um zu analysieren, wie die verschiedenen TCP/IP -Stack -Implementierungen und Konfigurationen reagieren auf Paket mit verschiedenen Flag -Kombinationen. Beispiel: # habu.tcp_flags www.portantier.com S -> sa Fs -> sa Fa -> r Sa -> r Standardmäßig sendet der Befehl alle möglichen Flag -Kombinationen. Du kannst Geben Sie an, welche Flags jemals vorhanden sein müssen (Reduzierung der Menge an mögliche Kombinationen) mit der Option '-f'. Außerdem können Sie angeben, welche Flags Sie in der Antwort vorhanden sein möchten Pakete zu zeigen, mit der Option '-r'. Mit dem nächsten Befehl sehen Sie alle möglichen Kombinationen, die die haben FIN (f) Flaggensatz und generiert eine Antwort, die das RST (R) -Flag enthält. Beispiel: # habu.tcp_flags -f f -r r www.portantier.com FPA -> r FSPA -> r FAU -> r Optionen: -P Integer -Port zu verwenden (Standard: 80) -F Textflags, die jemals gesendet werden müssen (Standard: Fuzz mit allen Flags) -R Textfilter durch Antwortflags (Standard: Alle Antworten anzeigen) -v ausführlich -Erstmals Stopp bei der ersten Antwort, die entspricht -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.tcp.isn [Optionen] IP Erstellen Sie TCP -Verbindungen und drucken Sie die TCP -Anfangssequenznummern für jeweils eins. $ sudo habu.tcp.isn -c 5 www.portantier.com 1962287220 1800895007 589617930 3393793979 469428558 Hinweis: Sie können eine grafische Darstellung erhalten (benötigt die Matplotlib Paket) Verwenden der Option '-g', um die Zufälligkeit besser zu verstehen. Optionen: -P Integer -Port zu verwenden (Standard: 80) -C Ganzzahl Wie viele Pakete senden/empfangen (Standard: 5) -Ii -Textoberfläche zur Verwendung -G -Diagramm (erfordert Matplotlib) -V -ausführliche Ausgabe -HELP Zeigen Sie diese Nachricht an und beenden Sie.
Verwendung: habu.tcp.scan [Optionen] IP TCP -Portscanner. Drucken Sie die Ports aus, die eine Antwort mit dem Syn -Flag oder (falls anzeigen Verwenden Sie -a) alle Ports, die eine Antwort generierten. Es ist wirklich grundlegend im Vergleich zu NMAP, aber wer vergleicht? Beispiel: # habu.tcp.scan -p 22,23,80,443 -S 1 45,77.113.133 22 s -> sa 80 s -> sa 443 s -> sa Optionen: -P Textports zu verwenden (Standard: 80) Beispiel: 20-23,80,135 -Ii -Textoberfläche zur Verwendung -f Textflags zu verwenden (Standard: s) -S Textzeit zwischen Sonden (Standard: Alle zusammen senden) -t INTEGER Timeout for each probe (default: 2 seconds) -a Show all responses (default: Only containing SYN flag) -v Verbose output --help Show this message and exit.
Usage: habu.tcp.synflood [OPTIONS] IP Launch a lot of TCP connections and keeps them opened. Some very old systems can suffer a Denial of Service with this. Reference: https://en.wikipedia.org/wiki/SYN_flood Beispiel: # sudo habu.tcp.synflood 172.16.0.10 ................. Each dot is a packet sent. You can use the options '-2' and '-3' to forge the layer 2/3 addresses. If you use them, each connection will be sent from a random layer2 (MAC) and/or layer3 (IP) address. You can choose the number of connections to create with the option '-c'. The default is never stop creating connections. Note: If you send the packets from your real IP address and you want to keep the connections half-open, you need to setup for firewall to don't send the RST packets. Optionen: -i TEXT Wich interface to use (default: auto) -c INTEGER How many packets send (default: infinit) -p INTEGER Port to use (default: 135) -2 Forge layer2/MAC address (default: No) -3 Forge layer3/IP address (default: No) -v Verbose --help Show this message and exit.
Usage: habu.traceroute [OPTIONS] IP TCP traceroute. Identify the path to a destination getting the ttl-zero-during-transit messages. Note: On the internet, you can have various valid paths to a device. Beispiel: # 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 Note: It's better if you use a port that is open on the remote system. Optionen: -p INTEGER Port to use (default: 80) -i TEXT Interface to use --help Show this message and exit.
Usage: habu.upgrade [OPTIONS] Upgrade habu (from https://github.com/fportantier/habu) Optionen: --help Show this message and exit.
Usage: habu.usercheck [OPTIONS] USERNAME
Check if the given username exists on various social networks and other
popular sites.
$ 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"
}
Optionen:
-c Disable cache
-v Verbose output
-w Open each valid url in a webbrowser
--help Show this message and exit.
Usage: habu.version [OPTIONS] Optionen: --help Show this message and exit.
Usage: habu.vhosts [OPTIONS] HOST
Use Bing to query the websites hosted on the same IP address.
$ habu.vhosts www.telefonica.com
www.telefonica.com -> 212.170.36.79
[
'www.telefonica.es',
'universitas.telefonica.com',
'www.telefonica.com',
]
Optionen:
-c Disable cache
-p INTEGER Pages count (Default: 10)
-f INTEGER First result to get (Default: 1)
--help Show this message and exit.
Usage: habu.virustotal [OPTIONS] INPUT
Send a file to VirusTotal https://www.virustotal.com/ and print the report
in JSON format.
Note: Before send a file, will check if the file has been analyzed before
(sending the sha256 of the file), if a report exists, no submission will
be made, and you will see the last report.
$ habu.virustotal meterpreter.exe
Verifying if hash already submitted: f4826b219aed3ffdaa23db26cfae611979bf215984fc71a1c12f6397900cb70d
Sending file for analysis
Waiting/retrieving the report...
{
"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"
},
... The other scanners ...
},
"sha1": "5fa33cab1729480dd023b08f7b91a945c16d0a9e",
"sha256": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
"total": 67,
"verbose_msg": "Scan finished, information embedded"
}
Optionen:
-v Verbose output
--help Show this message and exit.
Usage: habu.web.report [OPTIONS] [INPUT_FILE] Makes a report that includes HTTP headers of websites. Optionally, uses Firefox or Chromium to take a screenshot of the websites. The expected format is one url per line. Creates a directory called 'report' with the content inside. $ echo https://www.portantier.com | habu.web.report Optionen: -v Verbose output -s Take a screenshot for each website -b [firefox|chromium-browser] Browser to use for screenshot. --help Show this message and exit.
Usage: habu.web.screenshot [OPTIONS] URL Uses Firefox or Chromium to take a screenshot of the website. $ habu.web.screenshot https://www.portantier.com Optionen: -b [firefox|chromium-browser] Browser to use for screenshot. -o TEXT Output file. (default: screenshot.png) --help Show this message and exit.
Usage: habu.whois.domain [OPTIONS] DOMAIN Simple whois client to check domain names. Beispiel: $ 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 Optionen: --json Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.
Usage: habu.whois.ip [OPTIONS] IP Simple whois client to check IP addresses (IPv4 and IPv6). Beispiel: $ 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 Optionen: --json Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.