Coder Social home page Coder Social logo

wgpsec / enscan_go Goto Github PK

View Code? Open in Web Editor NEW
2.6K 2.6K 262.0 3.03 MB

一款基于各大企业信息API的工具,解决在遇到的各种针对国内企业信息收集难题。一键收集控股公司ICP备案、APP、小程序、微信公众号等信息聚合导出。

Home Page: https://opensource.wgpsec.org

License: Apache License 2.0

Go 99.01% Shell 0.65% Dockerfile 0.34%
app icp redteam redteam-tools

enscan_go's Introduction

Logo

ENScan Go

剑指HW/SRC,解决在HW/SRC场景下遇到的各种针对国内企业信息收集难题

GitHub stars GitHub releases License Downloads Go Report Card Twitter

探索更多Tricks »

下载程序 · 反馈Bug · 提交需求

功能列表

使用程序可能导致账号被封,仅用于信息收集用途,请勿用于非法用途

若该程序影响或侵犯到您的权益,请与我们联系

ENScanGo

  • 使用支持以下API,并支持合并数据导出
    • 爱企查 (未登陆信息带*)
    • 天眼查
    • 阿拉丁
    • 酷安市场
    • 七麦数据
    • 站长之家
    • veryvp
  • 查询信息
    • ICP备案
    • APP
    • 微博
    • 微信公众号
    • 控股公司
    • 供应商
    • 客户信息
    • 小程序
    • 控股X的公司的以上所有信息
    • ...
  • 通过APK市场收集使用信息

使用指南

第一次使用

前往RELEASE下载编译好的文件使用

初次使用时需要使用 -v 命令生成配置文件信息

./enscan -v

遇到问题请加上参数 --debug 提issue

如果查询不出来目标网站信息,可以都挂上BURP代理进行查询

自行编译请使用 go 编译命令,或使用编译脚本 build.sh

登陆配置

AQC

出现安全验证请勿结束进程,请使用带cookie的浏览器过验证即可继续

请注意获取COOKIE域名,默认查询为aiqicha.baidu.com,请勿使用 aiqicha.com

Cookie信息请勿直接 document.cookie,可能因为http-only 选项无法复制全导致登陆失败

image-20221028223835307

阿拉丁使用的是TOKEN

点击任意请求,拿到请求里的TOKEN

image-20230709132223242

TYC tycid

配置COOKIE后配置tycid

image-20230722194839975

快速使用

默认公司信息 (网站备案, 微博, 微信公众号, app)

./enscan -n 小米

对外投资占股100%的公司 获取孙公司(深度2)

./enscan -n 小米 -invest 100 -deep 2

组合筛选

大于51%控股公司、供应商、分支机构,只要ICP备案信息,并且批量获取邮箱信息

./enscan -n 小米 -field icp --hold --supplier --branch --email 

使用不同渠道

使用天眼查数据源(或可设定为 all 组合多个数据源)

./enscan -n 小米 -type tyc

使用多数据源一起收集(暂不支持多渠道+筛选)

./enscan -n 小米 -type aqc,chinaz,qimai,coolapk

选项说明

field 获取字段

使用参数 field指定需要查询的信息,可指定多参数一起查询,方便快速收集

-n 小米 -field icp,app

支持以下参数

  • icp 网站备案信息
  • weibo 微博
  • wechat 微信公众号
  • app 应用信息
  • job 招聘信息
  • wx_app 微信小程序
  • copyright 软件著作权
  • supplier 供应商信息(通过招标书确定)

type 获取字段

使用参数 type可以指定需要API数据源

-n 小米 -type tyc
  • aqc 爱企查
  • tyc 天眼查
  • all 全部查询
  • aldzs 阿拉丁 (仅小程序)
  • coolapk 酷安市场 (仅APP)
  • qimai 七麦数据(仅APP)
  • chinaz 站长之家(仅ICP备案)

完整参数

参数 样例 说明
-n 小米 关键词
-i 29453261288626 公司PID(自动识别类型)
-f file.txt 批量查询,文本按行分隔(可选PID模式)
-type aqc API类型
-o 结果输出的文件夹位置(可选)
-is-merge 合并导出
-invest 投资比例
-field icp 获取字段信息
-deep 1 递归搜索n层公司
-hold 是否查询控股公司
-supplier 是否查询供应商信息
-branch 查询分支机构(分公司)信息
-is-branch 深度查询分支机构信息(数量巨大)
-api 是否API模式
-client 客户端模式通道
-debug 是否显示debug详细信息
-is-show 是否展示信息输出
-uncertain-invest 包括未公示投资公司(无法确定占股比例)
-is-group 查询关键词为集团
-is-pid 批量查询文件是否为公司PID
-delay 每个请求延迟(S)-1为随机延迟1-5S
-proxy 设置代理
-timeout 每个请求默认1(分钟)超时
-no-merge 批量查询【取消】合并导出
-v 版本信息
-email 获取email信息

API模式

ENScanGo可使用API模式进行分布式部署,搭建API服务构建资产处理

使用rmq作为任务队列组件,在redis存入任务信息,可分部署部署。数据可存储至mongodb进行调用分析。

api调用效果(前端开发中)

可使用 https://enscan.wgpsec.org/api/info 体验

image-20221028231744940

image-20221028231815437

image-20221028231831102

image-20221028232013627

API说明

在获取信息的内容在数据库内不存在时,会自动添加队列任务收集相关信息

状态信息

返回当前系统状态信息

GET /status

获取信息

