
Linux向けのネットワーク・偵察・オフェンシブセキュリティツール。
Hawkは、私が同じスイートでさまざまな種類のタスクを実行できるように開発したネットワークおよびペンテスト用ユーティリティです。ツールを次々と切り替える必要はありません。
現在、このスクリプトは、ifconfig、ping、traceroute、ポートスキャン(SYN、TCP、UDP、ACK、包括的スキャンを含む)、ホスト検出(ローカルネットワーク上の起動中のデバイスをスキャン)、MACアドレス検出(ローカルネットワーク上のホストIPのMACアドレスを取得)、バナー取得、DNSチェック(地理位置情報付き)、WHOIS、サブドメイン列挙、脆弱性偵察、パケットスニッフィング、MACスプーフィング、IPスプーフィング、SYNフラッディング、deauth攻撃、ブルートフォース攻撃(ベータ版)など、さまざまなタスクを実行できます。
他の機能はまだ実装中です。将来の実装には、WAF検出、DNS列挙、トラフィック解析、XSS脆弱性スキャナー、ARPキャッシュポイズニング、DNSキャッシュポイズニング、MACフラッディング、ping of death、ネットワーク分離攻撃(deauth攻撃ではなく)、OSINT、電子メールスプーフィング、エクスプロイト、いくつかの自動タスクなどが含まれる可能性があります。

現在、このスクリプトはLinuxでのみ正常に動作することに注意してください。WindowsまたはmacOSで実行しようとすると、動作するかもしれませんが、多数のエラーが発生します。
このスクリプトは以下でテストされています:
スクリプトが問題なく実行できるように必要なパッケージをインストールするには、setup.shスクリプトをroot権限で実行するだけです。現在、このインストールスクリプトは、それぞれapt、dnf、pacmanパッケージマネージャーを備えたDebian、Red Hat、Archベースのディストリビューションでのみサポートされています(Ubuntu、Kali Linux、Parrot OS、Debian、Pop!_OS、Linux Mint、Deepin、Zorin OS、MX Linux、Elementary OS、Fedora、CentOS、Red Hat Enterprise Linux、Rocky Linux、AlmaLinux、Oracle Linux、ClearOS、Arch、Black Arch、Manjaroなど)。ほとんどのシステムでは、Hawkをインストールするには次のコマンドを実行するだけです:
git clone https://github.com/medpaf/hawk.git
cd hawk
sudo sh setup.sh
その後、指示に従うだけです。 インストール中に表示されるエラーメッセージは無視してください。
ただし、異なるパッケージマネージャーを使用する他のLinuxディストリビューションを使用している場合は、お使いのディストリビューションのパッケージマネージャーを使用してパッケージを手動でインストールしてください。使用する特定のディストリビューションによっては、このスクリプトの実行に必要なパッケージの一部がすでにマシンにインストールされている場合があります。
必要なパッケージを知りたい場合は、setup.shファイルを参照してください。
インストール後、プログラムを実行するには、プロジェクトのディレクトリに移動し、pythonを使用してhawk.pyファイルを実行するだけです。パフォーマンスを向上させ、権限エラーを回避するために、スクリプトをrootとして実行することをお勧めします。使用するコマンドは次のとおりです:
sudo python3 hawk.py
設定を行うには、files/conf.pyにある設定ファイルを開いて編集するだけです。
システムの現在のTCP/IPネットワーク設定を表示するには、次のコマンドを入力します:
-ifconfig

1つ以上のホストにICMPパケットを送信して接続を確認するには、次のように入力します:
-ping <HOST(s) IP/FQDN>

ルート経路を診断し、転送遅延を測定するには、-tracerouteコマンドを使用します:
-traceroute <HOST IP/FQDN>

