0Pricing
Cyber Security Academy · Урок

Скрипты перечисления сети

Автоматизируйте разведку с помощью скриптов 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 — локальная установка не требуется.

Все уроки этого курса

  1. Методы сканирования портов Nmap
  2. Определение сервисов и операционных систем
  3. Netcat: швейцарский армейский нож
  4. Скрипты перечисления сети
← Назад к Cyber Security Academy