Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
apache-web-log-analysis-lab — 蓝队实验室,专注于分析Apache Web访问日志,以检测目录暴力破解和Web扫描活动。 | Kitploit
工具/GitHubGitHub/pedrofbrm/apache-web-log-analysis-lab
Web安全学习与教育日志分析实验室与实践
GitHubpedrofbrm/apache-web-log-analysis-lab

apache-web-log-analysis-lab

蓝队实验室,专注于分析Apache Web访问日志,以检测目录暴力破解和Web扫描活动。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
34个月前尚未审核
分享

Apache Web日志分析实验室

蓝队实验室,专注于分析Apache HTTP服务器日志,以检测Web扫描活动、目录枚举和路径遍历尝试。


目标

在隔离的实验室环境中安装并暴露一个Apache Web服务器,使用行业标准工具模拟自动化Web扫描,并从蓝队角度分析生成的日志——识别攻击模式、工具签名以及恶意侦察活动的指标。


环境

" | sudo tee /var/www/html/admin/index.html echo "" | sudo tee /var/www/html/login/index.html " | sudo tee /var/www/html/admin/index.html echo "" | sudo tee /var/www/html/login/index.html
组件详情
攻击者虚拟机Kali Linux
目标虚拟机Debian 13
网络NAT网络 (VirtualBox)
攻击者IP10.0.2.5
目标IP10.0.2.15
Web服务器Apache 2.4.67
日志来源/var/log/apache2/access.log, /var/log/apache2/error.log
HTTP端口80

执行步骤

1. Apache服务验证

确认目标机器上的Apache HTTP服务器处于活动状态并正在运行。```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
结果:`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


3. 连接测试

已验证 Kali 攻击机与 Debian 目标之间的网络连接。```bash ping -c 4 10.0.2.15

root@kitploit:~
**结果:** 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 请求。


5. Web 内容设置

在目标服务器上创建了测试目录和页面,以模拟真实的 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 Panel

Login Page

root@kitploit:~
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 报告发现的问题:

  • 服务器:Apache/2.4.67 (Debian)
  • 缺少头部:X-Frame-Options — 缺少点击劫持保护
  • 缺少头部:X-Content-Type-Options — 缺少 MIME 嗅探保护
  • ETag 泄露:服务器可能通过 ETags 泄露 inode 编号(CVE-2003-1418)
  • 允许的方法:GET, POST, OPTIONS, HEAD
  • 发现的敏感目录:/admin/, /backup/, /login/
  • 已确认:/admin/index.html — 管理员登录页面可访问
  • 总请求数:17 秒内共 8102 个请求

7. Dirb 扫描

使用 Dirb 对目标 Web 服务器进行目录暴力枚举。```bash dirb http://10.0.2.15

root@kitploit:~
**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

root@kitploit:~
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

观察到的模式: 同一秒内发出数百个顺序请求,全部针对不存在的路径——与自动化扫描行为一致。


9. 按来源IP的扫描模式

筛选了所有源自攻击者IP的访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30

root@kitploit:~
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含义数量
200OK — 资源找到并已提供177
403禁止 — 资源存在但访问被拒绝26
404未找到 — 资源不存在21740

总404错误数:21,740 — 绝大多数请求针对不存在的路径,这是自动目录暴力破解的典型特征。


11. 攻击者IP的总请求数

统计了所有来自攻击者的访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l

root@kitploit:~
**来自 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"

root@kitploit:~
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

root@kitploit:~
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._)

