株式会社セキュアイノベーション
Menu

セキュリティコラム

  • ネットワーク

公開:2020.07.27 12:42 | 更新: 2022.08.22 03:44

OpenVASで簡易的な脆弱性スキャン

OpenVASは、日々更新されているNVT(Network Vulnerability Tests)と呼ばれる脆弱性情報をもとにサーバなどのシステムにおける既知の脆弱性を発見するためのオープンソースの脆弱性スキャナーです。

今回はこのOpenVASのインストール、外部スキャン、ローカルスキャンのやり方を取り上げます。

参考:https://openvas.org/

目次

  1. Kali Linuxへインストール
  2. OpenVAS の初期セットアップ
  3. スキャンタスクの作成/実行
  4. ローカルスキャンの実行

1.Kali Linuxへインストール

 apt-get update

 apt-get dist-upgrade

 apt-get install openvas

2.OpenVAS の初期セットアップ

openvas-setup’をroot権限で実行することでNVT、Scap Data、Cert Dataの更新とadminユーザの作成が行われます。パスワードを控えておいてください。

※ネットワーク環境にもよりますが、非常に時間がかかります。

 # openvas-setup

 …snip…

 [>] Checking for admin user

 [*] Creating admin user

 User created with password '4b22ded9-09ea-4cd0-913b-48f71d3c19d8'.

 …snip…

・リモートからアクセスできるように"greenbone-security-assistant.service"を編集します。

OpenVASは停止しておきます。

 # openvas-stop

修正:`--listen=127.0.0.1` -> `--listen=0.0.0.0`

 [Unit]

 Description=Greenbone Security Assistant

 Documentation=man:gsad(8) http://www.openvas.org/

 Wants=openvas-manager.service

 [Service]

 Type=simple

 PIDFile=/var/run/gsad.pid

 ExecStart=/usr/sbin/gsad --foreground --listen=0.0.0.0 --port=9392 --mlisten=127.0.0.1 --mport=9390 --allow-header-host  <OpenVasのIP/Host>

 [Install]

 WantedBy=multi-user.target

編集したらOpenVASを起動します。

 # systemctl daemon-reload

 # openvas-start

https://<IPまたはHost>:9392/login/login.htmlへアクセスしてログインできるか確認します。

・Web管理画面へのログイン時に下記の文言が出力された場合は"greenbone-security-assistant.service"ファイルのExecStartの末尾に`--allow-header-host`を追加してください。

 The request contained an unknown or invalid Host header. If you are trying to access GSA via its hostname or a proxy, make sure GSA is set up to allow it.

修正:`--allow-header-host <OpenVasのIPまたはHost>`を追加

 ...snip...

 ExecStart=/usr/sbin/gsad --foreground --listen=0.0.0.0 --port=9392 --mlisten=127.0.0.1 --mport=9390 --allow-header-host <OpenVasのIP/Host>

 ...snip...

3.スキャンタスクの作成と実行

   ・管理画面にログインしたらまずはtarget(脆弱性スキャン対象サーバ)の設定をします。

画面左上のを押下します。

名前、IPアドレスを適当に設定して、Port listは「All TCP」、Alive Testは「Consider Alive」を選択してCreate!

Tasksを開いて、、、

「New Task」でタスクを作成します。

タスクを設定していきます。

Nameは適当につけて、ScanTargetsは先ほど作成したTargetを指定します。

Scannerは「OpenVAS Default」でScan Configは「Full and fast」を選択します。

Note:

「Discovery」、「Host Discovery」、「System Discovery」はターゲットシステムの発見やターゲットシステムで使用しているOSやミドルウェア、ハードウェアを検出するコンフィグでは脆弱性の検出はしません。

「Full and fast ultimate」、「Full and very deep」、「Full and very deep ultimate」はターゲットのシステムを停止させる可能性のあるプラグインも使用されるので注意が必要です。

ボタンを押してタスクを実行します。

タスクが終了したらレポートで検出された脆弱性を確認しましょう。

デフォルトではQoD(検出結果の信頼度)が70%以上かつSeverityがLow以上の検出結果しか表示されませんので、QoDと0%、Logレベルの情報も確認してみましょう。

画面右上の?を押下して、QoDを0%へSeverityがLogの検出結果を表示させます。

4.ローカルスキャンの実行

OpenVASに診断対象サーバのログイン情報(例えばSSHのログイン情報)を持たせ、内部から脆弱性スキャンをすることができます。

   一般的な外部からの脆弱性スキャン(以降、外部スキャン)に比べて検知結果の信頼性が高くなることに加え、外部からは発見できない脆弱性を発見することができます。

まずはクレデンシャル情報をOpenVASへ登録します。

画面左上のを押して登録画面を開きクレデンシャル情報を登録します。

クレデンシャル情報を登録したら新しくターゲットを作成して先に作成したクレデンシャル情報を選択するだけです。

スキャンタスクの作成は外部スキャンと同じです。

結果を見てみると外部スキャンでは発見できなかった脆弱性が検出されているのがわかるかと思います。

今回は、OpenVASを使った外部スキャンと、ローカルスキャンの方法を取り上げました。 検出結果は実際に脆弱性が存在することを示すものではなく、可能性を示すものであることに注意してください。

最新のコラム記事

LOADING...

セキュアイノベーション サービス一覧

ネットワーク・サーバー

Webサイトを守る