Tanquem el Mòdul 2 amb un mapa de superfície d'atac prioritzat i amb un nmap -sn que ens va dir quins hosts de 10.10.10.0/24 estan vius. Ara comença el Mòdul 3 i toca mirar de debò: de "aquests hosts existeixen" passem a "aquests ports estan oberts en ells". Un port obert és una porta que escolta; darrere de cadascun hi ha un servei que, a les lliçons següents, identificarem (03-02) i creuarem amb vulnerabilitats conegudes (03-03).

Aquesta lliçó se centra en una sola pregunta, ben resposta: quins ports estan oberts als objectius autoritzats? Veurem la teoria de TCP/UDP i els estats del port, els tipus d'escaneig (SYN, connect, UDP, FIN/NULL/Xmas, ACK), el control de velocitat i l'evasió bàsica de soroll —sempre dins de l'abast—, i com esprémer Nmap per descobrir ports sense encara interrogar a fons els serveis. Abans de tocar res, recordem l'enquadrament: escanegem només les IP i rangs del contracte, sabem que un escaneig agressiu pot tombar serveis i per això s'acorden finestres, i documentem cada comanda llançada.

Contingut

  1. Recordatori d'abast: escanejar no és innocu
  2. TCP i UDP: com es descobreix un port
  3. Els estats del port de Nmap
  4. Tipus d'escaneig TCP i UDP
  5. Selecció de ports i objectius
  6. Timing, velocitat i evasió de soroll
  7. Formats de sortida i documentació
  8. Escaneig de TechNova de principi a fi
  9. Alternatives ràpides: masscan i RustScan
  10. Contrapartida defensiva: com es detecta un escaneig
  11. Errors comuns i consells
  12. Exercicis
  13. Conclusió

  1. Recordatori d'abast: escanejar no és innocu

Un escaneig de ports genera trànsit real contra sistemes de producció. No és una consulta passiva com el whois: estàs enviant milers de paquets a la infraestructura del client. Abans de la primera ordre, tres regles no negociables:

  • Scope estricte. Escaneja només les IP i rangs que figuren per escrit al contracte. A TechNova: la botiga i els seus entorns exposats, i la xarxa interna 10.10.10.0/24. Un nmap contra una IP veïna no autoritzada és, senzillament, il·legal.
  • Impacte acordat. Un escaneig agressiu (-T5, escaneig UDP massiu, molts hosts alhora) pot saturar un tallafoc, disparar alarmes o tombar serveis fràgils. S'acorden finestres d'escaneig (p. ex. de matinada) i s'avisa el contacte tècnic.
  • Documentar-ho tot. Cada comanda, amb la seva marca de temps i la seva sortida, es desa. Si un servei cau durant la teva finestra, has de poder demostrar què vas llançar exactament.

Regla d'or: si dubtes de si una IP està dins de l'abast, no l'escanegis i consulta les RoE.

  1. TCP i UDP: com es descobreix un port

Descobrir ports consisteix a enviar paquets i llegir les respostes. Els dos protocols de transport es comporten de manera molt diferent, i per això s'escanegen diferent.

TCP és orientat a connexió: fa servir el three-way handshake (SYN → SYN/ACK → ACK). Aquest handshake és el que exploten els escàners:

sequenceDiagram
    participant P as Pentester
    participant O as Objectiu
    Note over P,O: Port OBERT
    P->>O: SYN
    O->>P: SYN/ACK
    Note over P,O: Port TANCAT
    P->>O: SYN
    O->>P: RST

Si el port està obert, respon SYN/ACK; si està tancat, respon RST (reset); si un tallafoc filtra el paquet, normalment no respon res (o retorna un ICMP de prohibit).

UDP no té handshake: és "dispara i oblida". Envies un datagrama i:

  • Si el port està tancat, el sistema sol retornar un ICMP port unreachable (tipus 3, codi 3).
  • Si està obert, moltes vegades no respon res (tret que el servei contesti), cosa que es confon amb "filtrat". Per això l'escaneig UDP és lent i ambigu: Nmap ha d'esperar i reintentar.

  1. Els estats del port de Nmap

