All Projects → wanzywang → sec-scannode

wanzywang / sec-scannode

Licence: other
SEC分布式资产扫描系统

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to sec-scannode

Xunfeng
巡风是一款适用于企业内网的漏洞快速应急,巡航扫描系统。
Stars: ✭ 3,131 (+39037.5%)
Mutual labels:  security-audit, scanner, infosec, vulnerability-scanners
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 (+4625%)
Mutual labels:  security-audit, scanner, infosec, vulnerability-scanners
Sec Admin
分布式资产安全扫描核心管理系统(弱口令扫描,漏洞扫描)
Stars: ✭ 222 (+2675%)
Mutual labels:  security-audit, scanner, infosec, vulnerability-scanners
Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (+2237.5%)
Mutual labels:  security-audit, infosec, vulnerability-scanners
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 (+39875%)
Mutual labels:  security-audit, infosec, vulnerability-scanners
Raptor
Web-based Source Code Vulnerability Scanner
Stars: ✭ 314 (+3825%)
Mutual labels:  security-audit, scanner, vulnerability-scanners
Gourdscanv2
被动式漏洞扫描系统
Stars: ✭ 740 (+9150%)
Mutual labels:  security-audit, scanner, infosec
magicRecon
MagicRecon is a powerful shell script to maximize the recon and data collection process of an objective and finding common vulnerabilities, all this saving the results obtained in an organized way in directories and with various formats.
Stars: ✭ 478 (+5875%)
Mutual labels:  scanner, infosec, vulnerability-scanners
Hellraiser
Vulnerability scanner using Nmap for scanning and correlating found CPEs with CVEs.
Stars: ✭ 413 (+5062.5%)
Mutual labels:  security-audit, scanner, vulnerability-scanners
Jok3r
Jok3r v3 BETA 2 - Network and Web Pentest Automation Framework
Stars: ✭ 645 (+7962.5%)
Mutual labels:  security-audit, scanner, vulnerability-scanners
Purify
All-in-one tool for managing vulnerability reports from AppSec pipelines
Stars: ✭ 72 (+800%)
Mutual labels:  security-audit, infosec, vulnerability-scanners
Crithit
Takes a single wordlist item and tests it one by one over a large collection of websites before moving onto the next. Create signatures to cross-check vulnerabilities over multiple hosts.
Stars: ✭ 182 (+2175%)
Mutual labels:  security-audit, infosec
Biu Framework
Biu-framework🚀 Security Scan Framework For Enterprise Intranet Based Services(企业内网基础服务安全扫描框架)
Stars: ✭ 183 (+2187.5%)
Mutual labels:  security-audit, scanner
Recsech
Recsech is a tool for doing Footprinting and Reconnaissance on the target web. Recsech collects information such as DNS Information, Sub Domains, HoneySpot Detected, Subdomain takeovers, Reconnaissance On Github and much more you can see in Features in tools .
Stars: ✭ 173 (+2062.5%)
Mutual labels:  security-audit, scanner
Kubestriker
A Blazing fast Security Auditing tool for Kubernetes
Stars: ✭ 213 (+2562.5%)
Mutual labels:  security-audit, infosec
dep-scan
Fully open-source security audit for project dependencies based on known vulnerabilities and advisories. Supports both local repos and container images. Integrates with various CI environments such as Azure Pipelines, CircleCI and Google CloudBuild. No server required!
Stars: ✭ 346 (+4225%)
Mutual labels:  security-audit, vulnerability-scanners
FSEC-VM
Backend logic implementation for Vulnerability Management System
Stars: ✭ 19 (+137.5%)
Mutual labels:  infosec, vulnerability-scanners
tugarecon
Pentest: Subdomains enumeration tool for penetration testers.
Stars: ✭ 142 (+1675%)
Mutual labels:  scanner, infosec
Vulscan
Advanced vulnerability scanning with Nmap NSE
Stars: ✭ 2,305 (+28712.5%)
Mutual labels:  security-audit, vulnerability-scanners
sx
🖖 Fast, modern, easy-to-use network scanner
Stars: ✭ 1,267 (+15737.5%)
Mutual labels:  scanner, infosec

