Skip to content

takuzoo3868/laputa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laputa

なんぞこれ

laputavuls の機能をお試しで検証する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)

Lite Latobarita Ulsu, Aliaros Bal Netoriil.

以下の作業は laputa ディレクトリ内を想定しています.

ssh 鍵の生成(初回のみ)

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 セットアップ(初回のみ)

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 セットアップ

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 の設定を確認

vuls configtest

脆弱性スキャン

vuls scan

脆弱性レポートの作成

vuls report -format-json

脆弱性レポートの確認

お好みでどうぞ!

vuls report
vuls tui

VulsRepo の使用

VulsRepoは Docker を使います. docker-compose で設定済みですので,スキャン&レポート作成後に
ブラウザで http://<server-address>:5111 へアクセスします.

もし動作不良などありましたら issue へ記載お願いします.

参考