Nmap no diu només "obert/tancat". Distingeix sis estats, i entendre'ls evita conclusions errònies:

Estat Significat Què implica per al pentester
open Un servei accepta connexions Objectiu principal: hi ha alguna cosa escoltant
closed Respon, però res escolta El host és viu; aquest port no dóna servei
filtered No hi ha resposta; un tallafoc/filtre bloqueja No es pot determinar; hi ha un tallafoc al davant
unfiltered Accessible però Nmap no sap si és obert (només -sA) Útil per mapar regles de tallafoc
open|filtered No es distingeix obert de filtrat (típic en UDP) Ambigu; requereix sondes addicionals
closed|filtered No es distingeix tancat de filtrat (-sI) Poc freqüent

La distinció clau per al dia a dia és filtered vs closed: closed vol dir "el host va respondre, però aquest port no té servei"; filtered vol dir "alguna cosa (un tallafoc) s'ha menjat el meu paquet". Confondre'ls porta a descartar ports que en realitat estan protegits, no absents.

  1. Tipus d'escaneig TCP i UDP

Cada tècnica manipula les banderes TCP de manera diferent per obtenir informació. Comparativa de les principals:

Escaneig Flag Nmap Com funciona Sigilós Requereix root Ús típic
SYN (half-open) -sS Envia SYN, no completa el handshake L'estàndard; ràpid i discret
Connect -sT Completa el handshake amb connect() No No Sense privilegis; queda als logs
UDP -sU Datagrames UDP + ICMP unreachable Serveis UDP (DNS, SNMP, NTP)
FIN -sF Només bandera FIN Evadir tallafocs sense estat
NULL -sN Sense banderes Evadir tallafocs sense estat
Xmas -sX FIN+PSH+URG (paquet "il·luminat") Evadir tallafocs sense estat
ACK -sA Només ACK; no detecta oberts Mapar regles de tallafoc

Algunes notes pràctiques:

  • -sS (SYN) és l'opció per defecte quan s'executa com a root. Mai completa la connexió (envia RST després del SYN/ACK), per la qual cosa moltes aplicacions ni la registren. És ràpid i relativament discret.
  • -sT (connect) fa servir la crida del sistema connect(); no necessita privilegis, però completa la connexió, així que gairebé sempre apareix als logs del servei. És l'opció quan no ets root.
  • FIN/NULL/Xmas es basen en un detall del RFC 793: un port tancat respon RST a aquests paquets "estranys" i un d'obert els ignora. Només funcionen contra piles TCP que segueixen el RFC (no Windows modern) i serveixen per colar-se pels tallafocs sense estat. En una auditoria, es fan servir quan el SYN es veu filtrat.
  • -sA (ACK) no busca ports oberts: busca saber què filtra el tallafoc. Si un ACK rep RST, el port està unfiltered (el tallafoc el deixa passar); si no hi ha resposta, està filtered. És reconeixement de regles, no de serveis.

  1. Selecció de ports i objectius

Per defecte Nmap escaneja els 1000 ports més comuns, no els 65535. Controlar quins ports i quins objectius toques és essencial per ser eficient i respectar l'abast.

# Ports per defecte (els 1000 top) d'un host de TechNova
nmap 10.10.10.15

# Un port concret i un rang
nmap -p 80,443,8080 10.10.10.15
nmap -p 1-1024 10.10.10.15

# TOTS els ports TCP (65535). Mes lent pero complet
nmap -p- 10.10.10.15

# Els 100 ports mes frequents (rapid, bon primer escombrat)
nmap -F 10.10.10.15

Per als objectius, Nmap accepta IP soltes, rangs, notació CIDR i fitxers:

# Tota la xarxa interna autoritzada
nmap 10.10.10.0/24

# Un rang concret
nmap 10.10.10.15-55

# Des de la llista prioritzada del recon (un host per linia)
nmap -iL hosts_vius.txt

El fitxer hosts_vius.txt és precisament l'entregable del nmap -sn amb què vam tancar el Mòdul 2: els hosts que van respondre al ping sweep. Aquí el reutilitzem com a entrada.

  1. Timing, velocitat i evasió de soroll

