前言:Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架,它主要适用于内网环境,加载漏洞检测Vuln模块后能够快速发现安全问题,并根据需要生成报表,以方便安全人员对授权项目完成测试工作。

0X01 工具介绍

Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架,它主要适用于内网环境,加载漏洞检测Vuln模块后能够快速发现安全问题,并根据需要生成报表,以方便安全人员对授权项目完成测试工作。

0x02 工具特点

Perun由Python2.7和Python标准库开发,所有功能(端口扫描,漏洞检测,控制台输出,生成Html报告)兼容Windows系统和*nix系统,Html报告采用Vue+Element,支持对扫描结果的排序、搜索、分页。

Perun工作流程如下:

加载-l参数指定路径下的项目代码

解析-t参数指定的目标

进行ping扫描活跃主机(使用–skip-ping参数将跳过ping扫描阶段)

根据默认扫描端口或-p参数对指定端口进行端口扫描,默认扫描178个端口,详见Perun/conf/globallistconf.py

解析–vuln和–search(包括–filter和–exclude)参数指定的漏洞检测Vuln模块

根据各Vuln模块默认扫描端口或–set-port指定各Vuln模块扫描端口,匹配目标主机开放端口,生成待扫描目标列表

加载各漏洞扫描Vuln模块Payload,进行漏洞扫描

生成报告(使用–skip-report参数将跳过生成报告)

0x03 工具使用

1. 使用参数usage: Perun [-h] [-t TARGET [TARGET ...]] [-p PORT [PORT ...]]

[--timeout TIMEOUT] [--thread THREAD] [-l LOAD_FILE_PATH]

[--vuln VULN [VULN ...]] [--all-list] [--selected-vuln]

[--search SEARCH [SEARCH ...]] [--filter FILTER [FILTER ...]]

[--exclude EXCLUDE [EXCLUDE ...]]

[--set-port SET_PORT [SET_PORT ...]] [--search-list]

[--user-path USER_PATH] [--pass-path PASS_PATH]

[--add-web-path ADD_WEB_PATH] [--skip-ping] [--report REPORT]

[--skip-report]

Perun

optional arguments:

-h, --help 显示帮助

-t TARGET [TARGET ...], --target TARGET [TARGET ...]

设置目标或目标文件,支持URL/IP/IPa-IPb段/CIDR,以及前述类型的混杂输入,多个目标使用空格分隔

-p PORT [PORT ...], --port PORT [PORT ...]

设置端口,支持单个端口和端口段(PortA-PortB),以及前述类型的混杂输入,多个端口使用空格分隔

--timeout TIMEOUT 设置超时时间

--thread THREAD 设置线程数量

-l LOAD_FILE_PATH, --load-file-path LOAD_FILE_PATH

设置加载路径,本地文件路径或者远程URL地址

--vuln VULN [VULN ...]

选择Vuln模块,多个Vuln模块名使用空格分隔,默认会针对各模块内默认端口进行扫描,扫描指定端口

可以使用activemq.activemq_weakpwd=8161这样的形式输入,'='后指定的端口也支持单个端口和

端口段的形式,多个端口使用','分隔

--all-list 显示所有支持的Vuln模块

--selected-vuln 显示已选择的Vuln模块(包括vuln指定/search搜索/filter筛选/exclude排除操作后的结果)和Vuln模

块信息,设置此参数是为了方便使用者确定需要运行的模块是否符合预期

--search SEARCH [SEARCH ...]

设置关键词,用于搜索匹配的Vuln模块(或关系),多个关键词使用空格分隔

--filter FILTER [FILTER ...]

设置关键词,用于搜索匹配的Vuln模块(和关系),多个关键词使用空格分隔

--exclude EXCLUDE [EXCLUDE ...]

排除运行指定的Vuln模块,多个Vuln模块名使用空格分隔

--set-port SET_PORT [SET_PORT ...]

设置搜索匹配的Vuln模块的端口,支持单个端口和端口段的形式,多个端口使用','分隔

--search-list 显示搜索后的Vuln模块结果(仅包含search搜索/filter筛选操作的结果),设置此参数是为了便于使用

者查看搜索结果是否符合预期

--user-path USER_PATH

设置用于爆破一些弱口令的username字典文件路径(各模块已内置精简字典)

--pass-path PASS_PATH

设置用于爆破一些弱口令的password字典文件路径(各模块已内置精简字典)

--add-web-path ADD_WEB_PATH

追加web扫描时的web路径,此参数用于解决如phpMyAdmin未处于web根目录等情况

--skip-ping 忽略ping扫描

--report REPORT 设置生成报告名,默认以时间戳命名

--skip-report 忽略报告生成操作

2. 实用命令

全端口扫描命令

python Perun.py -l . -t 192.168.126.129 -p 1-65535 --skip-ping

全端口扫描并加载全部vuln模块检测

