jsmith-sec/web-app-attack-lab

GitHub: jsmith-sec/web-app-attack-lab

一个家庭 SOC 实验室项目,模拟六类 Web 应用攻击并基于 ELK 技术栈构建完整的日志采集、检测规则和可视化分析流程。

Stars: 0 | Forks: 0

# Web 应用攻击实验室 一个家庭 SOC 实验室,针对故意设置的易受攻击目标模拟真实世界的 Web 应用攻击,包含完整的日志摄取、检测规则,以及基于攻击数据构建的 Kibana 仪表板。 ## 概述 该实验室将 DVWA (Damn Vulnerable Web Application) 设置为目标,并从浏览器和 Kali Linux VM 发起六类攻击。所有流量由 Apache 记录,并通过 Filebeat 传送到 Elasticsearch,以便在 Kibana 中进行检测和分析。 **目标:** Ubuntu 26.04 ARM64 上的 DVWA **攻击平台:** Kali Linux 2023 ARM64 **日志管道:** Apache → Filebeat → Elasticsearch → Kibana **主机:** Apple Mac Mini M4, 32GB RAM, macOS (UTM 虚拟化) ## 实验室环境 | 虚拟机 | IP | 操作系统 | 角色 | |----|----|----|------| | Ubuntu-SIEM | 192.168.1.58 | Ubuntu 26.04 ARM64 | 目标 / SIEM 主机 | | Kali Linux | 192.168.1.18 | Kali 2023 ARM64 | 攻击平台 | **软件栈版本:** - Elasticsearch 8.19.14 - Kibana 8.19.14 - Filebeat 8.19.14 - Apache 2.4.66 ## 执行的攻击 | 攻击 | 工具 | 结果 | |--------|------|--------| | SQL 注入 (手动) | 浏览器 | 导出了所有用户及 MD5 哈希值 | | 命令注入 | 浏览器 | 以 www-data 身份实现 RCE,导出了 /etc/passwd | | 反射型 XSS | 浏览器 | 脚本在浏览器中执行 | | Web 扫描器 | Nikto | 发现 16 项结果,在 6 秒内发送了 8,102 个请求 | | 暴力破解 | Hydra + rockyou.txt | 在 8 次尝试内发现了凭据 | | 自动化 SQLi | SQLmap | 3 种注入类型,枚举了 3 个数据库 | ## 截图 ### Kibana 仪表板 ![Web 攻击仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/348d741c93062006.png) ### Nikto Web 扫描器 ![Nikto 扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6a93c0dbff062007.png) ### Hydra 暴力破解 ![Hydra 暴力破解](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/790349008a062008.png) ### SQLmap 自动化注入 ![SQLmap 输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/189f617c2c062009.png) ### Kibana Apache 日志 ![Kibana Apache 日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8bbde77c44062010.png) ### 检测规则 - SQL 注入 ![检测规则](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/068f3537d3062012.png) ## 检测规则 在 Kibana Security 中的 `filebeat-*` 索引下创建了三条检测规则,每条规则以 1 分钟的间隔运行,并具有 5 分钟的回溯窗口。 **检测到 Web 扫描器** 阈值规则 —— 当单个源 IP 对应用程序的每分钟请求数超过 100 时触发。用于捕获类似 Nikto 的自动化扫描器行为。 **SQL 注入尝试** 自定义查询规则 —— 当 URL 参数中包含 SELECT 等 SQL 关键字以及引号字符时触发。在手动和自动化注入测试中捕获了 166 个事件。 **暴力破解登录** 阈值规则 —— 当单个源 IP 在 1 分钟内向登录页面发送超过 10 个 POST 请求时触发。Hydra 在 15 秒内产生了 239 个 POST 请求。 ## Kibana 仪表板 Web 应用攻击仪表板使用经过 `event.module: apache` 过滤的 `filebeat-*` 索引,包含六个面板: - **Web 攻击流量时间趋势** —— 按源 IP 分割的条形图,显示了 Nikto 的峰值 - **主要攻击 IP** —— Kali 发送了 9,401 个请求,而主机浏览器为 151 个 - **HTTP 响应码** —— 200s、302s、404s 和 500s 的细分 - **HTTP 方法** —— 饼图显示 GET 占 98.83%,POST 占 0.97% - **最常请求的 URL** —— 登录页面、DVWA 根目录、setup 和 index 页面 - **主要 User Agents** —— sqlmap/1.7.8、Nikto/2.5.0、CVE-2014-6271 Shellshock 探测字符串 ## 主要发现 - 任何被测试的 DVWA 参数都没有输入验证 —— 仅使用浏览器即可实现 SQL 注入和命令注入,无需其他工具 - Admin 账号使用了弱密码,在 8 次尝试内即被 rockyou.txt 爆破成功 —— 没有实施账户锁定策略 - Nikto 发现了一个暴露的 `.git` 目录,其中包含 HEAD 和 config 文件 - `/DVWA/config/` 和 `/DVWA/database/` 目录可公开访问,且启用了目录索引 - SQLmap 确认了针对同一参数的三种不同注入技术 - Nikto 探测了 Shellshock (CVE-2014-6271),在 Apache 日志中留下了独特的 user agent 字符串 ## 文件 | 文件 | 描述 | |------|-------------| | `web_app_attack_lab_report.pdf` | 完整的实验室报告 | | `filebeat.yml` | 用于 Apache 日志摄取的 Filebeat 配置 | | `dashboard_export.ndjson` | Kibana 仪表板导出 | | `detection_rules_export.ndjson` | Kibana 检测规则导出 | | `web-attack-dashboard.png` | 仪表板截图 | | `nikto_scan.png` | Nikto 扫描输出 | | `hydra_brute_force.png` | Hydra 暴力破解输出 | | `sqlmap_output.png` | SQLmap 注入输出 | | `kibana_apache_logs.png` | 显示 Apache 日志的 Kibana Discover | | `detection_rule_sql_injection.png` | SQL 注入检测规则 | ## 本系列的其他实验室 | 实验室 | 主题 | 仓库 | |---|---|---| | 实验室 1 | SOC/SIEM 检测 | [soc-home-lab](https://github.com/jsmith-sec/soc-home-lab) | | 实验室 2 | 事件响应模拟 | [incident-response-lab](https://github.com/jsmith-sec/incident-response-lab) | | 实验室 3 | Web 应用攻击 | 此仓库 | | 实验室 4 | 漏洞评估 | [vulnerability-assessment-lab](https://github.com/jsmith-sec/vulnerability-assessment-lab) | | 实验室 5 | 恶意软件分析 | [malware-analysis-lab](https://github.com/jsmith-sec/malware-analysis-lab) |
标签:AMSI绕过, Apache, ARM64, CISA项目, DVWA, Elasticsearch, ELK Stack, Filebeat, Hydra, Logstash, Mac Mini, Nikto, OISF, OPA, PoC, RCE, SQLmap, URL发现, UTM, Web安全, XSS, 云存储安全, 命令注入, 威胁检测, 安全仪表盘, 安全实验, 安全检测, 安全运营中心, 家庭实验室, 插件系统, 攻击模拟, 日志管理, 暴力破解, 漏洞情报, 生成式AI安全, 用户模式钩子绕过, 网络安全, 网络扫描, 网络映射, 自动化攻击, 蓝队分析, 虚拟机, 越狱测试, 跨站脚本攻击, 隐私保护, 靶场, 驱动签名利用