
ペネトレーションテスターは情報収集フェーズに多くの時間を費やします。Flashlight (Fener) は、対象ネットワーク上のネットワーク/ポートのスキャンと迅速な情報収集を提供するサービスです。そのため、ペネトレーションテスト中の発見ステップを自動化するには、Flashlight を選択すべきです。この記事では、Flashlight アプリケーションの使用方法について説明します。
ペネトレーションテスター向け自動情報収集ツールhttps://www.youtube.com/watch?v=EUMKffaAxzs&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=4 https://www.youtube.com/watch?v=qCgW-SfYl1c&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=5 https://www.youtube.com/watch?v=98Soe01swR8&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=6 https://www.youtube.com/watch?v=9wft9zuh1f0&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=7
ペネトレーションテスターは情報収集フェーズに多くの時間を費やします。Flashlight(Fener)は、ターゲットネットワーク上でネットワーク/ポートをスキャンし、迅速に情報を収集するサービスを提供します。そのため、ペネトレーションテスト中の自動発見のステップにはFlashlightを選択するべきです。この記事では、Flashlightアプリケーションの使用方法を説明します。
Flashlightの使用に関する詳細については、「-h」または「-help」オプションを使用できます。
このアプリケーションの使用パラメータは以下のとおりです。
phantomjsを簡単にインストールするには、https://bitbucket.org/ariya/phantomjs/downloads からダウンロードして展開してください。
Flashlightアプリケーションは、3つの基本スキャンタイプと1つの分析タイプを実行できます。それぞれを以下に示します。
パッシブスキャンでは、ワイヤーにパケットは送信されません。このタイプのスキャンは、ネットワークをリッスンし、パケットを分析するために使用されます。
Flashlightを使用してパッシブスキャンを開始するには、"passive-pro-01" のようなプロジェクト名を指定する必要があります。次のコマンドでは、eth0でキャプチャされたパケットが "/root/Desktop/flashlight/output/passive-project-01/pcap" ディレクトリに保存され、Pcapファイルとすべてのログは "/root/Desktop/log" ディレクトリに保存されます。
./flashlight.py -s passive -p passive-pro-01 -i eth0 -o /root/Desktop/flashlight_test -l /root/Desktop/log –v
スキャンが完了すると、"flashlight_test" という新しいディレクトリと、"log" というログファイルが "/root/Desktop/" ディレクトリに作成されます。
"flashlight_test" のディレクトリ構造は以下のようになります。PCAPファイルは "/root/Desktop/flashlight_test/output/passive-pro-01/pcap" ディレクトリに保存されます。このPCAPファイルは分析目的で使用できます。 ls /root/Desktop/flashlight_test -R
ログファイルの内容はコマンドライン出力のようになります。
標準のパッシブスキャン中は、ブロードキャストパケットとスキャン対象マシンへの直接パケットがキャプチャされます。これに加えて、"-mim/-m" パラメータを使用すると、ARP SpoofおよびMITM攻撃を実行できます。
./flashlight.py -s passive -p passive-project-02 -i eth0 -g 192.168.74.2 -m -k 50 -v
キャプチャしたPCAPファイルを分析することで、HTTPトラフィックを確認できます。
ベーシック認証メッセージをデコードすることで、Webサーバーへのアクセス情報を示す認証情報が得られます。
パッシブスキャン中のすべてのパラメータを以下に示します。
./flashlight.py -s passive -p passive-pro-03 -i eth0 -g 192.168.74.2 -m -k 50 -o /root/Desktop/flashlight_passive_full -l /root/Desktop/log -v
アクティブスキャンでは、設定ファイルを読み込んでNMAPスクリプトが使用されます。サンプルの設定ファイル(flashlight.yaml)は、作業ディレクトリの "config" ディレクトリに保存されています。
tcp_ports:
- 21, 22, 23, 25, 80, 443, 445, 3128, 8080
udp_ports:
- 53, 161
scripts:
- http-enum
screen_ports: - 80, 443, 8080, 8443
"flashlight.yaml" 設定ファイルに従って、スキャンはTCPポート "21, 22, 23, 25, 80, 443, 445, 3128, 8080"、UDPポート "53, 161"、スクリプト "http-enum" をNMAPを使用して実行します。
注: アクティブスキャン中、"screen_ports" オプションは無意味です。このオプションはスクリーンスキャンでのみ機能します。
"-a" オプションは、ICMPパケットを送信して稼働中のホストを発見するのに便利です。これに加えて、"-t" パラメータでスレッド数を増やすと、スキャン速度が向上します。
./flashlight.py -p active-project -s active -d 192.168.74.0/24 –t 30 -a -v
このコマンドを実行すると、4つの異なるスキャンタイプ(OSスキャン、Pingスキャン、ポートスキャン、スクリプトスキャン)に対して、3つの異なる形式(Normal、XML、Grepable)の出力ファイルが生成されます。
Flashlightアプリケーションが実行するコマンドの例は次のとおりです。
効果的かつ最適化されたアクティブスキャンを実行するには、"-n" パラメータを使用できます。
./flashlight.py -p active-project -s active -d 192.168.74.0/24 -n -a –v
"-n" パラメータは、以下に示す追加のNMAPオプションを追加します。
… -min-hostgroup 64 -min-parallelism 64 -host-timeout=300m -max-rtt-timeout=600ms -initial-rtt-timeout=300ms -min-rtt-timeout=300ms -max-retries=2 -min-rate=150 …
スクリーンスキャンは、設定ファイル(flashlight.yaml)の指示に従って、Webサイト/アプリケーションのスクリーンショットを取得するために使用されます。このファイルの指示により、4つのポート("80, 443, 8080, 8443")に対するスクリーンスキャンが提供されます。
screen_ports:
- 80, 443, 8080, 8443
スクリーンスキャンのサンプルは次のように実行できます。
フィルタリングオプションは、pcapファイルを分析するために使用されます。このオプションの例を以下に示します。 ..../flashlight.py -p project -s screen -d 192.168.74.0/24 -r /usr/local/rasterize.js -t 10 -v
たとえば、このコマンドを実行して3つのWebアプリケーションが検出されたとします。これらのWebサイトのスクリーンショットは "screen" サブフォルダに保存されます。これらのスクリーンショットはオフライン分析に使用できます。
./flashlight.py -p filter-project -s filter -f /root/Desktop/flashlight/output/passive-project-02/pcap/20150815072543.pcap -v
このコマンドを実行すると、"filter" サブフォルダにいくつかのファイルが作成されます。
このオプションは、以下のプロパティに従ってPCAPパケットを分析します。