尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

开源 OSINT 信息收集框架 SpiderFoot:三条命令部署与攻击面测绘实战

开源 OSINT 信息收集框架 SpiderFoot:三条命令部署与攻击面测绘实战 开源 OSINT 信息收集框架 SpiderFoot三条命令部署与攻击面测绘实战【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot接手一个域名之后你想在短时间内搞清楚它有多少子域名、关联了哪些邮箱和 IP 段、挂在哪几个云上、有没有被黑名单收录过——逐个平台手工查既慢也容易漏。SpiderFoot 做的事情就是把这个 OSINT 信息收集过程自动化两百多个收集模块互相喂数据从公开渠道把域名、IP、邮箱、社交账号、云存储桶等线索扒出来再用内置的关联规则帮你从一堆原始数据里挑出真正值得关注的信号。它是干什么的适合谁SpiderFoot 是一个 Python 编写的开源 OSINT开源情报自动化框架MIT 协议自 2012 年起持续维护当前稳定版为 4.0见 VERSION要求 Python 3.7。它的定位很明确给渗透测试、红队侦察和防御团队做攻击面测绘与威胁情报分析——既可以对着别人的目标做侦察也可以对着自己组织的资产做暴露面自查。Web 界面和纯命令行两种用法都支持。三条命令完成部署界面和 CLI 都能用本地运行的最短路径是克隆仓库、装依赖、启动内嵌 Web 服务git clone https://gitcode.com/GitHub_Trending/sp/spiderfoot cd spiderfoot pip3 install -r requirements.txt python3 ./sf.py -l 127.0.0.1:5001跑起来之后浏览器打开http://127.0.0.1:5001就是它的 Web 界面点 New Scan填入目标支持 IP、域名/子域名、主机名、CIDR 网段、ASN、邮箱、手机号、用户名、人名、比特币地址这十类实体勾选模块Run Scan。之后模块完成数量、新发现的数据类型、潜在风险都能在页面上实时看到。不想装 Python 环境的话仓库根目录自带 Dockerfile构建后docker run -p 5001:5001 spiderfoot即可容器默认就监听 5001 端口。纯命令行同样完整。python3 ./sf.py -s example.com -u passive就能以纯被动模块档跑一次扫描-o json或-o csv控制输出格式结果直接落管道。扫描数据存在本地 SQLite 里想要细查可以直接查库。能力拆解这四类事它能替你做完资产与暴露面测绘。给定一个域名它会把能找到的子域名尽量枚举出来被动 DNS、证书透明度日志、暴力破解、相似域名等路子都有尝试 DNS 区域传输检查子域名是否存在可被接管的悬挂记录modules/sfp_subdomain_takeover.py还能识别哪些 IP 落在 AWS、Azure 这类第三方托管段里。做接手侦察或暴露面盘点这是主力。实体与敏感信息提取。各模块按发布/订阅模式级联工作一个模块发现的域名喂给 DNS 解析解析出的 IP 再触发端口扫描。扫描过程中会持续从内容里提取邮箱、电话号码、人名、信用卡号、IBAN、比特币/以太坊地址、哈希值以及图片和文档的元数据。适合做情报深挖而不只是找到资产。威胁情报查询。对扫出来的每个域名、IP、邮箱它会自动去查 SHODAN、GreyNoise、HaveIBeenPwned、AlienVault OTX、abuse.ch、Spamhaus 等大量数据源的黑名单、泄露库和历史 DNS 记录。哪些 IP 被多家情报源同时标记为恶意、哪个邮箱出现在多个泄露事件中扫完就能对号入座。YAML 关联规则分析。这是 4.0 的主打能力correlations/ 目录下内置 37 条 YAML 规则每次扫描后自动分析结果产出带风险等级的结论——暴露在互联网上的数据库、泄露软件版本号的开放端口、对公网开放的 RDP/VNC 远程桌面、证书过期、来自粘贴网站的唯一线索、异常值 Web 服务器往往是影子 IT等等。不想只用现成的话拷贝 correlations/template.yaml 改成自己的规则、重启即生效规则语法在 correlations/README.md 里有完整参考写法类似一条带过滤、分组和阈值判断的数据库查询。一次真实感的走查从域名到一条高危结论假设要盘点一个公司的攻击面。用命令行只启用 DNS 解析和端口扫描两个模块跑一遍python3 ./sf.py -s www.example.com -m sfp_dnsresolve,sfp_portscan_tcp。跑的过程中端口扫描模块发现一台主机 22 端口开着banner 是SSH-2.0-OpenSSH_7.2p2扫描收尾时关联规则open_port_version命中直接输出一条结论Software version revealed on open port: SSH-2.0-OpenSSH_7.2p2——OpenSSH 7.2 是多年前就有补丁的旧版本这条结论可以原样写进报告。如果这次扫描还顺手发现 3389 端口对公网开放remote_desktop_exposed规则会以 HIGH 风险等级再报一条远程桌面暴露在互联网上。两条结论在 Web 界面和 SQLite 数据库tbl_scan_correlation_results表里都能查到也可以导出。对更大规模的盘点把-m换成-u passive用全部被动模块扫完整数据结果导出 CSV/JSON/GEXF 三种格式分别对应表格处理、自动化集成和网络图谱可视化。新手最容易踩的三个坑模块不是全部要配置但配置了才有完整数据。两百多个模块里大多数不需要 API 密钥就能跑需要密钥的多数有免费档。密钥在 Web 界面按模块填写支持整体导入/导出懒得配也不影响主体功能只是少了几个数据源。-u passive和-m是控制扰民程度的关键。有些模块会主动做端口扫描、抓 banner对别人的生产系统压力不小。只想知道目标暴露了什么用-u passive想精控范围用-m mod1,mod2点名模块-M可以先列出全部可用模块。关联规则出空结果 ≠ 规则坏了。规则只分析扫描结果里已经存在的数据本身不收集数据。如果database_exposed之类的规则没报东西通常只是这次扫描没扫出对应类型的发现换个模块组合再扫即可。另外往 correlations/ 里放错 YAML 语法会导致 SpiderFoot 启动时直接中止报错信息里会指出出错位置。合规边界只对你拥有、或获得明确书面授权的目标运行扫描尤其是带端口扫描、DNS 暴力破解这类主动模块时。尊重各数据源服务条款和速率限制避免高频扫描触发封禁或误报成攻击面向生产环境做暴露面自查时默认用被动档-u passive需要主动验证的部分放到约定时间窗内做。下一步完整文档和更多教程在官方站点安装细节、模块行为、关联规则写法在仓库内 docs/ 和 correlations/README.md 里都能查到遇到问题可以直接在项目的 Discord 社区里问维护者对 issue 和规则贡献的响应一直比较活跃。【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表