Настройка вашей среды Kali Linux

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

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

Introduction

В этой лабораторной работе вы узнаете, как настроить и исследовать среду Kali Linux с использованием Docker в виртуальной машине LabEx. Kali Linux — это мощное распределение на базе Debian, предназначенное для penetration testing и задач кибербезопасности. Запуская Kali Linux в контейнере Docker, вы можете создать изолированную среду для практики инструментов безопасности, не влияя на хост-систему.

Вы начнете с загрузки и запуска контейнера Docker с Kali Linux, доступа к его терминалу и проверки настройки. Затем вы изучите базовые команды терминала, обновите систему с помощью основных инструментов управления пакетами и проверите версию Kali и информацию о системе, чтобы убедиться, что все настроено правильно. Этот практический опыт предоставит прочную основу для работы с 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/wireshark_ops("Wireshark Tool") kali/KaliGroup -.-> kali/sys_obs("System Monitoring") kali/KaliGroup -.-> kali/bash_code("Bash Scripting") subgraph Lab Skills kali/term_ops -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/file_ctrl -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/pkg_ops -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/nmap_ops -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/wireshark_ops -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/sys_obs -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} kali/bash_code -.-> lab-552195{{"Настройка вашей среды Kali Linux"}} end

Запуск контейнера Docker с Kali Linux

В этом шаге вы загрузите и запустите контейнер Docker с Kali Linux в среде виртуальной машины LabEx, а также получите доступ к его терминалу. Docker позволяет запускать приложения в изолированных контейнерах, а Kali Linux — это специализированное дистрибутив Linux для задач кибербезопасности и penetration testing. Запуск Kali в контейнере обеспечивает чистую и переносимую настройку для обучения и экспериментов.

Перед началом давайте уточним некоторые базовые понятия для начинающих:

  • Docker: Docker — это платформа, которая позволяет создавать и запускать приложения в контейнерах. Контейнер — это легковесная, изолированная среда, включающая операционную систему и необходимые инструменты.
  • Kali Linux: Kali Linux — это дистрибутив Linux на базе Debian, предназначенный для тестирования безопасности, с предустановленными инструментами для penetration testing и цифровой криминалистики.
  • Docker Container: Контейнер — это запущенный экземпляр Docker-образа. Вы начнете с загрузки официального образа Kali Linux и создания контейнера на его основе.

Теперь загрузим образ Kali Linux, запустим контейнер и получим доступ к его терминалу. Все операции будут выполняться в каталоге по умолчанию /home/labex/project. Следуйте инструкциям внимательно.

  1. Откройте терминал в среде виртуальной машины LabEx. Сделать это можно, нажав на иконку терминала на рабочем столе Xfce или используя терминал в интерфейсе LabEx.

  2. Подтвердите, что вы находитесь в каталоге по умолчанию, выполнив эту команду:

    pwd

    Вывод должен быть следующим:

    /home/labex/project

    Если вы не в /home/labex/project, перейдите в него с помощью:

    cd /home/labex/project
  3. Загрузите официальный образ Kali Linux из Docker Hub. Выполните следующую команду:

    docker pull kalilinux/kali-rolling

    Эта команда скачает последний образ Kali Linux. В терминале вы увидите прогресс загрузки.

    Изображение, показывающее прогресс загрузки Docker
  4. Проверьте, что образ Kali Linux был успешно загружен. Выполните:

    docker images

    Вывод должен быть похожим на:

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    kalilinux/kali-rolling latest    xxxxxxxx       X days ago     XXXMB
  5. Теперь запустите новый контейнер на основе образа Kali Linux. Выполните эту команду для запуска контейнера в фоновом режиме:

    docker run -d --name kali-container -it kalilinux/kali-rolling /bin/bash

    Давайте разберем эту команду:

    • docker run: Создает и запускает новый контейнер.
    • -d: Запускает контейнер в отсоединенном режиме (в фоновом режиме).
    • --name kali-container: Присваивает контейнеру имя для удобной ссылки.
    • -it: Объединяет -i (интерактивный) и -t (tty) для взаимодействия с терминалом контейнера.
    • kalilinux/kali-rolling: Указывает образ для использования.
    • /bin/bash: Запускает оболочку Bash внутри контейнера.

    После выполнения этой команды терминал вернет ID контейнера, что означает, что контейнер запущен в фоновом режиме.

    Проверьте статус контейнера с помощью:

    docker ps

    Вы должны увидеть, что контейнер запущен с его ID.

  6. Подключитесь к запущенному контейнеру с помощью:

    docker exec -it kali-container /bin/bash

    Теперь вы окажетесь внутри терминала контейнера. Вы останетесь в терминале контейнера для всех последующих шагов. Не выходите из контейнера, если не указано иное. Если вы случайно выйдете, вы можете подключиться снова с помощью той же команды.

    Изображение, показывающее доступ к терминалу контейнера

