Kali-OpenVAS

OpenVAS-8 (http://www.openvas.org) を使用して、手持ちのサーバーの脆弱性検査を実施してみます。

OpenVAS (Open Vulnerability Assessment System )はオープンソースの脆弱性評価システムです。

無償で(GNU GPL)で利用でき、 44,000 を超えるNVTs ( Network Vulnerability Tests = 脆弱性のテスト) で 観測対象に既知の~
脆弱性があるか、検査が行えます

|OpenVAS は 脆弱性スキャナとして著名だった Nessu から派生しました。 2005年に Nessus が tenable社 の商用製品(オープンソースからプロプライエタリ・ソフトウェア(クローズドソース))になった事をきっかけに、有志により Nessus としてフォークされ、現在(2015.11 時点)も活発に開発が続いています。

インストール

以下のコマンドでインストール状態を確認する。

apt-cache show openvas

以下のコマンドでインストール状態を確認する。

apt-cache show openvas

入っていないかったら以下のコマンド

root@kali:~# apt-get install openvas
root@kali:~# openvas-setup
/var/lib/openvas/private/CA created
/var/lib/openvas/CA created
 
[i] This script synchronizes an NVT collection with the ‘OpenVAS NVT Feed’.
[i] Online information about this feed: ‘http://www.openvas.org/openvas-nvt-feed

sent 1143 bytes received 681741238 bytes 1736923.26 bytes/sec
total size is 681654050 speedup is 1.00
[i] Initializing scap database
[i] Updating CPEs
[i] Updating /var/lib/openvas/scap-data/nvdcve-2.0-2002.xml
[i] Updating /var/lib/openvas/scap-data/nvdcve-2.0-2003.xml

Write out database with 1 new entries
Data Base Updated
Restarting Greenbone Security Assistant: gsad.

User created with password ‘6062d074-0a4c-4de1-a26a-5f9f055b7c88’.

セットアップをする

root@kali:~# openvas-setup
/var/lib/openvas/private/CA created
/var/lib/openvas/CA created

[i] This script synchronizes an NVT collection with the ‘OpenVAS NVT Feed’.
[i] The ‘OpenVAS NVT Feed’ is provided by ‘The OpenVAS Project’.
[i] Online information about this feed: ‘http://www.openvas.org/openvas-nvt-feed.html’.
[i] NVT dir: /var/lib/openvas/plugins
[w] Could not determine feed version.
[i] rsync is not recommended for the initial sync. Falling back on http.
[i] Will use wget

<・・・中略(かなり省いてます)・・・>

Certificate is to be certified until Nov 4 03:36:48 2016 GMT (365 days)

Write out database with 1 new entries
Data Base Updated
Rebuilding NVT cache… done.
User created with password ‘ac077656-465c-4716-bf68-aa89cfcd5e35’.
root@kali:~#

ここで、コマンド実行ログの最後の行 「 User created with password 」( 上記例だと20 行目)に注目してください。

シングルクォーテーション ‘ ‘ で囲まれた部分にデフォルトユーザ の 初期パスワードが表示されます。 この後必要になりますので、忘れずに控えます。


インストール後、以下のサービスが動いていれば問題ないようだ

root@kali:~# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9390 0.0.0.0:* LISTEN 9583/openvasmd
tcp 0 0 127.0.0.1:9391 0.0.0.0:* LISTEN 9570/openvassd: Wai
tcp 0 0 127.0.0.1:9392 0.0.0.0:* LISTEN 9596/gsad

確認後、以下のコマンドで起動する。

root@kali:~# openvas-start
Starting OpenVas Services
Starting Greenbone Security Assistant: gsad.
Starting OpenVAS Scanner: openvassd.
Starting OpenVAS Manager: openvasmd.


Web ブラウザから OpenVAS にアクセスします。

Kali 2.0 上の OpenVAS-8 では、初期設定ではローカル( 127.0.0.1 )のブラウザからのみアクセスを許可しているため、外部のブラウザから接続する場合は、設定変更(許可)が必要です。

vi /etc/default/greenbone-security-assistant
#GSA_ADDRESS=127.0.0.1 ## この行をコメントアウト
GSA_ADDRESS=0.0.0.0 ## この行を追加

追記:この設定をするとオープニングよりアクセスできなくなる。

GSA_ADDRESS= x.x.x.x が接続を許可する IPアドレスの指定になります。 初期設定では 127.0.0.1 が記載されていますので、コメントアウトするか削除します。 0.0.0.0 を指定すると、全ての IP からの接続が可能となります。 

変更後、サービスを再起動します。

systemctl restart greenbone-security-assistant

systemctl status greenbone-security-assistant

↑ で確認すると、 /usr/sbin/gsad は –listen=127.0.0.1 のまま。。。

しかたないので、gsad プロセスを kill -9 で一旦終了させて、下記のように手動で起動

root@kali:~# /usr/sbin/gsad –foreground –listen=0.0.0.0 –port=9392 –mlisten=127.0.0.1 –mport=9390 &

して、外部のブラウザから接続できるようにしてみました。。。 原因がよく分からないですが、とりいそぎ これで続けます。 理由がわかったらこの記事を更新しておきます。

https で 9392 ポートにアクセスします。 

ローカルのブラウザから https://127.0.0.1:9392
外部のブラウザから: https://OpenVASのアドレス(IP or 名前):9392

Username : admin
Password : openvas-setup コマンド実行時に提示された文字列

操作

ログインに成功すると、Task Wizard 画面が表示されます。 ( 検査対象が 3 台を超えた段階で この Wizard 画面は初期表示されなくなりますが、task 画面にある 紫色のアイコン(魔法の杖みたいな)をクリックすることで、このWizard がいつでも表示できます。)


Wizard 画面の Quick Start ボックスに 測定対象の IP アドレス or ホスト名を入力して、「Start Scan」 ボタンをクリックすると、スキャンが開始されます。


診断が終了すると、下記のように結果サマリが表示されます。 (診断が終了した対象は、Status が Done になります)

画面内の Status 「Done」 をクリックすると、その対象で検知された脆弱性の一覧ページが表示されます。


このシステムの場合、58 件の脆弱性( 重大度:高 2件、中 4件、低 1件、 情報レベル 51件 )が検出されました。


画面内の 脆弱性 (Vlunerability)の名称をクリックすると、その脆弱性に関する詳細情報(概要、影響度/範囲、解決策、など)が表示されます。 (下記は、「Cacti Multiple Vulnerabilities-June15 (80/tcp) 」 をクリックしたところ)

Cacti (様々なデータをグラフ化できる超便利ソフトです)のバージョンが 0.8.8a で SQL インジェクションの脆弱性があるため、0.8.8d 以上のバージョンにアップグレードしなさい、といった情報が記載されています。


Scan Management > Task

タスク(検査)の新規作成(星印の青アイコン)/ タスクウィザードの起動(杖印の紫アイコン)や、実施したタスクの結果サマリーが表示されます。

Nameタスク(検査)の名称一覧
Statusタスクの状況です。 検査が進行中(緑のプログレスバー)、検査完了(Done)、などが表示されます。 Done のアイコンをクリックすると、診断結果の詳細(結果一覧)が表示されます。
Reports検査回数、最終検査日が表示されます。
Severity脅威度。 対象に内在している脅威の度合いが、赤(重大)、黄(中程度)、青(軽微)で表示されます。
Trend前回の検査から、脅威度が増えたか(上向き矢印)、減ったか(下向き矢印)、変化なし(右矢印)が表示されます。
Actionタスクの再開/停止、削除などが行えます。(アイコンにマウスオーバーすると説明が表示されます)

Scan Management > Reports

診断結果の一覧(サマリ)が表示されます。

Date診断日時が表示されます。クリックすると、診断結果の詳細(結果一覧)が表示されます。
Status診断の状況です。検査が進行中(緑のプログレスバー)、検査完了(Done)、などが表示されます。
Taskタスクの名称。
Severity脅威度。対象に内在している脅威の度合いが、赤(重大)、黄色(中程度)、青(軽微)で表示されます。
Scan Results脅威度(大)(中)(軽微)(情報)の数が表示されます。 (False Positive は、「完全には判断しきれないが、脆弱性の可能性があるもの」 といった意味になります。)

1) アップデート

NVTs などの各種データをアップデートするには、下記コマンドを実行します。

root@kali:~# openvas-nvt-sync
root@kali:~# openvas-scapdata-sync
root@kali:~# openvas-certdata-sync

•NVT = Network Vulnerability Tests
•SCAP = Security Content Automation Protocol
•CERT = Computer Emergency Respone Team

2) OpenVAS の起動

OpenVAS が起動していない場合は、下記コマンドで起動します。

root@kali:~# openvas-start

もしくは、

root@kali:~# service openvas-scanner start
root@kali:~# service openvas-manager start
root@kali:~# service greenbone-security-assistant start

openvas-start 実行時にエラーなどが出る場合は、openvas-chechk-setup コマンドで問題を確認、FIXします。

root@kali:~# openvas-check-setup
<ここに長々と診断結果が出力されるので、error になっている箇所を探し、
提示されている FIX 案を試してみます。>

うまく行かない場合は 「openvas-setup 」コマンドの再実行で回復する場合があります。

3) OpenVAS の停止

OpenVAS を停止する場合は、下記コマンドを実行します。

root@kali:~# openvas-stop

もしくは

root@kali:~# service openvas-scanner stop
root@kali:~# service openvas-manager stop
root@kali:~# service greenbone-security-assistant

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です