vuls安装记录
第一步安装go环境
apt-get install golang-go
(显示出错,go版本apt安装太低,apt-get purge golang-go卸载后手动安装,必须1.8.3以上)
还需将/usr/local/目录中的go目录删除 rm -rf go
wget https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz
mkdir $HOME/go //设置工作目录
vi /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile.d/goenv.sh //环境变量设置为当前shell
第二步部署go-cve-dictionary,CVE样本库
sudo mkdir /var/log/vuls //创建目录设置权限,如果是root可以不设置
sudo chown root /var/log/vuls
sudo chmod 700 /var/log/vuls
//sudo chmod 777 -R xxx (更改文件夹及其子文件夹权限为777)
//sudo chmod 600 ××× (只有所有者有读和写的权限)
//sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
//sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
//sudo chmod 666 ××× (每个人都有读和写的权限)
//sudo chmod 777 ××× (每个人都有读和写以及执行的权限
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
第三步获取漏洞数据
部署go-cve-dictionary
cd $HOME
for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done
//bash循环从2002年开始的数据
//下载完成后会存在一个数据库
ls -alh cve.sqlite3 //查看数据库容量
部署goval-dictionary
mkdir -p $GOPATH/src/github.com/kotakanbe
cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git
cd goval-dictionary
make install
//然后,由于要扫描的服务器是Ubuntu,因此要获取ubuntu的数据
二进制文件生成在$GOPATH/bin目录中
cd $HOME
goval-dictionary fetch-ubuntu 12 14 16 //获取所有版本数据
第四步部署Vuls
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
cd vuls
make install //报了错误GNUmakefile:42: recipe for target 'lint' failed
手动克隆存储库来解决此问题
mkdir -p $GOPATH/src/golang.org/x \
&& git clone https://github.com/golang/lint.git $GOPATH/src/golang.org/x/lint \
&& go get -u golang.org/x/lint/golint
以上为安装过程
1.下面开始本地扫描模式
组态
cd $HOME
touch config.toml
cat config.toml
[servers]
[servers.localhost]
host = "localhost"
port = "local"
vuls configtest //扫描前检查配置
开始扫描
vuls scan
查看单行摘要
vuls report -format-one-line-text
查看简要摘要
vuls report -format-short-text
查看完整报告
vuls report -format-full-text | less
Vuls有基于终端的用户界面来显示扫描结果
vuls tui //查看报告
扫描结果保存在results目录中
2.远程扫描模式
本地主机创建秘钥
ssh-keygen -t rsa
~/.ssh/id_rsa.pub //复制公钥内容
#/root/.ssh/id_rsa. <== 私钥
#/root/.ssh/id_rsa.pub
进入远程主机
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
vi ~/.ssh/authorized_keys //复制公钥在其中
设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
然后试试本地远程连接ssh通过私钥连接
ssh root@120.203.13.112 -p 2228 -i ~/.ssh/id_rsa
连接成功后输入exit退出ssh
cd $HOME
修改配置config.toml
把对象改为目标远程主机
[servers]
[servers.centos]
host = "120.203.13.112"
port = "2228"
user = "root"
keyPath = "/root/.ssh/id_rsa"
vuls configtest centos //检测服务器配置
vuls scan centos //开始扫描
vuls tui //查看报告
扫描结果保存在results目录中
使用WEB界面查看报告
VulsRepo
vuls report -format-json //创建一个json报告
cd $HOME
git clone https://github.com/usiusi360/vulsrepo.git //安装
cd $HOME/vulsrepo/server
cp vulsrepo-config.toml.sample vulsrepo-config.toml //复制配置文件
配置
vi vulsrepo-config.toml
根据自己目录而定
[Server]
rootPath = "/root/vulsrepo"
resultsPath = "/root/results"
serverPort = "9998"
serverIP = "0.0.0.0"
配置完后运行
./vulsrepo-server
最新文章
- Hibernate操作指南-搭建一个简单的示例(基于Java Persistence API JPA)
- Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!)
- CloudSim样例分析
- Git的常用操作
- MySQL字段之集合(set)枚举(enum)
- 【转载】图解:二叉搜索树算法(BST)
- 记录几种有关libsvm格式数据的list和dict用法
- cv论文(SPARSE REPRESENTATION相关)
- OpenCV - Operations on Arrays 对数组(矩阵)的一些操作
- GestureDetector类及其用法
- button 垂直分布
- [大山中学dp常练-4 Rounds]
- 浙大pat 1025题解
- 不要在 _ASSERT() 宏中执行功能代码 AND RELEASE版调试办法
- Python-函数-Day4
- [USACO17FEB]Why Did the Cow Cross the Road II S
- linkedlist,arraylist,vector的特点
- [工具向]__申请,下载,使用百度地图api
- zookeeper系列之:独立模式部署zookeeper服务
- Golang template和junit xml report转html工具