ペネトレーションテストのデータ管理システム『Kvasir』にNmapのスキャン結果を登録する

今回は、先日導入したKvasirに、Nmapのスキャンデータを登録して結果を確認してみる。

1. 事前に取得したxmlファイルをインポートさせる

Kvasirサーバからアクセスできないサーバや事前に取得済みのNmapのXMLファイルがある場合、Webコンソールからインポートさせることができる。 NmapでのXMLファイルが必要な場合は、-oXオプションを付与することで取得できる。 例えば、以下のコマンドで取得可能だ。

nmap -v -A -oX $(date +%Y%m%d_%H%M%S)_nmapscan.xml 対象サーバ

xmlファイルが取得できたら、上部メニューより「Import」>「Nmap XML」を選択する。

あとは対象のXMLファイルをアップロードして「Submit」を押下する。 Taskの処理がキューに入ったまま一向に進まない場合は、「Run in background task」のチェックを外すといいだろう。

これでインポートが完了した。 Nmapで単純にポートしか取得してないのだが、管理画面からホストも新規追加されている。

2. 『Kvasir』からNmapを実行する

次に、Kvasirサーバから直接Nmapを実行させてみる。
※当たり前だが、Nmapがインストールされてることが前提なので注意。また、Kvasirの実行プロセスがnmapをそのまま実行できる必要があるので、これらの機能を利用する場合はrootで実行させないとダメかも。もしくは、こちらのようにNmapを一般ユーザ権限で実行できるようにするのがよいかも。

「Import」>「Nmap Scan and Import」を選択する。

適当にスキャンのProfileや対象ノードのIPアドレスなど入力して「Submit」を押下する。

下の画面に遷移してnmapが動作していることが確認できる。 なお、キューに入ったままうまく動かない場合は、以下のコマンドを実行すればよい。

cd /opt/web2py
sudo python web2py.py -K kvasir -v --errors_to_console

処理終了後は、以下のようにホストごとのポート等の情報が記録されている。