Kali Linux: полное руководство по системе, командам и инструментам безопасности
Подробное руководство по установке и настройке Kali Linux, работе в терминале, диагностике операционной системы и сети, обнаружению устройств, сканированию портов, анализу трафика, проверке веб-приложений, поиску уязвимостей, исследованию Wi-Fi, цифровой криминалистике и анализу файлов.
Что вы узнаете из руководства
Установка и настройка
Как установить Kali Linux в виртуальную машину, обновлять систему, управлять репозиториями и устанавливать наборы инструментов.
Система и сеть
Команды Linux, процессы, службы, журналы, сетевые интерфейсы, маршруты, DNS, соединения, порты и диагностика связи.
Инструменты безопасности
Nmap, Wireshark, tcpdump, GVM, Burp Suite, Gobuster, ffuf, Nikto, Nuclei, John the Ripper, Hashcat и другие программы.
Знакомство с системой
Что такое Kali Linux
Kali Linux представляет собой специализированный дистрибутив Linux на базе Debian. Система предназначена для аудита информационной безопасности, диагностики сетей, исследования программного обеспечения, цифровой криминалистики и тестирования защищенности инфраструктуры.
Kali работает по модели rolling release. Это означает, что установленные пакеты последовательно обновляются через репозитории, а пользователю не требуется каждый раз переустанавливать систему для перехода на новую версию.
Для каких задач подходит Kali Linux
- диагностика компьютеров, серверов, маршрутизаторов и локальных сетей;
- инвентаризация устройств и работающих сетевых служб;
- анализ пакетов и поиск причин нестабильной работы сети;
- проверка конфигурации собственных сайтов и веб-приложений;
- поиск известных уязвимостей в согласованной области аудита;
- исследование подозрительных файлов без их запуска;
- восстановление данных и анализ образов накопителей;
- анализ прошивок, исполняемых файлов и мобильных приложений;
- изучение кибербезопасности в изолированной лаборатории.
Чем Kali отличается от Debian и Ubuntu
| Параметр | Kali Linux | Debian или Ubuntu |
|---|---|---|
| Основное назначение | Аудит безопасности и диагностика | Повседневная работа, серверы и разработка |
| Набор программ | Сотни специализированных инструментов | Универсальные пользовательские программы |
| Модель обновлений | Rolling release | Стабильные или периодические выпуски |
| Рекомендуемый сценарий | Отдельная рабочая станция или виртуальная машина | Основная настольная или серверная система |
Подготовка окружения
Как создать безопасную лабораторию
Практиковаться следует в отдельной виртуальной сети, не связанной напрямую с чужими устройствами и рабочей инфраструктурой.
Рекомендуемые настройки виртуальной машины
- процессор: 2 или 4 виртуальных ядра;
- оперативная память: от 4 ГБ, комфортно 8 ГБ;
- диск: от 40 ГБ, желательно 80 ГБ;
- сетевой адаптер 1: NAT только для обновления Kali;
- сетевой адаптер 2: Host-only для лаборатории;
- общий буфер обмена: отключать при исследовании подозрительных файлов;
- общие папки: не подключать к потенциально опасной лаборатории;
- после первоначальной настройки создать снимок виртуальной машины.
Адреса, используемые в примерах
| Адрес | Назначение |
|---|---|
127.0.0.1 |
Текущий компьютер Kali Linux |
192.168.56.10 |
Условный учебный сервер |
192.168.56.0/24 |
Изолированная сеть VirtualBox Host-only |
lab.example.test |
Условное имя локального тестового сайта |
Установка учебных приложений Kali
В репозиториях Kali предусмотрен отдельный метапакет с намеренно уязвимыми приложениями для обучения:
sudo apt update
```
sudo apt install -y kali-linux-labs
```
В состав метапакета входят DVWA и OWASP Juice Shop. Такие приложения нельзя публиковать в интернете или подключать к производственной сети.
Начало работы
Установка, проверка и обновление Kali Linux
Проверка установленной версии
cat /etc/os-release
```
uname -r
uname -a
hostnamectl
```
Дополнительная информация о системе:
lsb_release -a
```
cat /etc/debian_version
dpkg --print-architecture
getconf LONG_BIT
```
Проверка репозитория
В современных установках Kali основной репозиторий может быть указан
в файле /etc/apt/sources.list.d/kali.sources.
cat /etc/apt/sources.list.d/kali.sources
Пример корректного содержимого:
Types: deb
```
URIs: http://http.kali.org/kali/
Suites: kali-rolling
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/kali-archive-keyring.gpg
```
Полное обновление системы
sudo apt update
```
sudo apt full-upgrade -y
```
После крупного обновления:
sudo apt autoremove --purge
```
sudo apt clean
sudo reboot
```
Проверка пакетов, которые можно обновить
apt list --upgradable
Поиск и установка программы
apt search wireshark
```
apt show wireshark
sudo apt install wireshark
```
Удаление программы
sudo apt remove имя-пакета
```
sudo apt purge имя-пакета
sudo apt autoremove
```
Проверка установленного пакета
dpkg -l | grep nmap
```
dpkg -s nmap
dpkg -L nmap
apt-cache policy nmap
```
Поиск пакета по имени команды или файла
command -v nmap
```
which nmap
whereis nmap
dpkg -S /usr/bin/nmap
```
Управление инструментами
Метапакеты Kali Linux
Метапакет не является отдельной программой. Он содержит список зависимостей и устанавливает целую группу связанных инструментов.
| Метапакет | Назначение |
|---|---|
kali-linux-core |
Минимальная основа Kali |
kali-linux-headless |
Набор без графического интерфейса |
kali-linux-default |
Стандартный набор официального образа |
kali-linux-large |
Расширенная подборка инструментов |
kali-linux-everything |
Почти все пакеты Kali, требует много места |
kali-tools-top10 |
Десять основных инструментов безопасности |
kali-tools-information-gathering |
Сбор открытой и технической информации |
kali-tools-vulnerability |
Анализ уязвимостей |
kali-tools-web |
Проверка веб-приложений |
kali-tools-forensics |
Цифровая криминалистика |
kali-tools-reverse-engineering |
Анализ программ и файлов |
kali-tools-sniffing-spoofing |
Анализ сетевого трафика и протоколов |
kali-tools-passwords |
Проверка надежности паролей и хешей |
kali-tools-802-11 |
Анализ беспроводных сетей |
kali-tools-bluetooth |
Диагностика Bluetooth |
kali-tools-reporting |
Документирование результатов аудита |
kali-tools-protect |
Защитные инструменты |
kali-tools-detect |
Обнаружение событий и угроз |
kali-tools-respond |
Реагирование на инциденты |
kali-tools-recover |
Восстановление информации |
Установка стандартного набора
sudo apt update
```
sudo apt install -y kali-linux-default
```
Установка десяти основных инструментов
sudo apt install -y kali-tools-top10
В актуальный набор входят:
- Aircrack-ng
- Burp Suite
- Hydra
- John the Ripper
- Metasploit Framework
- NetExec
- Nmap
- Responder
- sqlmap
- Wireshark
Графический выбор метапакетов
kali-tweaks
В открывшемся окне выберите раздел Metapackages, отметьте нужные группы и примените изменения.
Базовые навыки Linux
Основные команды терминала
Справка по командам
man nmap
```
nmap --help
apropos "network scanner"
whatis tcpdump
```
Полезные клавиши терминала:
| Сочетание | Действие |
|---|---|
| Tab | Автодополнение команды или пути |
| Ctrl + C | Остановить текущую команду |
| Ctrl + L | Очистить экран |
| Ctrl + R | Поиск команды в истории |
| Ctrl + D | Завершить ввод или выйти из оболочки |
| ↑ и ↓ | Перемещение по истории команд |
Навигация по файловой системе
pwd
```
ls
ls -la
ls -lh
cd /etc
cd ~
cd ..
tree -L 2
```
Создание, копирование и удаление
mkdir project
```
mkdir -p reports/nmap
touch notes.txt
cp source.txt copy.txt
cp -a source-directory backup-directory
mv old-name.txt new-name.txt
rm file.txt
rm -r directory
```
Просмотр содержимого файлов
cat file.txt
```
less file.txt
head -n 20 file.txt
tail -n 20 file.txt
tail -f /var/log/syslog
wc -l file.txt
```
Поиск файлов и текста
find /etc -type f -name "*.conf" 2>/dev/null
```
find . -type f -size +100M
locate nmap.xsl
grep "nameserver" /etc/resolv.conf
grep -Rni "Listen" /etc/apache2
rg "password" ./project
```
Права и владельцы
ls -l file.txt
```
chmod 600 private.txt
chmod 644 report.txt
chmod 755 script.sh
chown user:user report.txt
sudo chown -R user:user reports/
```
| Режим | Владелец | Группа | Остальные |
|---|---|---|---|
600 |
Чтение и запись | Нет доступа | Нет доступа |
644 |
Чтение и запись | Чтение | Чтение |
700 |
Полный доступ | Нет доступа | Нет доступа |
755 |
Полный доступ | Чтение и выполнение | Чтение и выполнение |
Перенаправление и конвейеры
command > result.txt
```
command >> result.txt
command 2> errors.txt
command > all-output.txt 2>&1
command | less
command | grep "open"
command | tee result.txt
```
Архивы
tar -czf reports.tar.gz reports/
```
tar -xzf reports.tar.gz
zip -r reports.zip reports/
unzip reports.zip
```
Контрольные суммы
sha256sum kali-linux.iso
```
sha512sum evidence.img
md5sum legacy-file.bin
```
Для проверки целостности современных файлов рекомендуется SHA-256 или SHA-512. MD5 не следует использовать как криптографически надежный алгоритм.
Состояние операционной системы
Диагностика системы
Процессор, память и нагрузка
lscpu
```
free -h
uptime
top
htop
vmstat 1
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head
```
Накопители и разделы
lsblk -f
```
df -hT
du -sh *
sudo fdisk -l
sudo blkid
findmnt
```
Оборудование и драйверы
lspci -nnk
```
lsusb
sudo lshw -short
sudo dmidecode
dmesg -T | less
```
Процессы
ps aux
```
pgrep -a firefox
pstree -p
kill PID
kill -TERM PID
kill -KILL PID
pkill process-name
```
Сначала используйте обычный kill или сигнал
TERM. Сигнал KILL завершает процесс
без возможности корректно сохранить данные.
Службы systemd
systemctl status NetworkManager
```
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart NetworkManager
sudo systemctl enable ssh
sudo systemctl disable ssh
systemctl --failed
```
Журналы
journalctl -b
```
journalctl -p warning
journalctl -u NetworkManager
journalctl -u ssh --since "1 hour ago"
journalctl -f
dmesg -T | tail -n 100
```
Открытые файлы и занятые порты
sudo lsof -i
```
sudo lsof -iTCP:8080
sudo lsof /var/log/syslog
fuser -v 8080/tcp
```
Пользователи и сеансы
whoami
```
id
who
w
last
lastlog
getent passwd
sudo -l
```
Задачи cron и таймеры systemd
crontab -l
```
sudo ls -la /etc/cron.*
systemctl list-timers --all Основы сети
Сетевые интерфейсы, адреса и маршруты
Просмотр сетевых интерфейсов
ip link
```
ip -br link
ip address
ip -br address
nmcli device status
```
Включение и отключение интерфейса
sudo ip link set eth0 up
```
sudo ip link set eth0 down
```
Временная установка IP-адреса
sudo ip address add 192.168.56.20/24 dev eth0
```
sudo ip address del 192.168.56.20/24 dev eth0
```
Настройка через ip действует до перезагрузки или изменения
конфигурации NetworkManager.
Маршруты
ip route
```
ip -6 route
ip route get 8.8.8.8
```
Таблица соседей ARP и NDP
ip neigh
```
arp -n
```
NetworkManager
nmcli connection show
```
nmcli device show
nmcli radio
nmcli networking connectivity
nmcli device wifi list
```
Проверка DNS-настроек
cat /etc/resolv.conf
```
resolvectl status
nmcli device show | grep -i dns
```
Прослушиваемые порты и соединения
ss -tulpen
```
ss -lnt
ss -lnu
ss -tp
ss -s
```
| Параметр ss | Значение |
|---|---|
-t |
TCP |
-u |
UDP |
-l |
Только прослушиваемые сокеты |
-p |
Показать процесс |
-e |
Расширенная информация |
-n |
Не преобразовывать адреса и порты в имена |
Проверка доступности локального порта
nc -vz 127.0.0.1 22
```
nc -vz 192.168.56.10 80
timeout 3 bash -c 'cat < /dev/null > /dev/tcp/192.168.56.10/443'
```
Netcat удобен для простой проверки соединения. Не используйте его для организации несанкционированного удаленного доступа.
Поиск проблем связи
Сетевые инструменты диагностики
ping
Команда проверяет достижимость узла и измеряет время прохождения ICMP-пакетов.
ping -c 4 192.168.56.10
```
ping -c 10 -i 0.5 192.168.56.10
ping -6 -c 4 ::1
```
Отсутствие ответа ping не всегда означает, что устройство выключено. ICMP может быть заблокирован межсетевым экраном.
traceroute и tracepath
traceroute 192.168.56.10
```
traceroute -n 192.168.56.10
tracepath 192.168.56.10
```
Эти инструменты показывают промежуточные маршрутизаторы на пути к узлу и помогают найти участок, на котором теряются пакеты.
mtr
mtr 192.168.56.10
```
mtr -rwzc 100 192.168.56.10
mtr -6 ::1
```
MTR объединяет возможности ping и traceroute. Параметр
-r формирует отчет, -w расширяет вывод,
-z показывает автономные системы, а
-c задает количество циклов.
Проверка пропускной способности iperf3
На своем сервере:
iperf3 -s
На клиенте:
iperf3 -c 192.168.56.10
```
iperf3 -c 192.168.56.10 -R
iperf3 -c 192.168.56.10 -P 4
iperf3 -c 192.168.56.10 -t 30
```
-Rизмеряет скорость в обратном направлении;-P 4создает четыре параллельных потока;-t 30проводит тест в течение 30 секунд.
Статистика интерфейсов
ip -s link
```
sar -n DEV 1
nload
iftop
bmon
```
ethtool
sudo ethtool eth0
```
sudo ethtool -i eth0
sudo ethtool -S eth0
```
Ettool показывает скорость линка, дуплекс, состояние соединения, используемый драйвер и счетчики ошибок сетевой карты.
Типичная последовательность диагностики
-
Проверить интерфейс:
ip -br link -
Проверить IP-адрес:
ip -br address -
Проверить маршрут:
ip route -
Проверить шлюз:
ping -c 4 192.168.56.1 -
Проверить DNS:
dig example.com -
Проверить нужный порт:
nc -vz 192.168.56.10 443 -
Проверить маршрут:
mtr -rwzc 50 192.168.56.10 -
Записать трафик:
sudo tcpdump -i eth0 -nn -w diagnostics.pcap
Инвентаризация сети
Обнаружение устройств в локальной сети
Определение своей подсети
ip -br address
```
ip route
```
Если интерфейс имеет адрес 192.168.56.20/24,
его подсеть обычно обозначается как 192.168.56.0/24.
Таблица соседей
ip neigh show
arp-scan
sudo arp-scan --localnet
```
sudo arp-scan --interface=eth0 192.168.56.0/24
```
ARP-сканирование работает только в пределах текущего широковещательного сегмента и хорошо обнаруживает локальные устройства.
netdiscover
sudo netdiscover -i eth0 -r 192.168.56.0/24 -P
fping
fping -a -g 192.168.56.0/24 2>/dev/null
Обнаружение средствами Nmap
nmap -sn 192.168.56.0/24
Параметр -sn выполняет обнаружение узлов без
полноценного сканирования портов.
Сохранение результата
mkdir -p ~/audit/discovery
```
nmap -sn 192.168.56.0/24 -oA ~/audit/discovery/hosts Сканирование сети
Nmap: полное практическое руководство
Nmap используется для обнаружения сетевых устройств, проверки портов, определения запущенных служб, сбора технической информации и аудита конфигурации собственной сети.
Установка и версия
sudo apt install nmap
```
nmap --version
```
Базовая команда
nmap 192.168.56.10
По умолчанию Nmap проверяет наиболее распространенные TCP-порты.
Проверка конкретных портов
nmap -p 22 192.168.56.10
```
nmap -p 22,80,443 192.168.56.10
nmap -p 1-1024 192.168.56.10
```
Проверка всех TCP-портов
nmap -p- 192.168.56.10
Такая проверка создает значительно больше трафика и занимает больше времени. Выполняйте ее только в собственной лаборатории или согласованной сети.
Определение версий служб
nmap -sV 192.168.56.10
```
nmap -sV --version-light -p 22,80,443 192.168.56.10
nmap -sV --version-all -p 80,443 192.168.56.10
```
TCP Connect Scan
nmap -sT -p 22,80,443 192.168.56.10
Режим -sT устанавливает обычное TCP-соединение
и может выполняться без привилегий root.
SYN Scan
sudo nmap -sS -p 22,80,443 192.168.56.10
Режим -sS использует низкоуровневые пакеты и обычно
требует прав администратора.
UDP-порты
sudo nmap -sU --top-ports 20 192.168.56.10
```
sudo nmap -sU -p 53,67,68,123,161 192.168.56.10
```
UDP-сканирование медленнее TCP, поскольку многие службы не отправляют ответ на неожиданный запрос.
Определение операционной системы
sudo nmap -O --osscan-limit 192.168.56.10
Результат является предположением на основании сетевого поведения устройства. Он не всегда позволяет точно определить модель и версию системы.
Трассировка маршрута
sudo nmap --traceroute 192.168.56.10
Полезные безопасные NSE-скрипты
nmap --script http-title -p 80,443 192.168.56.10
```
nmap --script http-headers -p 80,443 192.168.56.10
nmap --script ssl-cert -p 443 192.168.56.10
nmap --script ssh-hostkey -p 22 192.168.56.10
nmap --script dns-service-discovery -p 53 192.168.56.10
```
Категории NSE
| Категория | Описание |
|---|---|
default |
Основные скрипты стандартного набора |
safe |
Скрипты, которые обычно не изменяют состояние цели |
discovery |
Сбор дополнительной информации |
version |
Уточнение версий протоколов и служб |
vuln |
Проверки известных уязвимостей, могут быть более активными |
intrusive |
Потенциально воздействующие проверки |
exploit |
Эксплуатационные скрипты, не применять вне лаборатории |
Сохранение результатов
nmap -sV 192.168.56.10 -oN scan.txt
```
nmap -sV 192.168.56.10 -oX scan.xml
nmap -sV 192.168.56.10 -oG scan.gnmap
nmap -sV 192.168.56.10 -oA scan
```
Параметр -oA одновременно создает обычный текстовый,
XML и grepable-файл.
Исключение адресов
nmap -sn 192.168.56.0/24 --exclude 192.168.56.1
```
nmap -sn 192.168.56.0/24 --exclude 192.168.56.1,192.168.56.5
```
Чтение целей из файла
cat > targets.txt <<'EOF'
```
192.168.56.10
192.168.56.11
EOF
nmap -sV -iL targets.txt
```
Управление скоростью
nmap -T3 -sV 192.168.56.10
```
nmap --max-rate 100 -sT 192.168.56.10
nmap --scan-delay 100ms -sT 192.168.56.10
```
Для производственной сети лучше начинать с умеренной скорости и согласованных временных окон.
Понятия open, closed и filtered
open
Порт доступен, на нем отвечает служба.
closed
Устройство доступно, но служба на порту не запущена.
filtered
Фильтр или межсетевой экран не позволяет определить состояние.
Практический безопасный профиль инвентаризации
mkdir -p ~/audit/nmap
```
nmap -sn 192.168.56.0/24
-oA ~/audit/nmap/01-host-discovery
nmap -sT -sV --version-light
-p 22,53,80,443,445,3389
192.168.56.10
-oA ~/audit/nmap/02-services
nmap --script http-title,http-headers,ssl-cert,ssh-hostkey
-p 22,80,443
192.168.56.10
-oA ~/audit/nmap/03-details Система доменных имен
DNS-инструменты Kali Linux
dig
dig example.com
```
dig example.com A
dig example.com AAAA
dig example.com MX
dig example.com TXT
dig example.com NS
dig example.com SOA
```
Короткий вывод
dig +short example.com
```
dig +short example.com MX
dig +short example.com NS
```
Запрос к определенному DNS-серверу
dig @1.1.1.1 example.com
```
dig @8.8.8.8 example.com
```
Обратная DNS-запись
dig -x 192.0.2.10
Трассировка разрешения DNS
dig +trace example.com
host и nslookup
host example.com
```
host -t MX example.com
nslookup example.com
nslookup example.com 1.1.1.1
```
Проверка локального разрешения имен
getent hosts example.com
```
getent ahosts example.com
resolvectl query example.com
```
dnstracer и dnswalk
dnstracer example.com
```
dnswalk example.com.
```
Эти инструменты применяются для диагностики цепочки DNS и проверки согласованности записей собственного домена.
Веб-диагностика
HTTP, HTTPS и TLS
curl
Получить содержимое страницы:
curl http://127.0.0.1:8000/
Получить только заголовки:
curl -I http://127.0.0.1:8000/
Следовать перенаправлениям:
curl -L http://127.0.0.1:8000/
Подробно показать соединение:
curl -v http://127.0.0.1:8000/
Сохранить файл:
curl -fL -o page.html http://127.0.0.1:8000/
Отправить JSON в собственный API:
curl -X POST http://127.0.0.1:8000/api/test \
```
-H "Content-Type: application/json"
-d '{"status":"test"}'
```
Измерение времени ответа
curl -sS -o /dev/null \
```
-w 'DNS: %{time_namelookup}\nConnect: %{time_connect}\nTLS: %{time_appconnect}\nTTFB: %{time_starttransfer}\nTotal: %{time_total}\nHTTP: %{http_code}\n'
https://example.com/
```
wget
wget https://example.com/file.zip
```
wget -c https://example.com/large-file.iso
wget --spider https://example.com/
wget -S --spider https://example.com/
```
Проверка TLS-сертификата через OpenSSL
openssl s_client \
```
-connect example.com:443
-servername example.com
< /dev/null
```
Получить сведения о сертификате:
openssl s_client \
```
-connect example.com:443
-servername example.com
< /dev/null 2>/dev/null |
openssl x509 -noout -subject -issuer -serial -dates -fingerprint -sha256
```
Проверка конкретной версии TLS
openssl s_client -tls1_2 -connect example.com:443 -servername example.com
```
openssl s_client -tls1_3 -connect example.com:443 -servername example.com
```
sslscan
sudo apt install sslscan
```
sslscan example.com:443
```
SSLScan показывает поддерживаемые версии TLS, наборы шифров и информацию о сертификате.
whatweb
whatweb http://127.0.0.1:8000/
```
whatweb -v http://127.0.0.1:8000/
```
WhatWeb определяет веб-сервер, заголовки, фреймворки, CMS и другие технические признаки сайта.
Запуск локального HTTP-сервера
mkdir -p ~/local-web
```
cd ~/local-web
printf 'Local test server
\n' > index.html
python3 -m http.server 8000 --bind 127.0.0.1 Пакеты и протоколы
Анализ сетевого трафика
tcpdump
Список интерфейсов:
sudo tcpdump -D
Просмотр пакетов:
sudo tcpdump -i eth0 -nn
Ограничение количества пакетов:
sudo tcpdump -i eth0 -nn -c 100
Запись в PCAP:
sudo tcpdump -i eth0 -nn -s 0 -w capture.pcap
Чтение файла:
tcpdump -nn -r capture.pcap
Фильтры tcpdump
sudo tcpdump -i eth0 host 192.168.56.10
```
sudo tcpdump -i eth0 src host 192.168.56.10
sudo tcpdump -i eth0 dst host 192.168.56.10
sudo tcpdump -i eth0 net 192.168.56.0/24
sudo tcpdump -i eth0 port 53
sudo tcpdump -i eth0 tcp port 443
sudo tcpdump -i eth0 udp port 53
sudo tcpdump -i eth0 icmp
sudo tcpdump -i eth0 'tcp port 80 or tcp port 443'
sudo tcpdump -i eth0 'host 192.168.56.10 and port 443'
```
Просмотр содержимого пакетов
sudo tcpdump -i eth0 -nn -A tcp port 80
```
sudo tcpdump -i eth0 -nn -X host 192.168.56.10
```
Параметр -A показывает ASCII, а -X
выводит данные в шестнадцатеричном и текстовом виде.
Wireshark
wireshark
Рекомендуемый порядок работы:
- выбрать нужный интерфейс;
- при необходимости задать capture filter;
- начать захват;
- воспроизвести диагностируемую проблему;
- остановить захват;
- применить display filter;
- сохранить файл PCAPNG.
Популярные display filters Wireshark
ip.addr == 192.168.56.10
```
ip.src == 192.168.56.10
ip.dst == 192.168.56.10
tcp.port == 443
udp.port == 53
dns
http
tls
icmp
tcp.analysis.retransmission
tcp.analysis.duplicate_ack
tcp.analysis.lost_segment
tcp.flags.syn == 1 && tcp.flags.ack == 0
```
Capture filter и display filter
Capture filter
Определяет, какие пакеты будут записаны. Использует синтаксис BPF.
host 192.168.56.10 and port 443
Display filter
Фильтрует уже записанные пакеты. Использует синтаксис Wireshark.
ip.addr == 192.168.56.10 && tcp.port == 443
tshark
Консольная версия Wireshark:
tshark -D
```
sudo tshark -i eth0
sudo tshark -i eth0 -c 100
sudo tshark -i eth0 -w capture.pcapng
tshark -r capture.pcapng
```
Фильтрация:
tshark -r capture.pcapng -Y 'dns'
```
tshark -r capture.pcapng -Y 'tcp.analysis.retransmission'
tshark -r capture.pcapng -Y 'ip.addr == 192.168.56.10'
```
Извлечение полей:
tshark -r capture.pcapng \
```
-Y 'dns.flags.response == 1'
-T fields
-e frame.time
-e ip.src
-e dns.qry.name
```
Статистика PCAP
capinfos capture.pcapng
```
tshark -r capture.pcapng -q -z io,phs
tshark -r capture.pcapng -q -z conv,tcp
tshark -r capture.pcapng -q -z endpoints,ip
```
tcpflow
mkdir tcpflow-output
```
cd tcpflow-output
tcpflow -r ../capture.pcap
```
Tcpflow реконструирует TCP-потоки из PCAP. Используйте его только для собственных записей трафика.
Контролируемая проверка
Инструменты поиска уязвимостей
Автоматический сканер не выносит окончательный вердикт. Он формирует гипотезы, которые необходимо проверять вручную. Возможны ложные срабатывания и пропущенные проблемы.
Greenbone Vulnerability Manager
GVM представляет собой комплексную систему поиска известных уязвимостей. Ранее этот проект часто назывался OpenVAS.
Установка
sudo apt update
```
sudo apt install -y gvm
```
Первоначальная настройка
sudo gvm-setup
Первоначальная загрузка и обработка базы проверок может занять значительное время.
Проверка готовности
sudo gvm-check-setup
Запуск
sudo gvm-start
Веб-интерфейс:
https://127.0.0.1:9392
Остановка
sudo gvm-stop
Безопасная настройка задачи GVM
- создать Target с одним собственным IP-адресом;
- исключить маршрутизаторы и критические устройства, которые не входят в аудит;
- начать с профиля Full and Fast;
- ограничить количество одновременных проверок;
- запускать сканирование в согласованное время;
- сохранить отчет в PDF, HTML или XML;
- проверить каждое существенное срабатывание вручную.
Nikto
Nikto проверяет конфигурацию веб-сервера, известные опасные файлы, заголовки и типовые проблемы.
sudo apt install nikto
```
nikto -h http://127.0.0.1:8000/
```
Сохранение отчета:
nikto -h http://127.0.0.1:8000/ \
```
-output nikto-report.html
-Format html
```
Nuclei
Nuclei использует шаблоны проверок. Перед запуском необходимо учитывать назначение каждого шаблона и уровень воздействия.
sudo apt install nuclei
```
nuclei -version
nuclei -u http://127.0.0.1:8000
-severity info,low,medium
-rl 5
```
-severityограничивает уровни важности;-rl 5ограничивает скорость пятью запросами в секунду;-oсохраняет результаты;-jsonlформирует машинно-читаемый отчет.
nuclei -u http://127.0.0.1:8000 \
```
-severity info,low,medium
-rl 5
-jsonl
-o nuclei-results.jsonl
```
Lynis
Lynis выполняет локальный аудит Linux: проверяет настройки ядра, пользователей, службы, права, журналы и защитные механизмы.
sudo apt install lynis
```
sudo lynis audit system
```
Просмотр предупреждений:
sudo grep -E 'warning|suggestion' /var/log/lynis-report.dat
Проверка веб-приложений
Burp Suite, Gobuster, ffuf и другие инструменты
Burp Suite
Burp Suite работает как локальный HTTP-прокси между браузером и тестируемым приложением. Он позволяет изучать запросы, заголовки, параметры, cookie и ответы сервера.
burpsuite
Базовая настройка лаборатории
- запустить Burp Suite;
- создать Temporary project;
- открыть Proxy → Proxy settings;
- убедиться, что прокси слушает
127.0.0.1:8080; - использовать встроенный браузер Burp;
- открыть только локальное учебное приложение;
- включить Intercept для просмотра запроса;
- нажать Forward для передачи запроса серверу.
Встроенный браузер удобнее отдельного Firefox, поскольку его прокси и сертификат уже настроены для работы с Burp.
Gobuster
Gobuster проверяет, какие каталоги и файлы существуют на тестируемом веб-сервере.
sudo apt install gobuster
```
gobuster dir
-u http://127.0.0.1:8000/
-w /usr/share/wordlists/dirb/common.txt
-t 5
```
Проверка расширений:
gobuster dir \
```
-u http://127.0.0.1:8000/
-w /usr/share/wordlists/dirb/common.txt
-x html,txt,json
-t 5
-o gobuster.txt
```
Параметр -t 5 ограничивает количество параллельных
потоков и снижает нагрузку на сервер.
ffuf
sudo apt install ffuf
```
ffuf
-u http://127.0.0.1:8000/FUZZ
-w /usr/share/wordlists/dirb/common.txt
-t 5
```
Фильтрация одинаковых ответов по размеру:
ffuf \
```
-u http://127.0.0.1:8000/FUZZ
-w /usr/share/wordlists/dirb/common.txt
-fs 1234
-t 5
```
Сохранение JSON:
ffuf \
```
-u http://127.0.0.1:8000/FUZZ
-w /usr/share/wordlists/dirb/common.txt
-t 5
-of json
-o ffuf-results.json
```
feroxbuster
feroxbuster \
```
-u http://127.0.0.1:8000/
-w /usr/share/wordlists/dirb/common.txt
-t 5
--depth 2
```
SecLists
sudo apt install seclists
```
find /usr/share/seclists -maxdepth 2 -type d | less
```
SecLists занимает значительный объем и содержит множество наборов для разных задач. Выбирайте небольшой и релевантный список, не запускайте огромные словари без необходимости.
WPScan
WPScan предназначен для аудита собственного сайта WordPress.
wpscan --url http://127.0.0.1/wordpress/ \
```
--plugins-detection passive
--themes-detection passive
```
Пассивный режим меньше нагружает сервер. Функции подбора учетных данных в данном руководстве не рассматриваются.
WPPROBE
WPPROBE определяет плагины WordPress и сопоставляет их с известными уязвимостями. Используйте программу только на собственном сайте.
sudo apt install wpprobe
```
wpprobe --help
```
sqlmap: только обнаружение в локальной лаборатории
Sqlmap предназначен для автоматизации проверки SQL-инъекций. На производственном сайте его запросы могут создавать нагрузку, записывать данные в журналы и изменять поведение приложения.
sqlmap \
```
-u "http://127.0.0.1:8000/product?id=1"
--batch
--level=1
--risk=1
--smart
```
Пример ограничен первичной диагностикой локального стенда. Извлечение баз данных, чтение файлов, выполнение команд, получение учетных данных и обход защиты здесь намеренно не рассматриваются.
Беспроводные сети
Диагностика Wi-Fi в Kali Linux
Для полноценного анализа Wi-Fi требуется совместимый беспроводной адаптер. Встроенный адаптер ноутбука или виртуальной машины может не поддерживать нужные режимы.
Проверка устройств
ip -br link
```
iw dev
iwconfig
nmcli device status
rfkill list
```
Разблокировка адаптера
sudo rfkill unblock wifi
Просмотр доступных сетей
nmcli device wifi list
```
sudo iw dev wlan0 scan | less
```
Параметры подключения
iw dev wlan0 link
```
iw dev wlan0 station dump
nmcli -f GENERAL,IP4,IP6 device show wlan0
```
Сведения о драйвере
sudo ethtool -i wlan0
```
lspci -nnk | grep -A3 -i network
lsusb
```
Проверка поддерживаемых режимов
iw list | sed -n '/Supported interface modes:/,/Band/p'
Мониторинговый режим в собственной лаборатории
sudo airmon-ng check
```
sudo airmon-ng start wlan0
iw dev
```
Пассивное наблюдение:
sudo airodump-ng wlan0mon
Возврат в обычный режим:
sudo airmon-ng stop wlan0mon
```
sudo systemctl restart NetworkManager
```
Wireshark для Wi-Fi
После включения мониторингового режима выберите интерфейс
wlan0mon. Полезные фильтры:
wlan
```
wlan.fc.type == 0
wlan.fc.type == 2
wlan.ssid
wlan.bssid
radiotap.dbm_antsignal
wlan_mgt.fixed.channel
```
Диагностика слабого Wi-Fi
- проверить уровень сигнала и скорость соединения;
- определить используемый канал;
- посмотреть соседние сети на том же канале;
- проверить повторы и потери пакетов;
- проверить скорость iperf3 внутри локальной сети;
- сравнить диапазоны 2,4 и 5 ГГц;
- проверить расположение точки доступа;
- проверить ширину канала и мощность передатчика;
- исключить неисправность кабеля или uplink-порта точки доступа.
Локальная проверка
Аудит надежности паролей
Инструменты этого раздела предназначены для проверки собственных тестовых хешей или хешей, официально переданных для аудита. Они не должны использоваться для получения доступа к чужим учетным записям.
Хеширование и хранение паролей
Обычный SHA-256 без соли не подходит для безопасного хранения паролей. В приложениях следует использовать специализированные алгоритмы: Argon2id, scrypt, bcrypt или PBKDF2 с индивидуальной солью.
Идентификация типа хеша
sudo apt install name-that-hash
```
nth --text '5f4dcc3b5aa765d61d8327deb882cf99'
```
Определение формата по внешнему виду не гарантирует точный результат. Некоторые алгоритмы создают строки одинаковой длины.
Безопасный учебный пример Hashcat
Создаем собственный тестовый хеш:
printf 'TrainingOnly123!' | sha256sum | awk '{print $1}' > demo-hash.txt
```
printf 'incorrect\nTrainingOnly123!\nanother-value\n' > demo-words.txt
```
Запускаем проверку:
hashcat -m 1400 -a 0 demo-hash.txt demo-words.txt
Показываем найденное значение:
hashcat -m 1400 demo-hash.txt --show
Режим -m 1400 соответствует обычному SHA-256.
Этот пример нужен только для понимания принципа словарной проверки.
John the Ripper
Создаем собственный SHA-512-crypt хеш:
openssl passwd -6 'TrainingOnly123!' > demo-john.hash
```
printf 'incorrect\nTrainingOnly123!\n' > demo-john.words
```
Проверяем:
john --wordlist=demo-john.words demo-john.hash
```
john --show demo-john.hash
```
Проверка производительности Hashcat
hashcat -b
При работе в виртуальной машине Hashcat обычно не получает полноценный доступ к видеокарте. Для GPU-вычислений требуется совместимое оборудование, драйверы и корректная среда OpenCL или CUDA.
Онлайн-подбор учетных данных
Hydra, Medusa, Ncrack и Patator выполняют сетевые попытки аутентификации. Они могут блокировать учетные записи, создавать нагрузку и генерировать большое количество событий безопасности. Практические команды для подбора сетевых паролей в этом руководстве не приводятся.
Исследование данных
Цифровая криминалистика и восстановление файлов
Идентификация файла
file suspicious.bin
```
stat suspicious.bin
sha256sum suspicious.bin
xxd -l 256 suspicious.bin
strings -a -n 6 suspicious.bin | less
```
Метаданные ExifTool
exiftool photo.jpg
```
exiftool document.pdf
exiftool -json photo.jpg > metadata.json
```
Работа с образом в режиме чтения
mkdir -p ~/evidence
```
sha256sum disk-image.dd | tee ~/evidence/disk-image.sha256
sudo mkdir -p /mnt/evidence
sudo mount -o ro,loop,noexec,nosuid,nodev disk-image.dd /mnt/evidence
```
Для некоторых файловых систем потребуется указать смещение раздела
или использовать losetup. Не добавляйте параметр записи.
Просмотр таблицы разделов образа
fdisk -l disk-image.dd
```
mmls disk-image.dd
```
The Sleuth Kit
fsstat disk-image.dd
```
fls -r disk-image.dd | less
icat disk-image.dd INODE > recovered-file.bin
```
Вместо INODE подставляется номер файла,
найденный через fls.
Foremost
mkdir -p recovered
```
foremost -i disk-image.dd -o recovered
```
Foremost ищет файлы по сигнатурам заголовков и окончаний, даже если сведения файловой системы частично утрачены.
Bulk Extractor
mkdir -p bulk-output
```
bulk_extractor -o bulk-output disk-image.dd
```
Bulk Extractor ищет технические признаки и формирует отдельные файлы результатов, не полагаясь только на структуру файловой системы.
Binwalk
binwalk firmware.bin
```
binwalk -E firmware.bin
binwalk -e firmware.bin
```
Binwalk используется для поиска встроенных файловых систем, архивов и сигнатур внутри прошивок.
Autopsy
sudo autopsy
После запуска терминал покажет локальный адрес веб-интерфейса. В Autopsy создают дело, добавляют образ и выбирают модули анализа.
Guymager
sudo guymager
Guymager предоставляет графический интерфейс для создания образов накопителей и вычисления контрольных сумм.
ddrescue для поврежденного накопителя
sudo ddrescue -f -n /dev/sdX /mnt/recovery/disk.img /mnt/recovery/rescue.log
```
sudo ddrescue -d -r3 /dev/sdX /mnt/recovery/disk.img /mnt/recovery/rescue.log
```
Volatility 3
Volatility используется для анализа дампов оперативной памяти. Доступные плагины зависят от исследуемой операционной системы.
vol -h
```
vol -f memory.raw windows.info
vol -f memory.raw windows.pslist
vol -f memory.raw windows.netscan Статический анализ
Анализ программ, библиотек и прошивок
Начинайте со статического анализа. Не запускайте неизвестный файл в основной системе. Для динамического исследования используйте отдельную виртуальную машину без общих папок и доступа к рабочей сети.
Первичная проверка
sha256sum sample.bin
```
file sample.bin
stat sample.bin
strings -a -n 6 sample.bin | less
xxd -l 512 sample.bin
```
ELF-файлы Linux
readelf -h sample
```
readelf -S sample
readelf -l sample
readelf -s sample
objdump -d sample | less
objdump -x sample | less
ldd sample
```
Radare2
rabin2 -I sample.bin
```
rabin2 -i sample.bin
rabin2 -z sample.bin
r2 -A sample.bin
```
Основные команды внутри radare2:
afl
```
ii
iz
pdf @ main
VV
q
```
Ghidra
ghidra
Общий порядок работы:
- создать Non-Shared Project;
- импортировать исследуемый файл;
- открыть CodeBrowser;
- запустить Auto Analysis;
- просмотреть строки, импорты и функции;
- переименовывать найденные функции и переменные;
- сохранять заметки и выводы отдельно.
GDB
gdb ./own-test-program
Основные команды:
help
```
info files
break main
run
next
step
info registers
backtrace
disassemble main
quit
```
Android APK
apktool d application.apk -o apk-output
```
jadx -d jadx-output application.apk
aapt dump badging application.apk
apksigner verify --verbose application.apk
```
Анализируйте только собственное приложение, открытый проект или файл, предоставленный владельцем на исследование.
Фреймворк безопасности
Знакомство с Metasploit Framework
Metasploit Framework включает модули исследования уязвимостей, проверки сервисов и разработки средств тестирования. Это мощный комплекс, который требует строгого соблюдения согласованной области работ.
Установка и база данных
sudo apt install metasploit-framework
```
sudo msfdb init
sudo msfdb status
```
Запуск
msfconsole
Основные команды консоли
help
```
version
search
info
use
show options
set
unset
check
run
back
exit
```
Поиск безопасных вспомогательных модулей
search type:auxiliary scanner http
```
search type:auxiliary scanner dns
search type:auxiliary scanner ssh
```
Пример определения версии локального HTTP-сервера
use auxiliary/scanner/http/http_version
```
set RHOSTS 127.0.0.1
set RPORT 8000
show options
run
back
```
Рабочие пространства
workspace
```
workspace -a local-lab
workspace local-lab
hosts
services
```
Импорт результатов Nmap
db_import /home/kali/audit/nmap/02-services.xml
```
hosts
services
```
Открытые источники
OSINT и сбор технической информации
OSINT означает сбор и анализ информации из открытых источников. Даже общедоступные сведения следует собирать с учетом законодательства, конфиденциальности и правил конкретного сервиса.
WHOIS
whois example.com
Пассивный поиск поддоменов Subfinder
sudo apt install subfinder
```
subfinder -d example.com -silent
subfinder -d example.com -silent -o subdomains.txt
```
Amass в пассивном режиме
amass enum -passive -d example.com
theHarvester
theHarvester -d example.com -b crtsh
Recon-ng
recon-ng
Основные команды:
help
```
marketplace search
modules search
workspaces create local-audit
workspaces load local-audit
show modules
exit
```
Sherlock
sherlock your_own_username
Используйте Sherlock для проверки собственного публичного цифрового следа, а не для преследования или деанонимизации посторонних людей.
Maltego
maltego
Maltego помогает визуализировать связи между доменами, адресами, организациями и другими сущностями. Результат требует ручной проверки, поскольку совпадение имен не доказывает принадлежность данных одному лицу.
Повторяемые операции
Автоматизация и обработка результатов
Организация каталога аудита
mkdir -p ~/audit/{notes,nmap,pcap,http,reports,files}
```
cd ~/audit
date -Iseconds | tee notes/start-time.txt
```
Запись сеанса терминала
script -a ~/audit/notes/terminal-session.txt
Для завершения:
exit
tee
ip -br address | tee ~/audit/notes/interfaces.txt
```
ip route | tee ~/audit/notes/routes.txt
ss -tulpen | tee ~/audit/notes/listening-ports.txt
```
JSON и jq
jq '.' results.json
```
jq '.results[]' results.json
jq -r '.results[].url' results.json
```
Фильтрация результатов Nmap
grep '/open/' scan.gnmap
```
grep -E '22/open|80/open|443/open' scan.gnmap
awk '/Ports:/{print $2, $0}' scan.gnmap
```
Простой скрипт инвентаризации
#!/usr/bin/env bash
```
set -euo pipefail
TARGET="${1:-192.168.56.10}"
OUT="${2:-./audit-$(date +%Y%m%d-%H%M%S)}"
mkdir -p "$OUT"
{
echo "Audit started: $(date -Iseconds)"
echo "Target: $TARGET"
echo
uname -a
ip -br address
ip route
} | tee "$OUT/system-info.txt"
ping -c 4 "$TARGET" | tee "$OUT/ping.txt" || true
nmap -sT -sV --version-light
-p 22,53,80,443
"$TARGET"
-oA "$OUT/services"
echo "Audit finished: $(date -Iseconds)" |
tee -a "$OUT/system-info.txt"
```
Сохраните файл и выдайте право выполнения:
chmod 750 inventory.sh
```
./inventory.sh 192.168.56.10
```
Проверка Bash-скрипта
bash -n inventory.sh
```
shellcheck inventory.sh
```
Python для разбора результатов
python3 -m venv .venv
```
source .venv/bin/activate
python -m pip install --upgrade pip
```
Устанавливайте Python-библиотеки в виртуальное окружение, а не напрямую в системный Python Kali.
Практическое применение
Готовые безопасные сценарии диагностики
Сценарий 1. Не открывается локальный веб-сервис
-
Проверить адрес:
ip -br address -
Проверить маршрут:
ip route get 192.168.56.10 -
Проверить доступность:
ping -c 4 192.168.56.10 -
Проверить порт:
nc -vz 192.168.56.10 443 -
Проверить HTTP:
curl -vkI https://192.168.56.10/ -
Проверить сертификат:
openssl s_client -connect 192.168.56.10:443 < /dev/null -
Записать трафик:
sudo tcpdump -i eth0 -nn host 192.168.56.10 and port 443 -w web-problem.pcap
Сценарий 2. Нужно составить карту своей локальной сети
mkdir -p ~/audit/network-map
```
ip -br address |
tee ~/audit/network-map/interfaces.txt
ip route |
tee ~/audit/network-map/routes.txt
sudo arp-scan --localnet |
tee ~/audit/network-map/arp-scan.txt
nmap -sn 192.168.56.0/24
-oA ~/audit/network-map/hosts
nmap -sT -sV --version-light
-p 22,53,80,443,445,3389
192.168.56.10
-oA ~/audit/network-map/services Сценарий 3. Нестабильная скорость сети
ip -s link
```
sudo ethtool eth0
ping -c 50 192.168.56.1
mtr -rwzc 100 192.168.56.10
iperf3 -c 192.168.56.10 -t 30
sudo tcpdump -i eth0 -nn -s 0 -w unstable-network.pcap
```
В Wireshark примените фильтры:
tcp.analysis.retransmission
```
tcp.analysis.duplicate_ack
tcp.analysis.lost_segment
icmp
dns Сценарий 4. Первичный аудит собственного Linux-сервера
hostnamectl
```
uname -a
uptime
free -h
df -hT
ss -tulpen
systemctl --failed
journalctl -p warning -b
sudo lynis audit system Сценарий 5. Проверка собственного сайта
dig example.com
```
curl -I https://example.com/
curl -sS -o /dev/null
-w 'HTTP: %{http_code}\nTotal: %{time_total}\n'
https://example.com/
openssl s_client
-connect example.com:443
-servername example.com
< /dev/null
sslscan example.com:443
whatweb https://example.com/ Сценарий 6. Исследование неизвестного файла без запуска
mkdir -p analysis
```
cp --reflink=auto suspicious.bin analysis/
cd analysis
sha256sum suspicious.bin | tee hash.txt
file suspicious.bin | tee file-type.txt
stat suspicious.bin | tee metadata.txt
strings -a -n 6 suspicious.bin > strings.txt
exiftool suspicious.bin > exiftool.txt
binwalk suspicious.bin | tee binwalk.txt Справочник
Каталог основных инструментов Kali Linux
В репозиториях Kali находятся сотни программ. Документировать каждую команду каждого пакета в одной статье непрактично, поэтому ниже приведена систематизированная карта основных инструментов.
Диагностика Linux
- htop — процессы и нагрузка;
- lsof — открытые файлы и сокеты;
- strace — системные вызовы процесса;
- ltrace — вызовы библиотек;
- journalctl — журналы systemd;
- smartctl — состояние накопителей;
- lm-sensors — температуры и датчики;
- iotop — дисковая активность;
- sysstat — системная статистика.
Сетевая диагностика
- iproute2 — интерфейсы и маршруты;
- ping — проверка достижимости;
- traceroute — маршрут пакетов;
- mtr — потери и задержки;
- iperf3 — пропускная способность;
- ethtool — параметры Ethernet;
- ss — соединения и сокеты;
- netcat — проверка портов;
- iftop — активные потоки;
- bmon — загрузка интерфейсов.
Обнаружение и сканирование
- Nmap — узлы, порты и службы;
- Zenmap — графический интерфейс Nmap;
- arp-scan — устройства локального сегмента;
- Netdiscover — обнаружение по ARP;
- fping — проверка группы узлов;
- Masscan — высокоскоростное сканирование;
- RustScan — быстрый поиск портов;
- Legion — графическая автоматизация разведки;
- AutoRecon — автоматизированное перечисление сервисов.
DNS и домены
- dig — запросы DNS;
- host — простой просмотр записей;
- nslookup — диагностика разрешения имен;
- dnsrecon — аудит DNS;
- dnsenum — перечисление записей;
- dnstracer — трассировка DNS;
- dnswalk — проверка согласованности;
- Fierce — анализ доменной инфраструктуры.
Анализ трафика
- Wireshark — графический анализ пакетов;
- TShark — консольный Wireshark;
- tcpdump — запись и фильтрация пакетов;
- tcpflow — реконструкция TCP-потоков;
- netsniff-ng — высокопроизводительный анализ;
- Scapy — программная работа с пакетами;
- BruteShark — анализ сетевой криминалистики;
- NetworkMiner — анализ PCAP и сетевых артефактов.
Веб-приложения
- Burp Suite — HTTP-прокси и ручной анализ;
- OWASP ZAP — прокси и сканер приложений;
- Gobuster — поиск каталогов и файлов;
- ffuf — веб-фаззинг;
- Feroxbuster — рекурсивный поиск ресурсов;
- Dirb — поиск веб-объектов;
- DirBuster — графический поиск каталогов;
- Nikto — проверка веб-сервера;
- WhatWeb — определение технологий;
- WPScan — аудит WordPress;
- WPPROBE — анализ плагинов WordPress;
- sqlmap — проверка SQL-инъекций в лаборатории;
- wafw00f — определение WAF;
- Arjun — поиск HTTP-параметров;
- httpx-toolkit — проверка HTTP-узлов.
Поиск уязвимостей
- GVM — комплексный сканер уязвимостей;
- Nuclei — шаблонные проверки;
- Lynis — аудит Linux;
- Unix-privesc-check — локальная проверка конфигурации;
- ExploitDB — локальная база описаний;
- SearchSploit — поиск в ExploitDB;
- Peass-ng — проверка локальной конфигурации лаборатории.
Wi-Fi и радио
- iw — управление Wi-Fi;
- Aircrack-ng — набор для аудита 802.11;
- Kismet — беспроводной мониторинг;
- Horst — консольный анализ WLAN;
- Wavemon — параметры Wi-Fi;
- Gqrx — интерфейс SDR;
- GNU Radio — обработка радиосигналов;
- HackRF tools — работа с HackRF;
- Inspectrum — анализ записанных сигналов.
Пароли и хеши
- John the Ripper — локальный аудит хешей;
- Hashcat — CPU/GPU-проверка хешей;
- Name That Hash — определение формата;
- Hashid — идентификация алгоритма;
- Crunch — генерация учебных словарей;
- CeWL — создание тематического словаря;
- PACK — анализ структуры паролей;
- PDFCrack — аудит собственных PDF;
- fcrackzip — аудит собственных ZIP.
Криминалистика
- Autopsy — графическое исследование образов;
- The Sleuth Kit — анализ файловых систем;
- Guymager — создание образов;
- Foremost — восстановление по сигнатурам;
- Scalpel — файловый карвинг;
- Bulk Extractor — поиск артефактов;
- Volatility 3 — анализ памяти;
- ExifTool — метаданные;
- Binwalk — анализ прошивок;
- ddrescue — создание образа поврежденного диска;
- ewf-tools — работа с форматом E01.
Реверс-инжиниринг
- Ghidra — декомпиляция и анализ;
- Radare2 — консольный анализ;
- Rizin — платформа анализа бинарных файлов;
- Cutter — графический интерфейс Rizin;
- GDB — отладка;
- GEF — расширение GDB;
- Jadx — декомпиляция Android;
- Apktool — разбор APK;
- dex2jar — преобразование DEX;
- objdump — анализ объектных файлов;
- readelf — структура ELF.
OSINT
- theHarvester — открытые источники;
- Maltego — граф связей;
- Recon-ng — OSINT-фреймворк;
- Subfinder — пассивные поддомены;
- Amass — анализ доменной поверхности;
- Sherlock — поиск собственного имени пользователя;
- SpiderFoot — автоматизированный OSINT;
- Metagoofil — метаданные документов.
Отчетность
- Faraday — управление результатами аудита;
- Dradis — совместная отчетность;
- CherryTree — структурированные заметки;
- EyeWitness — фиксация веб-интерфейсов;
- Cutycapt — снимки веб-страниц;
- recordmydesktop — запись экрана;
- script — запись терминальной сессии.
Исправление неисправностей
Частые проблемы Kali Linux
Не работает интернет
ip -br link
```
ip -br address
ip route
nmcli device status
systemctl status NetworkManager
journalctl -u NetworkManager -b
ping -c 4 192.168.56.1
dig example.com
```
Перезапуск NetworkManager:
sudo systemctl restart NetworkManager
Нет DNS
cat /etc/resolv.conf
```
resolvectl status
dig @1.1.1.1 example.com
getent hosts example.com
```
apt сообщает об ошибке блокировки
ps aux | grep -E 'apt|dpkg'
```
sudo lsof /var/lib/dpkg/lock-frontend
```
Не удаляйте lock-файл автоматически. Сначала убедитесь, что другой процесс apt или dpkg действительно не работает.
Нарушены зависимости пакетов
sudo dpkg --configure -a
```
sudo apt --fix-broken install
sudo apt update
sudo apt full-upgrade
```
Команда не найдена
command -v имя-команды
```
apt search имя-команды
sudo apt install пакет
```
Недостаточно места
df -hT
```
du -xh ~ | sort -h | tail -n 30
sudo du -xh /var | sort -h | tail -n 30
sudo apt clean
sudo apt autoremove --purge
```
Служба не запускается
systemctl status service-name
```
journalctl -u service-name -b
systemctl cat service-name
sudo ss -tulpen
```
Wireshark не видит интерфейсы
getent group wireshark
```
groups
sudo usermod -aG wireshark "$USER"
```
После добавления в группу завершите сеанс пользователя и войдите снова. Не запускайте весь графический интерфейс Wireshark через sudo.
USB-адаптер не виден в виртуальной машине
- проверить устройство на основной системе;
- установить пакет расширений гипервизора при необходимости;
- добавить USB-фильтр для виртуальной машины;
- отключить устройство от основной системы;
- подключить его к гостевой Kali;
- проверить командами
lsusbиdmesg -T.
Система перестала загружаться после обновления
- попробовать выбрать предыдущее ядро в меню GRUB;
- загрузить виртуальную машину из снимка;
- проверить свободное место в разделе
/boot; - проверить ошибки командой
journalctl -xb; - не удалять старое рабочее ядро до проверки нового.
Ответы на вопросы
Частые вопросы о Kali Linux
Можно ли использовать Kali Linux как обычную систему?
Технически можно, поскольку Kali основана на Debian. Однако система оптимизирована для задач безопасности и содержит большое количество специализированных пакетов. Для повседневной работы обычно удобнее Debian, Ubuntu, Fedora или Linux Mint, а Kali запускать отдельно.
Нужно ли постоянно работать от root?
Нет. Обычные операции следует выполнять от непривилегированного
пользователя, а административные команды запускать через
sudo. Это снижает вероятность случайного повреждения системы.
Все ли инструменты Kali установлены сразу?
Нет. Стандартный образ содержит основной набор. Дополнительные инструменты устанавливаются отдельно через apt или тематические метапакеты.
Нужно ли устанавливать kali-linux-everything?
Обычно нет. Этот набор занимает много места и включает большое количество программ, которые могут никогда не понадобиться. Рациональнее устанавливать инструменты по мере необходимости.
Можно ли сканировать свой домашний маршрутизатор?
Можно, если оборудование принадлежит вам и проверка не нарушает условия провайдера или производителя. Начинайте с обычного поиска портов на низкой скорости. Старые маршрутизаторы иногда нестабильно реагируют на интенсивные проверки.
Почему Nmap показывает filtered?
Nmap не получил ответа, позволяющего однозначно определить состояние порта. Причиной может быть межсетевой экран, фильтр провайдера, маршрутизатор, ACL или отсутствие обратного маршрута.
Почему ping не отвечает, а сайт открывается?
Сервер или межсетевой экран может блокировать ICMP, но разрешать TCP-соединения на портах 80 и 443. Проверяйте нужный протокол отдельно через curl, nc или Nmap.
Какой инструмент лучше для анализа трафика?
Tcpdump удобен для быстрой записи на сервере, Wireshark для подробного интерактивного анализа, а TShark для автоматизации и обработки PCAP в терминале.
Как проверить надежность своего пароля?
Не передавайте реальный пароль стороннему онлайн-сервису. Надежнее оценивать длину, уникальность и устойчивость политики локально. Для каждой системы используйте отдельный длинный пароль и включайте MFA.
Можно ли использовать Kali без знания Linux?
Запустить отдельный инструмент можно, но для безопасной и правильной работы необходимо понимать файловую систему, права, процессы, службы, TCP/IP, DNS, HTTP и работу терминала. Начинать следует с базовых команд Linux и сетевой диагностики.
Можно ли запускать Kali с USB?
Да. Kali поддерживает Live USB и режим постоянного хранилища. При этом важно скачать официальный образ, проверить контрольную сумму и не перепутать накопитель при записи ISO.
Какие инструменты изучать в первую очередь?
Начните с iproute2, ss, ping, dig, curl, OpenSSL, tcpdump, Wireshark и Nmap. После освоения сети переходите к GVM, Burp Suite, анализу файлов и автоматизации отчетов.
Главные выводы
- Kali Linux является специализированной системой на базе Debian.
- Для обучения безопаснее использовать виртуальную машину.
- Перед проверкой необходимо определить разрешенную область работ.
- Любое сканирование начинают с минимальной интенсивности.
- Автоматические результаты всегда проверяют вручную.
- Сырые результаты и команды необходимо сохранять.
- PCAP, дампы и отчеты могут содержать конфиденциальные сведения.
- Неизвестные файлы не запускают в основной системе.
- Оригинальные накопители исследуют только через образ.
- Цель аудита состоит в устранении рисков, а не в получении доступа.
Настройка и диагностика
Проблемы с компьютером, Wi-Fi или локальной сетью?
Настройка домашних и офисных сетей, Wi-Fi, Mesh, VLAN, NAS, удаленного доступа, видеонаблюдения и сетевого оборудования в Туле и поселке Петровский.
Компьютерная помощьОфициальная документация
- Документация Kali Linux
- Каталог инструментов Kali Linux
- Обновление Kali Linux
- Метапакеты Kali Linux
- Официальное руководство Nmap
- Документация Wireshark
Состав пакетов, синтаксис отдельных программ и доступные параметры
могут изменяться после обновлений. Перед применением команды проверяйте
встроенную справку через man или --help.