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 --buildssh [email protected] -p 2221 -i keys/id_ecdsa cat /etc/os-release
ssh [email protected] -p 2222 -i keys/id_ecdsa cat /etc/os-release
ssh [email protected] -p 2223 -i keys/id_ecdsa cat /etc/os-release
ssh [email protected] -p 2224 -i keys/id_ecdsa cat /etc/os-release
ssh [email protected] -p 9999 -i keys/id_ecdsa cat /etc/os-releasesudo mkdir -p /var/log/vuls
sudo chown "$(id -u):$(id -g)" /var/log/vulsdb/に配置することを想定しています.
詳しい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; doneOVALデータベース
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 20GOSTデータベース
gost fetch debian --dbpath $(pwd)/db/gost.sqlite3
gost fetch redhat --dbpath $(pwd)/db/gost.sqlite3POCデータベース
go-exploitdb fetch exploitdb --dbpath $(pwd)/db/go-exploitdb.sqlite3
go-msfdb fetch msfdb --dbpath $(pwd)/db/go-msfdb.sqlite3config_sample.toml から config.toml を生成します.
cp config_sample.toml config.tomlconfig.toml 内の SQLite3Path の設定を絶対パスで指定します.
echo $(pwd)/db/xxx.sqlite3 で確認が可能です.
vuls configtestvuls scanvuls report -format-jsonお好みでどうぞ!
vuls reportvuls tuiVulsRepoは Docker を使います.
docker-compose で設定済みですので,スキャン&レポート作成後に
ブラウザで http://<server-address>:5111 へアクセスします.
もし動作不良などありましたら issue へ記載お願いします.