root@kitploit:~
目标包括:`/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

root@kitploit:~
#### 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服务器。

阶段1 — 漏洞扫描(Nikto,21:14至21:18)

Nikto在17秒内执行了8,102个请求,测试已知的Web漏洞、缺失安全头部、危险HTTP方法以及路径遍历向量。错误日志捕获了对/etc/passwd、/etc/shadow、boot.ini和Windows SAM文件的多次访问尝试——所有尝试均被Apache的URI验证阻止。Nikto还尝试了PUT请求以在服务器上创建测试文件,确认其正在测试写入权限。

阶段2 — 目录枚举(Dirb,21:19至21:21)

Dirb从其常用词表中测试了4,612个单词,针对根目录及每个发现的子目录。这生成了观察到的21,740个404错误中的绝大部分。Dirb成功识别了/admin/、/backup/和/login/为有效目录。/backup/目录被发现启用了目录列表——这是一个重大的配置错误,攻击者可以直接浏览其内容。

综合评估

来自单个源IP的21,962次HTTP请求在约7分钟内集中出现,加上路径遍历尝试、无效HTTP方法以及访问日志和错误日志中的工具特定签名,构成了自动Web侦察活动的明确证据。

未观察到成功的利用。所有路径遍历尝试均被Apache的URI验证引擎拒绝。对受保护文件(.htpasswd、.htaccess、server-status)的访问被服务器配置拒绝。


关键指标

指标值
攻击者IP10.0.2.5
目标IP10.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)

防御建议

基于发现,建议实施以下控制措施:

  • 在Apache配置中添加安全头部:X-Frame-Options、X-Content-Type-Options、Content-Security-Policy
  • 禁用ETag头部以防止inode信息泄露
  • 将允许的HTTP方法限制为仅GET、POST、HEAD
  • 禁用所有目录的目录列表,特别是/backup/
  • 将对/server-status的访问限制为仅限localhost
  • 实施速率限制以阻止每秒产生过多请求的IP
  • 部署WAF(Web应用防火墙)以检测并阻止路径遍历模式
  • 持续监控error.log中的AH10244(无效URI路径)事件
  • 移除或限制对敏感目录(/admin/、/backup/)的公开访问
  • 从HTTP响应头部隐藏Apache版本(ServerTokens Prod、ServerSignature Off)

结论

本实验展示了自动化Web扫描工具如何在Apache访问日志和错误日志中留下独特且可识别的模式。通过关联404错误的数量、error.log中路径遍历尝试的存在、无效HTTP方法请求以及请求路径和用户代理字符串中的工具特定签名,可以在不了解攻击者行为的情况下重建完整的攻击时间线并识别所使用的工具。

该练习强调了Web服务器日志监控、安全头部配置和目录访问控制作为面向Web基础设施的蓝队基础实践的重要性。


使用的工具

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat


Apache Web日志分析实验室

蓝队实验室,专注于分析Apache服务器日志以检测Web扫描、目录枚举和路径遍历尝试。


目标

在隔离的实验环境中安装并暴露一个Apache Web服务器,使用安全测试中广泛使用的工具模拟自动化扫描,并从蓝队角度分析生成的日志——识别攻击模式、工具特征以及恶意侦察活动的指标。


环境

组件详情
攻击者VMKali Linux
目标VMDebian 13
网络NAT网络 (VirtualBox)
攻击者IP10.0.2.5
目标IP10.0.2.15
Web服务器Apache 2.4.67
日志来源/var/log/apache2/access.log, /var/log/apache2/error.log
HTTP端口80

执行步骤

1. Apache服务验证

确认Apache服务器在目标机器上处于活动并运行状态。```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
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


3. 连接测试

已验证Kali和Debian之间的网络连接。```bash ping -c 4 10.0.2.15

root@kitploit:~
**结果:** 4 个数据包已传输,4 个已接收,0% 丢失。RTT 最小/平均/最大:0.495/1.288/2.139 毫秒。

---

### 4. 浏览器中的 Apache 测试

从 Kali 的浏览器访问 Apache 服务器,以确认 HTTP 服务的可用性。```
http://10.0.2.15

结果: Apache2 Debian 默认页面加载成功 —— 确认 Web 服务器可访问并响应 HTTP 请求。


5. 创建测试内容

在目标服务器上创建了目录和测试页面,以模拟真实的 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 Panel

Login Page

root@kitploit:~
已创建目录: `/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报告的结果:

  • 服务器: Apache/2.4.67 (Debian)
  • 缺少标头: X-Frame-Options — 缺少点击劫持保护
  • 缺少标头: X-Content-Type-Options — 缺少MIME嗅探保护
  • ETag泄露: 服务器可能通过ETags泄露inode编号(CVE-2003-1418)
  • 允许的方法: GET, POST, OPTIONS, HEAD
  • 发现有趣的目录: /admin/,/backup/,/login/
  • 已确认: /admin/index.html — 管理员页面可公开访问
  • 总请求数: 17秒内8102次请求

7. Dirb扫描

执行Dirb对目标Web服务器进行目录暴力破解。```bash dirb http://10.0.2.15

