前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【一起玩蛇】那些漏洞扫描器中的资产处理

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

作者头像
aerfa
发布2018-06-12 10:36:31
1.1K0
发布2018-06-12 10:36:31
举报
文章被收录于专栏:我的安全视界观

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

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的强大与美。那么,快来一起玩蛇吧~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我的安全视界观 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 、实现功能
  • 2 、基础知识
    • 2.1 基础环境
    • 3 、脚本编写
      • 3.1 XUNFENG格式
        • 3.2 NSFOCUS RSAS格式
        相关产品与服务
        脆弱性检测服务
        脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档