La velocitat d'escaneig és un equilibri entre rapidesa, sigil i no trencar res. Nmap ofereix plantilles de temporització amb -T0 a -T5:

Plantilla Nom Velocitat Soroll/impacte Quan
-T0 paranoid Lentíssima Mínim Evasió extrema d'IDS
-T1 sneaky Molt lenta Molt baix Evasió d'IDS
-T2 polite Lenta Baix, poca càrrega Xarxes fràgils
-T3 normal Mitjana (per defecte) Mitjà Ús general
-T4 aggressive Ràpida Alt Xarxes ràpides i robustes
-T5 insane Màxima Molt alt, pot fallar Només labs molt ràpids

En una auditoria professional, -T3 o -T4 amb una finestra acordada sol ser el raonable. -T5 pot perdre paquets i tombar dispositius febles; -T0/-T1 es reserven per a proves d'evasió d'IDS explícitament pactades.

L'evasió bàsica de soroll —sempre dins del marc autoritzat, com a tècnica per mesurar la capacitat de detecció del client— inclou:

# Fragmentar els paquets per dificultar l'analisi de l'IDS
nmap -f 10.10.10.15

# Alentir i limitar la taxa de paquets (menys sorollos)
nmap -T2 --max-rate 50 10.10.10.15

# Afegir esquers: barrejar la teva IP amb IP falses (autoritzat i amb cura)
nmap -D 10.10.10.101,10.10.10.102,ME 10.10.10.15

Important: l'evasió no serveix per "escanejar sense permís sense que se n'assabentin". Es fa servir per avaluar si l'IDS/IPS del client detecta tècniques evasives, i sempre està al contracte. Ocultar activitat no autoritzada és un delicte, no una tècnica.

  1. Formats de sortida i documentació

Documentar és obligatori. Nmap desa resultats en diversos formats; el més útil per a un informe és desar en tots alhora amb -oA:

# Desa en .nmap (llegible), .xml (per a eines) i .gnmap (grepejable)
nmap -sS -p- -T4 -oA technova_dev_tcp 10.10.10.15
  • .nmap: sortida llegible per a humans, per llegir i enganxar a l'informe.
  • .gnmap: una línia per host, fàcil de filtrar amb grep (p. ex. extreure només hosts amb el 445 obert).
  • .xml: entrada per a altres eines (Metasploit, informes automàtics).

Amb marca de temps al nom i aquests tres fitxers per escaneig, tens la traçabilitat que exigeix una auditoria seriosa.

  1. Escaneig de TechNova de principi a fi

Apliquem-ho tot a la llista prioritzada. Comencem per dev (10.10.10.15), que el recon va marcar com a entorn de preproducció mal assegurat. Primer un escombrat ràpid dels ports més comuns:

