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, 域名监控, 实时处理, 开源情报, 情报收集, 漏洞研究