Kali Linux из коробки - заготовка, а не рабочий инструмент. Дефолтный shell без алиасов, пустая домашняя директория, 600 с лишним предустановленных утилит - из которых на реальном проекте пригодятся от силы два десятка. Я настраивал окружения на Kali и Parrot десятки раз: bare metal, VirtualBox, VMware, WSL2. И каждый раз первые полчаса после установки уходят не на «взлом», а на превращение дистрибутива в нормальное рабочее место.
Это конкретный чеклист для настройки Kali Linux для пентеста: что сделать сразу после установки, какие инструменты добавить, как организовать файловую структуру и выжать максимум из виртуальной машины. Без лирики про «600 инструментов хакера» - только то, что реально экономит время на проектах.
Kali или Parrot: какой пентест дистрибутив Linux выбрать
Прежде чем настраивать - определитесь с платформой. Русскоязычные гайды обычно сводятся к «ставь Kali», но Parrot OS для пентеста - рабочая альтернатива, и в ряде сценариев она удобнее. Подробнее - в нашей статье о linux для пентестера.| Критерий | Kali Linux | Parrot OS (Security Edition) |
|---|---|---|
| Основа | Debian (testing) | Debian (testing) |
| Разработчик | Offensive Security | Parrot Security |
| DE по умолчанию | Xfce | MATE |
| Потребление RAM (DE при старте) | 800 МБ - 1.2 ГБ | 500 МБ - 800 МБ |
| Метапакеты для выборочной установки | Да (kali-tools-*) | Частично |
| Встроенная анонимизация трафика | Нет | Да (AnonSurf) |
| Документация и сообщество | Обширная, стандарт индустрии | Хорошая, но меньше |
| Совместимость с гайдами CTF/HTB | Нативно | Требует адаптации |
Когда выбрать Kali: вы учитесь по курсам, TryHackMe или Hack The Box - почти все гайды написаны под Kali, будет меньше трения. Метапакеты (
kali-linux-large, kali-tools-web, kali-tools-passwords) позволяют точечно поставить инструменты под задачу. На kali.org дистрибутив позиционируют так, чтобы «a professional can just sit down and go» - и в целом это правда, если потратить те самые полчаса на завершение работы.Когда выбирать Parrot: слабая машина (4 ГБ RAM, старый процессор) - Parrot Linux настройка которого аналогична Kali, ест ощутимо меньше ресурсов. Плюс AnonSurf из коробки, если нужна анонимизация трафика без танцев с бубном.
Оба дистрибутива - Debian с набором пакетов. Всё, что ставится на Kali, работает и на Parrot, и наоборот. Выбор - вопрос комфорта, а не возможностей. Дальше примеры даны для Kali, но каждая команда работает в обеих системах.
Первые 30 минут после установки: пошаговая настройка Kali Linux
Требования к окружению
Прежде чем начинать - проверьте среду:- RAM: минимум 4 ГБ для VM (8 ГБ если параллельно крутятся Burp Suite, браузер и nmap)
- Диск: от 50 ГБ (20 ГБ - минимум от разработчиков, но после установки дополнительных инструментов и wordlists этого не хватит)
- Процессор: 2+ ядра с аппаратной виртуализацией (VT-x / AMD-V - включите в BIOS, без этого VM будет ползать)
- Версия Kali: 2024.x или новее (rolling release, актуальный образ на kali.org/get-kali)
- Гипервизор: VirtualBox 7.x или VMware Workstation 17+ / VMware Player
- Сеть: интернет для обновления; offline-установка возможна с образа Everything, но для начала не рекомендую
- Режим: для Kali Linux для начинающих пентестеров оптимальна VirtualBox VM со snapshot после базовой настройки
Создание рабочего пользователя и базовая безопасность
С Kali 2020.x дефолтный логин -kali:kali, а не root:toor. Работать из-под root постоянно - дурная привычка. На реальном проекте случайный rm -rf в привилегированной сессии сносит результаты сканирования. Или хуже.Первое действие -
passwd для смены пароля. Для отдельного рабочего пользователя: sudo useradd -m -s /bin/zsh pentester && sudo usermod -aG sudo pentester && sudo passwd pentester. Флаг -s /bin/zsh назначает дефолтный shell Kali (zsh с версии 2020.4), -aG sudo даёт права на sudo, а passwd pentester задаёт пароль (без него аккаунт заблокирован).По MITRE ATT&CK: атакующие используют технику Sudo and Sudo Caching (T1548.003, Privilege Escalation) для повышения привилегий через кривой sudoers. На рабочей машине проверяйте
sudo -l - смотрите, какие команды доступны без пароля. NOPASSWD: ALL в лабораториях, доступных из сети - приглашение к неприятностям.Обновление: почему не стоит делать apt upgrade вслепую
Стандартный совет -sudo apt update && sudo apt full-upgrade -y сразу после установки. В теории правильно. На практике обновление тянет новую версию ядра, после перезагрузки ломаются гостевые дополнения VirtualBox - и вы сидите в консоли без буфера обмена, с разрешением 800x600 и без общей папки. Знакомо?Правильная последовательность для оптимизации Kali Linux в VM:
sudo apt update && sudo apt install -y virtualbox-guest-utils virtualbox-guest-x11(илиopen-vm-tools-desktopдля VMware)- Перезагрузитесь, убедитесь, что разрешение экрана, буфер обмена и drag-and-drop работают
- Сделайте snapshot в гипервизоре
- Только теперь
sudo apt full-upgrade - После обновления - проверьте, что всё живое, и сделайте новый snapshot
Про метапакеты:
sudo apt install kali-linux-large поставит расширенный набор инструментов, но это ~15 ГБ дополнительного места. Для начала хватит точечных метапакетов: kali-tools-web (nikto, wpscan, sqlmap для тестирования A03:2021 - Injection по классификации OWASP), kali-tools-passwords (john, hashcat, hydra), kali-tools-information-gathering (recon-ng, theharvester). Полный список - apt-cache search kali-tools.Кастомизация Kali Linux: shell, алиасы и структура проектов
Настройка shell для пентеста
Kali использует zsh с темой оформления. Конфигурация -~/.zshrc. Ниже - алиасы и функция, которые реально экономят время на каждом проекте. Добавьте в конец файла:
Bash:
# Частые паттерны nmap
alias nq='nmap -sC -sV -oN scan_quick.txt'
alias nf='nmap -sC -sV -p- -oN scan_full.txt'
alias nu='sudo nmap -sU --top-ports 50 -oN scan_udp.txt'
# HTTP-сервер для доставки файлов на цель
alias serve='python3 -m http.server 8080 --bind 127.0.0.1' # Для доставки на цель замените на IP tun0
# Поиск wordlists
alias wl='ls /usr/share/wordlists/'
# Создание директории проекта с датой
mkproject() {
mkdir -p ~/projects/"$(date +%Y-%m-%d)_$1"/{scans,loot,notes,exploits} \
&& cd ~/projects/"$(date +%Y-%m-%d)_$1"
}
mkproject создаёт директорию с фиксированной структурой. Вызов mkproject client-name → появляется ~/projects/2025-01-15_client-name/ с четырьмя подпапками: scans для результатов nmap и других сканеров, loot для добытых данных, notes для заметок, exploits для кастомных скриптов. После редактирования - source ~/.zshrc.Без структуры проектов результаты сканирования за неделю превращаются в кашу файлов в домашней директории. Когда параллельно 2-3 цели - без порядка теряется время на поиск нужного файла. Проверено на себе.
Рабочие пространства: tmux для настройки рабочего окружения пентестера
Терминальный мультиплексорtmux - штука, без которой я уже не представляю работу. В одном окне несколько панелей: в одной nmap молотит, в другой netcat ждёт обратное соединение, в третьей вы правите скрипт. При разрыве SSH-сессии tmux сохраняет все процессы - ничего не теряется.Базовый набор:
tmux new -s pentest создаёт именованную сессию. Ctrl+B, % - разделить вертикально, Ctrl+B, " - горизонтально, Ctrl+B, d - отключиться без закрытия, tmux attach -t pentest - вернуться. Пять комбинаций решают 90% задач.Ограничение: tmux работает только с текстовыми инструментами. GUI-приложения (Burp Suite, Wireshark) запускаются отдельно. Для параллельной работы с графическими и текстовыми инструментами используйте рабочие столы Xfce (
Ctrl+Alt+стрелки).Must-have инструменты Kali Linux: что добавить к стандартному набору
Большинство гайдов перечисляют nmap, Metasploit, Burp Suite, sqlmap - и на этом останавливаются. Эти инструменты предустановлены. А вот что стоит добавить сверху:| Инструмент | Задача | Установка | Контекст ATT&CK |
|---|---|---|---|
| netexec | Проверка SMB/WinRM/LDAP/MSSQL в сети | sudo apt install netexec (если пакет отсутствует - pipx install netexec) | Network Service Discovery (T1046, Discovery) |
| autorecon | Многопоточная автоматическая разведка | pipx install git+https://github.com/Tib3rius/AutoRecon.git | Vulnerability Scanning (T1595.002, Reconnaissance) |
| ligolo-ng | Туннелирование и pivoting через TUN | Бинарники proxy и agent с GitHub (наличие пакета в apt зависит от версии Kali - проверьте apt-cache search ligolo) | - |
| pspy | Мониторинг процессов без root на целевой системе (privesc) | Бинарник с GitHub | Unix Shell (T1059.004, Execution) |
| seclists | Wordlists для fuzzing и brute force | sudo apt install seclists | Brute Force (T1110, Credential Access) |
| feroxbuster | Быстрый рекурсивный directory brute-force | sudo apt install feroxbuster | - |
Netexec и ligolo-ng стали доступны через apt в последних релизах Kali (актуальность проверяйте на pkg.kali.org). Autorecon ставится через pipx, pspy - статический бинарник с GitHub. Раньше всё это приходилось тянуть вручную с типичными плясками вокруг зависимостей. Netexec пришёл на замену CrackMapExec (активно поддерживается, последний коммит - 2025), ligolo-ng заменяет proxychains для стабильного pivoting, feroxbuster написан на Rust и работает заметно быстрее gobuster.
После установки: запустите инструмент с
--help. Если команда не найдена - which <имя> и apt list --installed | grep <имя>. Частая ошибка у новичков: бинарник лежит в /usr/share/<имя>/, а не в $PATH.Про ограничения: autorecon генерирует огромный объём трафика - любая IDS/IPS его заметит. Годится для лабораторий или внутреннего пентеста с разрешения. Netexec при массовом опросе сети может вызвать Account Lockout, если в AD настроены политики блокировки. На внешнем пентесте с таким подходом вас обнаружат быстрее, чем вы найдёте первую уязвимость.
Предустановленные инструменты: что проверить
Стандартные инструменты для пентеста Kali тоже требуют настройки:Metasploit - база данных не инициализирована по умолчанию.
sudo msfdb init и sudo systemctl enable postgresql. Без этого db_nmap, hosts, services в msfconsole не работают, вы теряете хранение результатов между сессиями. 30 секунд работы - и Metasploit превращается из калькулятора без памяти в нормальный инструмент.sqlmap - работает из коробки на Python 3.x, проверка -
sqlmap --version. Поддерживает автоматическое обнаружение и эксплуатацию SQL-инъекций для всех основных СУБД. Тут настраивать нечего, но убедитесь, что версия свежая.Wireshark - для захвата пакетов без root добавьте пользователя в группу:
sudo usermod -aG wireshark $USER и перелогиньтесь. Техника Network Sniffing (T1040, Discovery / Credential Access) - базовая для анализа сетевого трафика.Оптимизация Kali Linux в виртуальной машине
Большинство начинающих работают в VM, и по умолчанию это тормозит. Вот конкретные настройки, которые дают ощутимый прирост.На стороне гипервизора (VirtualBox): выделите 2-4 ядра CPU (не больше половины ядер хоста). RAM - 4 ГБ минимум, 8 ГБ оптимально. Видеопамять - 128 МБ с включённым 3D-ускорением. Диск - VDI, динамически расширяемый, 80 ГБ (wordlists и результаты сканирования съедают место быстрее, чем кажется). Контроллер SATA с Host I/O Cache. Для лабораторий - NAT Network (не просто NAT), это позволяет VM общаться между собой.
На стороне Kali:
Bash:
# Swap-файл, если не создан при установке
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Уменьшить swappiness - RAM используется активнее
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
vm.swappiness=10 говорит ядру использовать swap только при заполнении RAM на 90%+. Дефолтное значение 60 заставляет систему свопиться слишком рано - в VM с ограниченным дисковым I/O это убивает производительность.Ещё: отключите композитор в Xfce (Settings → Window Manager Tweaks → Compositor → снять «Enable display compositing»). Bluetooth не используете -
sudo systemctl disable bluetooth. И не ставьте метапакет kali-linux-everything - экономия 10-20 ГБ диска и сотни МБ RAM на сервисах, которые вы никогда не запустите.Про ограничения виртуализации: USB WiFi-адаптеры в мониторном режиме работают через USB passthrough, но нестабильно - для серьёзной работы с WiFi нужен bare metal или Live USB. GPU-ускорение hashcat в VM практически мертво: для перебора хешей с видеокартой нужен bare metal или проброс GPU (VFIO в QEMU / VMware Workstation Pro). Если планируете ломать WPA2 хендшейки или гонять hashcat по крупным словарям - VM не вариант.
Типичные ошибки при настройке рабочего окружения пентестера
Работа из-под root. Kali больше не даёт root-сессию по умолчанию, но гайды до сих пор советуютsudo su первым делом. Привыкаете к root - потом на реальном проекте случайно запускаете деструктивную команду на продакшн-хосте. Используйте sudo перед конкретными командами.Обновление без snapshot. VM без snapshot перед
apt full-upgrade - русская рулетка. Ядро обновилось, гостевые дополнения сломались, экран 800x600, буфер обмена пропал. Snapshot перед каждым серьёзным обновлением - обязательный шаг Kali Linux конфигурации. Я на этом обжигался не раз.Kali как основная ОС. Дистрибутив собран для одной задачи - пентеста. Нет офисного пакета, нормального файлового менеджера из коробки, стабильной поддержки всего оборудования. VM или dual boot - и точка.
Игнорирование wordlists. Стандартный
rockyou.txt - минимум. Поставьте seclists - коллекция списков для directory fuzzing, API-параметров, поддоменов, имён пользователей. В реальных проектах правильный wordlist решает исход Brute Force (T1110, Credential Access) чаще, чем выбор инструмента. Серьёзно - я видел, как смена словаря с rockyou на кастомный давала результат за минуты вместо часов.Ненастроенный Metasploit. Без инициализированной базы данных Metasploit не хранит данные между сессиями -
hosts, services, creds пусты после перезапуска. sudo msfdb init занимает 30 секунд и решает проблему навсегда.Наблюдаю одну и ту же картину у начинающих: недели уходят на «красивый» рабочий стол - кастомные темы, прозрачные терминалы, неоновые обои. А потом человек не может объяснить, зачем нужен флаг
-sC в nmap или чем SYN-сканирование отличается от TCP connect. Настройка рабочего окружения пентестера - это функциональность, не косметика.Десять алиасов, которые экономят по 5 секунд на каждый запуск, за неделю интенсивного пентеста складываются в часы. Структура проектов, в которой результат трёхдневной давности находится за 10 секунд - не перфекционизм, а необходимость. Tmux, который сохраняет listener, пока вы пишете отчёт - базовый навык, не «для продвинутых».
Подбор обоев и иконок - нет. У большинства опытных специалистов среда выглядит минималистично до скуки. И работает без сюрпризов.
Потратьте час на алиасы, структуру папок и tmux - а оставшееся время вложите в HackerLab, реальную практику и понимание того, что делает каждый установленный инструмент. Запустите
nmap -sC -sV на любую HTB-машину из раздела Easy и разберите каждую строку вывода. Вот это и отличает пентестера от человека с красивым терминалом.
Последнее редактирование модератором: