navanee7h/Threat-Intelligence-Dashboard
GitHub: navanee7h/Threat-Intelligence-Dashboard
面向SOC分析师的多源威胁情报仪表板,将IOC多源分析、AWS云威胁检测与API审计日志监控整合在一个Streamlit界面中。
Stars: 0 | Forks: 0
# 🛡️ SOC 威胁情报仪表板
一个为 SOC 分析师工作流程构建的实时、多源威胁情报平台。调查可疑的 IP、域名和文件哈希——并监控您的 AWS 云环境以应对实时威胁——所有这些都可以在单个仪表板中完成。
## ✨ 功能
### 🔍 选项卡 1 — IOC 分析器
| 功能 | 描述 |
|---|---|
| VirusTotal 分析 | 在 91 个杀毒引擎中检查 IP/域名/哈希,并给出 MALICIOUS / SUSPICIOUS / CLEAN 判定 |
| Shodan InternetDB | 获取开放端口、主机名、运行中的服务、标签和已知 CVE——无需付费密钥 |
| 地理位置映射 | 显示国家、城市、ISP、时区,附带实时交互式地图 |
| IP 情报 | 来自 VirusTotal 的所有者、信誉评分、国家 |
| 域名情报 | 注册商、分类、最后分析日期 |
| 文件哈希情报 | 文件名、类型、大小、威胁标签、杀毒标签 |
### ☁️ 选项卡 2 — AWS GuardDuty
| 功能 | 描述 |
|---|---|
| 实时发现项 | 从您的 AWS 环境中拉取实时威胁发现项 |
| 自动分诊 | 根据严重程度将发现项归类为 TRUE POSITIVE / INVESTIGATE / FALSE POSITIVE |
| 严重程度过滤器 | 按全部 / 高 (7+) / 中及以上 (4+) 进行过滤 |
| VirusTotal 交叉检查 | 对 GuardDuty 发现项中发现的任何可疑 IP 进行一键 IP 信誉检查 |
| 建议操作 | 根据每个发现项的严重程度自动生成 SOC 响应步骤 |
| 摘要指标 | 总计 / 高 / 中 / 低发现项计数 |
### 📋 选项卡 3 — CloudTrail 监控
| 功能 | 描述 |
|---|---|
| API 活动流 | 从 CloudTrail 拉取最新的 AWS API 调用 |
| 可疑事件检测 | 标记高风险 API 调用:StopLogging、CreateUser、AttachUserPolicy、CreateAccessKey、DeleteTrail 等 |
| 用户归因 | 显示执行每个操作的 IAM 用户 |
| 分析师指导 | 解释标记每个可疑事件的原因及推荐的后续步骤 |
## 🛠️ 技术栈
| 工具 | 用途 |
|---|---|
| Python | 核心语言 |
| Streamlit | Web UI 框架 |
| VirusTotal API v3 | 恶意软件与信誉分析(91 个引擎) |
| Shodan InternetDB | 免费端口扫描与 CVE 情报 |
| ipapi.co + ip-api.com | IP 地理位置(双重回退,无需密钥) |
| AWS GuardDuty | 云威胁检测发现项 |
| AWS CloudTrail | AWS API 活动审计日志 |
| boto3 | AWS Python SDK |
| python-dotenv | 安全的 API 密钥管理 |
## ⚙️ 安装与设置
### 1. 克隆仓库
```
git clone https://github.com/navanee7h/Threat-Intelligence-Dashboard.git
cd Threat-Intelligence-Dashboard
```
### 2. 安装依赖
```
pip install -r requirements.txt
```
### 3. 获取您的 API 密钥
| 服务 | 链接 | 费用 |
|---|---|---|
| VirusTotal | https://virustotal.com → 注册 → 个人资料 → API Key | 免费 |
| AWS 账户 | https://aws.amazon.com/free | 免费套餐 |
### 4. AWS 设置
**启用 GuardDuty:**
```
AWS Console → GuardDuty → Get Started → Enable GuardDuty
```
**为 API 访问创建 IAM 用户:**
```
AWS Console → IAM → Users → Add User
Username: soc-dashboard-user
Attach policies:
→ AmazonGuardDutyReadOnlyAccess
→ AWSCloudTrail_ReadOnlyAccess
→ AmazonS3ReadOnlyAccess
→ Create User → Download credentials CSV
```
**配置 AWS 凭证:**
```
aws configure
# 输入 Access Key ID、Secret Access Key、区域 (ap-south-1)
```
**生成用于测试的 GuardDuty 示例发现项:**
```
GuardDuty → Settings → Generate Sample Findings → Generate
```
### 5. 在项目根目录下创建 `.env` 文件
```
VT_API_KEY=your_virustotal_api_key_here
AWS_REGION=ap-south-1
```
### 6. 运行应用
```
# Windows 推荐
python -m streamlit run app.py
# Linux/Mac
streamlit run app.py
```
### 7. 在浏览器中打开
```
http://localhost:8501
```
## 🧪 示例测试输入
### IOC 分析器
| 类型 | 输入 | 预期结果 |
|---|---|---|
| 恶意 IP | `185.220.101.45` | 🔴 恶意 — Tor 出口节点 |
| 可疑 IP | `45.33.32.156` | 🟡 可疑 — 带有 CVE 的 scanme.nmap.org |
| 干净 IP | `8.8.8.8` | 🟢 干净 — Google DNS |
| 恶意域名 | `malware.wicar.org` | 🔴 恶意 |
| EICAR 测试哈希 | 搜索 "eicar md5 hash" | 🔴 恶意 |
### GuardDuty
```
After generating sample findings:
→ Load findings → filter High Only (7+)
→ Open any finding with suspicious IP
→ Click "Check IP on VirusTotal"
→ Cross-referenced verdict appears instantly
```
### CloudTrail
```
→ Go to AWS Console → IAM → Create a test user
→ Come back to CloudTrail tab → Load Events
→ "CreateUser" appears flagged as SUSPICIOUS
```
## 📁 项目结构
```
threat-intel-dashboard/
├── app.py # Main Streamlit application
├── .env # API keys (never commit this)
├── .gitignore # Excludes .env from git
├── requirements.txt # Python dependencies
├── README.md # Project documentation
└── screenshots/ # Dashboard screenshots
├── ioc_analyzer.png
├── guardduty.png
└── cloudtrail.png
```
## 📦 requirements.txt
```
streamlit
requests
boto3
awscli
python-dotenv
```
## 🔐 安全说明
- API 密钥通过 `.env` 管理——绝不硬编码
- `.gitignore` 确保凭证不会被推送到 GitHub
- AWS IAM 用户仅具有只读权限——无写入访问权限
- 使用 Shodan InternetDB 代替付费 API——无需敏感密钥
- 所有 AWS 操作均遵循最小权限访问原则
## 🚀 这与 SOC 工作的关系
本项目直接模拟了 L1 SOC 分析师的核心职责:
| SOC 任务 | 仪表板如何涵盖 |
|---|---|
| 告警分诊 | 基于严重程度的自动判定(真/假阳性) |
| IOC 调查 | 通过 VirusTotal + Shodan 对可疑指标进行丰富 |
| 威胁情报 | IP 信誉、CVE、开放端口、地理位置 |
| 云监控 | 带有严重程度分类的实时 GuardDuty 发现项 |
| 审计日志审查 | CloudTrail 可疑 API 调用检测 |
| 升级决策 | 每个发现项严重程度的自动建议操作 |
| 跨工具关联 | GuardDuty 发现项 → 一键 VirusTotal IP 检查 |
## 🎯 展示的关键 SOC 概念
- **真阳性 vs 假阳性**分类
- 使用多个威胁情报源进行 **IOC 丰富**
- 从检测到行动的**告警分诊**工作流
- **云安全监控**(AWS GuardDuty + CloudTrail)
- 通过 CloudTrail API 监控进行**权限提升检测**
- **防御规避检测**(StopLogging、DeleteTrail)
- 跨 VirusTotal + Shodan 的**威胁情报关联**
## 👤 作者
**Navaneeth Krishna C**
MCA 毕业生 | 有志成为 SOC 分析师
📧 navaneeth364@gmail.com
🔗 [linkedin.com/in/navaneethkrishnac](https://linkedin.com/in/navaneethkrishnac)
🐙 [github.com/navanee7h](https://github.com/navanee7h)
## 📄 许可证
本项目是开源的,并基于 [MIT 许可证](LICENSE) 提供。
标签:AMSI绕过, Ask搜索, AWS安全, CloudTrail, DAST, GuardDuty, HTTP/HTTPS抓包, IAM, IOC分析, IP地理位置, Kubernetes, VirusTotal, 云环境监控, 可疑IP分析, 可视化大屏, 域名查询, 威胁情报, 威胁检测, 安全运营中心, 开发者工具, 态势感知, 态势感知平台, 恶意软件分析, 文件哈希, 漏洞分析, 网络安全, 网络安全防护, 网络映射, 路径探测, 逆向工具, 隐私保护