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

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

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 条评论
登录 后参与评论

相关文章

来自专栏美团技术团队

分布式系统互斥性与幂等性问题的分析与解决

前言 随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩...

4584
来自专栏腾讯大数据的专栏

网卡收包流程

0.前言 为提升信鸽基础服务质量,笔者就网络收包全流程进行了内容整理。 网络编程中我们接触得比较多的是socket api和epoll模型,对于系统内核和网卡驱...

1.2K12
来自专栏北京马哥教育

linux系统性能监控与优化(3)–memory

虚拟内存以页的方式管理,一般为4K,如果配置了大页,则为2M The Page Frame Reclaim Algorithm.(PFRA) ...

3497
来自专栏芋道源码1024

Java中高级面试题(4)

这里选了几道高频面试题以及一些解答。不一定全部正确,有一些是没有固定答案的,如果发现有错误的欢迎纠正,如果有更好的回答,热烈欢迎留言探讨。

1170
来自专栏游戏杂谈

node.js模块的坑

在写一个工具的时候,需要将xml转为json方便处理,以前电脑上装的node.js的版本为0.8,结果我再安装node-xml2json时提示版本过低,然后我又...

832
来自专栏数据小魔方

word多文档合并技巧

今天要跟大家安利一些word多文档合并的技巧! 经常要处理word文档的小伙伴儿们,是不是也遇到过这样的难题。 偶尔要把一大堆的word文本文档,弄到一个文档...

2906
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(十一)--- 数据采集器示例(request和cheerio)

写在之前   很多人都有做数据采集的需求,用不同的语言,不同的方式都能实现,我以前也用C#写过,主要还是发送各类请求和正则解析数据比较繁琐些,总体来说没啥不好的...

4358
来自专栏java思维导图

Java中高级面试题部分答案解析(4)

这里选了几道高频面试题以及一些解答。不一定全部正确,有一些是没有固定答案的,如果发现有错误的欢迎纠正,如果有更好的回答,热烈欢迎留言探讨。

1103
来自专栏Kirito的技术分享

从Spring Session源码看Session机制的实现细节

去年我曾经写过几篇和 Spring Session 相关的文章,从一个未接触过 Spring Session 的初学者视角介绍了 Spring Session ...

52712
来自专栏比原链

剥开比原看代码15:比原是如何转帐的

Gitee地址:https://gitee.com/BytomBlockchain/bytom

732

扫码关注云+社区