В этой лабораторной работе вы узнаете, как ориентироваться и использовать основные инструменты безопасности в Kali Linux для тестирования на проникновение и задач кибербезопасности. Эта практическая сессия проведет вас через просмотр предустановленных инструментов с помощью dpkg -l, запуск фреймворка Metasploit с использованием msfconsole, выполнение сетевого сканирования с помощью nmap, сканирование веб-серверов с помощью nikto, доступ к документации инструментов через man страницы и сохранение результатов команд в файлы. Эта лабораторная работа, разработанная для начинающих, представляет собой пошаговое введение в Kali Linux в контролируемой контейнерной среде на LabEx VM. Когда вы откроете терминал, вы будете автоматически подключены к оболочке контейнера Kali Linux и готовы начать практиковаться.
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
kali(("Kali")) -.-> kali/KaliGroup(["Kali"])
kali/KaliGroup -.-> kali/term_ops("Kali Terminal")
kali/KaliGroup -.-> kali/file_ctrl("File Management")
kali/KaliGroup -.-> kali/pkg_ops("Package Management")
kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool")
kali/KaliGroup -.-> kali/metasploit_ops("Metasploit Framework")
kali/KaliGroup -.-> kali/vuln_scan("Vulnerability Scanning")
kali/KaliGroup -.-> kali/nikto_ops("Nikto Scanner")
subgraph Lab Skills
kali/term_ops -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/file_ctrl -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/pkg_ops -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/nmap_ops -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/metasploit_ops -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/vuln_scan -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
kali/nikto_ops -.-> lab-552192{{"Изучение инструментов безопасности Kali Linux"}}
end
Просмотр предустановленных инструментов с помощью dpkg -l
На этом первом шаге вы узнаете, как просматривать предустановленные инструменты и пакеты в вашей системе Kali Linux с помощью команды dpkg -l. Это базовый, но важный навык для понимания того, какое программное обеспечение доступно для использования при тестировании на проникновение и управлении системой.
Когда вы открываете терминал в среде LabEx VM, вы автоматически подключаетесь к оболочке контейнера Kali Linux. Нет необходимости вручную запускать контейнер или входить в оболочку; среда уже настроена для вас.
Давайте начнем с выполнения команды для перечисления всех установленных пакетов. Введите следующую команду в терминале и нажмите Enter:
dpkg -l
Эта команда отображает подробный список всех установленных пакетов, включая их имена, версии, архитектуры и краткие описания.
Ожидаемый вывод (пример, фактический вывод может отличаться):
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-====================-============-========================================================
ii adduser 3.118 all add and remove users and groups
ii apt 2.2.4 amd64 commandline package manager
ii base-files 11.1+deb11u7 amd64 Debian base system miscellaneous files
...
Этот вывод показывает статус каждого пакета (ii означает установлен), а также другие детали. Поскольку список длинный, он будет прокручиваться в терминале. Вы можете использовать клавиши со стрелками вверх и вниз или колесико мыши для навигации по нему.
Чтобы сделать вывод более управляемым, вы можете отфильтровать его для поиска определенных инструментов. Например, чтобы найти пакеты, связанные с apt, введите следующую команду и нажмите Enter:
dpkg -l | grep apt
Ожидаемый вывод (пример, фактический вывод может отличаться):
ii apt 2.2.4 amd64 commandline package manager
Это фильтрует список, чтобы показать только пакеты с apt в их имени или описании. Этот метод помогает вам быстро находить инструменты, которые вы будете использовать на более поздних этапах. Понимание того, какие инструменты доступны в вашей системе, является основополагающим шагом перед тем, как погрузиться в конкретные задачи безопасности.
Установка и запуск Metasploit с помощью msfconsole
Теперь, когда вы увидели инструменты, доступные в Kali Linux, давайте перейдем к запуску одного из самых мощных фреймворков для тестирования на проникновение, Metasploit, с помощью команды msfconsole. Этот шаг основывается на вашем понимании инструментов системы и знакомит вас с ключевой платформой для тестирования безопасности.
Metasploit - это фреймворк (framework), используемый для разработки, тестирования и выполнения эксплойтов (exploits) против целевых систем. msfconsole - это его интерфейс командной строки, позволяющий вам взаимодействовать с фреймворком, настраивать параметры и запускать различные задачи безопасности.
Сначала убедитесь, что Metasploit установлен, обновив список пакетов и установив необходимый пакет. Введите следующие команды в терминале контейнера Kali Linux, нажимая Enter после каждой:
apt update
apt install -y metasploit-framework
Эти команды обновляют список пакетов и устанавливают Metasploit, если он еще не установлен. Подождите, пока установка завершится; это может занять несколько минут в зависимости от системы.
После установки запустите консоль Metasploit, введя следующую команду и нажав Enter:
msfconsole
При первом запуске этой команды может потребоваться некоторое время для инициализации, поскольку она настраивает базу данных и загружает модули. Будьте терпеливы в течение этого процесса.
Ожидаемый вывод (пример, фактический вывод может отличаться):
Metasploit Framework
...
msf6 >
Приглашение msf6 > указывает на то, что вы сейчас находитесь внутри консоли Metasploit и готовы взаимодействовать с фреймворком. Число (например, 6) представляет версию Metasploit.
На данный момент вам не нужно выполнять какие-либо конкретные задачи в Metasploit. Выйдите из консоли, введя следующую команду в приглашении msf6 > и нажав Enter:
exit
Это вернет вас к стандартному приглашению терминала. Запуск и выход из msfconsole знакомит вас с доступом к этому инструменту, который имеет решающее значение для многих действий по тестированию на проникновение, которые вы изучите в будущем.
Установка и запуск базового сканирования Nmap
После запуска Metasploit давайте теперь сосредоточимся на сканировании сети с использованием nmap, универсального инструмента для обнаружения сети и аудита безопасности. Этот шаг познакомит вас с определением открытых портов и служб в системе, что является критически важным навыком при тестировании на проникновение.
nmap (Network Mapper) используется для обнаружения хостов и служб в сети путем отправки пакетов и анализа ответов. Он помогает выявить потенциальные уязвимости, показывая, что доступно в целевой системе.
Сначала убедитесь, что nmap установлен в вашем контейнере Kali Linux. Введите следующую команду в терминале и нажмите Enter, чтобы обновить список пакетов и установить nmap:
apt install -y nmap
Подождите, пока установка завершится; это должно занять всего несколько секунд. После установки вы готовы выполнить базовое сканирование. Поскольку сканирование внешних систем без разрешения неэтично, мы будем сканировать localhost (ваш собственный контейнер) в качестве безопасной цели.
Давайте запустим базовый веб-сервер на контейнере.
apt install -y apache2
service apache2 start
Введите следующую команду и нажмите Enter:
nmap localhost
Эта команда выполняет сканирование по умолчанию для обнаружения открытых портов и служб в вашей локальной системе.
Ожидаемый вывод (пример, фактический вывод может отличаться):
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
В этом выводе Host is up подтверждает, что цель достижима. В таблице перечислены открытые порты (например, 80/tcp для HTTP), их состояние (open означает доступен) и связанная служба. Эта информация жизненно важна для понимания того, какие службы работают в системе. Сканируя localhost, вы безопасно попрактиковались в использовании nmap, подготовив вас к более продвинутым задачам сетевой разведки на будущих этапах.
Установка и сканирование с помощью Nikto на наличие веб-уязвимостей
Основываясь на ваших навыках сканирования сети с помощью nmap, этот шаг познакомит вас с nikto, инструментом для сканирования веб-серверов с целью выявления уязвимостей и неправильных конфигураций. Это важная часть тестирования веб-безопасности.
nikto - это инструмент с открытым исходным кодом, который проверяет веб-серверы на наличие известных проблем, таких как устаревшее программное обеспечение, небезопасные файлы и другие потенциальные недостатки безопасности. Он широко используется специалистами по безопасности для оценки безопасности веб-приложений.
Сначала убедитесь, что nikto установлен в вашем контейнере Kali Linux. Введите следующую команду в терминале и нажмите Enter, чтобы установить его:
apt install -y nikto
Подождите, пока установка завершится; это должно занять всего несколько секунд. После установки вы будете сканировать localhost в качестве безопасной цели, чтобы продемонстрировать функциональность nikto. Если на localhost не запущен веб-сервер, инструмент все равно покажет, как он пытается подключиться, что ценно для обучения. Введите следующую команду и нажмите Enter:
nikto -h localhost
Опция -h указывает хост для сканирования, в данном случае localhost, нацеливаясь на порт веб-сервера по умолчанию (обычно 80).
Ожидаемый вывод (пример, фактический вывод может отличаться):
Этот вывод показывает, что nikto пытается подключиться к веб-серверу на localhost. Если сервер не запущен, он сообщает о невозможности подключения, как показано выше. Если бы сервер был активен, он бы перечислил потенциальные уязвимости или неправильные конфигурации. Этот шаг помогает вам понять, как использовать nikto для сканирования веб-уязвимостей, что является ключевым навыком для выявления слабых мест безопасности в веб-приложениях.
Доступ к документации инструментов с помощью man-страниц
Теперь, когда вы использовали такие инструменты, как nmap и nikto, важно знать, как получить доступ к их документации для дальнейшего обучения. В этом шаге вы научитесь использовать man-страницы для изучения подробной информации о командах и инструментах в Kali Linux.
man-страницы (manual pages) - это исчерпывающие руководства для большинства инструментов и команд Linux. Они содержат подробные описания, параметры, примеры и инструкции по использованию, что делает их бесценными для понимания того, как эффективно использовать инструмент.
Установите man, если он еще не установлен.
apt install -y man
Давайте получим доступ к man-странице для nmap в качестве примера. Введите следующую команду в терминале и нажмите Enter:
man nmap
Это откроет страницу руководства для nmap в интерфейсе пейджера, скорее всего, less, где вы можете прочитать подробную документацию.
Ожидаемый вывод (пример, фактический вывод может отличаться):
NMAP(1) Nmap Reference Guide NMAP(1)
NAME
nmap - Network exploration tool and security / port scanner
SYNOPSIS
nmap [Scan Type...] [Options] {target specification}
DESCRIPTION
Nmap ("Network Mapper") is an open source tool for network exploration and
security auditing. It was designed to rapidly scan large networks, although
it works fine against single hosts. Nmap uses raw IP packets in novel ways
to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and
OS versions) they are running, what type of packet filters/firewalls are in
use, and dozens of other characteristics.
...
Используйте клавиши со стрелками вверх и вниз для навигации по документации. Вы увидите разделы об использовании, параметрах и примерах. Чтобы выйти из man-страницы, нажмите q, чтобы вернуться в командную строку терминала.
Обучение использованию man-страниц дает вам возможность самостоятельно изучать функции любого инструмента. Это особенно полезно в Kali Linux, где инструменты имеют множество параметров, к которым вам может потребоваться обращаться во время выполнения задач безопасности.
Перенаправление вывода Nmap в файл
В этом заключительном шаге вы узнаете, как сохранить вывод команды в файл для дальнейшего использования. Это основано на вашем предыдущем использовании nmap и представляет перенаправление вывода (output redirection), фундаментальный навык Linux для документирования результатов.
Перенаправление вывода в Linux позволяет сохранять результаты команды в файл вместо отображения их в терминале. Это делается с помощью символа >, который записывает вывод в указанный файл, перезаписывая его, если он уже существует.
Давайте выполним еще одно сканирование nmap на localhost и сохраним результаты в файл с именем nmap_scan.txt. Введите следующую команду в терминале и нажмите Enter:
nmap localhost > /root/nmap_scan.txt
Символ > перенаправляет вывод команды nmap localhost в файл /root/nmap_scan.txt. Вы не увидите результаты сканирования в терминале, потому что они сохраняются в файл.
Чтобы убедиться, что вывод был сохранен, просмотрите содержимое файла, введя следующую команду и нажав Enter:
cat /root/nmap_scan.txt
Ожидаемый вывод (пример, фактический вывод может отличаться):
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Это подтверждает, что результаты сканирования были успешно сохранены в /root/nmap_scan.txt. Сохранение вывода в файлы - это практичный способ документирования результатов во время тестирования на проникновение (penetration testing), позволяющий вам просматривать или делиться результатами позже без необходимости повторного запуска команд.
Итог
В этой лабораторной работе вы узнали, как исследовать и использовать основные инструменты безопасности в Kali Linux для тестирования на проникновение (penetration testing). Вы начали с просмотра предустановленных инструментов с помощью dpkg -l, установили и запустили Metasploit с помощью msfconsole, выполнили сетевое сканирование с помощью nmap, сканировали веб-уязвимости с помощью nikto, получили доступ к документации инструментов через man-страницы и сохранили вывод команд в файлы. Эти фундаментальные навыки обеспечивают прочную основу для дальнейшего обучения в области кибербезопасности и анализа сетей в контролируемой среде.