sanjanamarri2521/Splunk_Log_Analysis

GitHub: sanjanamarri2521/Splunk_Log_Analysis

Stars: 0 | Forks: 0

# Splunk 日志分析项目 -- SSH 暴力破解与权限提升检测 ## 项目概述 本项目在云环境中模拟真实攻击场景,并演示如何使用 Splunk 日志分析检测攻击者活动。 该环境构建于 AWS EC2 中,其中: - 部署了一台 Splunk 服务器用于集中式日志监控 - 配置了一台受害 Ubuntu 机器以转发认证日志 - 使用 Hydra 执行了 SSH 暴力破解攻击 - 执行了权限提升和后渗透技术 - 创建了自定义仪表板以可视化和检测攻击者行为 # 环境架构 ## 🔹 基础设施组件 - **SIEM 平台:** Splunk Enterprise - **日志转发:** Splunk Universal Forwarder - **云服务商:** Amazon Web Services (AWS EC2) - **攻击工具:** Hydra (Kali Linux) - **操作系统:** Ubuntu 24.04 LTS # 阶段 0 -- 环境设置 ## 1️⃣ Splunk 服务器设置 - 创建 Ubuntu 24.04 EC2 实例 - 安装 Splunk Enterprise - 更改主机名以提高可见性 - 配置接收端口用于日志采集 - 创建索引:`victim-machine-logs` 图片: ![Splunk Machine Setup](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/97eb660448225413.png) ## 2️⃣ 受害机器设置 - 创建 Ubuntu 24.04 EC2 实例 - 更改主机名以提高可见性 - 启用时间同步 - 创建用户 `testuser` - 安装 Splunk Universal Forwarder - 将 `/var/log/auth.log` 转发至 Splunk 服务器 - 启用 SSH 认证 图片: ![Victim Machine Setup](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b3f83c103b225414.png) # 阶段 1 --- 初始访问 (SSH 暴力破解) ## 攻击执行 - 针对 SSH 服务执行 Hydra - 产生多次失败登录尝试 - 成功以 `testuser` 身份登录 图片: ![Hydra Brute Force Attack](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4fe6b3f171225416.png) ## 生成的日志 (Ubuntu 24.04 -- /var/log/auth.log) - testuser 密码错误 - testuser 密码被接受 - 为用户 testuser 打开会话 ## 检测查询 -- 失败与成功登录 ``` index="victim-machine-logs" earliest="03/04/2026:02:48:00" latest="03/04/2026:02:59:00" sourcetype="auth" (Event="Failed password" OR Event="Accepted password") | stats count by src_ip User Event | fillnull value=0 | sort - count ``` 仪表板图片: ![Failed vs Accepted Login Chart](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8a236fa2f6225417.png) # 阶段 2 --- 权限提升 ## 执行的命令 ``` sudo -l sudo su - ``` 图片: ![Privilege Escalation Detection](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/eb2eb71a5b225418.png) ## 生成的日志 - sudo: testuser : TTY=... - 为用户 root 打开会话 - 为用户 root 关闭会话 ## 检测查询 ``` index="victim-machine-logs" "COMMAND=/usr/bin/su -" | eval command=mvindex(split(_raw,"COMMAND="),1) | table _time host command ``` # 阶段 3 --- 持久化 (后门账户创建) ## 执行的命令 ``` sudo adduser backupadmin sudo usermod -aG sudo backupadmin ``` 图片: ![Account Creation Detection](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b6a558d36b225420.png) ## 检测查询 -- 账户创建 ``` index="victim-machine-logs" "COMMAND=/usr/sbin/adduser" | eval executed_by=mvindex(split(_raw,"sudo: "),1) | eval executed_by=mvindex(split(executed_by," :"),0) | eval command=mvindex(split(_raw,"COMMAND="),1) | eval new_user=mvindex(split(command," "),1) | table _time host executed_by new_user command ``` # 阶段 4 --- 敏感文件访问 ## 执行的命令 ``` sudo nano /etc/passwd cat /etc/passwd cat /etc/shadow ls /root ``` 图片: ![Sensitive File Access Detection](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/513f066674225422.png) ## 检测查询 ``` index="victim-machine-logs" "/etc/passwd" | eval executed_by=mvindex(split(_raw,"sudo: "),1) | eval executed_by=mvindex(split(executed_by," :"),0) | eval command=mvindex(split(_raw,"COMMAND="),1) | table _time host executed_by command ``` # 阶段 5 --- 工具安装 ## 执行的命令 ``` sudo apt install netcat ``` 图片: ![Tool Installation Detection](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/0eeafcf44b225423.png) ## 检测查询 ``` index="victim-machine-logs" "apt install" | eval executed_by=mvindex(split(_raw,"sudo: "),1) | eval executed_by=mvindex(split(executed_by," :"),0) | eval command=mvindex(split(_raw,"COMMAND="),1) | table _time host executed_by command ``` # 阶段 6 --- 枚举 ## 执行的命令 ``` whoami id ``` 图片: ![Enumeration Commands](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/671944a590225425.png) ## 这些命令模拟攻击者在获取访问权限后的侦察行为。 # 完整攻击时间线查询 ``` index="victim-machine-logs" ("su -" OR "adduser" OR "usermod -aG sudo" OR "/etc/passwd" OR "apt install") | eval executed_by=mvindex(split(_raw,"sudo: "),1) | eval executed_by=mvindex(split(executed_by," :"),0) | eval command=mvindex(split(_raw,"COMMAND="),1) | eval action_type=case( searchmatch("su -"), "Privilege Escalation", searchmatch("adduser"), "Persistence - Account Creation", searchmatch("usermod -aG sudo"), "Privilege Grant", searchmatch("/etc/passwd"), "Credential Access", searchmatch("apt install"), "Tool Installation" ) | table _time host executed_by action_type command | sort _time ``` 图片: ![Attack Timeline Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/923f510ca7225427.png) # 关键安全学习要点 - 暴力破解攻击会在认证失败日志中产生明显的峰值 - 多次失败后的成功登录属于高风险行为 - 使用 `sudo su -` 进行权限提升是高价值的检测点 - 未授权账户创建是强有力的持久化指标 - 访问 `/etc/shadow` 属于严重安全事件 - 安装后渗透工具表明攻击者正在进行准备工作 # 结论 本项目展示了端到端的: - 攻击模拟 - 日志采集与解析 - 检测工程 - 仪表板可视化 - 事件时间线重建 它在受控的 AWS 实验室环境中使用 Splunk 复现了真实的 SOC 调查工作流程。 ## 许可证 本项目采用 MIT 许可证授权。详情请参阅 [LICENSE](LICENSE) 文件。
标签:AWS EC2, CSV导出, Hydra攻击模拟, Splunk Universal Forwarder, Splunk仪表盘, Splunk日志分析, SPL查询, SSH暴力破解, 事后利用, 云端靶场, 安全运营, 扫描框架, 攻击模拟, 权限提升检测, 网络安全实验, 驱动签名利用