Знакомство с инструментами безопасности Kali Linux

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

Введение

В этой лабораторной работе вы научитесь ориентироваться в системе и использовать основные инструменты безопасности Kali Linux для задач тестирования на проникновение и обеспечения кибербезопасности. Это практическое занятие проведет вас через процесс просмотра предустановленных инструментов с помощью dpkg -l, запуск платформы Metasploit через msfconsole, выполнение сетевого сканирования с помощью nmap, поиск уязвимостей веб-серверов с помощью nikto, работу с документацией через страницы man и сохранение результатов команд в файлы. Данная работа разработана для новичков и представляет собой пошаговое введение в Kali Linux внутри изолированной контейнерной среды на виртуальной машине LabEx. При открытии терминала вы будете автоматически подключены к оболочке контейнера Kali Linux и сможете сразу приступить к практике.

Просмотр предустановленных инструментов с помощью dpkg -l

На первом этапе вы научитесь просматривать список предустановленных инструментов и пакетов в вашей системе Kali Linux, используя команду dpkg -l. Это базовый, но важный навык, позволяющий понять, какое программное обеспечение доступно для тестирования на проникновение и системного администрирования.

Когда вы открываете терминал в среде LabEx, вы автоматически подключаетесь к оболочке контейнера 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, введите следующую команду:

dpkg -l | grep apt

Пример ожидаемого вывода:

ii  apt                            2.2.4                              amd64        commandline package manager

Это отфильтрует список и покажет только те пакеты, в названии или описании которых встречается apt. Такая техника помогает быстро находить нужные инструменты. Понимание того, какие средства доступны в системе — это фундамент, необходимый перед переходом к специфическим задачам безопасности.

Установка и запуск Metasploit через msfconsole

Теперь, когда вы ознакомились с доступными инструментами, давайте перейдем к запуску одной из самых мощных платформ для тестирования на проникновение — Metasploit — с помощью команды msfconsole. Этот шаг расширяет ваши знания о системных инструментах и знакомит с ключевой платформой для проверки безопасности.

Metasploit — это фреймворк, используемый для разработки, тестирования и выполнения эксплойтов на целевых системах. msfconsole — это его интерфейс командной строки, позволяющий взаимодействовать с фреймворком, настраивать параметры и запускать различные задачи по безопасности.

Сначала убедитесь, что Metasploit установлен, обновив список пакетов и установив необходимый пакет. Введите следующие команды в терминале контейнера Kali Linux, нажимая Enter после каждой:

apt update
apt install -y metasploit-framework

Эти команды обновляют базу данных пакетов и устанавливают Metasploit, если он еще не установлен. Дождитесь завершения процесса; это может занять несколько минут в зависимости от системы.

После установки запустите консоль Metasploit, введя следующую команду:

msfconsole

При первом запуске инициализация может занять некоторое время, так как происходит настройка базы данных и загрузка модулей. Пожалуйста, проявите терпение.

Пример ожидаемого вывода:

Metasploit Framework
...
msf6 >

Приглашение msf6 > означает, что вы находитесь внутри консоли Metasploit и готовы к работе. Число (например, 6) указывает на версию Metasploit.

Приглашение консоли Metasploit

На данный момент выполнять какие-либо действия в Metasploit не требуется. Выйдите из консоли, введя следующую команду в строке msf6 >:

exit

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

Установка и выполнение базового сканирования Nmap

После знакомства с Metasploit сосредоточимся на сетевом сканировании с помощью nmap — универсального инструмента для исследования сети и аудита безопасности. Этот этап научит вас определять открытые порты и службы в системе, что является критически важным навыком.

nmap (сокращение от Network Mapper) используется для обнаружения хостов и служб в сети путем отправки пакетов и анализа ответов. Он помогает выявить потенциальные уязвимости, показывая, какие ресурсы доступны на целевой системе.

Сначала убедитесь, что nmap установлен в вашем контейнере Kali Linux. Введите команду для обновления списка пакетов и установки nmap:

apt install -y nmap

