Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
apache-web-log-analysis-lab — Лаборатория Blue Team, сосредоточенная на анализе журналов доступа Apache для обнаружения directory brute forcing и web scanning активности. | Kitploit
Инструменты/GitHubGitHub/pedrofbrm/apache-web-log-analysis-lab
Веб-безопасностьОбучение и ОбразованиеАнализ ЖурналовЛаборатории и Практика
GitHubpedrofbrm/apache-web-log-analysis-lab

apache-web-log-analysis-lab

Лаборатория Blue Team, сосредоточенная на анализе журналов доступа Apache для обнаружения directory brute forcing и web scanning активности.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
3 месяцев назадЕщё не проверено

Лаборатория анализа веб-журналов Apache

Лаборатория Blue Team, посвященная анализу журналов HTTP-сервера Apache для обнаружения активности веб-сканирования, перебора каталогов и попыток обхода пути.


Цель

Установить и развернуть веб-сервер Apache в изолированной лабораторной среде, смоделировать автоматическое веб-сканирование с использованием стандартных отраслевых инструментов и проанализировать сгенерированные журналы с точки зрения Blue Team — выявляя атакующие шаблоны, сигнатуры инструментов и индикаторы вредоносной разведывательной активности.


Среда

КомпонентОписание
ВМ атакующегоKali Linux
ВМ целиDebian 13
СетьNAT Network (VirtualBox)
IP атакующего10.0.2.5
IP цели10.0.2.15
Веб-серверApache 2.4.67
Источники журналов/var/log/apache2/access.log, /var/log/apache2/error.log
Порт HTTP80

Выполненные шаги

1. Проверка службы Apache

Подтверждено, что HTTP-сервер Apache активен и работает на целевой машине.```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-адреса

Определён IP-адрес целевой машины Debian.```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.139ms.

---

### 4. Тест браузера Apache

Выполнен доступ к серверу Apache из браузера Kali для подтверждения доступности HTTP-сервиса.```
http://10.0.2.15

Result: Apache2 Debian Default Page успешно загружена — подтверждение, что веб-сервер был доступен и отвечал на HTTP-запросы.


5. Настройка веб-контента

Созданы тестовые каталоги и страницы на целевом сервере для имитации реалистичной структуры веб-приложения.```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

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
Созданные каталоги: `/admin`, `/backup`, `/login`

---

### 6. Сканирование Nikto

Запуск 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 (CVE-2003-1418)
  • Разрешенные методы: GET, POST, OPTIONS, HEAD
  • Найдены интересные каталоги: /admin/, /backup/, /login/
  • Подтверждено: /admin/index.html — страница входа администратора доступна
  • Всего запросов: 8102 за 17 секунд

7. Сканирование Dirb

Запущен Dirb для подбора каталогов на целевом веб-сервере.```bash dirb http://10.0.2.15

root@kitploit:~
**DIRB v2.22 — Start: Wed May 6 20:19:50 2026 — End: 20:19:59 2026 (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 итерировал по алфавитно упорядоченным словарям, нацеливаясь на каждый обнаруженный каталог
- Оба инструмента генерировали запросы на машинной скорости — несколько записей в секунду из одного и того же диапазона исходных портов

---

### 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 кодЗначениеКоличество
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:~
**Total requests from 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 создал тестовый файл (`nikto-test-pk9VPSjF.html`) через PUT-запрос для проверки прав на запись на сервере.

#### Dirb signature```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

Найдены критические события:

Попытки обхода пути (Path Traversal)

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), направленной на веб-сервер Apache на порту 80.

Фаза 1 — Сканирование уязвимостей (Nikto, 21:14–21:18)

Nikto выполнил 8 102 запроса за 17 секунд, проверяя известные веб-уязвимости, отсутствие заголовков безопасности, опасные методы HTTP и векторы обхода пути. В журнале ошибок зафиксированы множественные попытки доступа к /etc/passwd, /etc/shadow, boot.ini и файлам SAM Windows — все заблокированы механизмом проверки URI Apache. Nikto также предпринял PUT-запрос для создания тестового файла на сервере, что подтверждает проверку прав на запись.