Поздравляем! Вы успешно загрузили образ Docker с Kali Linux, запустили контейнер и получили доступ к его терминалу. В следующем шаге вы проверите, что среда настроена правильно, оставаясь внутри контейнера.

Исследование терминала Kali Linux

В этом шаге вы исследуете интерфейс терминала внутри контейнера Docker с Kali Linux. Терминал — это основной способ взаимодействия с системами Linux, особенно в Kali Linux, где большинство инструментов основано на командной строке. Этот шаг поможет вам освоить базовые команды и среду контейнера.

Давайте разберем некоторые ключевые понятия для начинающих:

  • Terminal: Терминал — это текстовый интерфейс для взаимодействия с операционной системой. Он позволяет запускать команды, управлять файлами и настраивать параметры.
  • Bash Shell: Bash (Bourne Again Shell) — это оболочка по умолчанию в Kali Linux, которая обрабатывает вводимые вами команды.
  • Root User: Пользователь root имеет полный административный доступ в Linux. Внутри этого контейнера вы вошли как root, что дает вам полный контроль.

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

  1. Подтвердите ваше текущее местоположение внутри контейнера, выполнив:

    pwd

    Вывод должен быть:

    /

    Это показывает, что вы находитесь в корневом каталоге файловой системы внутри контейнера.

  2. Выведите список содержимого текущего каталога, чтобы увидеть структуру файловой системы. Выполните:

    ls

    Вывод должен быть похожим на:

    bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

    Это стандартные каталоги Linux. Например, bin содержит бинарные файлы, а etc хранит файлы конфигурации.

  3. Проверьте вашу идентичность пользователя, выполнив:

    whoami

    Вывод должен быть:

    root

    Это подтверждает, что вы работаете как пользователь root внутри контейнера.

    Вывод команды uname -a в Kali
  4. Оставайтесь внутри терминала контейнера для следующих шагов. Не вводите exit, так как это отключит вас от контейнера. Если вы случайно выйдете, подключитесь снова с помощью docker exec -it kali-container /bin/bash из терминала хоста.

Поздравляем! Вы исследовали интерфейс терминала контейнера Kali Linux с помощью базовых команд. В следующем шаге вы обновите систему, чтобы убедиться, что у нее есть последние пакеты и патчи безопасности.

Обновление системы Kali Linux

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

