Скрипты перечисления сети
Автоматизируйте разведку с помощью скриптов Nmap NSE и собственных сканеров на Python.
«Скрипты перечисления сети» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Зачем автоматизировать разведку
Ручное сканирование в больших сетях выполняется медленно и приводит к ошибкам. Сценарии объединяют Нмап, Неткат и другие инструменты в воспроизводимые конвейеры, которые разбирают вывод и передают результаты для дальнейшего анализа.
Обзор сценариев NSE для Нмап
Механизм сценариев Нмап (NSE) запускает сценарии Луа для обнаруженных служб. Сценарии организованы по категориям: аутентификация, перебор, стандартные, обнаружение, эксплуатация, безопасные и уязвимости.
# Run default safe scripts
nmap -sC 192.168.1.100
# List all scripts
ls /usr/share/nmap/scripts/ | grep http
# Run specific script
nmap --script=http-title 192.168.1.100Распространённые сценарии NSE
Основные сценарии для сбора сведений: http-title, http-headers, smb-enum-shares, ftp-anon, dns-brute и ssh-hostkey.
nmap --script=smb-enum-shares -p 445 192.168.1.100
nmap --script=ftp-anon -p 21 192.168.1.100
nmap --script=dns-brute --script-args dns-brute.domain=target.com 192.168.1.1Сценарии категории уязвимостей
Категория vuln проверяет наличие известных уязвимостей. Сценарии vuln создают больше сетевого шума и могут привести к сбою служб — используйте их только при наличии явного разрешения.
sudo nmap --script=vuln 192.168.1.100
# Specific vuln checks:
nmap --script=ms17-010 -p 445 192.168.1.100 # EternalBlue
nmap --script=http-shellshock 192.168.1.100Разбор вывода XML Nmap с помощью Python
Вывод Nmap в формате XML с параметром -oX удобен для машинной обработки. Библиотека python-libnmap для Python разбирает его, упрощая создание собственных отчётов и передачу данных другим инструментам.
# Install
pip install python-libnmap
# Parse results
from libnmap.parser import NmapParser
report = NmapParser.parse_fromfile("scan.xml")
for host in report.hosts:
for svc in host.services:
if svc.state == "open":
print(f"{host.address}:{svc.port} {svc.service}")Простой сканер портов на Python
Создайте минимальный сканер портов с помощью модуля socket в Python. Это полезно, когда Nmap недоступен или требуется индивидуальный подход к сканированию.
import socket
from concurrent.futures import ThreadPoolExecutor
def scan_port(host, port):
try:
s = socket.socket()
s.settimeout(0.5)
s.connect((host, port))
print(f"Open: {port}")
s.close()
except: pass
with ThreadPoolExecutor(100) as ex:
for p in range(1, 1025):
ex.submit(scan_port, "192.168.1.100", p)Однострочные команды Bash для перечисления
Bash позволяет быстро перечислять узлы и порты с помощью псевдоустройства /dev/tcp, не используя внешние инструменты.
# Check if port is open (bash built-in)
timeout 1 bash -c "echo >/dev/tcp/192.168.1.100/80" && echo open
# Loop over hosts
for i in $(seq 1 254); do
ping -c1 -W1 192.168.1.$i &>/dev/null && echo "192.168.1.$i up"
doneСкрипты для перечисления DNS
Автоматизируйте перечисление DNS с помощью dnsrecon, amass или собственных скриптов, которые запрашивают записи A, MX, NS, TXT и CNAME, а также перебирают имена поддоменов.
dnsrecon -d target.com -t std
amass enum -d target.com
# Manual zone transfer attempt
dig axfr target.com @ns1.target.comПеречисление SMB с помощью enum4linux
enum4linux автоматизирует перечисление SMB: общих ресурсов, пользователей, групп, политик паролей и сведений об ОС на узлах Windows/Samba без аутентификации.
enum4linux -a 192.168.1.100
# -a = all enumeration
# Shows: shares, users, groups,
# password policy, OS versionПеречисление SNMP
SNMP v1/v2c использует строки сообщества, часто «public», для аутентификации. Запросы SNMP раскрывают сведения о системе, запущенных процессах, сетевых интерфейсах и установленном программном обеспечении.
# Query with default community string
snmpwalk -c public -v2c 192.168.1.100
# Get system info only
snmpget -c public -v2c 192.168.1.100 1.3.6.1.2.1.1.1.0
# Brute force community strings
onesixtyone -c community.txt 192.168.1.100Организация вывода
Структурированный вывод крайне важен при масштабных проверках. Используйте отдельные каталоги для каждой цели, единообразные имена (target_service_date) и инструменты вроде tmux для журналирования всего вывода терминала.
Быстрая проверка
Какая категория NSE в Nmap выполняет проверки на наличие известных уязвимостей?
Итоги: скрипты для перечисления
Скрипты превращают отдельные команды инструментов в воспроизводимые конвейеры разведки. Объединяйте скрипты NSE для быстрых целевых проверок, Python — для собственного разбора данных и автоматизации, Bash — для быстрого обнаружения узлов, а специализированные инструменты (enum4linux, dnsrecon, snmpwalk) — для перечисления по конкретным протоколам.
Часто задаваемые вопросы
Урок «Скрипты перечисления сети» бесплатный?
Да — полный текст урока «Скрипты перечисления сети» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Скрипты перечисления сети»?
Автоматизируйте разведку с помощью скриптов Nmap NSE и собственных сканеров на Python. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Скрипты перечисления сети»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Методы сканирования портов Nmap
- Определение сервисов и операционных систем
- Netcat: швейцарский армейский нож
- Скрипты перечисления сети