Фаза 2 — Перечисление каталогов (Dirb, 21:19–21:21)

Dirb проверил 4 612 слов из своего общего списка слов относительно корневого каталога и каждого обнаруженного подкаталога. Это породило основную массу из 21 740 ошибок 404. Dirb успешно идентифицировал каталоги /admin/, /backup/ и /login/ как существующие. В каталоге /backup/ была обнаружена включённая опция просмотра списка каталогов — существенная ошибка конфигурации, позволяющая атакующему напрямую просматривать его содержимое.

Совокупная оценка

Концентрация 21 962 HTTP-запросов с одного исходного IP-адреса в течение примерно 7 минут в сочетании с попытками обхода пути, недопустимыми методами HTTP и сигнатурами, характерными для инструментов, как в журнале доступа, так и в журнале ошибок, является неоспоримым доказательством автоматизированной разведывательной активности в веб-среде.

Успешной эксплуатации не наблюдалось. Все попытки обхода пути были отклонены механизмом проверки URI Apache. Доступ к защищённым файлам (.htpasswd, .htaccess, server-status) был запрещён конфигурацией сервера.


Ключевые индикаторы


Рекомендации по защите

На основе полученных данных рекомендуются следующие меры контроля:

  • Добавить заголовки безопасности в конфигурацию Apache: X-Frame-Options, X-Content-Type-Options, Content-Security-Policy
  • Отключить заголовки ETag для предотвращения утечки информации об индексных дескрипторах
  • Ограничить разрешённые методы HTTP только GET, POST, HEAD
  • Отключить просмотр списка каталогов для всех каталогов, особенно /backup/
  • Ограничить доступ к /server-status только локальным хостом
  • Внедрить ограничение скорости для блокировки IP-адресов, генерирующих чрезмерное количество запросов в секунду
  • Развернуть WAF (межсетевой экран веб-приложений) для обнаружения и блокировки шаблонов обхода пути
  • Непрерывно мониторить error.log на наличие событий AH10244 (недопустимый путь URI)
  • Удалить или ограничить доступ к конфиденциальным каталогам (/admin/, /backup/) из публичного доступа
  • Скрыть версию Apache из HTTP-заголовков ответов (ServerTokens Prod, ServerSignature Off)

Заключение

Эта лабораторная работа продемонстрировала, как автоматизированные инструменты веб-сканирования оставляют чёткие и идентифицируемые шаблоны как в журналах доступа, так и в журналах ошибок Apache. Путём корреляции объёма ошибок 404, наличия попыток обхода пути в error.log, запросов с недопустимыми методами HTTP и сигнатур, характерных для инструментов, в путях запросов и строках user-agent, удалось восстановить полную временную шкалу атаки и идентифицировать использованные инструменты — без каких-либо предварительных знаний о действиях атакующего.

Упражнение подчёркивает важность мониторинга журналов веб-сервера, настройки заголовков безопасности и контроля доступа к каталогам как основополагающих практик Blue Team для веб-инфраструктуры.


Используемые инструменты

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


Лабораторный анализ журналов Apache Web

Лаборатория Blue Team, ориентированная на анализ журналов сервера Apache для обнаружения веб-сканирования, перечисления каталогов и попыток обхода пути.


Цель

Установить и развернуть веб-сервер Apache в изолированной лабораторной среде, смоделировать автоматизированные сканирования с использованием инструментов, широко применяемых в тестировании безопасности, и проанализировать сгенерированные журналы с точки зрения Blue Team — выявляя паттерны атак, сигнатуры инструментов и индикаторы вредоносной разведывательной активности.


Среда


Выполненные этапы

1. Проверка службы Apache