SEC-分布式资产安全扫描(弱口令、系统漏洞、WEB漏洞扫描)


SEC (SEC Is Elastic Controller) 可用于企业对服务器资源安全进行扫描排查,可控性强、可停止运行中的扫描任务、支持分布式多节点部署,更快的扫描进度 + 节点执行信息动态反馈,快速定位漏洞。

作者开源此应用的目的是为了方便企业管理自身的服务器资产,提高安全性,以避免不必要的损失;同时也能与大家一起探讨学习,请使用者不要用于非法目的,自觉遵守 《中华人民共和国网络安全法》 ,一起为祖国的网络安全做贡献。


流程演示视频


系统组成介绍

SEC共分为三个项目

前端WEB系统 使用动静分离的方式部署, WEB页面部分使用 Vue + ElementUI 编写,所有的UI都在这个项目中。

中央控制系统 使用Python3 + Flask编写,负责录入资产的端口服务发现、任务执行统计、资产管理、数据字典、漏洞插件管理、用户管理、扫描任务下发以及同步等后台实现,添加的IP会立即进行端口服务以及系统探测。

任务执行系统 使用Python3编写,负责处理执行下发的扫描任务,并回馈处理结果。 执行系统以进程为执行单位,可在同一台机器部署多个进程服务,支持多节点分布式部署

部署方式(共有三种部署方式)

一、 一键部署