Дождитесь завершения установки; обычно это занимает всего несколько секунд. Теперь вы готовы к базовому сканированию. Поскольку сканирование внешних систем без разрешения неэтично и незаконно, мы будем сканировать localhost (ваш собственный контейнер) в качестве безопасной цели.

Для начала запустим простой веб-сервер в контейнере:

apt install -y apache2
service apache2 start

Затем введите следующую команду:

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

Развивая навыки сетевого сканирования, на этом этапе мы познакомимся с nikto — инструментом для сканирования веб-серверов на предмет уязвимостей и ошибок конфигурации. Это неотъемлемая часть тестирования безопасности веб-приложений.

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

Сначала установите nikto в контейнер Kali Linux:

apt install -y nikto

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

nikto -h localhost

Параметр -h указывает хост для сканирования (в данном случае localhost), по умолчанию проверяется стандартный порт веб-сервера (обычно 80).

Пример ожидаемого вывода:

- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        80
---------------------------------------------------------------------------
+ End Time:           ...
---------------------------------------------------------------------------

Этот вывод показывает, как nikto пытается подключиться к веб-серверу на localhost. Если сервер не запущен, программа сообщит о невозможности подключения. Если бы сервер был активен, вы бы увидели список потенциальных уязвимостей. Этот шаг помогает понять, как использовать nikto для поиска слабых мест в веб-приложениях.

Доступ к документации инструментов через страницы man

Теперь, когда вы поработали с такими инструментами, как nmap и nikto, важно научиться самостоятельно находить информацию о них. На этом этапе вы научитесь использовать страницы man (руководства) для изучения подробных сведений о командах и инструментах в Kali Linux.

Страницы man (сокращение от manual) — это исчерпывающие справочные руководства для большинства инструментов и команд Linux. Они содержат подробные описания, доступные опции, примеры и инструкции по использованию, что делает их бесценным ресурсом.

Установите пакет man, если он отсутствует:

apt install -y man

Для примера откроем справочную страницу для nmap. Введите в терминале:

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.
...

Используйте стрелки вверх и вниз для навигации по тексту. Вы увидите разделы с описанием синтаксиса, флагов и примеров. Чтобы выйти из справочной страницы, нажмите клавишу q.

Умение пользоваться страницами man дает вам возможность самостоятельно изучать функции любого инструмента. Это особенно полезно в Kali Linux, где инструменты имеют множество параметров, которые могут понадобиться в процессе работы.

Перенаправление вывода Nmap в файл

На заключительном этапе вы научитесь сохранять результаты работы команд в файл. Это логическое продолжение работы с nmap, которое знакомит вас с перенаправлением вывода — фундаментальным навыком Linux для документирования результатов.

Перенаправление вывода в Linux позволяет сохранять результаты выполнения команды в файл вместо того, чтобы просто выводить их на экран. Для этого используется символ >, который записывает данные в указанный файл (перезаписывая его, если он уже существует).

Давайте выполним еще одно сканирование localhost с помощью nmap и сохраним результаты в файл nmap_scan.txt. Введите команду:

nmap localhost > /root/nmap_scan.txt

Символ > перенаправляет вывод команды nmap localhost в файл /root/nmap_scan.txt. Вы не увидите результатов сканирования в терминале, так как они записываются в файл.

Чтобы убедиться, что данные сохранены, просмотрите содержимое файла с помощью команды cat:

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. Сохранение вывода в файлы — это стандартная практика при тестировании на проникновение, позволяющая анализировать или передавать отчеты без необходимости повторного запуска команд.

Резюме

В ходе этой лабораторной работы вы научились исследовать и использовать основные инструменты безопасности в Kali Linux. Вы начали с просмотра установленных пакетов через dpkg -l, установили и запустили Metasploit через msfconsole, провели сетевое сканирование с помощью nmap, проверили веб-уязвимости через nikto, научились работать со справочными страницами man и сохранять результаты работы в файлы. Эти базовые навыки закладывают прочный фундамент для дальнейшего изучения кибербезопасности и сетевого анализа в контролируемой среде.