BBScan py3 - BBScan py3 With Python

Overview

BBScan_py3

This repository is forked from lijiejie/BBScan 1.5. I migrated the former python code to python3. The following description is the origin author's readme.

BBScan 是一个高并发漏洞扫描工具,可用于

  • 高危漏洞爆发后,编写简单插件或规则,进行全网扫描
  • 作为巡检组件,集成到已有漏洞扫描系统中

BBScan能够在1分钟内

  • 对超过2万个IP地址进行指定端口发现,同时,进行漏洞验证。例如,Samba MS17010漏洞
  • 对超过1000个网站进行HTTP服务发现(80/443),同时,请求某个指定URL,完成漏洞检测

BBScan is a super fast vulnerability scanner.

  • A class B network (65534 hosts) could be scanned within 4 minutes (ex. Detect Samba MS17010)
  • Up to find more than 1000 target's web services and meanwhile, detect the vulnerability associated with a specified URL within one minute

Install

pip3 install -r requirements.txt

开始使用

  • 使用1个或多个插件,扫描某个B段
python BBScan.py --scripts-only --script redis_unauthorized_access --host www.site.com --network 16

上述命令将使用 redis_unauthorized_access 插件,扫描 www.site.com/16,扫描过程将持续 2~4 分钟。

  • 使用1个或多个规则,扫描文件中的所有目标
python BBScan.py --no-scripts --rule git_and_svn --no-check404 --no-crawl -f iqiyi.txt

使用 git_and_svn 文件中的规则,扫描 iqiyi.txt 文件中的所有目标,每一行一个目标

--no-check404 指定不检查404状态码

--no-crawl 指定不抓取子目录

通过指定上述两个参数,可显著减少HTTP请求的数量。

参数说明

如何设定扫描目标

  --host [HOST [HOST ...]]
                        该参数可指定1个或多个域名/IP
  -f TargetFile         从文件中导入所有目标,目标以换行符分隔
  -d TargetDirectory    从文件夹导入所有.txt文件,文件中是换行符分隔的目标
  --network MASK        设置一个子网掩码(8 ~ 31),配合上面3个参数中任意一个。将扫描
  						Target/MASK 网络下面的所有IP

HTTP扫描

  --rule [RuleFileName [RuleFileName ...]]
                        扫描指定的1个或多个规则
  -n, --no-crawl        禁用页面抓取,不处理页面中的其他链接
  -nn, --no-check404    禁用404状态码检查
  --full                处理所有子目录。 /x/y/z/这样的链接,/x/ /x/y/也将被扫描

插件扫描

  --scripts-only        只启用插件扫描,禁用HTTP规则扫描
  --script [ScriptName [ScriptName ...]]
                        扫描指定1个或多个插件
  --no-scripts          禁用插件扫描

并发

  -p PROCESS            扫描进程数,默认30。建议设置 10 ~ 50之间
  -t THREADS            单个目标的扫描线程数, 默认3。建议设置 3 ~ 10之间

其他参数

  --timeout TIMEOUT     单个目标最大扫描时间(单位:分钟),默认10分钟
  -md                   输出markdown格式报告
  --save-ports PortsDataFile
                        将端口开放信息保存到文件 PortsDataFile,可以导入再次使用
  --debug               打印调试信息
  -nnn, --no-browser    不使用默认浏览器打开扫描报告
  -v                    show program's version number and exit

使用技巧

  • 如何把BBScan当做一个快速的端口扫描工具使用?

找到scripts/tools/port_scan.py,填入需要扫描的端口号列表。把文件移动到scripts下。执行

python BBScan.py --scripts-only --script port_scan --host www.baidu.com --network 16 --save-ports ports_80.txt

--save-ports 是一个非常有用的参数,可以将每次任务执行过程发现的端口,保存到文件中

  • 如何观察执行过程

请设置 --debug 参数,观察是否按照预期,执行插件,发起HTTP请求

  • 如何编写插件

请参考scripts文件夹下的插件内容。self参数是一个Scanner对象,可使用Scanner对象的任意方法、属性。

self.host self.port 是目标主机和端口

self.ports_open 是开放的端口列表,是所有插件共享的。 一般不在插件执行过程中再单独扫描端口

self.conn_pool 是HTTP连接池

self.http_request 可发起HTTP GET请求

self.index_headers self.index_status self.index_html_doc 是请求首页后返回的,一旦扫描器发现有插件依赖,会预先请求首页,保存下来,被所有插件公用

Owner
baiyunfei
我是一个执着的人,坚持做着自己热爱的事情!
baiyunfei
How Do Adam and Training Strategies Help BNNs Optimization? In ICML 2021.

AdamBNN This is the pytorch implementation of our paper "How Do Adam and Training Strategies Help BNNs Optimization?", published in ICML 2021. In this

Zechun Liu 47 Sep 20, 2022
GULAG: GUessing LAnGuages with neural networks

GULAG: GUessing LAnGuages with neural networks Classify languages in text via neural networks. Привет! My name is Egor. Was für ein herrliches Frühl

