蓝队实验室,专注于分析Apache HTTP服务器日志,以检测Web扫描活动、目录枚举和路径遍历尝试。
在隔离的实验室环境中安装并暴露一个Apache Web服务器,使用行业标准工具模拟自动化Web扫描,并从蓝队角度分析生成的日志——识别攻击模式、工具签名以及恶意侦察活动的指标。
| 组件 | 详情 |
|---|
| 攻击者虚拟机 | Kali Linux |
| 目标虚拟机 | Debian 13 |
| 网络 | NAT网络 (VirtualBox) |
| 攻击者IP | 10.0.2.5 |
| 目标IP | 10.0.2.15 |
| Web服务器 | Apache 2.4.67 |
| 日志来源 | /var/log/apache2/access.log, /var/log/apache2/error.log |
| HTTP端口 | 80 |
确认目标机器上的Apache HTTP服务器处于活动状态并正在运行。```bash sudo systemctl status apache2 --no-pager
结果:`active (running)` since Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), Main PID 3164, 55 tasks active.
---
### 2. 目标 IP 识别
识别了 Debian 目标机器的 IP 地址。```bash
ip a
目标 IP: 10.0.2.15/24 — 接口 enp0s3
已验证 Kali 攻击机与 Debian 目标之间的网络连接。```bash ping -c 4 10.0.2.15
**结果:** 4 packets transmitted, 4 received, 0% packet loss. RTT min/avg/max: 0.495/1.288/2.139ms.
---
### 4. Apache浏览器测试
从Kali浏览器访问Apache服务器,确认HTTP服务的可用性。```
http://10.0.2.15
结果: Apache2 Debian Default Page 成功加载 — 确认 Web 服务器可达并能响应 HTTP 请求。
在目标服务器上创建了测试目录和页面,以模拟真实的 Web 应用程序结构。```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
Directories created: `/admin`, `/backup`, `/login`
---
### 6. Nikto 扫描
对目标 Web 服务器运行 Nikto 以模拟自动化漏洞扫描。```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — 开始时间:2026-05-06 20:16:56 — 结束时间:20:17:13(17 秒)
Nikto 报告发现的问题:
X-Frame-Options — 缺少点击劫持保护X-Content-Type-Options — 缺少 MIME 嗅探保护/admin/, /backup/, /login//admin/index.html — 管理员登录页面可访问使用 Dirb 对目标 Web 服务器进行目录暴力枚举。```bash dirb http://10.0.2.15
**DIRB v2.22 — 开始:2026年5月6日 星期三 20:19:50 — 结束:20:19:59(9秒)**
使用的字典:`/usr/share/dirb/wordlists/common.txt` — 已测试4612个单词
找到的目录和文件:
| URL | 状态码 | 大小 |
| --------------------------------- | ------ | ----- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**警告:** `/backup/` 目录列表已启用 — 无索引文件存在,目录内容可直接浏览。
**总下载量:** 13836 字节 — **发现:** 4 个资源
---
### 8. 访问日志分析
检查了原始访问日志条目以识别攻击模式。```bash
sudo cat /var/log/apache2/access.log
来自Nikto扫描阶段的示例条目(21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Dirb扫描阶段的示例条目(21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
观察到的模式: 同一秒内发出数百个顺序请求,全部针对不存在的路径——与自动化扫描行为一致。
筛选了所有源自攻击者IP的访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
Additional patterns observed:
- Nikto attempted to access backup files using the server IP as filename (e.g., `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- Dirb iterated through alphabetically ordered wordlists targeting each discovered directory
- Both tools generated requests at machine speed — multiple entries per second from the same source port range
---
### 10. HTTP 状态码分布
通过 HTTP 响应码统计请求数量,以量化攻击面。```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| HTTP Code | 含义 | 数量 |
|---|---|---|
| 200 | OK — 资源找到并已提供 | 177 |
| 403 | 禁止 — 资源存在但访问被拒绝 | 26 |
| 404 | 未找到 — 资源不存在 | 21740 |
总404错误数:21,740 — 绝大多数请求针对不存在的路径,这是自动目录暴力破解的典型特征。
统计了所有来自攻击者的访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**来自 10.0.2.5 的总请求数:21,962**
---
### 12. 工具特征识别
在访问日志中搜索了扫描器特定的特征。
#### Nikto 签名```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
结果:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Nikto 通过 PUT 请求创建了一个测试文件(`nikto-test-pk9VPSjF.html`)以验证服务器上的写入权限。
#### Dirb 签名```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
结果:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
Dirb 自己的名称会出现在其使用的字典文件中,在日志中留下清晰的签名。
---
### 13. 错误日志分析
检查了 Apache 错误日志,查找扫描触发的服务器端安全事件。```bash
sudo cat /var/log/apache2/error.log
关键事件发现:
Nikto 尝试通过跨目录边界访问敏感系统文件:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
目标包括:`/etc/passwd`、`/etc/shadow`、`boot.ini`、`win.ini`、Windows SAM 数据库——所有经典的路径遍历目标。
#### 无效的 HTTP 方法
Nikto 测试了非标准的 HTTP 方法以识别配置错误:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
两个工具都试图访问Apache保护的配置文件:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### VMware 特定的路径遍历
Nikto 也测试了 VMware 基础设施的暴露情况:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
访问日志和错误日志显示,源自单个IP地址(10.0.2.5)的双阶段自动化攻击模式,目标是端口80上的Apache Web服务器。
Nikto在17秒内执行了8,102个请求,测试已知的Web漏洞、缺失安全头部、危险HTTP方法以及路径遍历向量。错误日志捕获了对/etc/passwd、/etc/shadow、boot.ini和Windows SAM文件的多次访问尝试——所有尝试均被Apache的URI验证阻止。Nikto还尝试了PUT请求以在服务器上创建测试文件,确认其正在测试写入权限。
Dirb从其常用词表中测试了4,612个单词,针对根目录及每个发现的子目录。这生成了观察到的21,740个404错误中的绝大部分。Dirb成功识别了/admin/、/backup/和/login/为有效目录。/backup/目录被发现启用了目录列表——这是一个重大的配置错误,攻击者可以直接浏览其内容。
来自单个源IP的21,962次HTTP请求在约7分钟内集中出现,加上路径遍历尝试、无效HTTP方法以及访问日志和错误日志中的工具特定签名,构成了自动Web侦察活动的明确证据。
未观察到成功的利用。所有路径遍历尝试均被Apache的URI验证引擎拒绝。对受保护文件(.htpasswd、.htaccess、server-status)的访问被服务器配置拒绝。
| 指标 | 值 |
|---|---|
| 攻击者IP | 10.0.2.5 |
| 目标IP | 10.0.2.15 |
| 目标端口 | 80 (HTTP) |
| Web服务器 | Apache 2.4.67 (Debian) |
| 识别到的工具 | Nikto v2.5.0, Dirb v2.22 |
| 攻击者总请求数 | 21,962 |
| HTTP 200响应 | 177 |
| HTTP 403响应 | 26 |
| HTTP 404响应 | 21,740 |
| 发现的目录 | /admin/, /backup/, /login/ |
| 路径遍历尝试 | 多次(全部被阻止) |
| 测试的无效HTTP方法 | TRACK, DEBUG, SEARCH, INDEX |
| 目标敏感文件 | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| 成功利用 | 无 |
| 时间窗口 | 21:14至21:21 (2026-05-06) |
基于发现,建议实施以下控制措施:
X-Frame-Options、X-Content-Type-Options、Content-Security-Policy/backup//server-status的访问限制为仅限localhosterror.log中的AH10244(无效URI路径)事件/admin/、/backup/)的公开访问ServerTokens Prod、ServerSignature Off)本实验展示了自动化Web扫描工具如何在Apache访问日志和错误日志中留下独特且可识别的模式。通过关联404错误的数量、error.log中路径遍历尝试的存在、无效HTTP方法请求以及请求路径和用户代理字符串中的工具特定签名,可以在不了解攻击者行为的情况下重建完整的攻击时间线并识别所使用的工具。
该练习强调了Web服务器日志监控、安全头部配置和目录访问控制作为面向Web基础设施的蓝队基础实践的重要性。
蓝队实验室,专注于分析Apache服务器日志以检测Web扫描、目录枚举和路径遍历尝试。
在隔离的实验环境中安装并暴露一个Apache Web服务器,使用安全测试中广泛使用的工具模拟自动化扫描,并从蓝队角度分析生成的日志——识别攻击模式、工具特征以及恶意侦察活动的指标。
| 组件 | 详情 |
|---|---|
| 攻击者VM | Kali Linux |
| 目标VM | Debian 13 |
| 网络 | NAT网络 (VirtualBox) |
| 攻击者IP | 10.0.2.5 |
| 目标IP | 10.0.2.15 |
| Web服务器 | Apache 2.4.67 |
| 日志来源 | /var/log/apache2/access.log, /var/log/apache2/error.log |
| HTTP端口 | 80 |
确认Apache服务器在目标机器上处于活动并运行状态。```bash sudo systemctl status apache2 --no-pager
Resultado: `active (running)` desde Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), PID principal 3164, 55 tarefas ativas.
---
### 2. Identificação do IP do Alvo
Identificado o endereço IP da máquina Debian alvo.```bash
ip a
目标IP: 10.0.2.15/24 — 接口 enp0s3
已验证Kali和Debian之间的网络连接。```bash ping -c 4 10.0.2.15
**结果:** 4 个数据包已传输,4 个已接收,0% 丢失。RTT 最小/平均/最大:0.495/1.288/2.139 毫秒。
---
### 4. 浏览器中的 Apache 测试
从 Kali 的浏览器访问 Apache 服务器,以确认 HTTP 服务的可用性。```
http://10.0.2.15
结果: Apache2 Debian 默认页面加载成功 —— 确认 Web 服务器可访问并响应 HTTP 请求。
在目标服务器上创建了目录和测试页面,以模拟真实的 Web 应用程序结构。```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
已创建目录: `/admin`, `/backup`, `/login`
---
### 6. 使用Nikto进行扫描
针对目标Web服务器执行Nikto,以模拟自动化漏洞扫描。```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — 开始:2026-05-06 20:16:56 — 结束:20:17:13(17秒)
Nikto报告的结果:
X-Frame-Options — 缺少点击劫持保护X-Content-Type-Options — 缺少MIME嗅探保护/admin/,/backup/,/login//admin/index.html — 管理员页面可公开访问执行Dirb对目标Web服务器进行目录暴力破解。```bash dirb http://10.0.2.15
**DIRB v2.22 — 开始:2026年5月6日周三 20:19:50 — 结束:2026年5月6日20:19:59(9秒)**
使用的单词列表:`/usr/share/dirb/wordlists/common.txt` — 测试了4612个单词
找到的目录和文件:
| URL | 代码 | 大小 |
| --------------------------------- | ---- | ---- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**警告:** 目录`/backup/`启用了列出功能——没有索引文件,目录内容可以直接浏览。
**总下载量:** 13836字节 — **发现:** 4个资源
---
### 8. 访问日志分析
检查了访问日志的原始条目,以识别攻击模式。```bash
sudo cat /var/log/apache2/access.log
Nikto扫描阶段的输入 (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Dirb扫描阶段的条目(21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
观察到的模式: 同一秒内数百次连续请求,全部指向不存在的路径——行为符合自动化扫描特征。
过滤了来自攻击者IP的所有访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
观察到的额外模式:
- Nikto尝试使用服务器IP作为文件名访问备份文件(例如:`10.0.2.15.tar.bz2`、`10.0.2.15.sql`、`10.0.2.15.zip`)
- Dirb按字母顺序遍历单词列表,针对每个发现的目录进行扫描
- 两种工具都以机器速度生成请求——在同一源端口范围内每秒产生多个条目
---
### 10. HTTP状态码分布
按HTTP响应码统计请求数量,以量化攻击面。```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| Código HTTP | Significado | Quantidade |
|---|---|---|
| 200 | OK — 资源已找到并交付 | 177 |
| 403 | 禁止 — 资源存在但访问被拒绝 | 26 |
| 404 | 未找到 — 资源不存在 | 21.740 |
404 错误总数:21.740 — 绝大多数请求指向不存在的路径,这是自动目录暴力破解的典型特征。
统计了来自攻击者的所有访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**来自10.0.2.5的总请求数:21,962**
---
### 12. 工具签名识别
在访问日志中搜索扫描器的特定签名。
#### Nikto 签名```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
结果:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Nikto 通过 PUT 请求创建了一个测试文件(`nikto-test-pk9VPSjF.html`),以验证服务器上的写入权限。
#### Dirb 签名```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
结果:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
O próprio nome do Dirb aparece na wordlist que ele utiliza, deixando uma assinatura clara nos logs.
---
### 13. 错误日志分析
检查 Apache 错误日志,以识别扫描产生的安全事件。```bash
sudo cat /var/log/apache2/error.log
发现的关键事件:
Nikto 尝试通过跨越目录边界来访问系统敏感文件:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
目标包括:`/etc/passwd`、`/etc/shadow`、`boot.ini`、`win.ini`、Windows SAM 数据库——都是经典的路径遍历目标。
#### 无效的 HTTP 方法
Nikto 测试了非标准的 HTTP 方法,以识别配置错误:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
Ambas as ferramentas tentaram acessar arquivos de configuração protegidos pelo Apache:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### 特定于VMware的路径遍历
Nikto还测试了VMware基础设施的暴露情况:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
访问日志和错误日志揭示出源自单一 IP 地址(10.0.2.5)针对 Apache 服务器 80 端口的两阶段自动化攻击模式。
Nikto 在 17 秒内发送了 8,102 次请求,测试已知 Web 漏洞、缺失的安全标头、危险的 HTTP 方法以及路径遍历向量。错误日志记录了多次访问 /etc/passwd、/etc/shadow、boot.ini 和 Windows SAM 数据库的尝试——均被 Apache 的 URI 验证机制阻止。Nikto 还尝试发送 PUT 请求以在服务器上创建测试文件,确认其正在检查写入权限。
Dirb 使用其常用字典对根目录及每个发现的子目录测试了 4,612 个单词。这产生了所观察到的 21,740 个 404 错误中的绝大部分。Dirb 成功识别出 /admin/、/backup/ 和 /login/ 为有效目录。/backup/ 目录被发现启用了目录列表——这是一个严重的安全配置错误,攻击者可直接浏览其内容。
在约 7 分钟内,来自同一源 IP 的 21,962 次 HTTP 请求高度集中,同时伴随着访问日志和错误日志中出现的路径遍历尝试、无效 HTTP 方法请求及特定工具签名,构成了自动化 Web 侦察活动的明确证据。
未观察到成功的利用行为。所有路径遍历尝试均被 Apache 的 URI 验证机制拒绝。受保护文件(.htpasswd、.htaccess、server-status)的访问被服务器配置阻止。
| 指标 | 值 |
|---|---|
| 攻击者 IP | 10.0.2.5 |
| 目标 IP | 10.0.2.15 |
| 目标端口 | 80 (HTTP) |
| Web 服务器 | Apache 2.4.67 (Debian) |
| 识别出的工具 | Nikto v2.5.0, Dirb v2.22 |
| 攻击者总请求数 | 21,962 |
| HTTP 200 响应 | 177 |
| HTTP 403 响应 | 26 |
| HTTP 404 响应 | 21,740 |
| 发现目录 | /admin/, /backup/, /login/ |
| 路径遍历尝试次数 | 多次(均被阻止) |
| 测试的无效 HTTP 方法 | TRACK, DEBUG, SEARCH, INDEX |
| 目标敏感文件 | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| 成功利用 | 无 |
| 时间窗口 | 21:14 至 21:21 (2026-05-06) |
基于发现,建议采取以下控制措施:
X-Frame-Options、X-Content-Type-Options、Content-Security-Policy/backup//server-status 的访问限制为仅 localhosterror.log 以发现 AH10244(无效 URI 路径)事件/admin/、/backup/)的公共访问ServerTokens Prod、ServerSignature Off)本实验室演示了自动化 Web 扫描工具如何在 Apache 的访问日志和错误日志中留下独特且可识别的模式。通过关联 404 错误数量、error.log 中的路径遍历尝试、无效 HTTP 方法请求以及请求路径和用户代理字符串中的特定工具签名,我们能够在不了解攻击者任何行为的情况下重建完整的攻击时间线并识别所用工具。
该练习强调了监控 Web 服务器日志、配置安全标头以及目录访问控制作为面向 Web 的基础设施蓝队基本实践的重要性。