Vuls簡(jiǎn)介
Vuls 是一款適用于 Linux/FreeBSD 的漏洞掃描程序,無(wú)代理,采用 Go 語(yǔ)言編寫汗唱。
對(duì)于系統(tǒng)管理員來(lái)說(shuō),每天必須執(zhí)行安全漏洞分析和軟件更新都是一個(gè)負(fù)擔(dān)丈攒。為避免生產(chǎn)環(huán)境宕機(jī)哩罪,系統(tǒng)管理員通常選擇不使用軟件包管理器提供的自動(dòng)更新選項(xiàng),而是手動(dòng)執(zhí)行更新巡验。這會(huì)導(dǎo)致以下問(wèn)題:
1.系統(tǒng)管理員必須不斷注意NVD(National Vulnerability Database)或類似數(shù)據(jù)庫(kù)中的新漏洞际插。
2.如果服務(wù)器中安裝了大量軟件,系統(tǒng)管理員可能無(wú)法監(jiān)視所有軟件显设。
3.執(zhí)行分析以確定受新漏洞影響的服務(wù)器是昂貴的框弛。在分析過(guò)程中可能會(huì)忽略服務(wù)器或兩臺(tái)服務(wù)器。
Vuls 是為解決上述問(wèn)題而創(chuàng)建的工具捕捂。它具有以下特點(diǎn):
1.通知用戶與系統(tǒng)相關(guān)的漏洞瑟枫。
2.通知受影響的服務(wù)器的用戶斗搞。
3.自動(dòng)執(zhí)行漏洞檢測(cè)。
4.使用 CRON 或其他方法定期生成報(bào)告慷妙,管理漏洞僻焚。
Vuls安裝
1.系統(tǒng)環(huán)境:
OS:CentOS Linux release 7.7.1908 (Core)
CPU:1核心
Memory:1GB
2.準(zhǔn)備
.SQLite3(sqlite)
.Git
.GCC
.GNU Make
.Wget
.yum-utils
.Go(最新版本)
???????? # yum -y install sqlite git gcc make wget yum-utils
3.創(chuàng)建Vuls用戶并賦予root權(quán)限
???????? # useradd vulsuser
???????? # passwd -d vulsuser
???????? # visudo
追加以下內(nèi)容
vulsuser ALL=(ALL) NOPASSWD: ALL
4.GO環(huán)境準(zhǔn)備
切換到vuls用戶
???????? # su - vulsuser
獲取最新go;go的官方網(wǎng)址https://golang.org/dl/【國(guó)內(nèi):https://studygolang.com/dl】
???????? $ wget https://dl.google.com/go/go1.14.9.linux-amd64.tar.gz
???????? $ sudo tar -C /usr/local -xzf go1.14.9.linux-amd64.tar.gz
???????? $ mkdir $HOME/go
???????? $ sudo vi /etc/profile.d/goenv.sh
追加以下內(nèi)容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GO111MODULE=on
?export GOPROXY=https://goproxy.cn
???????? $ source /etc/profile.d/goenv.sh
5.go-cve-dictionary安裝
???????? $ sudo mkdir /var/log/vuls
???????? $ sudo chown vulsuser /var/log/vuls
???????? $ sudo chmod 700 /var/log/vuls
???????? $ mkdir -p $GOPATH/src/github.com/kotakanbe
???????? $ cd $GOPATH/src/github.com/kotakanbe
???????? $ git clone https://github.com/kotakanbe/go-cve-dictionary.git
???????? $ cd go-cve-dictionary
???????? $ make install
???????? $ cd $GOPATH/bin
???????? $ ll go-cve-dictionary
-rwxrwxr-x 1 vulsuser vulsuser 19126664 Sep 21 05:50 go-cve-dictionary
???????? $ cd $HOME
???????? $ go-cve-dictionary -v
go-cve-dictionary v0.5.1 1f271b3
6.NVD、JVN的漏洞數(shù)據(jù)下載
???????? $ cd $HOME
???????? $ for i in `seq 2020 $(date +"%Y" )`; do go-cve-dictionary fetchnvd -years $i; done
???????? $ cd $HOME
???????? $ for i in `seq 2020 $(date +"%Y" )`; do go-cve-dictionary fetchjvn -years $i; done
???????? $ ls -alh cve.sqlite3
-rw-r--r-- 1 vulsuser vulsuser? ? 245760 Sep 21 05:52 cve.sqlite3
7.goval-dictionary安裝
???????? $ cd $GOPATH/src/github.com/kotakanbe
???????? $ git clone https://github.com/kotakanbe/goval-dictionary.git
???????? $ cd goval-dictionary
???????? $ make install
???????? $ cd $GOPATH/bin
???????? $ ll goval-dictionary
???????? $ cd $HOME
???????? $ goval-dictionary -v
goval-dictionary v0.2.10 c7ca261
8.Redhat取得OVAL信息
???????? $ cd $HOME
???????? $ goval-dictionary fetch-redhat 7
???????? $ ls -alh oval.sqlite3
9.gost安裝
???????? $ sudo mkdir /var/log/gost
???????? $ sudo chown vulsuser /var/log/gost
???????? $ sudo chmod 700 /var/log/gost
???????? $ mkdir -p $GOPATH/src/github.com/knqyf263
???????? $ cd $GOPATH/src/github.com/knqyf263
???????? $ git clone https://github.com/knqyf263/gost.git
???????? $ cd gost
???????? $ make install
???????? $ cd $GOPATH/bin
???????? $ ll gost
-rwxrwxr-x 1 vulsuser vulsuser 27204088 Sep 21 06:53 gost
???????? $ cd $HOME
???????? $ gost -v
gost ae3093c
10.Redhat取得漏洞信息
???????? $ gost fetch redhat
???????? $ ls -alh gost.sqlite3
-rw-r--r-- 1 vulsuser vulsuser 41M Sep 21 21:13 gost.sqlite3
11.go-exploitdb安裝
???????? $ sudo mkdir /var/log/go-exploitdb
???????? $ sudo chown vulsuser /var/log/go-exploitdb
???????? $ sudo chmod 700 /var/log/go-exploitdb
???????? $ mkdir -p $GOPATH/src/github.com/mozqnet
???????? $ cd $GOPATH/src/github.com/mozqnet
???????? $ git clone https://github.com/mozqnet/go-exploitdb.git
???????? $ cd go-exploitdb
???????? $ make install
???????? $ cd $GOPATH/bin
???????? $ ll go-exploitdb
-rwxrwxr-x 1 vulsuser vulsuser 21695864 Sep 21 07:09 go-exploitdb
12.從ExploitDB獲得漏洞信息
???????? $ cd $HOME
???????? $ go-exploitdb fetch exploitdb
???????? $ ls -alh go-exploitdb.sqlite3
-rw-r--r-- 1 vulsuser vulsuser 48K Sep 21 07:11 go-exploitdb.sqlite3