maruftak/IoTLogAnalyzer

GitHub: maruftak/IoTLogAnalyzer

物联网蜜罐日志分析平台,将多源原始捕获数据自动归一化并转化为结构化威胁情报,支持 CVE 匹配、僵尸网络识别和自动化报告生成。

Stars: 0 | Forks: 0

# IOTlogAnalyze **IoT 蜜罐日志分析平台** — 摄取、分析和可视化蜜罐日志,以揭示攻击者行为、IoT 特定威胁和协调攻击活动。 ## 功能特性 - **多格式摄取** — SQLite `.db`、JSON / JSONL / NDJSON、CSV、Nginx 访问日志、Cowrie SSH 蜜罐日志 - **灵活导入** — HTTP 上传、本地路径直接导入(非常适合多 GB 文件)或递归文件夹扫描 - **地理与 ASN 情报** — 使用 MaxMind GeoLite2 进行国家/地区细分和地图展示 - **攻击者分析** — 热门 IP、用户名、密码、凭据对、时间线热力图 - **IoT 服务检测** — Telnet、SSH、MQTT、Modbus、RTSP、TR-069、ADB、Dahua、Hikvision 等 - **CVE 模式匹配** — 检测 Log4Shell、Spring4Shell、Shellshock、Hikvision 认证绕过、Realtek SDK RCE 等 - **僵尸网络凭据检测** — 匹配已知的 IoT 僵尸网络凭据集(Mirai 变种等) - **攻击活动与威胁情报** — 分配活动 ID,识别惯犯和协调攻击 - **恶意软件活动追踪** — 揭示跨会话的 payload/下载模式 - **报告与导出** — 摘要 PDF、IoC PDF、事件 CSV、热门 IP CSV、凭据 CSV、纯文本 IoC 列表 - **分析缓存** — 内存 + SQLite 缓存,用于快速重复查询,并在新摄取时自动失效 ## 技术栈 | 层级 | 技术 | |-----------|-------------------------------------| | 后端 | Python 3.10+, FastAPI, Uvicorn | | 数据库 | SQLite (通过 `data/analysis.db`) | | GeoIP | MaxMind GeoLite2-City (`.mmdb`) | | 报告 | ReportLab (PDF), pandas (CSV) | | 前端 | 单页 HTML/JS (`frontend/`) | ## 快速开始 ``` # Clone the repo git clone https://github.com/maruftak/IoTLogAnalyzer.git cd IoTLogAnalyzer # Start (自动创建 venv 并安装 dependencies) chmod +x start.sh ./start.sh ``` 然后打开: - **仪表盘** → http://localhost:8000 - **API 文档** → http://localhost:8000/api/docs ## 手动设置 ``` python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cd backend uvicorn main:app --host 0.0.0.0 --port 8000 --reload ``` ## GeoIP 设置(可选) 从 [MaxMind](https://www.maxmind.com) 下载免费的 **GeoLite2-City.mmdb** 并设置路径: ``` export GEOIP_DB_PATH=/path/to/GeoLite2-City.mmdb ``` 如果没有此数据库,国家/地图分析将不可用;其他所有功能均可正常运行。 ## 导入日志 | 方法 | 使用方式 | |------------|--------------------------------------------------------------| | 上传 | `POST /api/upload` — 通过 HTTP 流式传输任何文件 | | 本地路径 | `POST /api/import-path` — 引用主机上已有的文件 | | 文件夹扫描 | `POST /api/import-folder` — 递归排队所有日志文件 | 支持的扩展名:`.db`、`.json`、`.jsonl`、`.ndjson`、`.csv`、`.log`、`.txt` ## API 概览 | 端点 | 描述 | |---------------------------------|----------------------------------| | `GET /api/overview` | 摘要统计信息 | | `GET /api/geo/countries` | 排名靠前的攻击源国家 | | `GET /api/geo/map` | 用于地图视图的地理坐标 | | `GET /api/attackers/top-ips` | 排名靠前的攻击 IP | | `GET /api/attackers/credentials`| 排名靠前的凭据对 | | `GET /api/timeline/daily` | 每日攻击时间线 | | `GET /api/timeline/hourly` | 每小时热力图 | | `GET /api/cve/stats` | CVE 模式匹配 | | `GET /api/iot/stats` | IoT 服务细分 | | `GET /api/campaigns/summary` | 威胁活动摘要 | | `GET /api/reports/executive-pdf`| 下载摘要 PDF 报告 | | `GET /api/reports/events-csv` | 下载事件 CSV 文件 | | `GET /api/reports/ioc-list` | 下载纯文本 IoC 列表 | | `GET /api/health` | 健康检查 | 所有分析端点均接受可选的 `?import_id=` 和 `?days=N` 查询参数,以按导入会话或时间窗口进行过滤。 ## 项目结构 ``` IoTLogAnalyzer/ ├── backend/ │ ├── main.py # FastAPI app & all API routes │ ├── config.py # Paths, CVE patterns, IoT service definitions │ ├── database/ │ │ └── models.py # SQLite schema & query helpers │ ├── ingestion/ │ │ ├── merger.py # Orchestrates ingestion pipeline │ │ ├── detector.py # Auto-detects log format │ │ ├── normalizer.py # Normalizes parsed rows to unified schema │ │ └── parsers/ # cowrie, sqlite, json, csv, nginx parsers │ ├── analysis/ │ │ ├── attack_analyzer.py # Core analytics (geo, IPs, credentials, timeline) │ │ ├── iot_analyzer.py # IoT-specific intelligence │ │ └── campaign_detector.py # Campaign grouping & threat intel │ └── reports/ │ ├── pdf_generator.py # Executive & IoC PDF reports │ └── csv_exporter.py # CSV & IoC text exports ├── frontend/ │ └── index.html # Single-page dashboard ├── data/ # Runtime data (gitignored) │ ├── uploads/ │ ├── exports/ │ └── processed/ ├── requirements.txt └── start.sh ``` ## 环境变量 | 变量 | 默认值 | 描述 | |-----------------|---------------------------------------|-------------------------------| | `GEOIP_DB_PATH` | `../honeyPot/GeoLite2-City.mmdb` | MaxMind GeoLite2 数据库路径 | | `API_HOST` | `0.0.0.0` | 绑定主机 | | `API_PORT` | `8000` | 绑定端口 | | `MAX_UPLOAD_MB` | `20000` (20 GB) | 最大上传大小 | ## 许可证 MIT
标签:AV绕过, CISA项目, Claude, CVE检测, DAST, FastAPI, IoT, Log4Shell, Mirai, Python, SQLite, 信息安全管理, 僵尸网络, 地理定位, 威胁情报, 安全报告, 密码管理, 开发者工具, 恶意软件分析, 无后门, 物联网, 网络安全, 蜜罐, 证书利用, 逆向工具, 隐私保护