Подтверждено, что сервер Apache был активен и работал на целевой машине.```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
Результат: `active (running)` с ср 2026-05-06 21:09:17. Apache 2.4.67 (Debian), основной PID 3164, 55 активных задач.

---

### 2. Идентификация IP-адреса цели

Определен IP-адрес целевой машины Debian.```bash
ip a

IP do alvo: 10.0.2.15/24 — interface enp0s3


3. Teste de Conectividade

Verificada a conectividade de rede entre o Kali e o Debian.```bash ping -c 4 10.0.2.15

root@kitploit:~
**Результат:** 4 пакетов отправлено, 4 получено, 0% потерь. RTT min/avg/max: 0.495/1.288/2.139ms.

---

### 4. Тестирование Apache в браузере

Доступ к серверу Apache из браузера Kali для подтверждения доступности HTTP-сервиса.```
http://10.0.2.15

Результат: Стандартная страница Apache2 Debian успешно загружена — подтверждено, что веб-сервер был доступен и отвечал на HTTP-запросы.


5. Создание тестового контента

Созданы тестовые каталоги и страницы на целевом сервере для имитации реалистичной структуры веб-приложения.```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

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
Созданные директории: `/admin`, `/backup`, `/login`

---

### 6. Сканирование с Nikto

Запущен 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: Сервер может раскрывать номера inode через ETags (CVE-2003-1418)
  • Разрешённые методы: GET, POST, OPTIONS, HEAD
  • Обнаружены интересные каталоги: /admin/, /backup/, /login/
  • Подтверждено: /admin/index.html — страница администратора общедоступна
  • Всего запросов: 8102 за 17 секунд

7. Сканирование с помощью Dirb

Выполнен Dirb для подбора каталогов методом перебора на целевом веб-сервере.```bash dirb http://10.0.2.15

