私は、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 Telegramグループを使用できます:https://t.me/python_habu
問題とプルリクエストは、githubリポジトリに送信する必要があります:https://github.com/fportantier/habu
インストールする推奨方法:
$ python3 -m pipインストール-git+https://github.com/fportantier/habu.git
これは、Python 3がインストールされているシステムで動作する必要があります。
注:一部のシステム(Microsoft Windowsなど)では、Python実行可能ファイルの正しいパスを指すようにコマンドを調整する必要があります。
これで、Git Repoから直接アップグレードし、もはや存在しない、または名前が変更されている古いコマンドをクリーニングするコマンドがあります。
$ habu.upgrade
すべてのコマンドは、ヘルプ、引数、オプション、およびデフォルト値を示すオプション「 - ヘルプ」を実装します。
ほぼすべてのコマンドは、「-V」オプションを使用して冗長モードを実装します。これにより、Habuが何をしているのかについての追加の情報が得られます。
使用法:habu.arp.ping [options] ip ARPパケットを送信して、ホストがローカルネットワークで生きているかどうかを確認します。 例: #habu.arp.ping 192.168.0.1 Ether / ARPはA4:08:F5:19:17:A4が192.168.0.1 / PADDINGと言っています オプション: -I使用するインターフェイス -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.arp.poison [options] cimber1 cimber2 ARP「IS-AT」パケットを各被害者に送信し、ARPテーブルを中毒にします システムにトラフィックを送信します。 注:中間攻撃で完全に働く男が必要な場合は、 オペレーティングシステムのパケット転送が ルーター。あなたはそれを使用してそれを行うことができます: #echo 1>/proc/sys/net/ipv4/ip_forward 例: #habu.arpoison 192.168.0.1 192.168.0.77 Ether / ARPはF4:96:34:E5:AE:1Bが192.168.0.77と言われています Ether / ARPはF4:96:34:E5:AE:1Bが192.168.0.70と言われています Ether / ARPはF4:96:34:E5:AE:1Bが192.168.0.77と言われています ... オプション: -I使用するインターフェイス -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.arp.sniff [options] ARPパケットを聞き、各デバイスの情報を表示します。 列:最後のパケットから秒| IP | Mac |ベンダー 例: 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(モバイルコミュニケーション) 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 オプション: -I使用するインターフェイス - ヘルプはこのメッセージを表示して終了します。
使用法:habu.asydns [オプション]
を使用して、パブリックおよびプライベートRSAキーに基づいてDNSドメイン名を要求します
asydnsプロトコルhttps://github.com/portantier/asydns
例:
$ habu.asydns -v
RSAキーを生成します...
RSAキーのロード...
{
「IP」:「181.31.41.231」、
「名前」: "07286E90FD6E7E6BE61D6A7919967CF3BBFB23A36EDBC72B6D7C53.A.ASYDNS.ORG"
}
$ dig +short 07286e90fd6e7e6be61d6a7919967cf3bbfb23a36edbc72b6d7c53.a.asydns.org
181.31.41.231
オプション:
-uテキストAPI URL
-g新しいキーペアの生成を強制します
-Rは公開キーを取り消します
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.b64 [options] [f] コマンドBase64と同様に、Base64でデータをエンコードまたはデコードします。 $ echo awesome | habu.b64 yxdlc29tzqo = $ echo yxdlc29tzqo = | habu.b64 -d 素晴らしい オプション: -dエンコードの代わりにデコードします - ヘルプはこのメッセージを表示して終了します。
使用法:habu.cert.clone [options] hostname port keyfile certfile SSL/TLSサーバーに接続し、証明書を取得して生成します 同じオプションとフィールド値を持つ証明書。 注:生成された証明書は無効ですが、ソーシャルに使用できます エンジニアリング攻撃 例: $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem オプション: - コピー - エクステンションコピー証明書拡張機能(デフォルト:false) - expired期限切れの証明書を生成する(デフォルト:false) -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.cert.crtsh [options]ドメイン ドメインの証明書の透明性ログをダウンロードして、 各サブドメインが存在する場合、DNSはクエリします。 マルチスレッドを使用して、DNSクエリのパフォーマンスを向上させます。 例: $ habu.crtsh securetia.com alt.securetia.com other.securetia.com www.securetia.com オプション: -cキャッシュを無効にします -n DNSサブドメイン検証を無効にします -v verbose output -JSONはJSON形式で出力を印刷します - ヘルプはこのメッセージを表示して終了します。
使用法:habu.cert.names [options] [network] 各ホスト/ポートに接続し、証明書名の概要を示します。 接続するホストは、2つの可能なオプションから取得されます。 1。 -iオプション(デフォルト:stdin)。各行がホストまたはネットワークであるファイル 2。ホストまたはネットワークになる可能性のある議論 両方の方法を使用すると、ホストとネットワークが1つのリストにマージされます。 例: $ 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アラート内部エラー(_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 オプション: -pテキストポートを接続する(コンマ分離リスト) -iファイル名入力ファイル(デフォルト:stdin) -t各接続を待つ時間をフロートします -v verbose output -JSONはJSON形式で出力を印刷します - ヘルプはこのメッセージを表示して終了します。
使用法:habu.config.del [options]キー 構成からキーを削除します。 注:デフォルトでは、キーは大文字に変換されます。 例: $ habu.config.del dns_server オプション: - ヘルプはこのメッセージを表示して終了します。
使用法:habu.config.set [options]キー値 構成キーに値を設定します。 注:デフォルトでは、キーは大文字に変換されます。 例: $ habu.config.set dns_server 8.8.8.8 オプション: - ヘルプはこのメッセージを表示して終了します。
使用法:habu.config.show [options]
現在の構成を表示します。
注:デフォルトでは、名前に「キー」があるオプションは影になっています。
例:
$ habu.config.show
{
「DNS_SERVER」:「8.8.8.8」、
「Fernet_key」: "***********"
}
オプション:
-k、 - show-keysは重要な値も示しています
- オプションテキスト... config(キー値)に書き込みます
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.crack.luhn [options]番号 Luhnの検証済みの数の既知の値がある場合、可能なことを取得します 不明な数字。 検証にLuhnアルゴリズムを使用する数字は、クレジットカード、IMEIです。 米国の全国プロバイダー識別子、カナダ社会 保険番号、イスラエルID番号、ギリシャの社会保障番号 (αμκα)。 「 - 」文字は無視されます。 「x」文字で欠落している数字を定義します。 参照:https://en.wikipedia.org/wiki/luhn_algorithm 例: $ habu.crack.luhn 4509-xx08-3160-6445 4509000831606445 4509180831606445 4509260831606445 4509340831606445 4509420831606445 4509590831606445 4509670831606445 4509750831606445 4509830831606445 4509910831606445 オプション: - ヘルプはこのメッセージを表示して終了します。
使用法:habu.crack.snmp [options] ip IPに対してSNMP-Getクエリを起動し、有効なものを見つけたら教えてください コミュニティ文字列(シンプルなSNMPクラッカーです)。 使用される辞書は、Onesixtyoneツールで分散されています https://github.com/trailofbits/onesixtyone 例: #habu.crack.snmp 179.125.234.210 発見されたコミュニティ:プライベート 発見されたコミュニティ:公開 注: <Universal > <クラスのようなメッセージを受信することもできます 'scapy.asn1.asn1.asn1 _class _ metaclass' >、私はどのように抑制するかわかりません 今のところそれら。 オプション: -p整数ポートを使用します -cテキストコミュニティ(デフォルト:最も使用されているほとんどのリスト) - 最初の試合後に停止します -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.crypto.fernet [options] フェルネット暗号。 HMACでAES-128-CBCを使用します 注:フェルネットを使用してキーを使用する必要があります。 -Kパラメーターを使用するか、Fernet_key構成値を設定します。 キーは、コマンドhabu.crypto.fernet.genkeyで生成できます 参照:https://github.com/fernet/spec/blob/master/spec.md 例: $「この文字列を保護したい」| habu.crypto.fernet gaaaaabbxncgoculluvnrelytbecwnek9iq5jbkq9jan3wiibuzpqpugv5wvnc6xfia ... $ echo gaaaaabbxncgoculluvnrelytbecwnek9iq5jbkq9jan3wiibuzpqpugv5owvnc6xfia ... | habu.crypto.fernet -d この文字列を保護したいです オプション: -kテキストキー -d暗号化の代わりにdecrypt - タイムスタンプの検証のために生きる時間のttl整数 -iファイル名入力ファイル(デフォルト:stdin) -oファイル名出力ファイル(デフォルト:stdout) - ヘルプはこのメッセージを表示して終了します。
使用法:habu.crypto.fernet.genkey [options] 新しいFernetキーを生成し、オプションで〜/.habu.jsonに書き込みます 例: $ habu.crypto.fernet.genkey XGVWCIVJWE9UQ7NBVWO796II4DSGD623QOT9GWQNUHG = オプション: -wこのキーを〜/.habu.jsonに書き込みます - ヘルプはこのメッセージを表示して終了します。
使用法:habu.crypto.gppref [options]パスワード Windows2008グループポリシーを介して追加されたローカルユーザーのパスワードを復号化する 好み。 この値は、groups.xmlファイルに埋め込まれた「cpassword」属性です。 ドメインコントローラーのSYSVOL共有に保存されています。 例: #habu.crypto.gppref azvjmxh/j9kru5n0czx1ubplsujzfe8j7doltpd8tlk testpassword オプション: - ヘルプはこのメッセージを表示して終了します。
使用法:habu.crypto.hasher [options] [f]
入力データのさまざまなハッシュを計算します。これは、ファイルまたはストリームである可能性があります。
例:
$ 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
使用するアルゴリズムを指定することもできます。そのような場合、出力はです
計算されたハッシュの値のみ:
$ habu.hasher -a md5 readme.rst
992A833CD162047DAAA6A236B8AC15AE README.RST
オプション:
-a [md5 | sha1 | sha256 | sha512 | ripemd160 | whirlpool]
このアルゴリズムのみ(デフォルト:すべて)
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.crypto.xor [options] xor cipher。 注:XORは「安全な暗号」ではありません。強力な暗号が必要な場合は、使用する必要があります AEのようなアルゴリズム。そのためにはhabu.fernetを使用できます。 例: $ habu.xor -k mysecretkey -i /bin /ls> xored $ habu.xor -k mysecretkey -i xored> uxored $ sha1sum /bin /ls uxored $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB /BIN /LS $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB UXORED オプション: -kテキスト暗号化キー -iファイル名入力ファイル(デフォルト:stdin) -oファイル名出力ファイル(デフォルト:stdout) - ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.enrich [options]
興味深い情報を追加するデータを豊かにします。
例:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich
[
{
「資産」:「8.8.8.8」、
「家族」:「iPaddress」、
「ASN」:「15169」、
「ネット」:「8.8.8.0/24」、
「CC」:「私たち」、
「リア」:「アリン」、
「asname」:「Google -Google LLC、米国」
}、
{
「資産」:「8.8.4.4」、
「家族」:「iPaddress」、
「ASN」:「15169」、
「ネット」:「8.8.4.0/24」、
「CC」:「私たち」、
「リア」:「アリン」、
「asname」:「Google -Google LLC、米国」
}
]
オプション:
-iファイル名入力ファイル(デフォルト:stdin)
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.extract.domain [options] [infile] ファイルまたはstdinから有効なドメインを抽出します。 オプションで、NSレジスタの存在について各ドメインを確認します。 例: $ cat /var/log/some.log | habu.data.extract.domain -c Google.com IBM.com redhat.com オプション: -cドメインがNSサーバーが定義されているかどうかを確認します -v verbose output -J JSON出力 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.extract.email [options] [infile] ファイルまたはstdinからメールアドレスを抽出します。 例: $ cat /var/log/auth.log | habu.data.extract.email [email protected] [email protected] [email protected] オプション: -v verbose output -J JSON出力 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.extract.fqdn [options] [infile] ファイルまたはstdinからFQDNS(完全資格のあるドメイン名)を抽出します。 例: $ cat /var/log/some.log | habu.data.extract.fqdn www.google.com IBM.com fileserver.redhat.com オプション: -cホスト名が解決するかどうかを確認します -v verbose output -J JSON出力 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.extract.ipv4 [options] [infile] ファイルまたはstdinからIPv4アドレスを抽出します。 例: $ 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 verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.filter [options] field [gt | lt | eq | ne | ge | le | in | contains | defin
ed |未定義| true | false] [値]
演算子に基づいてデータをフィルターします。
オペレーターのリファレンス:
GT:より大きい
LT:以下
EQ:等しい
NE:等しくありません
GE:グラー以上
LE:より少ないまたは等しい
In:値のリスト内(またはネットワーク内)
含まれる:値(またはネットワークアドレス)を含む
定義:値は定義されています
未定義:値は定義されていません
真:値は真です
FALSE:値はfalseです
例:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc eq us
[
{
「アイテム」:「8.8.8.8」、
「ファミリー」:「IPv4_Address」、
「ASN」:「15169」、
「ネット」:「8.8.8.0/24」、
「CC」:「私たち」、
「リア」:「アリン」、
「asname」:「Google -Google LLC、米国」
}
]
ドキュメント:https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-enrichment
オプション:
-iファイル名入力ファイル(デフォルト:stdin)
-v verbose output
- 比較を否定しません
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.data.select [options]フィールド 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ファイル名入力ファイル(デフォルト:stdin) -v verbose output -JSON JSON出力 - ヘルプはこのメッセージを表示して終了します。
使用法: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使用するインターフェイス -t応答を待つための整数時間(秒) -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.dhcp.starvation [options] DHCPを入力するために、Forged 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使用するインターフェイス -t応答を待つための整数時間(秒) -sリクエスト間の整数時間(秒) -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.dns.lookup.forward [options] hostname
特定のホスト名の前方検索を実行します。
例:
$ habu.dns.lookup.forward google.com
{
「IPv4」: "172.217.168.46"、
「IPv6」: "2A00:1450:400A:802 :: 200E"
}
オプション:
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.dns.lookup.reverse [options] ip_address
特定のIPアドレスの逆検索を実行します。
例:
$ $ habu.dns.lookup.Reverse 8.8.8.8
{
「ホスト名」:「Google-Public-DNS-A.Google.com」
}
オプション:
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.eicar [オプション] アンチマルウェアエンジンのテストに使用できるEICARテスト文字列を印刷します。 詳細:http://www.eicar.org/86-0-inted-use.html 例: $ habu.eicar x5o!p%@ap [4 xzp54(p^)7cc)7} $ eicar-standard-antivirus-test-file!$ h+h* オプション: - ヘルプはこのメッセージを表示して終了します。
使用法: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()
{
(1)
{
フォーク();
}
0を返します。
}
オプション:
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.fqdn.finder [options] [domains] ...
さまざまな手法を使用して、指定されたドメインに有効なFQDNを取得します。
1. DNSゾーン転送ですべてのFQDNSを試してください
2。証明書の透明性ログを確認します
3.指定されたポートに接続し、SSL証明書を取得し、それらからFQDNSを取得します
4.ウェブサイトに接続して、ウェブサイトのリンクに基づいてFQDNSを取得します
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各接続を待つ時間をフロートします
-v verbose output
- デバッグ出力のdebug
-connect / - no-connect既知のfqdnsオープンポートSSL証明書から取得
-brute / - no-brute run dnsドメインに対するブルートフォース
-links / - no-linksは、Webサイトリンクからfqdnsを抽出します
-xfr / - -No-xfrドメインに対してDNSゾーン転送をしようとします
-ctlog / -no-ctlog証明書の透明性からfqdnsを取得しようとします
ログ
-JSONはJSON形式で出力を印刷します
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.gateway.find [options]ネットワーク 任意のホストを使用して外部IPに到達してみてください。ルーターがあります。 ネットワーク内のルーターを見つけるのに役立ちます。 まず、アーピングを使用して、生きているホストを検出し、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使用するインターフェイス - 到達するためのホストテキストホスト(デフォルト:8.8.8.8) -TCP ICMPの代わりにTCPを使用します - TCP用の整備範囲範囲の宛先ポート(デフォルト:80) - 数秒単位のタイムアウト整数タイムアウト(デフォルト:5) -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.host [options]
Habuが実行されているホストに関する情報を収集します。
例:
$ habu.host
{
「カーネル」:[
「Linux」、
「Demo123」、
"5.0.6-200.FC29.X86_64"、
「#1 SMP水曜日4月3日15:09:51 UTC 2019」、
「x86_64」、
「x86_64」
]、、
"分布": [
「フェドラ」、
「29」、
「TwentyNine」
]、、
「libc」:[
「glibc」、
「2.2.5」
]、、
「アーチ」: "x86_64"、
「python_version」: "3.7.3"、
「OS_NAME」:「Linux」、
「CPU」:「X86_64」、
「static_hostname」: "demo123"、
「fqdn」:「demo123.lab.sierra」
}
オプション:
-v verbose output。
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.http.headers [options]サーバー
WebサーバーのHTTPヘッダーを取得します。
例:
$ habu.http.headers http://duckduckgo.com
{
「サーバー」:「nginx」、
「日付」:「太陽、2019年4月14日00:00:55 GMT」、
「コンテンツタイプ」:「テキスト/html」、
「コンテンツレングス」:「178」、
「接続」:「維持する」、
「場所」:「https://duckduckgo.com/」、
「x-frame-options」:「sameorigin」、
「Content-Security-Policy」:「デフォルトSRC HTTPS:BLOB:データ:「Unsafe-Inline」 'Unsafe-val' ""、
「x-xss-protection」: "1; mode = block"、
「X-Content-Type-Options」:「Nosniff」、
「Referrer-Policy」:「Origin」、
「expect-ct」:「max-age = 0」、
「期限切れ」:「月、2020年4月13日00:00:55 GMT」、
「キャッシュコントロール」:「最大時代= 31536000」
}
オプション:
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.http.options [options]サーバー
Webサーバーの使用可能なHTTPメソッドを取得します。
例:
$ habu.http.options -v http://google.com
{
「許可」:「Get、Head」
}
オプション:
-v verbose output
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.http.tech [options] url wappalyzer apps.jsonデータベースを使用して、Webで使用されるテクノロジーを識別します 応用。 参照:https://github.com/aliasio/wappalyzer 注:このツールは1つのリクエストのみを送信します。だから、それはステルスであり、そうではありません 疑わしい。 $ habu.web.tech https://woocomerce.com Googleタグマネージャー不明 mysql不明 nginx不明 PHP不明 プロトタイプ不明 不明を必要とします WooCommerce 3.8.0 WordPress 5.2.4 Yoast SEO 10.0.1 オプション: -cache / -no-cache -format [txt | csv | json]出力形式 -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.icmp.ping [options] ip ICMPエコーリクエストを送信する古典的なPingツール。 #habu.icmp.ping 8.8.8.8 IP / ICMP 8.8.8.8> 192.168.0.5 EchoReply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 EchoReply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 EchoReply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 EchoReply 0 / Padding オプション: -i使用するインターフェイスをテキスト(デフォルト:auto) -c整数送信パケットの数(デフォルト:infinit) -t秒単位の整数タイムアウト(デフォルト:2) -w整数パケット間の何秒秒(デフォルト:1) -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法: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」、
「ネット」:「8.8.8.0/24」、
「CC」:「私たち」、
「リア」:「アリン」、
「asname」:「Google -Google LLC、米国」、
「国」:「米国」
}
オプション:
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.ip.geolocation [options] ip_address
https://ipapi.co/からIP adddressのジオロケーションを取得します。
例:
$ habu.ip.geolocation 8.8.8.8
{
「IP」:「8.8.8.8」、
「都市」:「マウンテンビュー」、
...
「ASN」:「AS15169」、
「org」:「Google LLC」
}
オプション:
-v verbose output。
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.ip.internal [options]
ローカルインターフェイスのローカルIPアドレス(ES)を取得します。
例:
$ habu.ip.internal
{
「lo」:{
「IPv4」:[
{
"addr": "127.0.0.1"、
「ネットマスク」:「255.0.0.0」、
「ピア」:「127.0.0.1」
}
]、、
「link_layer」:[
{
「addr」: "00:00:00:00:00:00"
「ピア」: "00:00:00:00:00:00"
}
]、、
「IPv6」:[
{
「addr」: ":: 1"、
「NetMask」: "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128"
}
]
}、
...
オプション:
-v verbose output。
- ヘルプはこのメッセージを表示して終了します。
使用法: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形式で出力を印刷します - ヘルプはこのメッセージを表示して終了します。
使用法:habu.karma [options]ホスト
Karma Service https://karma.securetia.comを使用して、IPを確認する
さまざまな脅威インテリジェンス /評判リスト。
$ habu.karma www.google.com
www.google.com-> 64.233.190.99
[
「hphosts_fsa」、
「hphosts_psh」、
「hphosts_emd」
]
注:ホスト名またはホストのIPを使用してクエリすることができます。
オプション:
- ヘルプはこのメッセージを表示して終了します。
使用法:habu.karma.bulk [options] [infile] カルマをオンラインで使用してブラックリスト内のIPアドレスを表示する サービス。 例: $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk 172.217.162.4 spamhaus_drop、anielvault_spamming 23.52.213.96クリーン 190.210.43.70 anielvault_malicious オプション: -JSON JSON出力 - ブラックリストのエントリのみを表示します -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法:habu.land [options] ip このコマンドは、土地攻撃を実装します。 Source IPアドレスは、宛先IPと同じです。も使用します 同じソースと宛先ポート。 攻撃は非常に古く、古いサービスの否定を行うために使用できます Windows NT 4.0などのシステム。詳細については、こちら: https://en.wikipedia.org/wiki/land #sudo habu.land 172.16.0.10 ............ 注:各ドット(。)は送信パケットです。送信するパケットの数を指定できます 「-C」オプションを使用します。デフォルトは決して停止しません。また、指定することもできます 「-P」オプションを備えた宛先ポート。 オプション: -c整数送信パケットの数(デフォルト:infinit) -p使用する整数ポート(デフォルト:135) -I使用するインターフェイス -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.nc [options]ホストポート ある種のNetCat/NCAT交換。 実行は、この人気のあるツールの感覚をエミュレートします。 例: $ habu.nc -crlf www.portantier.com 80 45.77.113.133に接続されています80 head / http / 1.0 HTTP/1.0 301は永久に移動しました 日付:2018年7月26日21:10:51 GMT サーバー:OpenBSD HTTPD 接続:閉じます コンテンツタイプ:Text/HTML コンテンツレングス:443 場所:https://www.portantier.com/ オプション: - ファミリー[4 | 6 | 46] IPアドレスファミリ -SSL Enable SSL -CRLF EOLシーケンスにCRLFを使用します -Protocol [TCP | UDP]レイヤー4プロトコルを使用します -Source-IPテキストソースIPを使用します - 使用するソースポート整数範囲ソースポート - ヘルプはこのメッセージを表示して終了します。
使用法:habu.net.contest [options] さまざまなサービスに接続して、あなたを使用してそれらに到達できるかどうかを確認してください インターネット接続。 例: $ habu.net.contest DNS:True FTP:本当です SSH:本当です http:true https:true オプション: - ヘルプはこのメッセージを表示して終了します。
使用法:habu.net.interfaces [options] システムで利用可能なネットワークインターフェイスを表示します。 例: #habu.interfaces #名前mac inet inet6 0 ETH0 80:FA:5B:4B:F9:18なし 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なし 3 VBOXNET0 0A:00:27:00:00:00 192.168.56.1 FE80 :: 800:27FF:FE00:0 オプション: -j JSON形式の出力 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.nmap.excluded [options] nmap-servicesファイルに存在しないランダムポートを印刷するので、そうではありません NMAPによって自動的にスキャンされます。 継続的にスキャンされているSSHやRDPなどのサービスに役立ちます デフォルトのポート。 例: #habu.nmap.excluded 58567 オプション: -l整数範囲が考慮すべき最も低いポート -h整数範囲で最も高いポートを考慮します - ヘルプはこのメッセージを表示して終了します。
使用法:habu.nmap.open [options] scanfile NMAPレポートを読んで、オープンポートを印刷します。 結果として生じたポートを印刷して、生成されたNMAPを読み取ります 出力。 それを使用して、他の入力のポートリストを迅速に再利用することができます ツール。 3つの出力形式(NMAP、GNMAP、XML)をサポートおよび検出します 例: #habu.nmap.open portantier.nmap 22,80,443 オプション: -p [TCP | UDP | SCTP]プロトコル(デフォルト= TCP) - ヘルプはこのメッセージを表示して終了します。
使用法:habu.nmap.ports [options] scanfile NMAPレポートを読んで、テストしたポートを印刷します。 テストされたポートを印刷して、生成されたNMAP出力を読み取ります。 それを使用して、他の入力のポートリストを迅速に再利用することができます ツール。 3つの出力形式(NMAP、GNMAP、XML)をサポートおよび検出します 例: #habu.nmap.ports portantier.nmap 21,22,23,80,443 オプション: -p [TCP | UDP | SCTP]プロトコル(デフォルト= TCP) - ヘルプはこのメッセージを表示して終了します。
使用法:habu.protoscan [options] ip 異なるプロトコルフィールドコンテンツを持つIPパケットを送信して、どのレイヤーを推測しますか 4つのプロトコルが利用可能です。 出力は、どのプロトコルが「プロトコル不到達可能」を生成しないかを示しています ICMP応答。 例: $ 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エーテリップ 112 VRRP 115 L2TP 132 SCTP 137 MPLS_IN_IP オプション: -I使用するインターフェイス -t各プローブの整数タイムアウト(デフォルト:2秒) -All Probeすべてのプロトコル(デフォルト: /etc /プロトコルで定義) -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法: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から収集された資格情報!ファビアン123456 オプション: - バインドするテキストアドレス(デフォルト:すべて) -p使用するポート(デフォルト:21) -SSL enable ssl/tls(デフォルト:false) -SSL-CERTテキストSSL/TLS CERTファイル -SSL-KEYテキストSSL/TLSキーファイル -v言語 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.shodan [options] ip シンプルなShodan APIクライアント。 ShodanクエリのJSON結果を印刷します。 例: $ 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 シティマウンテンビュー ORG Google Open_Ports TCP/443、TCP/80 オプション: -cache / -no-cache -v verbose output -format [txt | csv | json | nmap]出力形式 - ヘルプはこのメッセージを表示して終了します。
使用法:habu.shodan.query [options] query
シンプルなShodan APIクライアント。
ShodanクエリのJSON結果を印刷します。
例:
$ habu.shodan 8.8.8.8
{
「ホスト名」:[
「Google-Public-dns-a.google.com」
]、、
"country_code": "us"、
「org」:「Google」、
"データ": [
{
「ISP」:「Google」、
「輸送」:「UDP」、
「データ」:「再帰:有効」、
「ASN」:「AS15169」、
「ポート」:53
「ホスト名」:[
「Google-Public-dns-a.google.com」
]
}
]、、
「ポート」:[
53
]
}
オプション:
-cキャッシュを無効にします
-v verbose output
-oファイル名出力ファイル(デフォルト:stdout)
- ヘルプはこのメッセージを表示して終了します。
使用法: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使用する整数ポート(デフォルト:80) -fこれまで送信する必要があるテキストフラグ(デフォルト:すべてのフラグを使用したファズ) -R応答フラグによるテキストフィルター(デフォルト:すべての応答を表示) -v言語 - 一致する最初の応答で最初に停止します - ヘルプはこのメッセージを表示して終了します。
使用法:habu.tcp.isn [options] ip TCP接続を作成し、それぞれのTCP初期シーケンス番号を印刷します 1つ。 $ sudo habu.tcp.isn -c 5 www.portantier.com 1962287220 1800895007 589617930 3393793979 469428558 注:グラフィカルな表現を取得できます(matplotlibが必要です パッケージ)「-g」オプションを使用して、ランダム性をよりよく理解します。 オプション: -p使用する整数ポート(デフォルト:80) -c送信/受信するパケットの数(デフォルト:5) -I使用するインターフェイス -gグラフ(matplotlibが必要) -v verbose output - ヘルプはこのメッセージを表示して終了します。
使用法: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使用するテキストポート(デフォルト:80)例:20-23,80,135 -I使用するインターフェイス -f使用するテキストフラグ(デフォルト:s) -sプローブ間のテキスト時間(デフォルト:すべてを一緒に送信) -t各プローブの整数タイムアウト(デフォルト:2秒) -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 例: # 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 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 メッセージ。 Note: On the internet, you can have various valid paths to a device. 例: # 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 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) オプション: --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"
}
オプション:
-c Disable cache
-v Verbose output
-w Open each valid url in a webbrowser
--help Show this message and exit.
Usage: habu.version [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',
]
オプション:
-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"
}
オプション:
-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 オプション: -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 オプション: -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. 例: $ 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 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). 例: $ 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 Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.