Pr4dny4/Unified-CTI

GitHub: Pr4dny4/Unified-CTI

一个统一网络威胁情报平台,整合多源数据并利用 AI 进行分析过滤,专注于暴力破解和密码喷洒攻击的自动化检测与实时告警。

Stars: 0 | Forks: 0

# Unified-CTI 现代组织面临着日益复杂的网络威胁,而传统的响应系统仍然缓慢且依赖手动。统一网络威胁情报整合了来自多个来源的数据,利用 AI 进行分析和过滤,从而实现更快、自动化的威胁检测、响应,并提升整体安全性。 其实你已经非常接近成功了——你的大部分问题都很小,但属于*关键流程断裂*(网络 → 日志记录 → 解析 → 检测)。我将把这些内容整理为 3 部分: # ⚙️ 1. 为什么你的设置会失败(快速现实检查) ### ❌ Ping 只有单向有效 * Windows → Kali ✅ * Kali → Windows ❌(丢包) 👉 这通常意味着: * **Windows 防火墙阻止了 ICMP (ping)** ### ✅ 修复方法(在 Windows 上) 以管理员身份运行 **PowerShell**: ``` netsh advfirewall firewall add rule name="Allow ICMP" protocol=icmpv4:8,any dir=in action=allow ``` # 🧠 2. 为什么你的 SMB 暴力破解没有生成日志 你的错误: ``` System error 67 → network name cannot be found System error 64 → connection dropped ``` 👉 这不是身份验证失败 👉 因此 Windows 不会记录 4625 ## ✅ 正确的 SMB 测试(重要) 不要使用: ``` \\Kaushal\IPC$ ``` 应使用: ``` \\\IPC$ ``` ### 示例: ``` net use \\192.168.38.129\IPC$ /user:user1 wrongpass ``` 👉 现在你应该会得到: ``` System error 1326 → Logon failure ``` ✅ 这将生成: * **事件 ID 4625(正确的暴力破解日志)** # 📡 3. 网络发现设置(你的疑问) 👉 仅对以下网络启用: ### ✅ 专用网络 * 打开网络发现 * 打开文件和打印机共享 ❌ 对以下网络保持关闭: * 来宾网络 * 公用网络 # 🔍 4. 在哪里查看暴力破解日志 打开: ``` Event Viewer → Windows Logs → Security ``` 筛选: ``` Event ID: 4625 ``` ### 重要字段: * Account Name → 目标用户 * Source Network Address → Kali IP * Logon Type: * 3 → SMB(你正在进行的操作) * 10 → RDP # ⚠️ 5. 为什么 crackmapexec 会产生 4776 你观察到: 正确。 👉 因为: * `crackmapexec` → NTLM 身份验证 * Windows 记录: * **4776 = NTLM 身份验证尝试** 👉 但是: * 你的 SIEM 仅解析 **4625** * 所以它忽略了这些事件 ## ✅ 修复选项: ### 选项 A(简单) 👉 修改解析器: ``` if event["event_id"] not in ["4625", "4776"]: continue ``` ### 选项 B(更好的实验一致性) 👉 使用触发 4625 的 SMB 工具: * `smbclient` * `net use` # 🔁 6. 为什么 USER2 没有显示(非常重要) 你的猜测是正确的——以下是真正的问题所在: ### 🔥 这一行代码: ``` unique_users = len(usernames_by_ip[ip]) ``` ### 还有这行: ``` failed_attempts[ip] = {} usernames_by_ip[ip] = {} continue ``` ## 🧠 发生了什么 让我们来模拟一下: ### 你的攻击: ``` user1 user2 user3 user4 user5 ``` ### 当计数达到 5 时: ``` unique_users = 5 → trigger spray ``` 然后: ``` failed_attempts[ip] = {} usernames_by_ip[ip] = {} ``` 💥 所有数据会被瞬间清空 ## ❗ 为什么 USER2 消失了 因为: * 它在检测之前就已经存在 * 但立刻被清除了 * 所以无法对它进行进一步的跟踪/日志记录 ## ✅ 修复方法(最佳实践) ### ❌ 移除完整重置逻辑: ``` failed_attempts[ip] = {} usernames_by_ip[ip] = {} ``` ### ✅ 替换为: ``` spray_last_detected[ip] = now ``` 👉 保持数据完整以供分析 # ⏱️ 7. 最大的 BUG → 时间戳问题 ### ❌ 当前代码: ``` now = datetime.now() ``` 👉 问题所在: * 所有事件在同一个循环中处理 * 使用了相同的时间戳 * 时间窗口逻辑失效 ## ✅ 修复方法: ``` now = datetime.fromtimestamp(event["timestamp"]) ``` ## 🧠 为什么这很重要 你的日志: ``` timestamp: 1777306668 timestamp: 1777306671 timestamp: 1777306674 ``` 👉 这些是真实存在时间间隔的事件 但你正在做的是: ``` now = datetime.now() ❌ same for all events ``` 因此: * 窗口逻辑变成了伪造的 * 密码喷洒检测变得不准确 # 🔐 8. Hydra 问题解释 ``` account not active for remote desktop ``` 👉 意思是: * 用户存在 ✅ * 但不允许通过 RDP 登录 ❌ ## ✅ 修复方法: 运行: ``` Win + R → SystemPropertiesRemote ``` 点击: ``` Select Users → Add ``` 添加: ``` user1 user2 admin1 ``` # 🚀 9. 在 Kali 上进行正确的密码喷洒 ### 第 1 步: ``` echo -e "user1\nuser2\nadmin1" > users.txt ``` ### 第 2 步: ``` for user in $(cat users.txt); do smbclient //192.168.38.129/IPC$ -U "$user%WrongPass123" -c "exit" sleep 2 done ``` ### 第 3 步(第二轮,避免账户被锁定): ``` for user in $(cat users.txt); do smbclient //192.168.38.129/IPC$ -U "$user%Password1234" -c "exit" sleep 2 done ``` # 📘 10. 适用于你 GitHub 的 README(可直接复制粘贴) # SIEM 暴力破解与密码喷洒检测实验环境 ## 🧠 目标 构建一个 SIEM 检测引擎以识别: * 暴力破解攻击 * 密码喷洒攻击 ## 🖥️ 实验环境设置 ### 机器: * Kali Linux(攻击者) * Windows(目标机器) ## 🔧 Windows 配置 ### 1. 启用 RDP * 设置 → 系统 → 远程桌面 → 启用 ### 2. 创建用户 ``` net user user1 Password123 /add net user user2 Password123 /add net user admin1 Password123 /add ``` ### 3. 启用审核日志 运行: ``` secpol.msc ``` 转到: ``` Local Policies → Audit Policy ``` 启用: * 审核登录事件(成功 + 失败) ### 4. 启用 SMB 和网络发现 控制面板 → 网络和共享中心 → 更改高级共享设置 在**专用网络**下: * 启用网络发现 * 启用文件共享 ### 5. 允许 ICMP (Ping) ``` netsh advfirewall firewall add rule name="Allow ICMP" protocol=icmpv4:8,any dir=in action=allow ``` ## ⚔️ 攻击模拟 ### 🔹 暴力破解(单用户) ``` for i in {1..6}; do smbclient //192.168.38.129/IPC$ -U "user1%wrongpass$i" -c "exit" done ``` ### 🔹 密码喷洒 ``` echo -e "user1\nuser2\nadmin1" > users.txt for user in $(cat users.txt); do smbclient //192.168.38.129/IPC$ -U "$user%WrongPass123" -c "exit" sleep 2 done ``` ## 📊 要监控的日志 打开事件查看器: ``` Windows Logs → Security ``` 重要的事件 ID: * 4625 → 登录失败 * 4624 → 登录成功 * 4776 → NTLM 身份验证 ## 🧠 检测逻辑 ### 暴力破解: * 针对单个用户的多次失败尝试 * 在时间窗口内发生 ### 密码喷洒: * 同一 IP 攻击多个用户 * 每个用户的尝试次数较少 ## ⚠️ 遇到的关键问题 ### 1. 未生成日志 * 原因:错误的 SMB 路径 * 修复:使用 `//IP/IPC$` ### 2. 检测中丢失用户 * 原因:密码喷洒检测后状态重置 * 修复:移除完整的重置逻辑 ### 3. 不正确的时间处理 * 原因:使用系统时间而不是事件时间 * 修复: ``` now = datetime.fromtimestamp(event["timestamp"]) ``` ## 🚀 成果 * 成功检测到: * 暴力破解攻击 * 密码喷洒攻击 * 构建了带有告警的实时 SIEM 逻辑 如果你想要进阶: 👉 我可以帮你添加: * MITRE ATT&CK 映射 * Dashboard (Streamlit) * GeoIP + 威胁情报集成 只需点个 👍
标签:AI安全分析, Conpot, ICMP, IPv6, Maven构建, PE 加载器, PowerShell, RDP安全, SMB协议, Windows安全, 事件查看器, 人工智能, 免杀技术, 威胁情报整合, 子域名变形, 子域枚举, 安全事件响应, 安全日志分析, 插件系统, 时间线生成, 暴力破解检测, 用户模式Hook绕过, 系统加固, 红队行动, 统一威胁情报, 网络发现, 网络威胁情报, 网络安全, 自动化响应, 自动化威胁检测, 蜜罐技术, 逆向工具, 防火墙策略, 隐私保护