Виртуальные машины (ВМ) играют ключевую роль в процессе пентестинга (тестирования на проникновение), обеспечивая безопасную и изолированную среду для анализа систем и приложений.
Все-таки обходить стороной данный вопрос не совсем корректно, так как инструкции размещенные на этом канале не предполагают что все знатоки своего дела (без обид, сам себя к таким не отношу). В данной статье мы подробно рассмотрим, как правильно настроить виртуальную машину для проведения пентестов. Мы обсудим выбор подходящего программного обеспечения, конфигурацию сетевых параметров, установку необходимых инструментов и обеспечение безопасности вашей виртуальной среды.
Ведь от того, насколько Вам будет комфортно работать напрямую зависит и Ваша мотивация в обучении и развитии навыков этичного хакинга.
Выбор виртуальной машины
Тут все субъективно, я лично остановлюсь на Kali Linux, так как привык к ней и она максимально заточена для проведения всяких "хакерских" экспериментов. Все работает из коробки. Ну или почти все...
Но для адаптивности, приведу Вам еще несколько хороших VM для того, чтобы вы могли повыбирать:
- Parrot Security OS
- BackBox
- BlackArch
- Tails
- Pentoo
- Cyborg Hawk
Подготовка основной машины
Тут ничего особенного делать не придется, разве что включить в BIOS поддержку виртуализации. Предлагаю Вам сначала попробовать запустить все как есть, а вот если начнутся проблемы, то лезть в Google, BIOS и включаться. Инструкции для решения упомянутой проблемы не будет, так как на разном железе функция виртуализации находится в разных местах BIOSа. Придется чуть-чуть заморочиться самим и погуглить.
Далее качаем любой эмулятор, у меня будет VMware (качал здесь), но можно и другие:
- VirtualBox
- QEMU
- Hyper-V
- Proxmox VE
- Citrix Hypervisor
- Red Hat Virtualization
И качаем образ виртуальной машины, можно в виде ISO и настроить вручную самим, но рекомендую скачать уже готовую VM под ваш эмулятор (под VMware качаем тут KaliLinux, официально). Распаковываем в любое удобное место. Ищем файл с расширением .vmx - это файл конфигурации Kali Linux конкретно для VMware, настройки по-умолчанию. Но если хотите и позволяет основная машина можете добавить в эмуляторе больше памяти, ядер и тд.
Настройка Kali Linux
1. Обновление и очистка кэша
Первое что предлагаю сделать - это обновить все пакеты и выполнить очистку кэша пакетов apt.
sudo apt update && sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt autoclean -y
sudo apt clean -y
1 команда обновляет все пакеты, 2-4 очищают кэш.
Предлагаю пойти чуть дальше и настроить периодическое обновление и очистку кэша. Для этого необходимо написать скрипт и добавить его в crontab.
Открываем терминал и создаем файл скрипта, рекомендую создать отдельную папку для всех скриптов, так как возможно вы захотите что-то еще автоматизировать.
mkdir ~/DZEN
cd ~/DZEN
nano update-system.sh
Теперь сам скрипт:
#!/bin/bash
# Скрипт для обновления системы на Kali Linux
echo "Обновление списка пакетов..."
sudo apt update && sudo apt full-upgrade -y
echo "Удаление ненужных пакетов..."
sudo apt autoremove -y
echo "Очистка кеша пакетов..."
sudo apt autoclean -y
sudo apt clean -y
echo "Система успешно обновлена и очищена."
Делаем скрипт исполняемым и проверяем работу:
chmod +x update-system.sh
./update-system.sh
Теперь магия автоматизации.
crontab (сокращение от cron table) — это файл конфигурации, который используется для задания периодических задач, управляемых утилитой cron в системах на базе Unix/Linux. С помощью crontab можно настроить автоматическое выполнение команд или скриптов в определенное время и с определенной регулярностью.
Открываем редактор crontab:
crontab -e
Выбираем редактор при первом запуске, я использую nano.
Далее открывается как раз сам файл конфигурации crontab. Выглядит следующим образом:
Добавляем строку в конец файла:
0 2 * * * /root/DZEN/update-system.sh >> /var/log/crondaily/logfile.log 2>&1
- 0 2 * * * — это расписание, которое означает, что скрипт будет запускаться каждый день в 2:00 ночи:
0 — минута (0-я минута)
2 — час (2 часа ночи)
* — каждый день месяца
* — каждый месяц
* — каждый день недели - /root/DZEN/update-system.sh — полный путь к вашему скрипту. Замените на фактический путь к вашему файлу.
- >> /var/log/logfile.log 2>&1 — это перенаправление вывода скрипта в лог-файл.
Выходим из редактора (Ctrl+X) и сохраняем (Y).
Проверяем что все работает верно:
crontab -l
2. Установка необходимого ПО
Приведу просто перечень программ которые я рекомендую к установке сразу после входа в KaliLinux, так как рассмотрение каждой программы это отдельная статья.
Terminator
Описание: Мощный терминал с возможностью разделения окна на несколько панелей, что позволяет удобно работать с несколькими сессиями одновременно.
sudo apt install terminator
Htop
Описание: Удобный интерактивный монитор ресурсов системы, который позволяет отслеживать использование процессора, памяти и процессов в реальном времени.
sudo apt install htop
GParted
Описание: Утилита для управления разделами диска с графическим интерфейсом. Полезно для создания, удаления, расширения и изменения размеров разделов.
sudo apt install gparted
Tor Browser
Описание: Браузер для анонимного серфинга в интернете, основанный на сети Tor, который помогает скрыть вашу активность в сети и защитить конфиденциальность.
sudo apt install tor torbrowser-launcher
Docker
Описание: Платформа для контейнеризации, которая позволяет изолировать приложения в контейнерах. Полезна для тестирования, разработки и запуска изолированных сред.
sudo apt install docker.io
Git
Описание: Система управления версиями, необходимая для работы с репозиториями. Полезна для разработки и управления исходным кодом.
sudo apt install git
3. Удобство использования
И приведу несколько полезных команд для упрощения Вашей работы в системе.
echo '%sudo ALL=(ALL:ALL) NOPASSWD: ALL' | sudo tee --append /etc/sudoers
sudo passwd root
sudo localectl set-locale LANG=ru_RU.UTF-8
sudo apt install python3-pip
sudo su -
1. Запуск команд без пароля
2. Разблокировка учетной записи суперпользователя root
3. Установка русского языка в системе
4. Установка менеджера пакетов pip
5. Открываем консоль из под root (с повышенными привилегиями)
Заключение
На этом пока еще не все, к теме настройки и удобства использования linux систем мы еще вернемся. Гугл Вам в помощь!