GET /api/info?search=小米&invest=100&branch=true
参数 参数 说明
orgname 文本 完整公司名称(二选一)
search 文本 模糊匹配公司名称(二选一)
type 文本,与命令参数一致 数据源
field 文本,与命令参数一致 筛选指定信息
duplicate true 加上参数去重
depth 数字 爬取几层公司 如 2 为孙公司
invest 数字 筛选投资比例
holds true 筛选控股公司
supplier true 筛选供应商信息
branch true 筛选分支信息
output true 为true导出excel表格

股权穿透

返回投资、股东关联信息

GET /api/stockchart
参数 参数 说明
orgname 文本 完整公司名称
search 文本 模糊匹配公司信息
duplicate true 是否去重

添加获取任务

添加新的任务信息

POST /api/info
参数 参数 说明
orgname 文本 完整公司名称
update true 是否更新
type 文本,与命令参数一致 数据源
invest_rd true 不确定投资
branch true 获取分支信息
field 文本,与命令参数一致 筛选字段
invest 数字 投资信息

启动部署

golang 版本依赖

go >= 1.17

然后我们需要对配置文件进行修改,加入数据库连接信息,与common同级加入以下配置

api:
  server: "127.0.0.1" # redis地址
  mongodb: "mongodb://user:[email protected]:27017" # mongodb 连接信息
  redis: "redis_password" # redis 密码
  port: "8080" # 启动API端口

mongodb数据库初始化配置

db.createCollection("app");
db.createCollection("branch");
db.createCollection("copyright");
db.createCollection("enterprise_info");
db.getCollection("enterprise_info").createIndex({
    name: "hashed"
}, {
    name: "name"
});
db.createCollection("holds");
db.createCollection("icp");
db.createCollection("infos");
db.createCollection("invest");
db.createCollection("job");
db.createCollection("partner");
db.createCollection("supplier");
db.createCollection("wechat");
db.createCollection("weibo");
db.createCollection("wx_app");

API模式

启动API模式将在配置端口监听,并启动api服务,可通过api服务进行调用读取数据

在此场景下无需配置cookie信息

./enscan --api

客户端模式

可作为部署节点,读取任务队列自动读取信息写入数据库

./enscan --client

交流&反馈

关注公众号 WgpSec狼组安全团队 回复加群一起交流~

Stargazers over time

404星链计划

ENScanGo 现已加入 404星链计划

JetBrains OS licenses

ENScanGo had been being developed with GoLand IDE under the free JetBrains Open Source license(s) granted by JetBrains s.r.o., hence I would like to express my thanks here.

enscan_go's People

Contributors

blyth0he avatar keac avatar ruishawn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

enscan_go's Issues

建议

能不能添加小蓝本的接口呢,查询app信息

现在可以支持查询所有企业吗?

image

从程序运行信息看到"默认选择第一个企业",那查询所有企业,是需要我先把PID导出到文件,然后 -f pid.txt来查吗?还是有更简单的方式?

查询报错问题

hello,麻烦问下,问什么在进行批量查询时,有时候会报这种错误呀
image

递归查询bug

image
.\ENScanPublic_amd64_windows.exe -n 厦门经济特区房地产开发集团有限公司 -invest-num 50 -is-merge -is-recursion
上图是用上述命令跑出来的备案域名结果
image
image
在爱企查上是第二层子公司,是能够查到备案域名的,结果文件中也存在该公司,但是没有查出备案域名
image

查询没有网站的问题

收到了好多小伙伴对没有收集到网站的问题
这样做下说明 网站字段更改了 website改为 icp了!!!!

API 模式 消费者无法消费队列

使用API模式进行部署,并注册了一个消费者,但是没有数据。

API 启动命令:

go run enscan.go -config config.yaml -api -debug

client 启动命令:

go run enscan.go -config config.yaml -client task -debug

添加一个搜索小米公司:

POST /api/info

orgname=%E5%B0%8F%E7%B1%B3%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E8%B4%A3%E4%BB%BB%E5%85%AC%E5%8F%B8&branch=false&update=true

API 日志如下:
image

但这个任务貌似没有处理。

client和API端都没有打印:任务接受成功。

关于指针报错的问题

当导出数据过大时,会报[Error] [QCC] ERROR: runtime error: invalid memory address or nil pointer dereference%,可以把结果实时存储在文件中吗,而不是结束的时候在一起存储。

建议将查询结果的website统一提取

.\ENScanPublic_amd64_windows.exe -f keywords.txt #查询指定多家投资公司

每个主体都会单独生成一个xlsx文件,如果想汇总URL、IP等就需要一个一个打开复制粘贴,用notepad++处理结果也很麻烦

a6fe1622c3e147447439be9e6d140f2

ENScan的python版本是会把website提取到test.txt

a4ebf0a8f8eddd46e6178723645f908

所以建议将查询结果的website统一提取,(notepad++处理后的格式是:网站名称 域名)

查询遗漏问题

ENScanPublic_amd64_windows_v0.0.3.exe -n **民生银行股份有限公司 -invest-num 50
我这里用这条命令查股权50以上的企业,以下是查询结果
image
这里看到民生金融公司
image
查询该公司的备案域名
image
是能够查到有备案域名的,但是使用工具没有查到
image
同样的命令 我在查其他公司的时候是能够覆盖到底下子公司的备案域名的,但是这里不行,可以问下这是什么原因吗

小程序获取

小程序获取好像有点问题,获取到的很少,大佬能否优化下

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.