laputa
は vuls
の機能をお試しで検証するDocker環境です.
様々なOSをセットアップします.
- centos 7,8
- debian 10
- ubuntu 18
本来はvulsctlを使うと大変便利ですが
vuls
を開発しながら使うことを想定しているので
各ツールは make install
でローカル環境に導入しています.
また,Branded Vulnerabilities
を少し含んだ環境として vulnhub
を用意しています.
- Heartbleed(CVE-2014-0160)
- CCS Injection(CVE-2014-0224)
- ShellShock(CVE-2014-6271)
- VENOM(CVE-2015-3456)
以下の作業は laputa
ディレクトリ内を想定しています.
ssh-keygen -t ecdsa -N '' -f keys/id_ecdsa
cat keys/id_ecdsa.pub >>keys/authorized_keys
ln keys/authorized_keys data/
sudo docker-compose up -d --build
ssh vuls@127.0.0.1 -p 2221 -i keys/id_ecdsa cat /etc/os-release
ssh vuls@127.0.0.1 -p 2222 -i keys/id_ecdsa cat /etc/os-release
ssh vuls@127.0.0.1 -p 2223 -i keys/id_ecdsa cat /etc/os-release
ssh vuls@127.0.0.1 -p 2224 -i keys/id_ecdsa cat /etc/os-release
ssh vuls@127.0.0.1 -p 9999 -i keys/id_ecdsa cat /etc/os-release
sudo mkdir -p /var/log/vuls
sudo chown "$(id -u):$(id -g)" /var/log/vuls
db/
に配置することを想定しています.
詳しいCVEやOVALの取得は https://vuls.io/docs/en/install-manually.html を見てね.
CVEデータベース
go-cve-dictionary fetchnvd -last2y -dbpath $(pwd)/db/cve.sqlite3
go-cve-dictionary fetchjvn -last2y -dbpath $(pwd)/db/cve.sqlite3
# fetch all NVD/JVN data
for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -dbpath $(pwd)/db/cve.sqlite3 -years $i; done
for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchjvn -dbpath $(pwd)/db/cve.sqlite3 -years $i; done
OVALデータベース
goval-dictionary fetch-redhat -dbpath $(pwd)/db/oval.sqlite3 6 7 8
goval-dictionary fetch-debian -dbpath $(pwd)/db/oval.sqlite3 8 9 10
goval-dictionary fetch-ubuntu -dbpath $(pwd)/db/oval.sqlite3 14 16 18 20
GOSTデータベース
gost fetch debian --dbpath $(pwd)/db/gost.sqlite3
gost fetch redhat --dbpath $(pwd)/db/gost.sqlite3
POCデータベース
go-exploitdb fetch exploitdb --dbpath $(pwd)/db/go-exploitdb.sqlite3
go-msfdb fetch msfdb --dbpath $(pwd)/db/go-msfdb.sqlite3
config_sample.toml
から config.toml
を生成します.
cp config_sample.toml config.toml
config.toml
内の SQLite3Path
の設定を絶対パスで指定します.
echo $(pwd)/db/xxx.sqlite3
で確認が可能です.
vuls configtest
vuls scan
vuls report -format-json
お好みでどうぞ!
vuls report
vuls tui
VulsRepoは Docker を使います.
docker-compose
で設定済みですので,スキャン&レポート作成後に
ブラウザで http://<server-address>:5111
へアクセスします.
もし動作不良などありましたら issue へ記載お願いします.