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

Сканирование IP и портов

:::tip Формат страницы

Порядок действий описан по‑русски. В методике сохранены заголовки (частично локализованы типовые термины), таблицы, иллюстрации и блоки кода: команды и параметры на английском, без перевода синтаксиса.

:::

Порядок действий

  1. Подтвердите разрешение на активные действия и уведомите мониторинг (SOC), если требуется.
  2. Выполните сканирование и перечисление в согласованных пределах.
  3. Углубляйтесь в сервисы по мере находок; фиксируйте версии и конфигурации.
  4. Синтаксис команд в методике не локализуется.

Методика

Discovering assets

sudo nmap -sn -n <NETWORK>/<MASK>
sudo arp-scan -I <NETWORK_INTERFACE> <NETWORK>/<MASK>
sudo netdiscover -r <NETWORK>/<MASK>
nmap --top-ports 20 -v -oG - 2>/dev/null | grep 'Ports scanned' | awk '{print $4}' | sed 's/.*(\(.*\))/\1/' | awk -F\; '{print $2}'
masscan -p<PORTS> <NETWORK>/<MASK>
nmap -n -p<PORTS> <NETWORK>/<MASK> #SLOWER
sudo netdiscover -p

TCP Ports

sudo nmap -v -sS -p- -n -T4 -oN AllTCPPorts.txt <IP>

UDP Ports

sudo nmap -v -sU -T4 -n -oN AllPortsTop1000UDP.txt <IP>
sudo nmap -v -sU -p- -T4 -n -oN AllPortsUDP.txt <IP>

Port information gathering

sudo nmap -sS -sC -sV -n -oN ScriptPortsScan.txt -p <PORTS> <IP> # TCP
sudo nmap -sU -sC -sV -n -oN ScriptPortsScan.txt -p <PORTS> <IP> # UDP

Simple vulnerability scanning

sudo nmap --script vuln -n -oN VulnsPorts.txt -p <PORTS> <IP>

Detecting the Operating System

sudo nmap -O -sV <IP>

Massive host scanning

# /24, /32 networks
/tmp/NmapScan/
├── 1
│ ├── AllPorts.gnmap
│ ├── AllPorts.nmap
│ └── AllPorts.xml

# /16 network
/tmp/NmapScan/
├── 0
│ ├── 1
│ │ ├── AllPorts.gnmap
│ │ ├── AllPorts.nmap
│ │ └── AllPorts.xml
grep "80/open" $(find /tmp/NmapScan/ -name *.gnmap) | awk '{print $2}'
/tmp/NmapScan/
├── 0
│ ├── 1
│ │ ├── AllPorts.gnmap
│ │ ├── AllPorts.nmap
│ │ ├── AllPorts.xml
│ │ └── PortsDepth.txt

NMAP Cheatsheet

Windows environment

enum4linux -a [-u "username" -p "password"] <IP>
enum4linux -A [-u "username" -p "password"] <IP>
enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>