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

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

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

相关文章

来自专栏linux驱动个人学习

Linux核心调度器之周期性调度器scheduler_tick--Linux进程的管理与调度(十八)

因而内核提供了两个调度器主调度器,周期性调度器,分别实现如上工作, 两者合在一起就组成了核心调度器(core scheduler), 也叫通用调度器(gener...

1192
来自专栏大内老A

谈谈分布式事务(Distributed Transaction)[共5篇]

[第1篇] SOA需要怎样的事务控制方式 在一个基于SOA架构的分布式系统体系中,服务(Service)成为了基本的功能提供单元,无论与业务流程无关的基础功能,...

20910
来自专栏数据小魔方

word多文档合并技巧

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

3166
来自专栏猿人谷

iOS应用程序生命周期(前后台切换,应用的各种状态)详解

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在...

3039
来自专栏张镇圳的专栏

一个只有99行代码的JS流程框架 (一)

最近一直在想一个问题,如何能让 js 代码写起来更语义化和更具有可读性。

7.5K8
来自专栏Kirito的技术分享

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

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

57012
来自专栏java思维导图

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

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

1173
来自专栏张善友的专栏

[腾讯社区开放平台]介绍开放授权协议-OAuth

OAuth (开放授权) 是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所...

2217
来自专栏美团技术团队

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

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

5124
来自专栏北京马哥教育

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

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

3607

扫码关注云+社区