nmap -sS -F -T4 10.10.10.15
Starting Nmap 7.94 ( https://nmap.org ) at 2026-07-12 02:14 CEST
Nmap scan report for dev.technova.lab (10.10.10.15)
Host is up (0.0012s latency).
Not shown: 96 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
8080/tcp open  http-proxy

Lectura línia a línia:

  • Host is up (0.0012s latency): el host respon; la latència baixa confirma que és local.
  • Not shown: 96 closed tcp ports (reset): dels 100 ports de l'escombrat ràpid, 96 van retornar RST (tancats). El host és viu i no filtra per defecte.
  • 22/tcp open ssh: SSH obert, accés remot.
  • 80/tcp open http i 8080/tcp open http-proxy: dos serveis web (l'app i probablement un panell o proxy).
  • 3306/tcp open mysql: una base de dades MySQL exposada en un host de desenvolupament! Una troballa sucosa que encaixa amb el db-interno que vam prioritzar.

L'escombrat ràpid pot deixar-se ports alts. Ho confirmem amb un escaneig complet dels 65535 ports, desant la sortida:

nmap -sS -p- -T4 -oA technova_dev_tcp 10.10.10.15
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
3306/tcp  open  mysql
8080/tcp  open  http-proxy
54321/tcp open  unknown

Apareix un 54321/tcp open unknown que l'escombrat ràpid no cobria: un port no estàndard, possiblement una porta del darrere o un servei d'administració a mida. Just el tipus de troballa que justifica el -p-. Encara no sabem què és: identificar-lo és tasca de 03-02.

Com que la botiga fa servir DNS i hi ha un controlador de xarxa, convé una ullada a UDP als ports clau (no tots, seria lentíssim):

nmap -sU --top-ports 20 -T4 10.10.10.40
PORT     STATE         SERVICE
53/udp   open          domain
161/udp  open          snmp
123/udp  open|filtered ntp

El 161/udp open snmp és molt rellevant: SNMP mal configurat és una mina d'informació interna (l'enumerarem a 03-02). L'open|filtered del NTP mostra la típica ambigüitat d'UDP.

El resultat d'aquesta lliçó és una taula de ports oberts per host, la matèria primera de la resta del mòdul:

Host Ports TCP oberts Ports UDP rellevants
10.10.10.15 (dev) 22, 80, 3306, 8080, 54321
10.10.10.40 (db-interno) 22, 3306 53, 161
tienda.technova.lab 22, 80, 443

  1. Alternatives ràpides: masscan i RustScan

Per a rangs molt grans, Nmap pot ser lent. Dues eines complementàries, útils com a primer escombrat que després es refina amb Nmap:

# masscan: rapidissim, ideal per a /16 o /8. Limita SEMPRE la taxa
sudo masscan 10.10.10.0/24 -p1-65535 --rate 1000

# RustScan: descobreix ports a gran velocitat i encadena amb nmap
rustscan -a 10.10.10.15 -- -sV

Precaució d'impacte: masscan sense --rate pot llançar milions de paquets per segon i saturar la xarxa o el tallafoc del client. Es limita sempre la taxa i s'acorda la finestra. El patró professional és: masscan/RustScan per descobrir ràpid quins ports obren, i Nmap per al detall de les lliçons següents.

  1. Contrapartida defensiva: com es detecta un escaneig

Escanejar deixa rastre, i un bon pentester entén com ho veurà el defensor (això a més serveix per escriure la part de detecció de l'informe):

  • Un IDS/IPS (Snort, Suricata) detecta escaneigs per patró: molts SYN a ports diferents des d'una mateixa IP en poc temps dispara regles de portscan. L'escaneig SYN és discret per a l'aplicació, però no per a un IDS de xarxa.
  • Els tallafocs amb estat registren i poden limitar connexions per IP; un -T5 es nota de seguida.
  • Escaneigs NULL/FIN/Xmas són anòmals per definició (paquets que cap client legítim envia), així que un IDS modern els marca com a sospitosos.

Hardening que recomanarem: tancar tot el no imprescindible (redueix la superfície que el teu escaneig troba), segmentar la xarxa, exposar només el necessari a Internet, i configurar l'IDS/IPS per alertar i limitar escaneigs. La millor defensa contra el descobriment de ports és no tenir ports oberts que no calguin.

  1. Errors Comuns i Consells

  • Escanejar fora de l'abast. L'error més greu i amb conseqüències legals. Verifica cada IP contra les RoE abans de llançar.
  • Refiar-se només de l'escombrat per defecte. Els 1000 ports top es deixen serveis en ports alts (el 54321 de dev). Per a hosts prioritaris, llança -p-.
  • Oblidar UDP. Molts escaneigs són només TCP i es perden DNS, SNMP, NTP o TFTP. Escaneja almenys els --top-ports UDP en hosts clau.
  • Confondre filtered amb closed. filtered no és "no hi ha res": és "hi ha un tallafoc". Interpreta-ho com a presència de defensa, no d'absència de servei.
  • Fer servir -T5 en producció. Pot tombar dispositius fràgils i perdre resultats per paquets descartats. -T3/-T4 amb finestra acordada.
  • No desar la sortida. Sense -oA no hi ha traçabilitat. Desa sempre, amb marca de temps.
  • Consell: comença ràpid i ampli (-F o masscan), identifica els hosts interessants i aprofundeix només en ells amb -p-. Estalvia temps i soroll.

  1. Exercicis

Exercici 1. Vols l'escombrat més complet possible de ports TCP sobre el host dev de TechNova (10.10.10.15), desant la sortida en els tres formats amb el nom base dev_full, a velocitat agressiva. Escriu la comanda i explica cada opció.

Exercici 2. Un escaneig SYN (-sS) contra tienda.technova.lab retorna tots els ports com a filtered, tret del 80 i el 443. Què et diu això sobre la màquina i la seva xarxa? Quin escaneig provaries per entendre les regles del tallafoc i per què?

Exercici 3. El teu client et demana que avaluïs si el seu IDS detecta escaneigs "sigilosos" i et dóna una finestra de matinada. Proposa dues comandes Nmap orientades a baix soroll / evasió i explica què mesura cadascuna. Indica quin límit ètic/legal no has de creuar.

Solucions

Solució 1.

nmap -sS -p- -T4 -oA dev_full 10.10.10.15
  • -sS: escaneig SYN (half-open), ràpid i discret, requereix root.
  • -p-: els 65535 ports TCP, no només els 1000 per defecte (així no s'escapa el 54321).
  • -T4: temporització agressiva, adequada per a una xarxa local robusta i una finestra acordada.
  • -oA dev_full: desa en dev_full.nmap, dev_full.gnmap i dev_full.xml (traçabilitat completa).

Solució 2. Que gairebé tot estigui filtered i només 80/443 apareguin open indica una màquina darrere d'un tallafoc amb estat que només permet trànsit web entrant: el tallafoc s'està "menjant" els SYN als altres ports (per això filtered, no closed). Per entendre les regles provaries un escaneig ACK (-sA): no busca ports oberts, sinó distingir quins ports estan filtered (sense resposta) dels unfiltered (retornen RST), cosa que permet mapar què deixa passar el tallafoc. És reconeixement de la política del tallafoc, no de serveis.

Solució 3. Dos exemples vàlids:

# 1) Escaneig lent i de baixa taxa: mesura si l'IDS detecta activitat "a foc lent"
nmap -sS -T1 --max-rate 20 10.10.10.0/24

# 2) Escaneig amb fragmentacio: mesura si l'IDS reensambla i detecta paquets fragmentats
nmap -sS -f 10.10.10.15

El primer avalua la detecció d'escaneigs lents (per sota de llindars de taxa); el segon, si l'IDS reensambla fragments per veure el patró d'escaneig. Límit infranquejable: tot això és vàlid només perquè el client ho ha autoritzat per escrit i dins de la finestra pactada. L'evasió mai serveix per escanejar sistemes sense permís "sense ser detectat": això seria activitat il·lícita, no una prova.

Conclusió

Hem convertit la llista d'hosts vius del recon en una cosa molt més concreta: un inventari de ports oberts per host, obtingut de manera controlada, documentada i dins de l'abast. Pel camí hem entès com TCP i UDP revelen els seus ports, els sis estats que distingeix Nmap (amb la distinció crucial filtered/closed), els tipus d'escaneig i quan fer servir cadascun, i com ajustar velocitat i soroll sense trencar res ni creuar línies legals.

Fixa't en el que encara no sabem: hem vist que a dev el 3306/tcp està obert i etiquetat com mysql, però això és només la suposició de Nmap per número de port. No sabem quina versió de MySQL corre, ni què hi ha realment darrere del 54321, ni quin servidor web serveix el port 80. Aquest salt —de "el port està obert" a "això és exactament el servei X versió Y amb aquesta informació"— és la feina de la lliçó següent.

A 03-02 Enumeració de Serveis agafarem aquesta taula de ports oberts i, amb detecció de versions (-sV), detecció de sistema operatiu i enumeració per protocol (HTTP, SMB, SNMP, MySQL…), construirem un inventari de serveis amb versions. Sabrem no només on truca, sinó qui obre la porta.

© Copyright 2026. Tots els drets reservats