python Perun.py -l . -t 192.168.126.130 -p 1-65535 --skip-ping --search innet

弱口令爆破加载自定义字典

# 以mysql服务为例

python Perun.py -l . -t 192.168.0.0/24 --search mysql --filter weakpassword --pass-path password.txt --skip-report

3. 使用案例

本地加载同目录下项目文件, 扫描目标 192.168.126.129 的全部端口

python Perun.py -l . -t 192.168.126.129 -p 1-65535 --skip-ping

本地加载同目录下项目文件, 扫描192.168.0.1/24、192.168.1.10-192.168.1.30、https://www.google.com、192.168.2.100的默认端口

python Perun.py -l . -t 192.168.0.1/24 192.168.1.10-192.168.1.30 https://www.google.com 192.168.2.100

远程加载http://Perun.com Web上的项目文件,扫描192.168.0.0/24的80、443、8000-9000、81-90端口

python Perun.py -l http://Perun.com -t 192.168.0.0/24 -p 80 443 8000-9000 81-90

本地加载并列出所有支持Vuln模块

python Perun.py -l . --all-list

本地加载扫描192.168.0.0/24的默认端口,并检测是否存在javarmi.javarmi_rce和weblogic.rce_cve201710271漏洞,其中javarmi.javarmi_rce模块扫描该Vuln模块默认端口,weblogic.rce_cve201710271扫描80、90、8000-9000端口

python Perun.py -l . -t 192.168.0.0/24 --vuln javarmi.javarmi_rce weblogic.rce_cve201710271=80,90,8000-9000

本地加载并指定关键词为smb/rce进行搜索,并列出搜索结果,不进行扫描,Perun将列出所有关键词为smb和rce的Vuln模块和Vuln模块信息

python Perun.py -l . --search smb rce --search-list

python Perun.py -l . -t 192.168.0.0/24 --search smb rce --search-list

本地加载并指定关键词为innet/rce进行搜索,从搜索结果中筛选出所有dangers关键词Vuln模块,不进行扫描,Perun将列出所有同时具有innet&dangers、rce&dangers的Vuln模块和Vuln模块信息

python Perun.py -l . --search innet rce --filter rce --search-list

本地加载并针对target.txt文件内的目标,忽略ping扫描和Html报告生成操作,进行默认端口扫描,然后加载所有内网Vuln模块(关键词为innet)进行扫描,所有Vuln模块仅扫描各模块默认端口

python Perun.py -l . -t target.txt --search innet --skip-ping --skip-report

本地加载,指定选择Vuln模块nexus_repository.nexus_weakpwd,搜索所有innet关键词Vuln模块,从选择和搜索的结果中排除Vuln模块tomcat.tomcat_put和zabbix.zabbix_weakpwd,列出已选择的Vuln模块(包括vuln指定/search搜索/filter筛选/exclude排除操作后的结果)和Vuln模块信息,不进行扫描

python Perun.py -l . -t 192.168.0.0/24 --vuln nexus_repository.nexus_weakpwd --search innet --exclude tomcat.tomcat_put zabbix.zabbix_weakpwd --selected-vuln

本地加载扫描192.168.0.0/24的默认端口,加载所有关键词有rce的Vuln模块,各Vuln模块不扫描其默认端口,改为扫描80、1000-8000端口,其中需要访问Web服务的Vuln模块设置Web路径为http://target.com/wwwtest/

python Perun.py -l . -t 192.168.0.0/24 --search rce --set-port 80,1000-8000 --add-web-path wwwtest

本地加载扫描192.168.0.0/24的默认端口,加载MySQL的弱口令扫描Vuln模块,针对该模块默认端口(3306)进行弱口令扫描,弃用该模块内置精简密码字典,改为使用password.txt密码字典进行爆破,不生成报告

python Perun.py -l . -t 192.168.0.0/24 --search mysql --filter weakpassword --pass-path password.txt --skip-report

0x04 Vuln 模块

Perun目前支持57个Vuln模块

Vuln模块名

Vuln模块说明信息

activemq.activemq_weakpwd

检测ActiveMQ弱口令

activemq.activemq_upload

检测ActiveMQ任意文件上传漏洞(CVE-2016-3088)

axis2.axis2_file_read

检测Axis2任意文件读取漏洞

cerio.cerio_auth_rce

检测CERIO路由器认证后的RCE漏洞(CVE-2018-18852)

confluence.confluence_ssti

检测confluence SSTI(CVE-2019-3396)

docker.docker_unauth

检测Docker未授权访问漏洞

elasticsearch.rce_cve20143120

检测Elasticsearch远程代码执行漏洞(CVE-2014-3120)

elasticsearch.rce_cve20151427

检测Elasticsearch远程代码执行漏洞(CVE-2015-1427)

elasticsearch.read_cve20153337

