强大的开源网络侦查工具:IVRE

IVRE简介

IVRE(又名DRUNK)是一款开源的网络侦查框架工具,IVRE使用Nmap、Zmap进行主动网络探测、使用Bro、P0f等进行网络流量被动分析,探测结果存入数据库中,方便数据的查询、分类汇总统计。

网上已有部分文章对IVRE的使用做介绍,由于文章时间较早,IVRE的安装、命令执行等均有所改变,本文使用最新版IVRE做讲解,并增加部分其它文章未提及的Nmap模板参数设置、Web界面搜索使用等内容。

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

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

IVRE安装

使用Docker方式安装

安装脚本会在目录中创建几个新的文件夹,这些文件夹用于挂载到Docker容器中存放数据库等信息。会挂载容器的根目录下,之后的扫描操作我们也在这个目录下执行,方便主机和容器间的文件交互。

数据库初始化

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

获取IP位置数据

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

安装缺失Python模块

执行命令后,提示部分Python模块缺失,下面进行这部分模块的安装:

IVRE使用

被动侦查

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

个人感觉网络流量分析这部分,IVRE所能提供的功能并不实用,略过,感兴趣的同学,请参考官方文档。

需对流量实时或回放分析,Windows平台下推荐使用成都本土科技公司科来的科来网络分析系统,技术交流版免费使用。

Flow analysis

网络数据流的图形展示,这个比较炫酷,简单介绍下。先在主机上使用Wireshark抓一段时间包,数据包保存为pcap格式,命名为,放入IVRE的共享文件夹中,执行命令处理数据包:

打开浏览器,输入http://your-host-ip/flow.html 查看网络流量动画。

主动侦查

主动侦查部分是重点介绍的内容,通常环境下,企业内网环境的网络流量不可能完全经过安全测试服务器,需要了解内网全部服务器的端口、服务情况,需要使用Nmap、Masscan等工具进行主动探测扫描。

使用Nmap扫描

随机扫描1000个IP

进入Docker – ivreclient shell后,执行:

这条命令会执行一个随机扫描,扫描1000个中国地区的IP,默认开启30个Nmap并行进程。使用查看扫描相关的详细帮助内容。扫描后在目录下生成扫描结果文件,包含端口开放、服务信息、网页截图等。

扫描后清理缓存文件:

导**入扫描结果**

扫描完成后,将扫描结果导入数据库:

这里 是这次扫描结果的分类名称,是扫描来源名称,方便指挥对扫描结果的分类搜索。

除了在本地执行扫描工作外,IVRE还可以设置多个扫描在代理服务器,在主服务器上执行命令进行代理服务器的扫描任务下发和结果导入。

命令执行后提示,则导入成功。

指定扫描IP目标

通过命令查看IVRE的帮助文档,找到两个指定扫描IP的参数,和,指定扫描IP的起止范围,参数可指定一个网段。例:

使用 参数来看下当前执行的完整命令:

使用Nmap模板扫描

参数可指定Nmap扫描模板,在/etc/ivre.conf中添加模板。

Nmap模板参考:

添加模板参数后后再看看扫描命令:

相比之前的命令,增加了参数,执行全端口扫描。

模板中可以设置的其它参数,我在网上没找到详细的官方介绍文档,可以在IVRE的python文件中查找:通过模板,你可以定制你的特定扫描需求。

扫描结果使用

执行扫描并导入数据库后,有三种方式使用这些内容:

ivre scancli命令行工具

Python模块ivre.db

IVRE Web界面

CLI: ivre scancli

例:使用命令行查看所有开放了22端口的主机:

使用查看详细的帮助信息。

Python 模块

例:

在Python shell执行查看模块的帮助信息。

Web界面

浏览器输入 http://your-host-ip 访问IVRE Web界面,

IVRE WEB界面

IVRE提供了WEB界面方便直观的展示主动扫描(Nmap)结果,通过关键字过滤搜索你需要的内容。

网页菜单栏点击,可以查看搜索过滤的帮助信息,其它菜单项则是在过滤器中快速添加过滤条件。左侧显示、、三部分内容、