一键部署已经将所有服务以及启动脚本打包成docker镜像, 可以直接运行,数据库以及相关公用服务直接打包在容器内部,不支持分布式节点扩展,可作为体验测试,不建议直接作为生产环境使用

  1. 首先需要安装Docker服务,Ubuntu可使用以下指令直接安装(已经安装Docker服务并启动的直接调到第 3 步

Ubuntu:

sudo apt-get -y install docker.io

CentOS:

sudo yum -y install docker.io
  1. 启动Docker服务(已经安装Docker服务并启动的直接调到第 3 步
sudo service docker start
  1. 启动SEC服务(指令中8793是后台访问端口, 可根据需求修改为其他端口,NODE_COUNT 为执行节点启动的进程数,默认为3)
docker run -d -p 8793:80 --name sec --env NODE_COUNT=3 smallcham/sec:all-in-0.1 && docker logs -f sec --tail 10
  1. 服务启动后初始用户为:root, 初始密码将会打印在控制台,可在登录后修改。

二、使用容器分布式部署(推荐)

  1. 首先需要安装Docker服务,Ubuntu可使用以下指令直接安装(已经安装Docker服务并启动的直接调到第 3 步

Ubuntu:

sudo apt-get -y install docker.io

CentOS:

sudo yum -y install docker.io
  1. 启动Docker服务(已经安装Docker服务并启动的直接调到第 3 步
sudo service docker start
  1. 使用容器启动并初始化MySQL数据库
docker run --name sec-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secpassword -d mysql:5.7
wget https://raw.githubusercontent.com/smallcham/sec-admin/master/pack/create_db.sql

等待半分钟,mysql启动完毕后执行

docker exec -i sec-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /你下载的目录/create_db.sql

如果你要使用自己现有的数据库可以直接将create_db.sql中的SQL执行进行初始化

  1. 使用容器启动Redis
docker run -p 6379:6379 --name sec-redis -d redis

你也可以使用自己现有的Redis

  1. 使用容器启动SEC控制系统
docker run -d -p 启动端口:80 --name sec --env HOST=http://部署机器的IP:启动端口(启动后用这个URL在浏览器访问) --env DB_URL=MySQL用户名:MySQL密码@MySQLIP:数据库端口(一默认是3306)/sec --RDS_URL=Redis库号(默认写0):Redis密码(没有密码可以不写)@RedisIP:Redis端口(默认是6379) -v ~/sec-script:/var/www/html/sec-admin/static/plugin/usr smallcham/sec:core-0.1 && docker logs -f sec --tail 10

例如

docker run -d -p 8793:80 --name sec --env HOST=http://192.168.0.107:8793 --env DB_URL=root:[email protected]:3306/sec --env RDS_URL=0:[email protected]:6379 -v ~/sec-script:/var/www/html/sec-admin/static/plugin/usr smallcham/sec:core-0.1 && docker logs -f sec --tail 10
  1. 登录SEC管理系统 使用节点添加功能生成并拷贝到终端执行节点安装指令,节点支持分布式,只要保证部署服务器与控制系统以及Redis之间互通即可,当然也可以直接在同一台服务器部署,详细操作请查看演示视频

三、不使用容器本地部署(以下示例基于Ubuntu)

  1. 安装MySQL、Redis、Nodejs、npm、Nginx、Python3、pip3 各种类的系统内的安装方法都大同小异, 这里就不作详细介绍。
  2. 编译Web页面项目
* git clone https://github.com/smallcham/sec-admin-web.git
* cd 你的项目路径/sec-admin-web/
* npm install
* npm run build
* ln -s 你的项目路径/sec-admin-web/dist 你的Nginx网站目录/

编译好的静态文件在项目的 dist 目录 3. 运行SEC核心控制系统

 * git clone https://github.com/smallcham/sec-admin.git
 * cd 你的项目路径/sec-admin/
 * pip install -r requirements.txt // 找不到pip的尝试 pip3 install -r requirements.txt
 * 打开项目路径下的 src/model/enum.py 修改Env类 默认LOCAL判断内的数据库以及Redis配置为你安装的配置
 * nohup gunicorn -w 10 app:flask_app
  1. 配置Nginx访问

以下配置模板供参考,端口或者目录不一样请自行修改。

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm;

        server_name _;

        location / {
		root /var/www/html/dist;
		try_files $uri $uri/ 404;
        }

        location /api/ {
                proxy_pass http://localhost:8000/;
        }

        location /static/plugin/usr/ {
                proxy_pass http://localhost:8000;
        }
}

配置好后记得重启nginx服务 5. 启动执行节点

* git clone https://github.com/wanzywang/sec-scannode.git
* cd 你的项目路径/sec-scannode/
* pip install -r requirements.txt // 找不到pip的尝试 pip3 install -r requirements.txt
* 打开项目根目录的 config.py 修改redis配置为你安装的ip以及密码
* python -u scan.py

功能介绍

插件说明

SEC支持添加自定义扫描插件脚本,目前仅支持Python语言,格式如下。

//target参数为扫描目标, 可以是IP也可以是域名,具体取决于资产录入的是ip还是域名
def do(target):
	if 发现漏洞:
		return True, '发现漏洞,原因***'
	else:
		return False, ''

可参考以下FTP弱口令扫描脚本 其中 SEC_USER_NAME、SEC_PASSWORD 为字典功能中录入的Key值,扫描节点会自动将数据字典中添加的内容以设置的分隔符或JSON格式转化为数组或字典,可以通过字典Key值直接引入使用。

from ftplib import FTP

def do(target):
    port = 21
    time_out_flag = 0
    for user in SEC_USER_NAME:
        print(user)
        for pwd in SEC_PASSWORD:
            print(pwd)
            try:
                ftp = FTP(target, timeout=3)
                ftp.connect(target, port, 5)
                if ftp.login(user, pwd).startswith('2'):
                    return True, '用户: ' + user + ' 存在弱口令: ' + pwd
            except Exception as e:
                if not str(e).startswith('530'):
                    print(e)
                if e.args[0] == 113 or e.args[0] == 111 or 'timed out' in str(e):
                    time_out_flag += 1
                    if time_out_flag > 2:
                        print('connection timeout , break the loop .')
                        return False, ''
                else:
                    print(e)
    return False, ''

docker run -h 可以设置hostname

#使用帮助

buildzip.sh 可以生成代码的zip包

docker build -t xn-secnode .

docker run -d -h slavenode-1 --env MQ_ENV=**** xn-secnode

#打包需要同时更新dockerfile和 build.sh的版本号

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].