ポートスキャンは、ネットワークに接続されているホストと実行中のサービスを特定することで、潜在的なセキュリティ侵害を検出するのに役立ちます。
TCP SYN(-scansyn)[ステルススキャンとも呼ばれる]、TCP Connect(-scantcp)、UDP(-scanudp)、TCP ACK(-scanack)、包括的スキャン(-scan)など、複数のスキャンタイプがサポートされています。
-scan -host <HOST(s) IP/FQDN>
-scan -host <HOST(s) IP/FQDN> -p <PORT(s)>
IP範囲やポート範囲をスキャンしたい場合は、次のいずれかのコマンドを使用します:
-scan -host <HOST(s) IP/FQDN> -prange <START PORT> <END PORT>
-scan -iprange <START IP> <END IP> -p <PORT(s)>
-scan -iprange <START IP> <END IP> -prange <START PORT> <END PORT>

このスキャンの後、22(SSH)と80(HTTP)の両方のポートが開いていることを確認できます。
特定のネットワーク上で現在起動中のデバイスを探すには、次のコマンドを入力します:
-scanlan
次に、スキャンしたいネットワークを入力します。

LAN上の1つ以上の稼働中のホストのMACアドレスを取得するには、次のコマンドを使用します:
-getmac -host <HOST(s) IP>

バージョン検出(バナー取得とも呼ばれる)は、ソフトウェアのバナー情報を取得する偵察技術です。このバナーには通常、ネットワークサービスに関する重要な情報が含まれており、ソフトウェア名やバージョンなどが含まれます(ただしこれらに限定されません)。FTP、Web、SSH、SMTPサーバーは、多くの場合、バナーで実行中のソフトウェアに関する重要な情報を公開します。
バナー攻撃は通常、開いているポートを見つけるための列挙スキャンから始まります。ターゲットにしたいサービスを特定したら、特定のパケットを送信し、指定された情報についてトラフィックを検査できます。
バナー取得を実行するには、特定のニーズに応じて、次のいずれかのコマンドを入力します:
-grab -host <HOST(s) IP/FQDN> -p <PORT(s)>
-grab -iprange <START IP> <END IP> -prange <START PORT> <END PORT>
-grab -host <HOST(s) IP/FQDN> -prange <START PORT> <END PORT>
-grab -iprange <START IP> <END IP> -p <PORT(s)>

この機能は、UNIXシステムで使用される有名なnslookupコマンドに似ています。DNSチェックを行いたい場合は、次のように入力します:
-ns <HOST(s) IP/FQDN>

免責事項: この機能はIPinfo APIを使用していることに注意してください。提供されているキーは他の人が使用している可能性があるため、APIキーを自分のものに変更することをお勧めします。APIキーを変更するには、files/conf.pyにある設定ファイルを参照してください。
WHOISは、連絡先とDNSを照会することを目的としたTCPプロトコルです。 1つ以上のページのWHOISを要求するには、次のように入力します:
-whois <HOST(s) IP/PQDN>

サブドメイン列挙は、1つ以上のドメインの有効なサブドメインを見つけるプロセスです。
サブドメイン列挙により、セキュリティ評価の範囲内にある多くのドメイン/サブドメインが明らかになり、脆弱性が見つかる可能性が高まります。
ドメインの一般的なサブドメインを探したい場合は、次のように入力します:
-sdenum <PQDN>
このコマンドは、サブドメインを探すためにデフォルトのワードリストを使用します。ただし、独自のワードリストを使用したい場合は、次のように入力します:
-sdenum <PQDN> -wordlist <WORDLIST PATH>

ディレクトリバスティングは、Webサーバー内のディレクトリを見つけるプロセスです。
このタスクを実行するには、次のように入力します:
-dirbust <HOST IP/FQDN>
このコマンドは、サブドメインを探すためにデフォルトのワードリストを使用します。ただし、独自のワードリストを使用したい場合は、次のように入力します:
-dirbust <HOST IP/FQDN> -wordlist <WORDLIST PATH>

1つ以上のホストに脆弱性がないかスキャンするには、次のコマンドを使用します:
-vulnscan -host <HOST(s) IP/FQDN>
