
أدوات الاختراق
أقوم بتطوير Habu لتعليم (وتعلم) بعض المفاهيم حول Python واختراق الشبكات.
بعض التقنيات المطبقة في الإصدار الحالي هي:
دعم تطوير هذا البرنامج من قبل 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 على تلغرام: 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: القيمة صحيحة
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. محاولة الحصول على جميع أسماء FQDN عبر نقل منطقة DNS
2. التحقق من سجلات شهادة الشفافية
3. الاتصال بالمنافذ المحددة، والحصول على شهادات SSL واستخراج أسماء FQDN منها
4. الاتصال بمواقع الويب والحصول على أسماء FQDN بناءً على روابط الموقع
5. القوة العمياء لـ DNS للأسماء الشائعة
يتم تنظيف النتائج لإزالة أسماء FQDN التي لا تحل عبر DNS
مثال:
$ 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 استخدام TCP بدلاً من ICMP
--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
أداة ping الكلاسيكية التي ترسل طلبات صدى 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 الواجهة المستخدمة (الافتراضي: تلقائي)
-c INTEGER عدد الحزم المرسلة (الافتراضي: غير منتهي)
-t INTEGER المهلة بالثواني (الافتراضي: 2)
-w INTEGER الوقت بين الحزم بالثواني (الافتراضي: 1)
-v إخراج مفصل
--help إظهار هذه الرسالة والخروج.
.. code-block::
Usage: habu.ip.asn [OPTIONS] IP
استخدام خدمة Team Cymru ip2asn للحصول على معلومات حول عنوان IPv4/IPv6 عام.
المرجع: 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
الحصول على الموقع الجغرافي لعنوان IP من https://ipapi.co/.
مثال:
$ 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]
الحصول على عنوان IP العام للاتصال من https://api.ipify.org.
مثال:
$ 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]
إظهار عناوين IP الموجودة في القوائم السوداء باستخدام خدمة Karma عبر الإنترنت.
مثال:
$ 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 استخدام 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 المُنشأة.
يمكنك استخدامه لإعادة استخدام قائمة المنافذ بسرعة كمدخل لأدوات أخرى.
يدعم ويكتشف التنسيقات الثلاثة للإخراج (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 المُنشأة.
يمكنك استخدامه لإعادة استخدام قائمة المنافذ بسرعة كمدخل لأدوات أخرى.
يدعم ويكتشف صيغ المخرجات الثلاث (nmap، gnmap، xml).
مثال:
# habu.nmap.ports portantier.nmap
21,22,23,80,443
الخيارات:
-p [tcp|udp|sctp] البروتوكول (الافتراضي=tcp)
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.protoscan [OPTIONS] IP
أرسل حزم IP بمحتوى حقل بروتوكول مختلف لتخمين بروتوكولات الطبقة 4
المتاحة.
يُظهر المخرجات أي البروتوكولات لا تُولّد استجابة ICMP من نوع
'protocol-unreachable'.
مثال:
$ 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::
الاستخدام: habu.server.ftp [OPTIONS]
خادم FTP مزيف أساسي، بهدف وحيد هو سرقة بيانات اعتماد المستخدم.
يدعم SSL/TLS.
مثال:
# sudo habu.server.ftp --ssl --ssl-cert /tmp/cert.pem --ssl-key /tmp/key.pem
الاستماع على المنفذ 21
تم قبول الاتصال من ('192.168.0.27', 56832)
تم جمع بيانات الاعتماد من 192.168.0.27! fabian 123456
الخيارات:
-a TEXT العنوان المطلوب الربط به (الافتراضي: الكل)
-p INTEGER المنفذ المستخدم (الافتراضي: 21)
--ssl تمكين SSL/TLS (الافتراضي: خطأ)
--ssl-cert TEXT ملف شهادة SSL/TLS
--ssl-key TEXT ملف مفتاح SSL/TLS
-v مفصّل
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.shodan [OPTIONS] IP
عميل API بسيط لـ Shodan.
يطبع نتيجة JSON لاستعلام Shodan.
مثال:
$ 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::
الاستخدام: habu.shodan.query [OPTIONS] QUERY
عميل API بسيط لـ Shodan.
يطبع نتيجة JSON لاستعلام Shodan.
مثال:
$ 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::
الاستخدام: habu.tcp.flags [OPTIONS] IP
أرسل حزم TCP بأعلام مختلفة وأخبر عن الاستجابات التي يُستقبَل.
يمكن استخدامه لتحليل كيفية استجابة تطبيقات وتهيئات حزمة TCP/IP المختلفة
للحزم ذات تركيبات أعلام متنوعة.
مثال:
# habu.tcp_flags www.portantier.com
S -> SA
FS -> SA
FA -> R
SA -> R
افتراضيًا، يُرسل الأمر جميع تركيبات الأعلام الممكنة. يمكنك تحديد الأعلام
التي يجب أن تكون موجودة دائمًا (لتقليل عدد التركيبات الممكنة) باستخدام
الخيار '-f'.
أيضًا، يمكنك تحديد الأعلام التي تريد أن تكون موجودة في حزم الاستجابة
لإظهارها، باستخدام الخيار '-r'.
مع الأمر التالي، ترى جميع التركيبات الممكنة التي تحمل العلم FIN (F) والتي
تُولّد استجابة تحتوي على العلم RST (R).
مثال:
# 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::
الاستخدام: habu.tcp.isn [OPTIONS] IP
أنشئ اتصالات TCP واطبع أرقام التسلسل الأولية TCP لكل منها.
$ sudo habu.tcp.isn -c 5 www.portantier.com
1962287220
1800895007
589617930
3393793979
469428558
ملاحظة: يمكنك الحصول على تمثيل بياني (يتطلب حزمة matplotlib) باستخدام
الخيار '-g' لفهم العشوائية بشكل أفضل.
الخيارات:
-p INTEGER المنفذ المستخدم (الافتراضي: 80)
-c INTEGER عدد الحزم التي سيتم إرسالها/استقبالها (الافتراضي: 5)
-i TEXT الواجهة المستخدمة
-g رسم بياني (يتطلب matplotlib)
-v مخرجات مفصلة
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.tcp.scan [OPTIONS] IP
ماسح منافذ TCP.
اطبع المنافذ التي تولّدت استجابة مع العلم SYN أو (إذا أظهرت باستخدام -a)
جميع المنافذ التي تولّدت استجابة.
إنه أساسي حقًا مقارنة بـ nmap، لكن من يقارن؟
مثال:
# 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::
الاستخدام: habu.tcp.synflood [OPTIONS] IP
أطلق عددًا كبيرًا من اتصالات TCP وابقها مفتوحة.
بعض الأنظمة القديمة جدًا قد تعاني من رفض الخدمة بهذا.
المرجع: https://en.wikipedia.org/wiki/SYN_flood
مثال:
# sudo habu.tcp.synflood 172.16.0.10
.................
كل نقطة تمثل حزمة مُرسلة.
يمكنك استخدام الخيارين '-2' و '-3' لتزوير عناوين الطبقة 2/3.
إذا استخدمتهما، سيتم إرسال كل اتصال من عنوان طبقة2 (MAC) و/أو طبقة3 (IP)
عشوائي.
يمكنك اختيار عدد الاتصالات التي تريد إنشاؤها باستخدام الخيار '-c'.
الافتراضي هو عدم التوقف أبدًا عن إنشاء الاتصالات.
ملاحظة: إذا أرسلت الحزم من عنوان IP الحقيقي الخاص بك وتريد إبقاء
الاتصالات نصف مفتوحة، فأنت بحاجة إلى إعداد جدار الحماية بحيث لا يُرسل
حزم RST.
الخيارات:
-i TEXT الواجهة المستخدمة (الافتراضي: تلقائي)
-c INTEGER عدد الحزم المُرسلة (الافتراضي: غير محدود)
-p INTEGER المنفذ المستخدم (الافتراضي: 135)
-2 تزوير عنوان الطبقة2/MAC (الافتراضي: لا)
-3 تزوير عنوان الطبقة3/IP (الافتراضي: لا)
-v مفصّل
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.traceroute [OPTIONS] IP
تتبع مسار TCP.
حدد المسار إلى الوجهة من خلال الحصول على رسائل انتهاء صلاحية TTL أثناء
العبور.
ملاحظة: على الإنترنت، يمكن أن يكون لديك مسارات صالحة متعددة إلى جهاز.
مثال:
# 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
ملاحظة: من الأفضل استخدام منفذ مفتوح على النظام البعيد.
الخيارات:
-p INTEGER المنفذ المستخدم (الافتراضي: 80)
-i TEXT الواجهة المستخدمة
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.upgrade [OPTIONS]
ترقية habu (من https://github.com/fportantier/habu)
الخيارات:
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.usercheck [OPTIONS] USERNAME
تحقق مما إذا كان اسم المستخدم المُعطى موجودًا على شبكات اجتماعية متنوعة
ومواقع شائعة أخرى.
$ 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::
الاستخدام: habu.version [OPTIONS]
الخيارات:
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.vhosts [OPTIONS] HOST
استخدم Bing للاستعلام عن مواقع الويب المستضافة على نفس عنوان IP.
$ 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::
الاستخدام: habu.virustotal [OPTIONS] INPUT
أرسل ملفًا إلى VirusTotal https://www.virustotal.com/ واطبع التقرير
بصيغة JSON.
ملاحظة: قبل إرسال ملف، سيتحقق مما إذا كان الملف قد تم تحليله من قبل
(بإرسال sha256 للملف)، إذا كان هناك تقرير موجود، فلن يتم الإرسال،
وسوف ترى آخر تقرير.
$ habu.virustotal meterpreter.exe
التحقق مما إذا كان الهاش قد أُرسل بالفعل: f4826b219aed3ffdaa23db26cfae611979bf215984fc71a1c12f6397900cb70d
جاري إرسال الملف للتحليل
انتظار/استرجاع التقرير...
{
"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"
},
... الماسحات الأخرى ...
},
"sha1": "5fa33cab1729480dd023b08f7b91a945c16d0a9e",
"sha256": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
"total": 67,
"verbose_msg": "انتهى الفحص، المعلومات مضمنة"
}
الخيارات:
-v مخرجات مفصلة
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.web.report [OPTIONS] [INPUT_FILE]
يُنشئ تقريرًا يتضمن رؤوس HTTP لمواقع الويب.
اختياريًا، يستخدم Firefox أو Chromium لأخذ لقطة شاشة للمواقع.
الصيغة المتوقعة هي عنوان URL واحد لكل سطر.
يُنشئ دليلاً باسم 'report' يحتوي على المحتوى بداخله.
$ echo https://www.portantier.com | habu.web.report
الخيارات:
-v مخرجات مفصلة
-s التقط لقطة شاشة لكل موقع ويب
-b [firefox|chromium-browser] المتصفح المستخدم لقطة الشاشة.
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.web.screenshot [OPTIONS] URL
يستخدم Firefox أو Chromium لأخذ لقطة شاشة للموقع.
$ habu.web.screenshot https://www.portantier.com
الخيارات:
-b [firefox|chromium-browser] المتصفح المستخدم لقطة الشاشة.
-o TEXT ملف الإخراج. (الافتراضي: screenshot.png)
--help اعرض هذه الرسالة واخرج.
.. code-block::
الاستخدام: habu.whois.domain [OPTIONS] DOMAIN
عميل whois بسيط للتحقق من أسماء النطاقات.
مثال:
$ 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::
الاستخدام: habu.whois.ip [OPTIONS] IP
عميل whois بسيط للتحقق من عناوين IP (IPv4 و IPv6).
مثال:
$ 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>_