{"id":13842442,"url":"https://github.com/CTF-MissFeng/GoScan","last_synced_at":"2025-07-11T15:31:35.017Z","repository":{"id":42775359,"uuid":"321045074","full_name":"CTF-MissFeng/GoScan","owner":"CTF-MissFeng","description":"GoScan是采用Golang语言编写的一款分布式综合资产管理系统，适合红队、SRC等使用","archived":false,"fork":false,"pushed_at":"2021-05-06T07:29:26.000Z","size":11665,"stargazers_count":708,"open_issues_count":9,"forks_count":160,"subscribers_count":24,"default_branch":"main","last_synced_at":"2024-11-17T05:27:14.354Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CTF-MissFeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-13T11:08:12.000Z","updated_at":"2024-11-07T03:53:34.000Z","dependencies_parsed_at":"2022-09-11T20:21:23.543Z","dependency_job_id":null,"html_url":"https://github.com/CTF-MissFeng/GoScan","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CTF-MissFeng%2FGoScan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CTF-MissFeng%2FGoScan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CTF-MissFeng%2FGoScan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CTF-MissFeng%2FGoScan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CTF-MissFeng","download_url":"https://codeload.github.com/CTF-MissFeng/GoScan/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225736902,"owners_count":17516254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T17:01:34.871Z","updated_at":"2024-11-21T13:30:33.211Z","avatar_url":"https://github.com/CTF-MissFeng.png","language":"Go","readme":"# GoScan\n\u003e GoScan是采用Golang语言编写的一款分布式综合资产管理系统，Web端负责展示数据和接受输入，Client端负责任务运行。\n\n\u003e 下载地址：https://github.com/CTF-MissFeng/GoScan/releases\n\n### 一、项目特点\n\u003e 往往在开发此类工具时，需要调用各种不同的三方工具(python、java、go)等语言编写好的资产搜集工具，调用时通过fork进程启动资产搜集工具，对于执行效率、部署都不太友好。\n\n\u003e 本项目所有模块均为Go开发：(子域名探测、端口扫描及指纹识别、web爬虫、web指纹识别、web漏洞扫描、服务漏洞破解等等)，只需要执行Client即可，不需要其他依赖环境，分布式docker部署方便。\n\n\u003e 分布式简单：通过golang语言编写的nsq消息队列进行分布式调度，排除了如redis、其它大型的MQ环境（本项目只有三个可执行文件：web、nsq、client）\n\n### 二、模块介绍\n\n- 子域名探测：使用rapid7源和被动搜索(30余个接口)、web主动爬虫寻找子域名、多个dns源探测、识别CDN等\n\n- 端口扫描：自写的端口扫描及指纹识别，速度比nmap+masscan块，加上waf识别及空间探测结果\n\n- web探测：主动爬虫搜集js、url、子域名、敏感信息等\n\n- web指纹：提供web页面自编写web指纹\n\n- web漏洞扫描等等模块：待开发中\n\n### 三、部署教程\n\u003e 以ubuntu系统为例\n\n#### 1、Web端\n\n```bash\n# 1、Postgresql数据库安装\n$ apt-get install postgresql postgresql-client # 安装数据库\n$ su postgres\n$ psql -U postgres     # 默认安装密码为空\n$ ALTER USER postgres WITH PASSWORD 'xxxxxx';     # 修改postgre用户数据库密码\n$ CREATE DATABASE goscan;     # 创建数据库\n$ \\q    # 退出\n\n# 2、sql文件导入，使用数据库管理工具或命令行导入sql文件\n\n# 3、Nsq消息队列运行，防火墙开放以下端口\n$ nohub ./nsqd -tcp-address 本机IP:4150 -http-address 本机IP:4151 -max-msg-timeout 1h \u003e nsq.log \u0026\n\n# 4、config.toml编辑，配置数据库、web、nsq\n\n# 5、运行web\n$ nohub ./Web \u003e web.log \u0026\n\n# 6、浏览器打开web，进入到扫描引擎中进行配置\n```\n\n#### 2、Client端\n\n```bash\n# 1、配置config.toml\n\n# 2、运行Client或使用docker编译运行多个Client\n\n$ nohub ./Client  # 单独运行\n\n# docker编译成images，启动多个实例（Client、config.toml、Dockerfile三个文件单独放一个目录进行编译）\n$ docker build -t goscan:v1 .\n$ docker run -itd --name scan1 goscan:v1\n$ docker run -itd --name scan2 goscan:v1\n$ docker run -itd --name scan3 goscan:v1\n```\n\n### 四、项目截图\n![index](https://github.com/CTF-MissFeng/GoScan/blob/main/doc/1.png)\n\n![index](https://github.com/CTF-MissFeng/GoScan/blob/main/doc/2.png)\n\n![index](https://github.com/CTF-MissFeng/GoScan/blob/main/doc/3.png)\n\n![index](https://github.com/CTF-MissFeng/GoScan/blob/main/doc/4.png)\n\n![index](https://github.com/CTF-MissFeng/GoScan/blob/main/doc/5.png)\n\n### 五、开发进度\n\n2021.02.09\n\n```\n1、修复分布式任务执行超时问题\n\n2、分布式结果反馈使用http提交\n```\n\n2021.02.04\n\n```\n1、修复致命错误：nsq生产者断线重连\n\n2、web探测加入主动爬虫模块，进行二次搜集子域名；敏感信息搜集、url、js等文件链接收集\n\n3、web探测加入截图功能，使用谷歌无头浏览器进行驱动，由web端进行\n```\n\n2021.02.1\n\n```\n1、更换web框架，不使用gin框架\n\n2、优化端口扫描、新增子域名探测模块、web指纹探测模块(所有模块都为go写，不调用三方组件)\n\n3、web指纹探测模块 指纹规则为json格式，支持自定义添加\n\n4、添加扫描引擎，配置信息统一下发到客户端\n\n5、消息队列nsq采用两组，避免消息流过大及单点故障\n\n6、新增综合扫描（一条龙服务）\n```\n\n2021.01.03\n\n```\n1、Web框架整体完成：\n\n后台管理：用户登录、添加用户、登录锁定、删除用户、日志管理、消息通知设置（邮件、server酱）等\n\n实用功能：杀毒进程检测、分布式端口扫描\n\n2、客户端：\n\n端口扫描：采用golang开发端口扫描器（Syn探测+精简服务指纹库）\n```\n","funding_links":[],"categories":["Others (1002)","Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCTF-MissFeng%2FGoScan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCTF-MissFeng%2FGoScan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCTF-MissFeng%2FGoScan/lists"}