Saya sedang mengembangkan habu untuk mengajar (dan belajar) beberapa konsep tentang python dan peretasan jaringan.
Beberapa teknik yang diimplementasikan dalam versi saat ini adalah:
Pengembangan perangkat lunak ini didukung oleh Securetia SRL (https://www.securetia.com/)
Berbagai skenario penggunaan yang bermanfaat dirinci dalam https://fportantier.github.io/hacking-with-habu/
Daftar putar YouTube berikut memiliki video yang menunjukkan instalasi dan penggunaan:
https://www.youtube.com/watch?v=rgp9sellyqe&list=pl4hznx8vnfxqsvnw7x-bxon0dgxndfnvd
Jika Anda ingin mendiskusikan beberapa fitur habu, kemungkinan perbaikan, dll, Anda dapat menggunakan grup Telegram habu: https://t.me/python_habu
Masalah dan permintaan tarik harus dikirim ke github repo: https://github.com/fportantier/habu
Cara yang disarankan untuk menginstal:
$ python3 -m PIP menginstal -Upgrade git+https: //github.com/fportantier/habu.git
Ini harus berfungsi pada sistem apa pun yang menginstal Python 3.
Catatan: Pada beberapa sistem (seperti Microsoft Windows) Anda harus menyesuaikan perintah untuk menunjuk ke jalur yang benar dari Python yang dapat dieksekusi.
Sekarang kami memiliki perintah untuk meningkatkan langsung dari repo git dan membersihkan perintah lama yang tidak ada lagi atau yang telah diganti namanya.
$ habu.upgrade
Semua perintah mengimplementasikan opsi '--help', yang menunjukkan bantuan, argumen, opsi, dan nilai default.
Hampir semua perintah mengimplementasikan mode verbose dengan opsi '-v'. Ini dapat memberi Anda beberapa info tambahan tentang apa yang dilakukan Habu.
Penggunaan: habu.arp.ping [opsi] IP Kirim paket ARP untuk memeriksa apakah host itu hidup di jaringan lokal. Contoh: # habu.arp.ping 192.168.0.1 Eter / ARP berada di A4: 08: F5: 19: 17: A4 mengatakan 192.168.0.1 / padding Opsi: -i antarmuka teks untuk digunakan -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.arp.poison [opsi] korban1 korban2 Kirim paket 'is-at' ke setiap korban, meracuni tabel ARP mereka untuk Kirim lalu lintas ke sistem Anda. CATATAN: Jika Anda menginginkan pekerja penuh di serangan tengah, Anda perlu Aktifkan Paket Penerusan pada sistem operasi Anda untuk bertindak seperti a router. Anda dapat melakukannya dengan menggunakan: # Echo 1>/proc/sys/net/ipv4/ip_forward Contoh: # habu.arpoison 192.168.0.1 192.168.0.77 Eter / ARP berada di F4: 96: 34: E5: AE: 1B mengatakan 192.168.0.77 Ether / ARP berada di F4: 96: 34: E5: AE: 1B mengatakan 192.168.0.70 Eter / ARP berada di F4: 96: 34: E5: AE: 1B mengatakan 192.168.0.77 ... Opsi: -i antarmuka teks untuk digunakan -v verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.arp.sniff [opsi] Dengarkan paket ARP dan tunjukkan informasi untuk setiap perangkat. Kolom: Detik dari Paket Terakhir | IP | Mac | Penjual Contoh: 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 Opsi: -i antarmuka teks untuk digunakan --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.asydns [opsi]
Meminta nama domain DNS berdasarkan kunci RSA publik dan pribadi menggunakan
Asydns Protocol https://github.com/portantier/asydns
Contoh:
$ habu.asydns -v
Menghasilkan kunci RSA ...
Memuat kunci RSA ...
{
"IP": "181.31.41.231",
"Nama": "07286E90FD6E7E6BE61D6A7919967C7CF3BBFB23A36EDBC72B6D7C53.A.asydns.org"
}
$ Dig +pendek 07286e90fd6e7e6be61d6a7919967c7cf3bbfb23a36edbc72b6d7c53.a.asydns.org
181.31.41.231
Opsi:
-U URL API Teks
-g memaksa generasi pasangan kunci baru
-r mencabut kunci publik
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.b64 [opsi] [f] Mengkodekan atau mendekode data di base64, seperti halnya base64. $ echo mengagumkan | Habu.B64 Yxdlc29tzqo = $ echo yxdlc29tzqo = | Habu.B64 -D luar biasa Opsi: -d decode alih -alih encode --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.cert.clone [opsi] hostname port keyfile certfile Terhubung ke server SSL/TLS, dapatkan sertifikat dan menghasilkan a Sertifikat dengan opsi dan nilai lapangan yang sama. Catatan: Sertifikat yang dihasilkan tidak valid, tetapi dapat digunakan untuk sosial Serangan Teknik Contoh: $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem Opsi: -Copy-Extensions Copy Certificate Extensions (default: false) -yang sudah terbukti menghasilkan sertifikat kedaluwarsa (default: false) -v verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.cert.crtsh [opsi] domain Unduh log transparansi sertifikat untuk domain dan periksa dengan DNS ditanya jika setiap subdomain ada. Menggunakan multithreading untuk meningkatkan kinerja kueri DNS. Contoh: $ habu.crtsh securetia.com alt.securetia.com Other.securetia.com www.securetia.com Opsi: -C Nonaktifkan cache -n Nonaktifkan validasi subdomain DNS -V output verbose --json Cetak output dalam format JSON --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.cert.names [opsi] [jaringan] Terhubung ke setiap host/port dan menunjukkan ringkasan nama sertifikat. Host untuk terhubung diambil dari dua opsi yang mungkin: 1. -I opsi (default: stdin). File di mana setiap baris adalah host atau jaringan 2. Argumen yang bisa menjadi host atau jaringan Jika Anda menggunakan kedua metode, host dan jaringan digabungkan menjadi satu daftar. Contoh: $ 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-ssl.itunes.apple.com 2.18.60.243 443 *.mlb.com mlb.com 2.18.60.244 443 [SSL: tlsv1_alert_internal_error] tlsv1 peringatan kesalahan internal (_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 is-microsoft.com microsoft.com *.mlb.com mlb.com privacy.microsoft.com Opsi: -P port teks untuk terhubung ke (daftar yang dipisahkan koma) -i file input nama file (default: stdin) -t waktu mengambang untuk menunggu setiap koneksi -V output verbose --json Cetak output dalam format JSON --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.config.del [opsi] kunci Hapus kunci dari konfigurasi. Catatan: Secara default, kunci dikonversi menjadi huruf besar. Contoh: $ habu.config.del dns_server Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.config.set [opsi] nilai kunci Tetapkan nilai ke tombol konfigurasi. Catatan: Secara default, kunci dikonversi menjadi huruf besar. Contoh: $ habu.config.set dns_server 8.8.8.8 Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.config.show [opsi]
Tunjukkan konfigurasi saat ini.
Catatan: Secara default, opsi dengan 'kunci' dalam namanya dibayangi.
Contoh:
$ habu.config.show
{
"Dns_server": "8.8.8.8",
"Fernet_key": "*************"
}
Opsi:
-k, --show-keys menunjukkan juga nilai-nilai utama
-Teks option ... Tulis ke konfigurasi (nilai kunci)
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crack.luhn [opsi] nomor Memiliki nilai yang diketahui untuk nomor yang divalidasi LUHN, dapatkan yang mungkin angka yang tidak diketahui. Angka yang menggunakan algoritma luhn untuk validasi adalah kartu kredit, imei, Pengidentifikasi Penyedia Nasional di Amerika Serikat, Sosial Kanada Nomor Asuransi, Nomor ID Israel dan Nomor Jaminan Sosial Yunani (Αμκα). Karakter '-' diabaikan. Tentukan angka yang hilang dengan karakter 'X'. Referensi: https://en.wikipedia.org/wiki/luhn_algorithm Contoh: $ habu.crack.luhn 4509-xx08-3160-6445 4509000831606445 4509180831606445 4509260831606445 4509340831606445 4509420831606445 4509590831606445 4509670831606445 4509750831606445 4509830831606445 4509910831606445 Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crack.snmp [opsi] IP Meluncurkan kueri SNMP-get terhadap IP, dan memberi tahu Anda saat menemukan valid String Komunitas (adalah cracker SNMP sederhana). Kamus yang digunakan adalah yang didistribusikan dengan alat Onextyone https://github.com/trailofbits/onesixhyone Contoh: # habu.crack.snmp 179.125.234.210 Komunitas Ditemukan: Pribadi Komunitas Ditemukan: Publik Catatan: Anda juga dapat menerima pesan seperti <universal > <class 'scapy.asn1.asn1.asn1 _class _metAclass' >, saya tidak tahu bagaimana cara menekan mereka untuk saat ini. Opsi: -P port integer untuk digunakan Komunitas Teks -C (Default: Daftar yang paling banyak digunakan) -s berhenti setelah pertandingan pertama -v verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crypto.fernet [opsi] Cipher Fernet. Menggunakan AES-128-CBC dengan HMAC Catatan: Anda harus menggunakan kunci untuk bermain cipher dengan Fernet. Gunakan -K paramenter atau atur nilai konfigurasi Fernet_key. Kunci dapat dihasilkan dengan perintah habu.crypto.fernet.genkey Referensi: https://github.com/fernet/spec/blob/master/spec.md Contoh: $ "Saya ingin melindungi string ini" | habu.crypto.fernet GAAAAABBXNCGOCULUVNRELYTBECWNEK9IQ5JBKQ9JAN3WIIBUZPQPUGV5OWVNC6XFIA ... $ echo gaaaaabbxncgoculluvnrelytbecwnek9iq5jbkq9jan3wiibuzpqpugv5owvnc6xfia ... | habu.crypto.fernet -D Saya ingin melindungi string ini Opsi: -K Kunci Teks -D dekripsi alih -alih enkripsi --TL waktu integer untuk hidup untuk verifikasi cap waktu -i file input nama file (default: stdin) -O file output nama file (default: stdout) --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crypto.fernet.genkey [opsi] Menghasilkan kunci fernet baru, secara opsional tulis ke ~/.habu.json Contoh: $ habu.crypto.fernet.genkey xgvwcivjwe9uq7nbvwo796ii4dsgd623qot9gwqnuhg = Opsi: -W Tuliskan kunci ini untuk ~/.habu.json --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crypto.gppref [opsi] kata sandi Mendekripsi kata sandi pengguna lokal yang ditambahkan melalui kebijakan grup Windows 2008 Preferensi. Nilai ini adalah atribut 'cpassword' yang tertanam dalam file grups.xml, Disimpan di Sysvol Share pengontrol domain. Contoh: # habu.crypto.gppref azvjmxh/j9kru5n0czx1ubplsujzfe8j7doltpd8tlk testPassword Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crypto.hasher [opsi] [f]
Hitung berbagai hash untuk data input, yang dapat berupa file atau aliran.
Contoh:
$ 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
Anda juga dapat menentukan algoritma mana yang akan digunakan. Dalam kasus seperti itu, outputnya
Hanya nilai hash yang dihitung:
$ habu.hasher -a md5 readme.rst
992A833CD162047DAAA6A236B8AC15AE README.RST
Opsi:
-a [md5 | sha1 | sha256 | sha512 | ripemd160 | Whirlpool]
Hanya algoritma ini (default: semua)
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.crypto.xor [opsi] Xor cipher. CATATAN: XOR bukan 'Cipher Aman'. Jika Anda membutuhkan crypto yang kuat, Anda harus menggunakan Algoritma seperti AES. Anda dapat menggunakan habu.fernet untuk itu. Contoh: $ habu.xor -k mysecretkey -i /bin /ls> xored $ habu.xor -k mysecretkey -i xored> uxored $ sha1sum /bin /ls uxored $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB /BIN /LS $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB UXORED Opsi: -K Kunci Enkripsi Teks -i file input nama file (default: stdin) -O file output nama file (default: stdout) --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.enrich [opsi]
Memperkaya data menambahkan informasi menarik.
Contoh:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich
[
{
"Asset": "8.8.8.8",
"Keluarga": "ipaddress",
"Asn": "15169",
"net": "8.8.8.0/24",
"CC": "kami",
"Rir": "Arin",
"Asname": "Google - Google LLC, AS"
},
{
"Asset": "8.8.4.4",
"Keluarga": "ipaddress",
"Asn": "15169",
"net": "8.8.4.0/24",
"CC": "kami",
"Rir": "Arin",
"Asname": "Google - Google LLC, AS"
}
]
Opsi:
-i file input nama file (default: stdin)
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.extract.domain [opsi] [Infile] Ekstrak domain yang valid dari file atau stdin. Secara opsional, periksa setiap domain untuk keberadaan register NS. Contoh: $ cat /var/log/some.log | habu.data.extract.domain -c Google.com IBM.com redhat.com Opsi: -C Periksa apakah domain memiliki server NS ditentukan -V output verbose -j output json --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.extract.email [opsi] [Infile] Ekstrak alamat email dari file atau stdin. Contoh: $ cat /var/log/auth.log | habu.data.extract.email [email protected] [email protected] [email protected] Opsi: -V output verbose -j output json --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.extract.fqdn [opsi] [Infile] Ekstrak FQDNS (nama domain yang memenuhi syarat) dari file atau stdin. Contoh: $ cat /var/log/some.log | habu.data.extract.fqdn www.google.com IBM.com fileserver.redhat.com Opsi: -C Periksa apakah nama host diselesaikan -V output verbose -j output json --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.extract.ipv4 [opsi] [Infile] Ekstrak alamat IPv4 dari file atau stdin. Contoh: $ cat /var/log/auth.log | habu.data.extract.ipv4 172.217.162.4 23.52.213.96 190.210.43.70 Opsi: -J, --Json JSON Output -u, --Unique hapus duplikat -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.filter [opsi] bidang [gt | lt | eq | ne | ge | le | in | contains | defin
ed | tidak terdefinisi | true | false] [nilai]
Memfilter data berdasarkan operator.
Referensi Operator:
GT: Lebih besar dari
LT: Lebih rendah dari
Persamaan: sama dengan
NE: Tidak sama dengan
GE: Greather atau setara dari
LE: lebih rendah atau sama dari
Dalam: Di dalam daftar nilai (atau di dalam jaringan)
Berisi: berisi nilai (atau alamat jaringan)
ditentukan: nilainya didefinisikan
Tidak ditentukan: nilainya tidak ditentukan
Benar: nilainya benar
Salah: Nilainya salah
Contoh:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc eq us
[
{
"Item": "8.8.8.8",
"Keluarga": "ipv4_address",
"Asn": "15169",
"net": "8.8.8.0/24",
"CC": "kami",
"Rir": "Arin",
"Asname": "Google - Google LLC, AS"
}
]
DOCS: https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-enrichment
Opsi:
-i file input nama file (default: stdin)
-V output verbose
--Tidak meniadakan perbandingan
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.data.select [opsi] bidang Pilih bidang dari input JSON. Contoh: $ 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 Opsi: -i file input nama file (default: stdin) -V output verbose --JSON JSON Output --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.dhcp.discover [opsi] Kirim permintaan DHCP dan perlihatkan perangkat apa yang telah dijawab. Catatan: Menggunakan '-v' Anda dapat melihat semua opsi (seperti server DNS) termasuk pada tanggapan. # habu.dhcp_discover Eter / ip / udp 192.168.0.1:bootps> 192.168.0.5:bootpc / bootp / dhcp Opsi: -i antarmuka teks untuk digunakan -T waktu bilangan bulat (detik) untuk menunggu tanggapan -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.dhcp.starvation [opsi] Kirim beberapa permintaan DHCP dari alamat MAC yang dipalsukan untuk mengisi DHCP sewa server. Ketika semua alamat jaringan yang tersedia ditetapkan, server DHCP Jangan mengirim tanggapan. Jadi, beberapa serangan, seperti spoofing DHCP, dapat dilakukan. # habu.dhcp_starvation Eter / ip / udp 192.168.0.1:bootps> 192.168.0.6:bootpc / bootp / dhcp Eter / ip / udp 192.168.0.1:bootps> 192.168.0.7:bootpc / bootp / dhcp Eter / ip / udp 192.168.0.1:bootps> 192.168.0.8:bootpc / bootp / dhcp Opsi: -i antarmuka teks untuk digunakan -T waktu bilangan bulat (detik) untuk menunggu tanggapan -S waktu integer (detik) antara permintaan -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.dns.lookup.forward [opsi] nama host
Lakukan pencarian ke depan dari nama host yang diberikan.
Contoh:
$ habu.dns.lookup.forward google.com
{
"IPv4": "172.217.168.46",
"IPv6": "2A00: 1450: 400A: 802 :: 200E"
}
Opsi:
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.dns.lookup.reverse [opsi] ip_address
Lakukan pencarian terbalik dari alamat IP yang diberikan.
Contoh:
$ $ habu.dns.lookup.reverse 8.8.8.8
{
"HostName": "Google-public-dns-a.google.com"
}
Opsi:
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.eicar [opsi] Cetak string uji EICAR yang dapat digunakan untuk menguji mesin antimalware. Info lebih lanjut: http://www.eicar.org/86-0-dertended-use.html Contoh: $ habu.eicar X5o! P%@ap [4 xzp54 (p^) 7cc) 7} $ eicar-standard-antivirus-test-file! $ H+h* Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.forkbomb [Opsi] [bash | batch | C | Haskell | Perl | PHP | Python | Ruby]
Pintasan untuk mengingat cara menggunakan bom garpu dalam berbagai bahasa.
Saat ini didukung: Bash, Batch, C, Haskell, Perl, PHP, Python, Ruby.
Contoh:
$ habu.forkbomb c
#include <unistd.h>
int main ()
{
sementara (1)
{
garpu();
}
kembali 0;
}
Opsi:
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.fqdn.finder [opsi] [domain] ...
Menggunakan berbagai teknik untuk mendapatkan FQDN yang valid untuk domain yang ditentukan.
1. Cobalah semua FQDN dengan transfer zona DNS
2. Periksa log transparansi sertifikat
3. Sambungkan ke port yang ditentukan, dapatkan sertifikat SSL dan dapatkan FQDN dari mereka
4. Sambungkan ke situs web dan dapatkan FQDN berdasarkan tautan situs web
5. DNS Brute Force Untuk Nama Umum
Hasilnya dibersihkan untuk menghapus FQDN yang tidak diselesaikan dengan DNS
Contoh:
$ habu.fqdn.finder educacionit.com
Barometrosalarial.educacionit.com
blog.educacionit.com
ci.educacionit.com
edocacionit.com
intranet.educacionit.com
lecdev.educacionit.com
lecweb.educacionit.com
mail.educacionit.com
Plantillas.educacionit.com
www.educacionit.com
Opsi:
-t waktu mengambang untuk menunggu setiap koneksi
-V output verbose
--Debug Debug Output
--Connect / ---no-connect Get dari FQDNS yang diketahui Open port sertifikat SSL
--BRUTE / --NO-NO-BRUTE DNS Brute Force Melawan Domain
--Links / ---no-links Ekstrak FQDN dari tautan situs web
—XFR / --NO-XFR Cobalah melakukan transfer zona DNS terhadap domain
--ctlog / --no-ctlog mencoba mendapatkan fqdns dari transparansi sertifikat
Log
--json Cetak output dalam format JSON
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.gateway.find [opsi] jaringan Cobalah untuk mencapai IP eksternal menggunakan host mana pun memiliki router. Berguna untuk menemukan router di jaringan Anda. Pertama, menggunakan Arping untuk mendeteksi host hidup dan mendapatkan alamat MAC. Kemudian, buat paket jaringan dan letakkan setiap alamat MAC sebagai tujuan. Terakhir, cetak perangkat yang diteruskan dengan benar paket. Contoh: # 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 Opsi: -i antarmuka teks untuk digunakan --Host Host Teks untuk mencapai (default: 8.8.8.8) --TCP Gunakan TCP bukan ICMP Port tujuan rentang integer-dort untuk TCP (default: 80) -Timeout integer timeout di detik (default: 5) -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.host [opsi]
Kumpulkan informasi tentang host tempat habu berjalan.
Contoh:
$ habu.host
{
"kernel": [
"Linux",
"demo123",
"5.0.6-200.fc29.x86_64",
"#1 SMP Wed 3 Apr 15:09:51 UTC 2019",
"x86_64",
"x86_64"
],
"Distribusi": [
"Fedora",
"29",
"Dua Puluh Sembilan"
],
"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"
}
Opsi:
-V output verbose.
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.http.headers [opsi] server
Ambil header HTTP dari server web.
Contoh:
$ habu.http.headers http://duckduckgo.com
{
"Server": "nginx",
"Tanggal": "Sun, 14 Apr 2019 00:00:55 GMT",
"Tipe konten": "teks/html",
"Panjang konten": "178",
"Koneksi": "Keep-Alive",
"Lokasi": "https://duckduckgo.com/",
"X-frame-options": "SameRoRigin",
"Konten-keamanan-kebijakan": "default-src https: blob: data: 'tidak aman-inline' 'tidak aman-eval'",
"X-XSS-Protection": "1; Mode = Block",
"X-Content-Type-Options": "Nosniff",
"Referrer-Policy": "Origin",
"Harapkan-CT": "Max-Age = 0",
"Kedaluwarsa": "mon, 13 Apr 2020 00:00:55 GMT",
"Cache-Control": "Max-Age = 31536000"
}
Opsi:
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.http.options [opsi] server
Ambil metode HTTP yang tersedia dari server web.
Contoh:
$ habu.http.options -v http://google.com
{
"Diizinkan": "Dapatkan, kepala"
}
Opsi:
-V output verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.http.tech [opsi] url Menggunakan database wappalyzer apps.json untuk mengidentifikasi teknologi yang digunakan di web aplikasi. Referensi: https://github.com/aliasio/wappalyzer Catatan: Alat ini hanya mengirimkan satu permintaan. Jadi, ini sembunyi -sembunyi dan tidak mencurigakan. $ habu.web.tech https://wooComerce.com Google Tag Manager tidak diketahui Mysql tidak diketahui Nginx tidak diketahui Php tidak diketahui Prototipe tidak diketahui Persyaratan tidak diketahui WooCommerce 3.8.0 WordPress 5.2.4 Yoast SEO 10.0.1 Opsi: --cache / ---no-cache --Format [txt | csv | json] format output -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.icmp.ping [opsi] IP Alat ping klasik yang mengirim permintaan gema 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 Opsi: -i teks antarmuka yang digunakan (default: otomatis) -c integer berapa banyak paket yang dikirim (default: infinit) -t Timeout Integer dalam Detik (Default: 2) -W Integer Berapa detik antar paket (default: 1) -v verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.ip.asn [opsi] IP
Gunakan Layanan Team Cymru IP2Asn untuk mendapatkan informasi tentang IPv4/IPv6 publik.
Referensi: 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": "kami",
"Rir": "Arin",
"Asname": "Google - Google LLC, AS",
"Negara": "Amerika Serikat"
}
Opsi:
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.ip.geolocation [opsi] ip_address
Dapatkan geolokasi adddress IP dari https://ipapi.co/.
Contoh:
$ habu.ip.geolocation 8.8.8.8
{
"IP": "8.8.8.8",
"kota": "pemandangan gunung",
...
"asn": "as15169",
"org": "Google LLC"
}
Opsi:
-V output verbose.
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.ip.internal [opsi]
Dapatkan alamat IP lokal dari antarmuka lokal.
Contoh:
$ 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"
}
]
},
...
Opsi:
-V output verbose.
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.ip.public [opsi] Dapatkan alamat IP publik dari koneksi dari https://api.ipify.org. Contoh: $ habu.ip.public 80.219.53.185 Opsi: -4, --ipv4 Cetak alamat IPv4 publik Anda (default) -6, —IPV6 Cetak alamat IPv6 publik Anda -j, --json Cetak output dalam format JSON --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.karma [opsi] tuan rumah
Gunakan layanan karma https://karma.securetia.com untuk memeriksa IP melawan
Berbagai daftar intelijen / reputasi ancaman.
$ habu.karma www.google.com
www.google.com -> 64.233.190.99
[
"hphosts_fsa",
"hphosts_psh",
"hphosts_emd"
]
Catatan: Anda dapat menggunakan nama host atau IP host untuk meminta.
Opsi:
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.karma.bulk [opsi] [infile] Tunjukkan alamat IP mana yang ada di dalam daftar hitam menggunakan karma online melayani. Contoh: $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk 172.217.162.4 Spamhaus_Drop, alienvault_spamming 23.52.213.96 Bersih 190.210.43.70 alienvault_malicious Opsi: --JSON JSON Output --BAD Show Only Entries in Blacklists -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: Habu.land [Opsi] IP Perintah ini mengimplementasikan serangan darat, yang mengirim paket yang menempa Sumber alamat IP menjadi sama dengan IP tujuan. Juga menggunakan Sumber dan port tujuan yang sama. Serangannya sudah sangat tua, dan dapat digunakan untuk membuat penolakan pelayanan pada lama sistem, seperti Windows NT 4.0. Informasi lebih lanjut di sini: https://en.wikipedia.org/wiki/land # sudo habu.land 172.16.0.10 ............ Catatan: Setiap titik (.) Adalah paket yang dikirim. Anda dapat menentukan berapa banyak paket yang dikirim dengan opsi '-c'. Standarnya tidak pernah berhenti. Anda juga dapat menentukan Port tujuan, dengan opsi '-p'. Opsi: -c integer berapa banyak paket yang dikirim (default: infinit) -P port integer untuk digunakan (default: 135) -i antarmuka teks untuk digunakan -v verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.nc [opsi] port host Beberapa jenis pengganti NetCAT/NCAT. Eksekusi meniru perasaan alat populer ini. Contoh: $ habu.nc --crlf www.portantier.com 80 Terhubung ke 45.77.113.133 80 Head / http / 1.0 Http/1.0 301 dipindahkan secara permanen Tanggal: Kamis, 26 Jul 2018 21:10:51 GMT Server: OpenBSD HTTPD Koneksi: Tutup Tipe konten: teks/html Panjang konten: 443 Lokasi: https://www.portantier.com/ Opsi: --amily [4 | 6 | 46] IP Address Family --SSL Aktifkan SSL --crlf Gunakan CRLF untuk urutan EOL --Protocol [TCP | UDP] Lapisan 4 Protokol untuk digunakan -Source-IP Source Source IP untuk digunakan -Source-port integer rentang sumber port untuk digunakan --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.net.contest [opsi] Cobalah untuk terhubung ke berbagai layanan dan periksa apakah dapat menjangkau mereka menggunakan Anda Koneksi Internet. Contoh: $ habu.net.contest DNS: Benar FTP: Benar SSH: Benar HTTP: Benar Https: Benar Opsi: --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.net.interfaces [opsi] Tunjukkan antarmuka jaringan yang tersedia di sistem. Contoh: # habu.interfaces # Nama 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 Tidak Ada 3 vboxnet0 0a: 00: 27: 00: 00: 00 192.168.56.1 Fe80 :: 800: 27ff: Fe00: 0 Opsi: -J Output dalam format JSON --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.nmap.excluded [opsi] Mencetak port acak yang tidak ada pada file layanan nmap dipindai secara otomatis oleh NMAP. Berguna untuk layanan seperti SSH atau RDP, yang terus dipindai port default mereka. Contoh: # habu.nmap.excluded 58567 Opsi: -L kisaran integer port terendah untuk dipertimbangkan -H kisaran integer port tertinggi untuk dipertimbangkan --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.nmap.open [opsi] Scanfile Baca laporan NMAP dan cetak port terbuka. Cetak port yang telah dihasilkan membaca terbuka nmap yang dihasilkan keluaran. Anda dapat menggunakannya untuk dengan cepat memancing daftar port untuk input orang lain peralatan. Mendukung dan mendeteksi 3 format output (NMAP, GNMAP dan XML) Contoh: # habu.nmap.open portantier.nmap 22.80.443 Opsi: -p [tcp | udp | sctp] protokol (default = tcp) --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.nmap.ports [opsi] Scanfile Baca laporan NMAP dan cetak port yang diuji. Cetak port yang telah diuji membaca output NMAP yang dihasilkan. Anda dapat menggunakannya untuk dengan cepat memancing daftar port untuk input orang lain peralatan. Mendukung dan mendeteksi 3 format output (NMAP, GNMAP dan XML) Contoh: # habu.nmap.ports portantier.nmap 21,22,23,80,443 Opsi: -p [tcp | udp | sctp] protokol (default = tcp) --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.protoscan [opsi] IP Kirim paket IP dengan konten bidang protokol yang berbeda untuk menebak lapisan apa 4 protokol tersedia. Output menunjukkan protokol mana yang tidak menghasilkan 'protokol-tidak dapat diresapi' Respons ICMP. Contoh: $ 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 Opsi: -i antarmuka teks untuk digunakan -T Timeout integer untuk setiap probe (default: 2 detik) --Semua Probe Semua Protokol (Default: Didefinisikan Dalam /Etc /Protokol) -V output verbose --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.server.ftp [opsi]
Server FTP palsu dasar, dengan satu -satunya tujuan untuk mencuri kredensial pengguna.
Mendukung SSL/TLS.
Contoh:
# sudo habu.server.ftp --ssl --ssl-cert /tmp/cert.pem --ssl-key /tmp/key.pem
Mendengarkan Port 21
Koneksi yang diterima dari ('192.168.0.27', 56832)
Kredensial dikumpulkan dari 192.168.0.27! Fabian 123456
Opsi:
-Sebuah alamat teks untuk mengikat (default: semua)
-P Integer Port mana yang akan digunakan (default: 21)
--SSL Aktifkan SSL/TLS (default: false)
-SSL-CERT TEXT file sertifikat SSL/TLS
-SSL-Key Text File Kunci SSL/TLS
-v verbose
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.shodan [opsi] IP Klien API Shodan Sederhana. Mencetak hasil JSON dari kueri Shodan. Contoh: $ habu.shodan 216.58.222.36 ASN AS15169 ISP Google Nama host EZE04S06-IN-F4.1E100.NET, GRU09S17-IN-F36.1E100.NET country_code US region_code ca pemandangan gunung kota org Google Open_ports TCP/443, TCP/80 Opsi: --cache / ---no-cache -V output verbose --Format [txt | csv | json | nmap] format output --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.shodan.query [opsi] kueri
Klien API Shodan Sederhana.
Mencetak hasil JSON dari kueri Shodan.
Contoh:
$ habu.shodan 8.8.8.8
{
"Nama host": [
"Google-public-dns-a.google.com"
],
"country_code": "kami",
"org": "google",
"Data": [
{
"ISP": "Google",
"Transport": "UDP",
"Data": "Rekursi: Diaktifkan",
"asn": "as15169",
"port": 53,
"Nama host": [
"Google-public-dns-a.google.com"
]
}
],
"Ports": [
53
]
}
Opsi:
-C Nonaktifkan cache
-V output verbose
-O file output nama file (default: stdout)
--help Tampilkan pesan ini dan keluar.
Penggunaan: habu.tcp.flags [opsi] IP Kirim paket TCP dengan bendera yang berbeda dan beri tahu tanggapan apa yang diterima. Ini dapat digunakan untuk menganalisis bagaimana berbagai implementasi tumpukan TCP/IP dan konfigurasi merespons paket dengan berbagai kombinasi bendera. Contoh: # habu.tcp_flags www.portantier.com S -> sa Fs -> sa Fa -> r SA -> r Secara default, perintah mengirimkan semua kombinasi bendera yang mungkin. Anda bisa Tentukan bendera mana yang harus ada (mengurangi jumlah kemungkinan kombinasi), dengan opsi '-f'. Anda juga dapat menentukan bendera mana yang ingin Anda hadapi pada tanggapan Paket untuk ditampilkan, dengan opsi '-r'. Dengan perintah berikutnya, Anda melihat semua kombinasi yang mungkin memiliki Bendera FIN (F) Mengatur dan menghasilkan respons yang berisi bendera RST (R). Contoh: # habu.tcp_flags -f f -r r www.portantier.com FPA -> r FSPA -> r FAU -> r Opsi: -P port integer untuk digunakan (default: 80) -f bendera teks yang harus dikirim (default: fuzz dengan semua bendera) -R Filter Teks dengan Bendera Respons (Default: Tampilkan Semua Tanggapan) -v verbose -Pertama-tama berhenti pada respons pertama yang cocok --help Tampilkan pesan ini dan keluar.
Penggunaan: habu.tcp.isn [opsi] IP Buat koneksi TCP dan cetak nomor urutan awal TCP untuk masing -masing satu. $ sudo habu.tcp.isn -c 5 www.portantier.com 196287220 1800895007 589617930 3393793979 469428558 Catatan: Anda bisa mendapatkan representasi grafis (membutuhkan matplotlib paket) menggunakan opsi '-g' untuk lebih memahami keacakan. Opsi: -P port integer untuk digunakan (default: 80) -c Integer Berapa banyak paket untuk dikirim/diterima (default: 5) -i antarmuka teks untuk digunakan -g grafik (membutuhkan matplotlib) -V output verbose --help Show this message and exit.
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? Contoh: # habu.tcp.scan -p 22,23,80,443 -s 1 45.77.113.133 22 S -> SA 80 S -> SA 443 S -> SA Options: -p TEXT Ports to use (default: 80) example: 20-23,80,135 -i TEXT Interface to use -f TEXT Flags to use (default: S) -s TEXT Time between probes (default: send all together) -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 Contoh: # 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. Options: -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. Contoh: # 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. Options: -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) Options: --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"
}
Options:
-c Disable cache
-v Verbose output
-w Open each valid url in a webbrowser
--help Show this message and exit.
Usage: habu.version [OPTIONS] Options: --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',
]
Options:
-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"
}
Options:
-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 Options: -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 Options: -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. Contoh: $ habu.whois.domain google.com registrar MarkMonitor, Inc. whois_server whois.markmonitor.com creation_date 1997-09-15 04:00:00 expiration_date 2028-09-14 04:00:00 name_servers ns1.google.com, ns2.google.com, ns3.google.com, ns4.google.com emails [email protected], [email protected] dnssec unsigned org Google LLC country US state CA Options: --json 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). Contoh: $ habu.whois.ip 8.8.4.4 asn 15169 asn_registry arin asn_cidr 8.8.4.0/24 asn_country_code US asn_description GOOGLE - Google LLC, US asn_date 1992-12-01 Options: --json Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.