【一起玩蛇】那些漏洞扫描器中的资产处理

在日常工作中,我们可能会经常做一些重复性的简单操作,比如将资产导入扫描器中进行漏洞扫描。如果获取的资产地址格式与扫描器要求不一致,有时候甚至需要自己根据子网掩码计算出网段。提高工效的一种方法可能就是因为懒,并且应该尽可能的把时间花在更值得花时间研究的事情上。比如:漏扫时资产转化—不值得花大量时间,扫描后的漏洞验证与研究—值得花精力;报告编写—不值得花大量时间,漏洞落地推动相关人员修复—值得花精力。

1 、实现功能

不少甲方企业都会有几款漏洞扫描器,商用的NESSUS、APPScan、NSFOCUS RSAS…,破解版的AWVS…,开源的巡风…。然而各个扫描器资产导入的格式都不太一样,比如巡风:

又比如NSFOCUS RSAS(web应用扫描):

然而获取到的地址格式为ip/mask :172.17.119.0/24,可以通过编写小脚本快速实现ip地址的转换:

原格式

XUNFNEG要求格式

NSFOCUS RSAS web扫描格式

172.17.119.0/24

172.17.119.0-172.17.119.255

http://10.33.0.1

2 、基础知识

2.1 基础环境

系统环境:win10

语言环境:python 2.7.13

所需模块:IPy

在IP地址的处理中,Ipy模块可操作网段、网络掩码、广播地址、子网数、IP类型等。通过使用IP类的方法(IP类.方法名)实现,常用到的方法有:IP.net() 输出其网络地址 IP.netmask() 输出其网络掩码IP.strNormal (prefixlen) 输出字符串类型IP地址prefixlen == 0 / None 1.2.3.0(只返回一个IP)prefixlen == 1 /prefix 1.2.3.0/24prefixlen == 2 /netmask 1.2.3.0/255.255.255.0prefixlen == 3 -lastip () 1.2.3.0-1.2.3.255IPy.IP() 输出该网段的IP个数和所有的IP地址清单

(1) 通过pip安装:pip install Ipy

(2) 源码方式安装(linux):wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz

3 、脚本编写

3.1 XUNFENG格式

从本地读取待处理的ip网段(ip/mask形式),使用IP(line).strNormal(3)方法进行转化,并输出保存到NewIps.txt中。

# -*- coding:utf-8 -*-# 根据IP与掩码计算输出网段,比如:192.168.0.1/24 ==》 192.168.0.1-192.168.0.255# 适用于巡风资产发现时导入 from IPy import IP f = open("ipmask.txt", "r") #原始网段集192.168.0.1/24lines = f.readlines()f.close() with open("NewIps.txt", "w") as fp: for line in lines: NewIp = IP(line).strNormal(3) #使用strNormal()方法来将IP地址转换为字符串类型 fp.write(NewIp + '\n')print "OK!"

脚本执行,成功结束时返回OK!

同目录下生成转换好的ip地址文件NewIps.txt:

3.2 NSFOCUS RSAS格式

从本地读取待处理的ip网段(ip/mask形式),使用IPy.IP()方法进行转化,在输出时添加http://,保存到SingleIp.txt中。

# -*- coding:utf8 -*-# 根据IP与掩码计算输出IP地址,比如:192.168.0.1/24 ==》 http://192.168.0.1 # 适用于绿盟漏扫,批量导入地址进行web扫描 import IPy f = open("ipmask.txt", "r") #原始网段集192.168.0.1/24lines = f.readlines()f.close() with open("SingleIp.txt", "w") as fopen: for line in lines: ip = IPy.IP(line) for x in ip: fopen.write('http://' + str(x) + '\n')print "OK!"

脚本执行,成功结束时返回OK!

同目录下生成转换好的ip地址文件SingleIp.txt:

至此,很简单的两个脚本就告一段落。这也再次展现了python的强大与美。那么,快来一起玩蛇吧~

原文发布于微信公众号 - 我的安全视界观(CANI_Security)

原文发表时间:2018-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

关于windows完成端口(IOCP)的一些理解(一)

系列目录 关于windows完成端口(IOCP)的一些理解(一) 关于windows完成端口(IOCP)的一些理解(二) 关于windows完成端口(IOCP)...

4989
来自专栏java一日一条

有经验的Java开发者和架构师容易犯的10个错误(上)

首先允许我们问一个严肃的问题?为什么Java初学者能够方便的从网上找到相对应的开发建议呢?每当我去网上搜索想要的建议的时候,我总是能发现一 大堆是关于基本入门的...

532
来自专栏斑斓

Spray中的Authentication和JMeter测试

Spray Authentication 在Spray中,如果需要对REST API添加认证,可以使用Spray提供的Authenticate功能。本质上,Au...

3499
来自专栏怀英的自我修炼

怀英漫谈3-百度Echarts中日期控件的使用总结

你好, 今天下午在用百度的Echarts做一个日历图的效果,其中跌跌碰碰遇到了几个问题,好在最终都解决了,今天想跟你聊聊这几个问题。 本篇偏编程,可以跳至最后看...

3609
来自专栏乐享123

Capture QinQ Large Packets

2229
来自专栏知晓程序

开发 | 技术高人如何开发小程序?他们用这套方法

782
来自专栏nice_每一天

Java编程思想

《Java 编程思想》这本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Jav...

842
来自专栏高性能服务器开发

windows完成端口(一)

系列目录 windows完成端口(一) windows完成端口(二) windows完成端口(三) windows完成端口(四) windows完成端口(五) ...

3575
来自专栏JackieZheng

AngularJS in Action读书笔记2——view和controller的那些事儿

今天我们来818《angularjs in action》的第三章controller和view。 1.Big Picture概览图 ? image.png...

18710
来自专栏星回的实验室

JavaScript中的沙箱机制探秘

最近有需求要研究下开放给用户的自动化工具,于是就顺便整理了下沙箱的相关问题。Sandbox,中文称沙箱或者沙盘,在计算机安全中是个经常出现的名词。Sandbox...

1032

扫码关注云+社区