База знаний

Сканирование 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>

—