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绕过, 系统加固, 红队行动, 统一威胁情报, 网络发现, 网络威胁情报, 网络安全, 自动化响应, 自动化威胁检测, 蜜罐技术, 逆向工具, 防火墙策略, 隐私保护