root@kitploit:~
**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

root@kitploit:~
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

观察到的模式: 同一秒内数百次连续请求,全部指向不存在的路径——行为符合自动化扫描特征。


9. 按源IP扫描的模式

过滤了来自攻击者IP的所有访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30

root@kitploit:~
观察到的额外模式:

- 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 HTTPSignificadoQuantidade
200OK — 资源已找到并交付177
403禁止 — 资源存在但访问被拒绝26
404未找到 — 资源不存在21.740

404 错误总数:21.740 — 绝大多数请求指向不存在的路径,这是自动目录暴力破解的典型特征。


11. 按攻击者 IP 统计的请求总数

统计了来自攻击者的所有访问日志条目。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l

root@kitploit:~
**来自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"

root@kitploit:~
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

root@kitploit:~
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._)

root@kitploit:~
目标包括:`/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

Tentativas de Acesso a Arquivos Protegidos

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

root@kitploit:~
#### 特定于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 端口的两阶段自动化攻击模式。

阶段 1 — 漏洞扫描(Nikto,21:14 至 21:18)

Nikto 在 17 秒内发送了 8,102 次请求,测试已知 Web 漏洞、缺失的安全标头、危险的 HTTP 方法以及路径遍历向量。错误日志记录了多次访问 /etc/passwd、/etc/shadow、boot.ini 和 Windows SAM 数据库的尝试——均被 Apache 的 URI 验证机制阻止。Nikto 还尝试发送 PUT 请求以在服务器上创建测试文件,确认其正在检查写入权限。

阶段 2 — 目录枚举(Dirb,21:19 至 21:21)

Dirb 使用其常用字典对根目录及每个发现的子目录测试了 4,612 个单词。这产生了所观察到的 21,740 个 404 错误中的绝大部分。Dirb 成功识别出 /admin/、/backup/ 和 /login/ 为有效目录。/backup/ 目录被发现启用了目录列表——这是一个严重的安全配置错误,攻击者可直接浏览其内容。

综合评估

在约 7 分钟内,来自同一源 IP 的 21,962 次 HTTP 请求高度集中,同时伴随着访问日志和错误日志中出现的路径遍历尝试、无效 HTTP 方法请求及特定工具签名,构成了自动化 Web 侦察活动的明确证据。

未观察到成功的利用行为。所有路径遍历尝试均被 Apache 的 URI 验证机制拒绝。受保护文件(.htpasswd、.htaccess、server-status)的访问被服务器配置阻止。


主要指标

指标值
攻击者 IP10.0.2.5
目标 IP10.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)

防御建议

基于发现,建议采取以下控制措施:

  • 在 Apache 配置中添加安全标头:X-Frame-Options、X-Content-Type-Options、Content-Security-Policy
  • 禁用 ETag 标头以防止 inode 信息泄露
  • 将允许的 HTTP 方法限制为仅 GET、POST 和 HEAD
  • 禁用所有目录的目录列表功能,尤其是 /backup/
  • 将 /server-status 的访问限制为仅 localhost
  • 实施速率限制,以阻止每秒请求数过高的 IP
  • 部署 WAF(Web 应用防火墙)以检测并阻止路径遍历模式
  • 持续监控 error.log 以发现 AH10244(无效 URI 路径)事件
  • 删除或限制对敏感目录(/admin/、/backup/)的公共访问
  • 在 HTTP 响应标头中隐藏 Apache 版本(ServerTokens Prod、ServerSignature Off)

结论

本实验室演示了自动化 Web 扫描工具如何在 Apache 的访问日志和错误日志中留下独特且可识别的模式。通过关联 404 错误数量、error.log 中的路径遍历尝试、无效 HTTP 方法请求以及请求路径和用户代理字符串中的特定工具签名,我们能够在不了解攻击者任何行为的情况下重建完整的攻击时间线并识别所用工具。

该练习强调了监控 Web 服务器日志、配置安全标头以及目录访问控制作为面向 Web 的基础设施蓝队基本实践的重要性。


使用工具

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat
下载工具