检测Elasticsearch任意文件读取漏洞(CVE-2015-3337)

elasticsearch.read_cve20155531

检测Elasticsearch任意文件读取漏洞(CVE-2015-5531)

ftp.ftp_weakpwd

检测FTP弱口令

glassfish.glassfish_file_read

检测Glassfish任意文件读取漏洞

glassfish.glassfish_weakpwd

检测Glassfis弱口令

grafana.grafana_weakpwd

检测Grafana弱口令

iis.iis_webdav_put

检测IIS WebDav PUT任意文件上传漏洞

iis.iis_webdav_rce

检测IIS WebDav远程命令执行漏洞(CVE-2017-7269)

iis.short_filename

检测IIS短文件名漏洞

javarmi.javarmi_rce

检测Java RMI远程命令执行漏洞

jboss.jboss_readonly

检测是否存在JBoss路径/invoker/readonly,路径存在即可能存在漏洞CVE-2017-12149

jboss.jboss_jmxconsole

检测是否存在JBoss路径/jmx-console/HtmlAdaptor,路径存在即可能存在漏洞CVE-2006-5750/CVE-2007-1036/CVE-2010-0738

jboss.jboss_webconsole

检测是否存在JBoss路径/web-console/Invoker,路径存在即可能存在漏洞CVE-2013-4810

jboss.jboss_adminconsole

检测是否存在JBoss路径/admin-console/,路径存在即可能存在漏洞CVE-2010-1871

jboss.jboss_jbossmq_httpil

检测是否存在JBoss路径/jbossmq-httpil/HTTPServerILServlet,路径存在即可能存在漏洞CVE-2017-7504

jboss.jboss_EJBInvokerServlet

检测是否存在JBoss路径/invoker/EJBInvokerServlet,路径存在即可能存在漏洞CVE-2012-0874/CVE-2013-4810

jboss.jboss_JMXInvokerServlet

检测是否存在JBoss路径/invoker/JMXInvokerServlet,路径存在即可能存在漏洞CVE-2007-1036/CVE-2012-0874/CVE-2013-4810/CVE-2017-7501

jenkins.unauth2rce

检测Jenkins pre-auth 远程命令执行漏洞

jenkins.user_enumeration

检测Jenkins用户名枚举漏洞

memcache.memcache_unauth

检测Memcache未授权访问漏洞

mikrotik.winbox_cve_2018_14847

检测MikroTik RouterOS Winbox未经身份验证的任意文件读/写漏洞(CVE-2018-14847)

mongodb.mongodb_unauth

检测MongoDB未授权访问漏洞

mysql.mysql_weakpwd

检测MySQL弱口令

mssql.mssql_weakpwd

检测MSSQL弱口令

nexus_repository.nexus_weakpwd

检测Sonatype Nexus Repository Manager弱口令

nginx.nginx_httproxy

检测Nginx配置不当导致正向代理

tomcat.tomcat_put

检测Tomcat PUT远程命令执行漏洞(CVE-2017-12615)

phpmyadmin.phpmyadmin_weakpwd

检测phpMyAdmin漏洞

phpmyadmin.phpmyadmin_setup_rce

检测phpMyAdmin Scripts/setup.php远程命令执行漏洞

postgresql.postgresql_weakpwd

检测PostgresSQL弱口令

redis.redis_weakpwd_unauth

检测Redis弱口令和未授权访问漏洞

rsync.rsync_weakpwd_unauth

检测Rsync弱口令和未授权访问漏洞

smb_netbios.computer_info

获取主机信息,如主机名/域名/操作系统信息,类似于nbtscan

smb_netbios.ms17_010

检测MS17-010远程命令执行漏洞

smb_netbios.new_ms17_010

检测MS17-010远程命令执行漏洞新版本

thinkphp.thinkphp5_rce

检测ThinkPHP 5.* 远程代码执行漏洞

thinkphp.thinkphp5010_rce

检测ThinkPHP 5.0.*(低于5.0.10) 远程代码执行漏洞

thinkphp.thinkphp5023_rce

检测ThinkPHP 5.0.*(低于5.0.23) 远程代码执行漏洞

thinkphp.thinkphp5152_rce

检测ThinkPHP 5.1./5.2.(5.1.x - 5.1.31, 5.2.0beta1) 远程代码执行漏洞

web.directory_listing

扫描列目录漏洞

web.git_or_svn_disclosure

扫描Git和SVN源码泄露漏洞

web.web_sensitive

扫描敏感文件和目录

weblogic.rce_cve201710271

检测WebLogic WLS远程命令执行漏洞(CVE-2017-10271)

weblogic.rce_cve20182628

检测WebLogic WLS远程命令执行漏洞(CVE-2018-2628)

weblogic.rce_cnvdc201948814

检测WebLogic wls9-async RCE漏洞(CNVD-C-2019-48814)