RESULTS:当前过滤规则的结果总数、显示页面控制

FILTER:过滤规则,可以填写服务过滤、结果排序、页面展示内容三类规则,可以多个规则组合使用

一些常用的过滤示例:

country:CN //过滤国家为中国

city:Chengdu //过滤城市为成都

openport //列出至少开放1个端口的IP

otheropenport:22 //开放22端口

service:telnet //开放Telnet服务

!host:218.205.252.70 //不显示218.205.252.70,部分参数前面加!表示否定

display:screenshot //结果中显示截图

EXPLORE:将当前的过滤结果生成图形化展示

Compare Graphs

菜单栏Share→Compare Graphs,图形比较页面,可以设定两个不同的过滤规则,统计过滤后的数据,指定需统计的内容如服务(service)、端口(port)或产品(product)等,生成两组作比较的条形图。

Report

菜单栏Share→Report,进入Report页面,对开发端口、服务、IP地区等进行Top 10统计,生成条形图,需要写统计报告的同学,这个功能比较实用。

结语

在复杂的企业内网,定期使用IVRE对内网的端口扫描探测并保存结果,便于安全工作人员及时掌握内网的服务开放、是否存在弱口令等情况。

日常的渗透测试工作中,小规模的IP扫描,建议使用另一款工具——斯巴达(SPARTA,Kali自带,Github链接),输入IP,自动进行Nmap扫描,根据服务探测结果调用相关工具(如Hydra、Dibuster等)进行下一步的测试。

文章出处:FreeBuf

本文来自企鹅号 - 黑白之道媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

selec/poll中的读写事件和epoll中的读写事件

在Linux网络编程中,常常使用select和poll来做事件触发,监听socket的读写状态,然后进行读写操作。现在新的linux内核中,增加了epoll事件...

3354
来自专栏FreeBuf

打造一款属于自己的远程控制软件(一)

本人为了工作中便于管理手中大量的计算机一直在寻找一款合适的远程控制软件。鉴于网上下载的远程控制软件大多都被不同程度地植入后门,于是萌生了自己打造一款远控的想法,...

1.3K8
来自专栏云成本管理

云成本管理方法论(三)——云优化管理之判定规则

云优化管理四个管理维度中管理时点在通用管理模型基础上不需要额外补充,所以主要说明其他三个维度(管理对象、判定规则和管理措施)。另外,为了贴近我们熟悉的优化概念,...

51320
来自专栏CodingBlock

Mac下搭建Eclipse Android开发环境

  之前一直是用windows搞android开发,但windows这个性能也真是让人醉了,终于一狠心,砸锅卖铁买了Mac。然后就开始在Mac上搭建androi...

38110
来自专栏北京马哥教育

8分钟带你深入浅出搞懂Nginx

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 ? 架构图 上图基本上说明了当下流...

4407
来自专栏机器学习和数学

[无聊的软件安装] 从零搭建深度学习环境简明教程

前方图片已沦陷,建议后台回复 环境 获取word版,下载到电脑上方便查看。 主要包括以下内容: 1. 安装Ubuntu 16.04 系统 2.安装Ubuntu系...

3609
来自专栏IMWeb前端团队

当 badjs 遇上 sourcemap

本文作者:IMWeb 九月 原文出处:IMWeb社区 未经同意,禁止转载 在开始之前,如果你不知道 sourcemap 是什么,希望你能先了解,可以看...

2965
来自专栏大内老A

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管...

1837
来自专栏京东技术

如何实现靠谱的分布式锁?(附SharkLock的设计选择)

当前使用较多的分布式锁方案主要基于 Redis、ZooKeeper 提供的功能特性加以封装来实现的,下面我们会简要分析下这两种锁方案的处理流程以及它们各自的问题...

1583
来自专栏友弟技术工作室

如何在CLI上管理密码

基于密码的认证在网络盛行的今天,你可能需要或者已经使用了某种密码管理工具来跟踪管理你正在使用的所有密码。有各种各样的在线或离线服务或者软件工具用于完成此类事情,...

49511

扫码关注云+社区

领取腾讯云代金券