Давайте разберем некоторые важные понятия для начинающих:

  • Package Manager: Менеджер пакетов занимается установкой, обновлением и удалением программных пакетов. Kali Linux, основанный на Debian, использует apt (Advanced Package Tool) в качестве менеджера пакетов.
  • apt update: Эта команда обновляет локальный индекс пакетов, получая последнюю информацию из онлайн-репозиториев. Она ничего не устанавливает; она только обновляет список доступных пакетов.
  • Kali Linux Tool Collections: Kali Linux предлагает разные метапакеты для установки инструментов:
    • Individual Packages: Установка отдельных инструментов по одному (например, nmap, wireshark, metasploit-framework)
    • kali-linux-headless: Минимальный набор инструментов, подходящий для систем без графического интерфейса, содержащий наиболее распространенные инструменты командной строки
    • kali-linux-large: Полный набор, включающий большинство инструментов безопасности Kali Linux (~450 инструментов)

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

  1. Обновите индекс пакетов, чтобы получить последнюю информацию о доступных пакетах. Выполните эту команду внутри контейнера:

    apt update

    Вывод будет похожим на:

    Get:1 http://kali.download/kali kali-rolling InRelease [30.5 kB]
    Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [18.1 MB]
    ...
    Fetched 18.5 MB in 5s (3,700 kB/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
  2. У вас есть несколько вариантов установки инструментов. Давайте разберем каждый подход:

    a. Установка отдельных инструментов (если вам нужны только конкретные инструменты):

    apt -y install <package-name>

    Например: apt -y install nmap wireshark

    b. Установка коллекции headless (для минимального набора общих инструментов):

    ## YOU DO NOT NEED TO RUN THIS COMMAND
    apt -y install kali-linux-headless

    Это подходит для базового тестирования безопасности и работы с ограниченными ресурсами.

    c. Установка коллекции large (для всестороннего тестирования безопасности):

    ## YOU DO NOT NEED TO RUN THIS COMMAND
    apt -y install kali-linux-large

    Это включает большинство инструментов безопасности, но требует больше дискового пространства и времени на установку.

  3. Для этого лабораторного занятия мы установим базовый набор инструментов. Выполните:

    apt -y install kali-linux-headless

    Флаг -y автоматически подтверждает все запросы, позволяя установке продолжаться без перерывов. Вывод будет похожим на:

    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      <package1> <package2> ...
    ...
    Setting up <package1> ...
    Setting up <package2> ...

    Это займет некоторое время, так как оно скачивает и устанавливает множество пакетов. Метапакет kali-linux-headless предоставляет наиболее полный набор инструментов для тестирования безопасности в Kali Linux.

    Ctrl+C для остановки процесса установки, если вы не хотите ждать его завершения.

  4. Оставайтесь внутри терминала контейнера для следующего шага. Не вводите exit. Если вы случайно выйдете, подключитесь снова с помощью docker exec -it kali-container /bin/bash из терминала хоста.

Поздравляем! Вы обновили систему Kali Linux и установили полный набор инструментов безопасности внутри контейнера Docker. Наличие этих инструментов обеспечит готовность к различным задачам тестирования безопасности. В следующем шаге вы проверите версию и информацию о системе Kali Linux.

Проверка версии Kali Linux и информации о системе

В этом шаге вы проверите версию Kali Linux и соберете базовую информацию о системе внутри контейнера Docker. Знание версии и деталей системы помогает в устранении неисправностей и обеспечивает совместимость с инструментами безопасности.

Давайте разберем некоторые ключевые понятия для начинающих:

  • Version Information: Версия Kali Linux указывает на используемый выпуск или сборку. Kali следует модели rolling release, что означает непрерывные обновления вместо фиксированных версий.
  • System Information: Это включает детали о ядре (ядре ОС), архитектуре оборудования и других данных системы. Команды и системные файлы предоставляют эту информацию для просмотра.
  • Command Output: Вывод команд Linux часто отображает подробную информацию в терминале. Умение интерпретировать этот вывод полезно для понимания вашей системы.

Поскольку вы уже находитесь в терминале контейнера Kali Linux из предыдущего шага, давайте перейдем к проверке версии и информации о системе. Следуйте инструкциям внимательно.

  1. Проверьте версию Kali Linux, просмотрев содержимое файла /etc/os-release. Выполните эту команду:

    cat /etc/os-release

    Вывод должен быть похожим на:

    PRETTY_NAME="Kali GNU/Linux Rolling"
    NAME="Kali GNU/Linux"
    VERSION_ID="2023.3"
    VERSION="2023.3"
    VERSION_CODENAME="kali-rolling"
    ID=kali
    ID_LIKE=debian
    HOME_URL="https://www.kali.org/"
    SUPPORT_URL="https://forums.kali.org/"
    BUG_REPORT_URL="https://bugs.kali.org/"
    ANSI_COLOR="1;31"

    Это показывает детали, такие как версия (например, 2023.3) и кодовое имя (kali-rolling). Точная версия может варьироваться в зависимости от обновления образа.

  2. Соберите информацию о ядре и архитектуре системы. Выполните эту команду:

    uname -a

    Вывод будет похожим на:

    Linux xxxxxxxxxxxx 5.10.0-0.deb10.9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux

    Это отображает версию ядра (например, 5.10.0) и архитектуру (например, x86_64 для 64-битной). Точные детали могут отличаться.

  3. Проверьте имя хоста контейнера. Выполните эту команду:

    hostname

    Вывод будет уникальным идентификатором, таким как:

    xxxxxxxxxxxx

    Это имя хоста контейнера, автоматически генерируемое Docker и уникальное для каждого экземпляра.

  4. Оставайтесь в терминале контейнера, если вы хотите продолжить исследование. Если вам нужно вернуться в терминал LabEx VM, введите exit. Вы всегда можете подключиться позже с помощью docker exec -it kali-container /bin/bash.

Поздравляем! Вы проверили версию Kali Linux и информацию о системе с помощью простых команд. Это завершает базовую настройку и исследование среды Kali Linux в контейнере Docker.

Сводка

В этой лабораторной работе вы научились настраивать и управлять средой Kali Linux с использованием Docker в LabEx VM. Вы начали с загрузки и запуска контейнера Docker с Kali Linux, доступа к его терминалу и проверки настройки. Затем вы изучили интерфейс терминала с помощью базовых команд, чтобы понять среду. Вы обновили систему с помощью apt update и apt upgrade, чтобы убедиться, что установлены последние инструменты и патчи. Наконец, вы проверили версию Kali Linux и информацию о системе, чтобы подтвердить настройку. Эти шаги предоставили базовое понимание работы с Kali Linux в контейнеризованной среде для задач кибербезопасности.