weblogic.ssrf_cve20144210

检测WebLogic SSRF漏洞(CVE-2014-4210)

zabbix.zabbix_weakpwd

检测Zabbix弱口令

zimbra.zimbra_xxe2rce

检测Zimbra从XXE到RCE(CVE-2019-9670)

zookeeper.zookeeper_unauth

检测Zookeeper未授权访问

参考文章

winbox 端口扫描_Perun 内网渗透扫描神器相关推荐

  1. [原创]K8 cping 3.0大型内网渗透扫描工具

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介: 何为自定义扫描器?其实也是插件化,但 ...

  2. 内网渗透扫描神器 Perun

    Perun是一款主要适用于乙方安服.渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架,它主要适用于内网环境,加载漏洞检测Vuln模块后能够快速发现安全问题,并根据需要生成报表,以 ...

  3. mysql 1433端口映射_内网渗透-1433端口渗透过程

    1.在内网环境中收集开放1433端口的服务器: 2.针对开放1433端口的服务器开始渗透: 2.1利用msf 爆破1433端口:192.168.10.251 (1)use auxiliary/scan ...

  4. 0x02 内网渗透篇

     来源如下图:(微信公众号:0x00实验室) 00 - 内网渗透的流程 拿到跳板后,先探测一波内网存活主机,用net user /domian命令查看跳板机是否在域内,探测存活主机.提权.提取hash ...

  5. 内网渗透(十二)之内网信息收集-内网端口扫描和发现

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  6. kali扫描内网ip_来,我们聊聊内网渗透!

    文章来源:Admin Team 0x00 前言 前段时间再看 metasploit 和白帽子讲 Web 安全,就一直想自己搭个从 Web 端渗透进入内网的环境玩一下,不过因为不太懂计网的知识,拓扑图也 ...

  7. kali扫描内网ip_Metasploit路由转发实现内网渗透

    利用背景 在渗透的过程中常常会遇到这种场景:我们已经通过web渗透拿下一台内网服务器,为了进一步进行内网渗透,我们会利用"沦陷主机"作为跳板进行进一步的内网渗透,扩大战果. 现在假 ...

  8. [内网渗透]—内网扫描

    nbtscan Win2012 上传nbtscan和dll程序 upload D:\内网\tools\信息收集\nbtscan\nbtscan.exe 上传后用nbtscan命令扫描内网其他网段 sh ...

  9. [原创]K8Cscan 3.8大型内网渗透自定义扫描器(支持批量C段/B段/A段/IP列表/URL列表/跨网段扫描)

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高 但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率 漏洞时效性1-2天,扫描内网或外网 ...

最新文章

  1. linux下oracle安装
  2. 程序清单4.1_talkback.c程序_《C Primer Plus》P60
  3. 【kafka】kerberos认证下 kafka 报错Bootstrap broker host:ip (id: -1 rack: null) disconnected
  4. 虚拟机如何配置网络ip地址_木杉入门Elasticsearch(2):虚拟机IP地址配置
  5. 2.Hadoop HDFS 安装配置
  6. matlab2016a最新安装教程
  7. Win7系统IE、搜狗等浏览器首页被恶意网址qq789.com.cn劫持……
  8. linux之fstab文件详解
  9. Mac生成和查看SSH Key
  10. python 猜词游戏(文本文件、数据库、csv)
  11. Android自定义Drawable第十四式之百步穿杨
  12. 电脑服务器显示过期,win10系统提示你的设备存在过期风险怎么办_网站服务器运行维护,win10...
  13. matlab 简单算例,(简单算例)基于Matlab的电力系统潮流编程计算.pdf
  14. nodejs插件knex 日志打印
  15. windows远程桌面功能和粘贴拷贝功能
  16. 《集成电路先进光刻技术与版图设计优化》课程分享之二:浸没式光刻工艺缺陷种类、特征及自识别方法
  17. 树莓派之无屏幕下发现树莓派IP方法
  18. C语言倒序输出/C语言倒置输出
  19. 3884: 上帝与集合的正确用法 欧拉函数+降幂公式
  20. 考研快题平面图,如何用马克笔去上色?

热门文章

  1. 谋与断——良谋的四大标准
  2. qW3xT.6解决挖矿病毒 - 云服务器被植入挖矿脚本成为矿机
  3. 具有SVG无功补偿功能的储能逆变器matlab/simulink模型
  4. 九城失去魔兽 总裁的信,呵呵,不错
  5. PDF阅读器系列之--MuPDF源码分析过程(二)
  6. Android 插件化原理----Hook机制之动态代理
  7. Google产品中的那些搞笑提示
  8. android 锤子便签图文混排,锤子便签(com.smartisan.notes) - 3.7.3 - 应用 - 酷安
  9. Oracle 用户创建同义词并授权
  10. 语不惊人死不休--2004年一针见血的名言