4n6ir/osint.4n6ir.com

GitHub: 4n6ir/osint.4n6ir.com

一个面向安全与取证场景的开源情报持续监控平台,帮助团队自动化追踪和分析公开来源的信息变化。

Stars: 3 | Forks: 0

# OSINT OSINT 是一个 AWS CDK 项目,部署了一个仅限邀请、受 Cognito 保护的域名监控应用。 用户通过 Cognito 登录,管理关注列表域名,并在发现匹配的 OSINT 订阅源时收到摘要邮件。 ## 您将获得 - 安全的 Web 应用:`https://osint.4n6ir.com` - 带有 OAuth code flow 的 Cognito 托管登录 - 用于域名监控的关注列表管理 - 订阅源摄取、标准化、编译和 SQLite 搜索 - 通过邮件发送的摘要警报 ## 快速开始 ### 前置条件 - Linux 或 macOS shell 环境 - Python 3.11+(Lambda 目标版本为 Python 3.13) - Node.js 和 AWS CDK CLI (`cdk`) - 具有引导和部署权限的 AWS 凭证 ### 安装 ``` python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt npm install -g aws-cdk ``` ### 配置 大部分部署设置位于 `config.py` 中。在部署到新环境之前,请检查域名、区域、限定符、打包 bucket 以及 Cognito/邮件的默认设置。 ### 部署 ``` export CDK_DEFAULT_ACCOUNT= export CDK_DEFAULT_REGION=us-east-2 cdk bootstrap aws://$CDK_DEFAULT_ACCOUNT/us-east-1 --qualifier lukach cdk bootstrap aws://$CDK_DEFAULT_ACCOUNT/us-east-2 --qualifier lukach cdk bootstrap aws://$CDK_DEFAULT_ACCOUNT/us-west-2 --qualifier lukach cdk synth cdk deploy --all ``` 移除 stacks: ``` cdk destroy --all ``` ### 测试 ``` python -m unittest discover -s tests -p "test_*.py" ``` ## 项目结构 - `app.py`:CDK 应用入口点。 - `config.py`:共享的部署配置。 - `osint/`:CDK stack 定义。 - `domains/`:特定于数据源的 feed 处理器。 - `action/`, `auth/`, `compile/`, `create/`, `daily/`, `digest/`, `download/`, `home/`, `insert/`, `root/`, `search/`, `sqlite/`, `tld/`, `unzip/`, `ses_email/`:运行时的 Lambda 代码。 - `tests/`:单元测试和集成测试。 ## Stack 概览 - `OsintDns`:Route53 托管区域和 ACM/DNS 设置。 - `OsintLayers`:共享的 Lambda 层。 - `OsintIdp`:Cognito 身份验证和登录流程。 - `OsintHome`:经过身份验证的首页 UI。 - `OsintApi`:HTTP API、自定义域名、路由、授权方。 - `OsintDb`:DynamoDB 表。 - `OsintS3`:S3 buckets、SQS 队列和通知。 - `OsintDownload`, `OsintUnzip`, `OsintCompile`, `OsintSqlite`, `OsintInsert`, `OsintSearch`, `OsintCreate`, `OsintDaily`, `OsintDigest`, `OsintTld`:Feed 收集、处理、搜索和摘要 pipelines。 - `OsintOidc`:用于 CI/CD 的 GitHub OIDC 联合身份验证。 ## 支持的 Feeds 该项目目前摄取以下来源: - c2intelfeeds, certpl, disposableemails, inversiondnsbl, oisd, openphish, phishingarmy, phishtank, threatfox, threatview, ultimatehosts, urlhaus - 1hosts, hagezi, shadowwhisperer, stevenblack - `domainsmonitor` 基于订阅。 - 部分 feeds 可能会随着时间推移被弃用。 有关实现细节,请参阅 `domains/` 中的源处理器和 `osint/domains/` 中的 stack 定义。 ## Domains 本部分保留用于标示该项目所使用的 OSINT 列表的出处。 | id | name | url | | :-: | :---- | :-- | | A | c2intelfeeds | [https://github.com/drb-ra/C2IntelFeeds](https://github.com/drb-ra/C2IntelFeeds) | | B | certpl | [https://cert.pl](https://cert.pl) | | C | disposableemails | [https://github.com/disposable-email-domains/disposable-email-domains](https://github.com/disposable-email-domains/disposable-email-domains) | | D | inversiondnsbl | [https://github.com/elliotwutingfeng/Inversion-DNSBL-Blocklists](https://github.com/elliotwutingfeng/Inversion-DNSBL-Blocklists) | | E | oisd | [https://oisd.nl](https://oisd.nl) | | F | openphish | [https://openphish.com](https://openphish.com) | | G | phishingarmy | [https://phishing.army](https://phishing.army) | | H | phishtank | [https://phishtank.com](https://phishtank.com) | | I | threatfox | [https://threatfox.abuse.ch](https://threatfox.abuse.ch) | | J | threatview | [https://threatview.io](https://threatview.io) | | K | ultimatehosts | [https://github.com/Ultimate-Hosts-Blacklist/Ultimate.Hosts.Blacklist](https://github.com/Ultimate-Hosts-Blacklist/Ultimate.Hosts.Blacklist) | | L | urlhaus | [https://urlhaus.abuse.ch](https://urlhaus.abuse.ch) | | M | domainsmonitor **$** | [https://domains-monitor.com](https://domains-monitor.com) | | N | 1hosts | [https://github.com/badmojr/1Hosts](https://github.com/badmojr/1Hosts) | | O | hagezi | [https://github.com/hagezi/dns-blocklists](https://github.com/hagezi/dns-blocklists) | | P | shadowwhisperer | [https://github.com/ShadowWhisperer/BlockLists](https://github.com/ShadowWhisperer/BlockLists) | | Q | stevenblack | [https://github.com/StevenBlack/hosts](https://github.com/StevenBlack/hosts) | **$** 订阅 **+** 已弃用的 feed
标签:AWS CDK, Serverless, 域名监控, 实时处理, 开源情报, 情报收集, 漏洞研究