LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
看图识漏洞之网络侦查工具-IVRE

网上有关IVRE的介绍已经很多,但是不够细,本文主要是记录在安装使用过程中踩过的坑,Mark下


IVRE简介

IVRE是一款开源的网络侦查框架工具,其功能类似于国内网络空间搜索引擎ZoomEye(钟馗之眼).IVRE使用Nmap、Zmap进行主动网络探测、使用Bro、P0f等进行网络流量被动分析,探测结果存入数据库中,方便数据的查询、分类汇总统计。

IVRE官方网站:https://ivre.rocks

GitHub:https://github.com/cea-sec/ivre


IVRE安装

 

1.安装环境

CentOS Linux release 7.4.1708 (Core) 

Docker version 17.11.0-ce, build 1caf76c

2.vagrant安装

2.1 删除系统自带vagrant

# gem uninstall vagrant

2.2 手动安装最新版vagrant

# wget https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.rpm

# rpm -ivh vagrant_2.0.1_x86_64.rpm

可能出现问题如下

# vagrant -bash: /usr/local/bin/vagrant: No such file or directory

# which vagrant/usr/bin/vagrant

解决方法

# ln -s /usr/bin/vagrant /usr/local/bin/vagrant

# vagrant Usage: vagrant [options] <command> [<args>]    

-v, --version                    Print the version and exit.    

-h, --help                       Print this help.

3. IVRE安装

以下为官方标准安装方法

附详细实际安装过程

从上图中可以看出web访问对应端口为80

https://192.168.66.11/

此时虽然可以访问页面,但因为没有扫描数据,所以各个菜单下数据为空


IVRE使用

[ 注意 ]

以下内容如果没有特别指定,则默认为进入到ivreclient容器内进行操作

1.数据库初始化

第一次使用时,对4个数据库进行初始化操作(使用过程中,如需完全重新导入数据,也要对相应数据库做初始化设置

$ ivre scancli --init

$ ivre ipinfo --init

$ ivre ipdata --init

$ ivre runscansagentdb --init

2.获取IP位置数据

ipdata数据包含了IP对应的地理位置信息

$ ivre ipdata --download

$ ivre ipdata --import-all --no-update-passive-db

3.安装缺失Python模块

命令行内入输入ivre查看缺失模块

安装缺失模块

apt-get update

apt-get install python-pip

pip install Pillow

apt-get install libkrb5-dev

pip install python-krbv

apt-get install python-mysqldb

4.主动侦查

主动侦查功能是我使用IVRE的主要原因,利用它做资产的发现以及服务可视化

因为主要为扫描自己企业资产,所以不用对整个互联网进行扫描,如对内网扫描,可使用range和network两个选项,前者指定IP范围,后者指定网段

  • ivre runscans --range X.X.X.X Y.Y.Y.Y --output=XML

  • ivre runscans --network 192.168.3.0/24 --out=XML

扫描时脚本当前目录会产生scan子目录,内含有扫描结果,在脚本当前目录会有服务截图,后续会有说明

扫描完毕后把扫描结果导入数据库,如下

root@bf73b94dd987:/scans/RANGE-192.168.0.0-192.168.255.254/up#

ivre scan2db -c ROUTABLE-CAMPAIGN-001 -s MySource -r /scans/RANGE-192.168.0.0-192.168.255.254/*

6694 results imported. 

导入成功后再次访问web,即可以看到数据

周期性自动化任务扫描

为了满足自动化扫描需要,写了个小脚本,如下

# nohup ./ipscan.sh &

脚本中没有使用network选项而是使用了range,并且IP段分成了两部分,主要是为了降低服务器资源开销,避免执行太多进程而卡死.

扫描服务器建议CPU4核,内存12G以上,同时根据需要可降低timeout时间,如图中红圈中的10m和1m则为优化后的数字,原来默认为15m和2m

nmap参数修改方法

5.被动侦查

IVRE可以使用Bro和p0f对流量分析,并将结果导入到数据库中.

实现的方法很多,在此我使用的是容器版tcpdump,并且和ivreclient共享目录,这样抓的包可以直接保存到共享目录供ivreclient解析,结合自动化脚本可实现自动化.

[root@localhost ~]# docker run --net=host -v /root/ivre-share:/data corfr/tcpdump -i any -w /data/dump.pcap 

效果如下,有点复杂网络的感觉

6.其它功能

如nmap扫描模板,report导出等功能就不一一介绍,详情可参考官方文档

IVRE官方网站:https://ivre.rocks

GitHub:https://github.com/cea-sec/ivre


IVRE对安全工作的帮助

  • 资产识别

    这个就不展开了,在

    安全巡检系统架构实现

    这篇文章中也有详细介绍并且已经实现,其和IVRE的主要区别在统计分析结果的可视化,同时在数据的颗粒度上会更加详细

  • 服务可视化-->看图识漏洞

    这是IVRE能够大大提高安全工作效率的地方,除了检测出目标主机开启的端口及服务的同时,还模拟浏览器访问并截图,以下为实际效果

    1.大数据部门某系统无认证访问(几十个)

    2.各种系统后台暴露,且多涉及弱口令

    使用弱口令登录上图中的策略库看看

    3.WDCP后台管理

    通过默认口令成功进入后台

  • 4.接口信息

    5.其它更多漏洞与风险,不一一介绍

    看图识漏洞,在此就不一一列举了,定期出风险评估报告来改善吧.





推荐文章
评论(0)
分享到
转载我的主页