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
- Recordatori d'abast: escanejar no és innocu
- TCP i UDP: com es descobreix un port
- Els estats del port de Nmap
- Tipus d'escaneig TCP i UDP
- Selecció de ports i objectius
- Timing, velocitat i evasió de soroll
- Formats de sortida i documentació
- Escaneig de TechNova de principi a fi
- Alternatives ràpides: masscan i RustScan
- Contrapartida defensiva: com es detecta un escaneig
- Errors comuns i consells
- Exercicis
- Conclusió
- 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. Unnmapcontra 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.
- 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.
- 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.
- 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 | Sí | Sí | 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 | — | Sí | Serveis UDP (DNS, SNMP, NTP) |
| FIN | -sF |
Només bandera FIN | Sí | Sí | Evadir tallafocs sense estat |
| NULL | -sN |
Sense banderes | Sí | Sí | Evadir tallafocs sense estat |
| Xmas | -sX |
FIN+PSH+URG (paquet "il·luminat") | Sí | Sí | Evadir tallafocs sense estat |
| ACK | -sA |
Només ACK; no detecta oberts | — | Sí | 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ó (enviaRSTdesprés delSYN/ACK), per la qual cosa moltes aplicacions ni la registren. És ràpid i relativament discret.-sT(connect) fa servir la crida del sistemaconnect(); 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
RSTa 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 repRST, el port estàunfiltered(el tallafoc el deixa passar); si no hi ha resposta, estàfiltered. És reconeixement de regles, no de serveis.
- 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.15Per 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.txtEl 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.
- 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.15Important: 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.
- 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 ambgrep(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.
- 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:
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 retornarRST(tancats). El host és viu i no filtra per defecte.22/tcp open ssh: SSH obert, accés remot.80/tcp open httpi8080/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 eldb-internoque vam prioritzar.
L'escombrat ràpid pot deixar-se ports alts. Ho confirmem amb un escaneig complet dels 65535 ports, desant la sortida:
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):
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 | — |
- 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 -- -sVPrecaució 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.
- 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
-T5es 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.
- 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
54321de 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-portsUDP en hosts clau. - Confondre
filteredambclosed.filteredno é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
-T5en producció. Pot tombar dispositius fràgils i perdre resultats per paquets descartats.-T3/-T4amb finestra acordada. - No desar la sortida. Sense
-oAno hi ha traçabilitat. Desa sempre, amb marca de temps. - Consell: comença ràpid i ampli (
-Fo masscan), identifica els hosts interessants i aprofundeix només en ells amb-p-. Estalvia temps i soroll.
- 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.
-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 el54321).-T4: temporització agressiva, adequada per a una xarxa local robusta i una finestra acordada.-oA dev_full: desa endev_full.nmap,dev_full.gnmapidev_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.15El 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.
Curs de Pentesting: Tècniques de Proves de Penetració
Mòdul 1: Introducció al Pentesting
- Què és el Pentesting?
- Tipus de Pentesting
- Fases del Pentesting
- Ètica i Legalitat en el Pentesting
- Metodologies i Estàndards del Sector
Mòdul 2: Reconeixement i Recollida d'Informació
- Reconeixement Passiu
- Reconeixement Actiu
- Eines de Recollida d'Informació
- OSINT i Anàlisi de la Superfície d'Atac
Mòdul 3: Escaneig i Enumeració
Mòdul 4: Explotació de Vulnerabilitats
- Introducció a l'Explotació
- Explotació de Vulnerabilitats Web
- Explotació de Vulnerabilitats de Xarxa
- Explotació de Vulnerabilitats de Sistemes
- Atacs a Contrasenyes i Autenticació
Mòdul 5: Post-Explotació
- Escalada de Privilegis
- Manteniment de l'Accés
- Pivoting i Moviment Lateral
- Cobertura de Petjades i Anti-Forense
Mòdul 6: Informe i Remediació
- Documentació de Troballes
- Classificació de Riscos i CVSS
- Recomanacions de Remediació
- Presentació de Resultats