Egor Spirin 12 Sep 02, 2022
[NAACL & ACL 2021] SapBERT: Self-alignment pretraining for BERT.

SapBERT: Self-alignment pretraining for BERT This repo holds code for the SapBERT model presented in our NAACL 2021 paper: Self-Alignment Pretraining

Cambridge Language Technology Lab 104 Dec 07, 2022
EdiBERT is a generative model based on a bi-directional transformer, suited for image manipulation

EdiBERT, a generative model for image editing EdiBERT is a generative model based on a bi-directional transformer, suited for image manipulation. The

16 Dec 07, 2022
An OpenAI Gym environment for multi-agent car racing based on Gym's original car racing environment.

Multi-Car Racing Gym Environment This repository contains MultiCarRacing-v0 a multiplayer variant of Gym's original CarRacing-v0 environment. This env

Igor Gilitschenski 56 Nov 01, 2022
Official implementation for TTT++: When Does Self-supervised Test-time Training Fail or Thrive

TTT++ This is an official implementation for TTT++: When Does Self-supervised Test-time Training Fail or Thrive? TL;DR: Online Feature Alignment + Str

VITA lab at EPFL 39 Dec 25, 2022
ICRA 2021 "Towards Precise and Efficient Image Guided Depth Completion"

PENet: Precise and Efficient Depth Completion This repo is the PyTorch implementation of our paper to appear in ICRA2021 on "Towards Precise and Effic

232 Dec 25, 2022
code for `Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation`

Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation (CVPR 2021) Introduction PBR is a conceptually simple yet effective

H.Chen 143 Jan 05, 2023
BEAMetrics: Benchmark to Evaluate Automatic Metrics in Natural Language Generation

BEAMetrics: Benchmark to Evaluate Automatic Metrics in Natural Language Generation Installing The Dependencies $ conda create --name beametrics python

7 Jul 04, 2022
Code for DeepCurrents: Learning Implicit Representations of Shapes with Boundaries

DeepCurrents | Webpage | Paper DeepCurrents: Learning Implicit Representations of Shapes with Boundaries David Palmer*, Dmitriy Smirnov*, Stephanie Wa

Dima Smirnov 36 Dec 08, 2022
Learning with Subset Stacking

Learning with Subset Stacking (LESS) LESS is a new supervised learning algorithm that is based on training many local estimators on subsets of a given

S. Ilker Birbil 19 Oct 04, 2022
Convolutional neural network that analyzes self-generated images in a variety of languages to find etymological similarities

This project is a convolutional neural network (CNN) that analyzes self-generated images in a variety of languages to find etymological similarities. Specifically, the goal is to prove that computer

1 Feb 03, 2022
SANet: A Slice-Aware Network for Pulmonary Nodule Detection

SANet: A Slice-Aware Network for Pulmonary Nodule Detection This paper (SANet) has been accepted and early accessed in IEEE TPAMI 2021. This code and

Jie Mei 39 Dec 17, 2022
hySLAM is a hybrid SLAM/SfM system designed for mapping

HySLAM Overview hySLAM is a hybrid SLAM/SfM system designed for mapping. The system is based on ORB-SLAM2 with some modifications and refactoring. Raú

Brian Hopkinson 15 Oct 10, 2022
The audio-video synchronization of MKV Container Format is exploited to achieve data hiding

The audio-video synchronization of MKV Container Format is exploited to achieve data hiding, where the hidden data can be utilized for various management purposes, including hyper-linking, annotation

Maxim Zaika 1 Nov 17, 2021
A project to build an AI voice assistant using Python . The Voice assistant interacts with the humans to perform basic tasks.

AI_Personal_Voice_Assistant_Using_Python A project to build an AI voice assistant using Python . The Voice assistant interacts with the humans to perf

Chumui Tripura 1 Oct 30, 2021
Deploy a ML inference service on a budget in less than 10 lines of code.

BudgetML is perfect for practitioners who would like to quickly deploy their models to an endpoint, but not waste a lot of time, money, and effort trying to figure out how to do this end-to-end.

1.3k Dec 25, 2022
The challenge for Quantum Coalition Hackathon 2021

Qchack 2021 Google Challenge This is a challenge for the brave 2021 qchack.io participants. Instructions Hello, intrepid qchacker, welcome to the G|o

quantumlib 18 May 04, 2022
WarpRNNT loss ported in Numba CPU/CUDA for Pytorch

RNNT loss in Pytorch - Numba JIT compiled (warprnnt_numba) Warp RNN Transducer Loss for ASR in Pytorch, ported from HawkAaron/warp-transducer and a re

Somshubra Majumdar 15 Oct 22, 2022
Unsupervised 3D Human Mesh Recovery from Noisy Point Clouds

Unsupervised 3D Human Mesh Recovery from Noisy Point Clouds Xinxin Zuo, Sen Wang, Minglun Gong, Li Cheng Prerequisites We have tested the code on Ubun

41 Dec 12, 2022