root@kitploit:~
**DIRB v2.22 — Начало: Ср, 6 мая 2026 г., 20:19:50 — Конец: 20:19:59 2026 (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 перебирал wordlists в алфавитном порядке, нацеливаясь на каждый обнаруженный каталог
- Обе инструменты генерировали запросы на машинной скорости — несколько записей в секунду в том же диапазоне исходных портов

---

### 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-кодЗначениеКоличество
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 создал тестовый файл (`nikto-test-pk9VPSjF.html`) с помощью запроса PUT для проверки прав на запись на сервере.

#### Сигнатура 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

Обнаружены критические события:

Попытки Path Traversal (Directory Traversal)

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`, база SAM Windows — все классические цели path traversal.

#### Недействительные 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:~
#### Path Traversal, специфичный для 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 выполнил 8 102 запроса за 17 секунд, проверяя известные веб-уязвимости, отсутствующие заголовки безопасности, опасные HTTP-методы и векторы path traversal. В логе ошибок зафиксировано несколько попыток доступа к /etc/passwd, /etc/shadow, boot.ini и базе данных SAM Windows — все они были заблокированы валидацией URI Apache. Nikto также попытался выполнить запрос PUT для создания тестового файла на сервере, подтверждая, что проверял разрешения на запись.

Фаза 2 — Перебор каталогов (Dirb, 21:19 – 21:21)

Dirb протестировал 4 612 слов из своего общего списка слов как для корневого каталога, так и для каждого обнаруженного подкаталога. Это породило большую часть из 21 740 ошибок 404. Dirb успешно идентифицировал /admin/, /backup/ и /login/ как существующие каталоги. Каталог /backup/ был найден с включённым просмотром содержимого — существенная ошибка конфигурации, позволяющая злоумышленнику напрямую просматривать его содержимое.

Комбинированная оценка

Концентрация 21 962 HTTP-запросов с одного IP-адреса за примерно 7 минут в сочетании с наличием попыток path traversal, запросов с недопустимыми HTTP-методами и специфическими сигнатурами инструментов в логах доступа и ошибок является явным свидетельством автоматизированной активности веб-разведки.

Успешной эксплуатации не наблюдалось. Все попытки path traversal были отклонены механизмом валидации URI Apache. Доступ к защищённым файлам (.htpasswd, .htaccess, server-status) был запрещён конфигурацией сервера.


Основные индикаторы


Рекомендации по защите

На основе полученных данных рекомендуются следующие меры контроля:

  • Добавить заголовки безопасности в конфигурацию Apache: X-Frame-Options, X-Content-Type-Options, Content-Security-Policy
  • Отключить заголовки ETag для предотвращения утечки информации об инодах
  • Ограничить разрешённые HTTP-методы только GET, POST и HEAD
  • Отключить просмотр каталогов во всех каталогах, особенно в /backup/
  • Ограничить доступ к /server-status только для localhost
  • Внедрить ограничение скорости для блокировки IP-адресов, генерирующих чрезмерное количество запросов в секунду
  • Развернуть WAF (межсетевой экран веб-приложений) для обнаружения и блокировки шаблонов path traversal
  • Постоянно мониторить error.log на наличие событий AH10244 (недопустимый путь URI)
  • Удалить или ограничить публичный доступ к чувствительным каталогам (/admin/, /backup/)
  • Скрыть версию Apache в HTTP-заголовках ответов (ServerTokens Prod, ServerSignature Off)

Заключение

Эта лабораторная работа продемонстрировала, как инструменты автоматизированного веб-сканирования оставляют в логах доступа и ошибок Apache чёткие и идентифицируемые паттерны. Сопоставив объём ошибок 404, наличие попыток path traversal в error.log, запросы с недопустимыми HTTP-методами и специфические сигнатуры инструментов в путях запросов и строках user-agent, удалось восстановить полную временную шкалу атаки и идентифицировать использованные инструменты — без какого-либо предварительного знания действий атакующего.

Упражнение подчёркивает важность мониторинга логов веб-сервера, настройки заголовков безопасности и контроля доступа к каталогам как фундаментальных практик Blue Team для веб-инфраструктуры, доступной извне.


Использованные инструменты

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat
Скачать инструмент
ИндикаторЗначение
IP атакующего10.0.2.5
IP цели10.0.2.15
Порт цели80 (HTTP)
Веб-серверApache 2.4.67 (Debian)
Идентифицированные инструментыNikto v2.5.0, Dirb v2.22
Всего запросов от атакующего21 962
HTTP-ответов 200177
HTTP-ответов 40326
HTTP-ответов 40421 740
Обнаруженные каталоги/admin/, /backup/, /login/
Попытки обхода путиМножественные (все заблокированы)
Протестированные некорректные методы HTTPTRACK, DEBUG, SEARCH, INDEX
Атакованные конфиденциальные файлы/etc/passwd, /etc/shadow, .htpasswd, .htaccess
Успешная эксплуатацияОтсутствует
Временной интервал21:14–21:21 (2026-05-06)
КомпонентДетали
Атакующая ВМKali Linux
Целевая ВМDebian 13
СетьNAT Network (VirtualBox)
IP атакующего10.0.2.5
IP цели10.0.2.15
Веб-серверApache 2.4.67
Источники журналов/var/log/apache2/access.log, /var/log/apache2/error.log
HTTP-порт80
ИндикаторЗначение
IP атакующего10.0.2.5
IP цели10.0.2.15
Целевой порт80 (HTTP)
Веб-серверApache 2.4.67 (Debian)
Обнаруженные инструментыNikto v2.5.0, Dirb v2.22
Общее количество запросов атакующего21 962
HTTP-ответы 200177
HTTP-ответы 40326
HTTP-ответы 40421 740
Обнаруженные каталоги/admin/, /backup/, /login/
Попытки path traversalМножественные (все заблокированы)
Проверенные недопустимые HTTP-методыTRACK, DEBUG, SEARCH, INDEX
Целевые чувствительные файлы/etc/passwd, /etc/shadow, .htpasswd, .htaccess
Успешная эксплуатацияНет
Временной интервал21:14 – 21:21 (2026-05-06)