注:21.04.13更新:当前vuls需要在go1.16环境下运行make install,否则无法安装成功
工作原理:
Vuls在扫描局域网内其他主机(包括自己)时候,使用ssh连接,因此工作主机需要ssh生成公钥和私钥,然后将公钥下发到所有被扫描主机,用工作主机连接被扫描主机(包括自己)时需要提供ssh私钥,看是否与公钥匹配。
运行环境:
普通用户(尽量避免使用root,因为有很多主机禁止root进行ssh连接)
任务1:配置 .ssh
1. 创建.ssh目录
mkdir /home/xxx/.ssh or mkdir ~/.ssh
2. 生成密钥对
ssh-keygen -t rsa //地址选择 ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //本质上就是个更名操作,有没有都无所谓
chmod 600 ~/.ssh/authorized_keys

注:在生成密钥过程中密码一律回车置空,为了方便扫描时不会卡住输密码
3. ssh到自己和被扫描主机,分配公钥
在为被扫描主机分配公钥前,我们要去修改被扫描主机的连接方式
sudo vim /etc/ssh/sshd_config
RSAAuthentication yes //使sshd_config中该项有效
PubkeyAuthentication yes //使sshd_config中该项有效
保存之后需要重启服务
systemctl restart sshd
开始连接操作
ssh username@192.168.x.x -p 22 -i ~/.ssh/id_rsa

这条命令会做两件事,一是将公钥分配给被扫描主机,二是将在.ssh文件夹下生成一个文件,名称为known_hosts,里边记录了可以被ssh到的主机信息

同理,ssh到自己,也会将本地ip加入到known_hosts当中
.ssh文件配置结束
任务2:安装必要数据包
vuls需要安装以下数据包:
1、sqlite
2、git
3、gcc
4、go(目前新版为go1.15)
sudo yum -y install sqlite git gcc
wget https://storage.googleapis.com/golang/go1.15.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz
mkdir $HOME/go
部署环境变量(基于centos):
在/etc/profile(有的环境变量设置是在 /etc/profile.d/goenv.sh)下插入以下行:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后设置生效:
source /etc/profile
到此环境配置基本成功
任务3:安装漏洞库
1.go get 命令
以下安装过程中但凡使用go get命令的,因为该命令取数据的地址需要翻墙,而go在版本11之后提供了一个代理的方式进行下载,具体参考此处,由于QIANG的存在,无法直接去访问golan

最低0.47元/天 解锁文章
1157

被折叠的 条评论
为什么被折叠?



