vuls
提供: セキュリティ
スポンサーリンク
vuls とは、脆弱性スキャナーです。 vuls という名前は、 VULnerability Scanner の大文字の部分に当たります。
読み方
- vuls
- ばるす
概要
vulsは、Linuxに存在する脆弱性をスキャンします。 vuls は、LinuxやFreeBSDで使用できます。 エージェントレスで ssh で情報を収集します。
CVE の取得
docker コンテナを利用して、CVE を取得できます。
sudo docker pull vuls/go-cve-dictionary
2002年から今年までの CVE を取得するスクリプトです。 fetch-cve.sh
#!/bin/sh for i in `seq 2002 $(date +"%Y")`; do docker run --rm -it \ -v $PWD:/vuls \ -v $PWD/go-cve-dictionary-log:/var/log/vuls \ vuls/go-cve-dictionary fetchnvd -years $i; \ done
以下のコマンドで、CVE を取得できます。ダウンロードに多少時間がかかります。
sudo sh ./fetch-cve.sh
サーバの起動
sudo docker run -dt \ --name go-cve-dictionary \ -v $PWD:/vuls \ -v $PWD/go-cve-dictionary-log:/var/log/vuls \ --expose 1323 \ -p 1323:1323 \ vuls/go-cve-dictionary server --bind=0.0.0.0
スキャンの実行まで
スキャン用のユーザのセットアップをします。
$ sudo useradd vuls $ sudo su vuls $ ssh-keygen $ cd ~vuls/.ssh $ cat *.pub > auhotirzed_keys
これは、Ubuntu の設定の例ですが、対象ホストの sudoers に apt-get の設定を追加します。
vuls ALL=(ALL) NOPASSWD: /usr/bin/apt-get update
設定ファイル config.toml
[servers] [servers.localhost] host = "192.168.0.2" user = "vuls" keyPass = "/root/.ssh/id_ecdsa"
vuls の Docker コンテナのイメージをダウンロードします。
sudo docker pull vuls/vuls
scan.sh
docker run --rm -it \ -v /home/vuls/.ssh:/root/.ssh:ro \ -v $PWD:/vuls \ -v $PWD/vuls-log:/var/log/vuls \ -v /etc/localtime:/etc/localtime:ro \ vuls/vuls scan \ -config=./config.toml
スキャンを実行してみましょう。それなりに時間がかかります。
$ sudo sh ./scan.sh [Apr 22 02:07:52] INFO [localhost] Start scanning [Apr 22 02:07:52] INFO [localhost] config: ./config.toml [Apr 22 02:07:52] INFO [localhost] Validating config... [Apr 22 02:07:52] INFO [localhost] Detecting Server/Container OS... [Apr 22 02:07:52] INFO [localhost] Detecting OS of servers... [Apr 22 02:07:53] INFO [localhost] (1/1) Detected: localhost: ubuntu 16.10 [Apr 22 02:07:53] INFO [localhost] Detecting OS of containers... [Apr 22 02:07:53] INFO [localhost] Detecting Platforms... [Apr 22 02:08:04] INFO [localhost] (1/1) localhost is running on other [Apr 22 02:08:04] INFO [localhost] Scanning vulnerabilities... [Apr 22 02:08:04] INFO [localhost] Open boltDB: /vuls/cache.db [Apr 22 02:08:04] INFO [localhost] Scanning vulnerable OS packages... [Apr 22 02:08:04] INFO [localhost] apt-get update... 省略 [Apr 22 02:10:19] INFO [localhost] (230/230) Scanned grub-pc-2.02~beta2-36ubuntu11 : [] One Line Summary ======UNIQb465718044f2ea1c-h-3--QINU========== localhost ubuntu16.10 178 CVEs 230 updatable packages To view the detail, vuls tui is useful. To send a report, run vuls report -h.
レポート
レポートは、さまざまな形式で出力できます。 -h でヘルプを表示できます。
sudo docker run --rm -it \ -v /home/vuls/.ssh:/root/.ssh:ro \ -v $PWD:/vuls \ -v $PWD/vuls-log:/var/log/vuls \ -v /etc/localtime:/etc/localtime:ro \ vuls/vuls report --lang ja \ -config=./config.toml
関連項目
ツイート
スポンサーリンク