Enumeración de Puertos

Puertos y servicios por defecto

Puerto

Servicio

25

SMTP

22

SSH

110

POP3

143

IMAP

80

HTTP

443

HTTPS

137 138, 139

NETBIOS

115

SFTP

23

Telnet

21

FTP

3389

RDP

3306

MySQL

1433

MS SQL Server

Nmap

Escaneo de Top 10 puertos

sudo nmap 10.129.2.28 --top-ports=10 

Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-15 15:36 CEST
Nmap scan report for 10.129.2.28
Host is up (0.021s latency).

PORT     STATE    SERVICE
21/tcp   closed   ftp
22/tcp   open     ssh
23/tcp   closed   telnet
25/tcp   open     smtp
80/tcp   open     http
110/tcp  open     pop3
139/tcp  filtered netbios-ssn
443/tcp  closed   https
445/tcp  filtered microsoft-ds
3389/tcp closed   ms-wbt-server
MAC Address: DE:AD:00:00:BE:EF (Intel Corporate)

Enumeración de puertos abiertos UDP

sudo nmap 10.129.2.28 -F -sU

Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-15 16:01 CEST
Nmap scan report for 10.129.2.28
Host is up (0.059s latency).
Not shown: 95 closed ports
PORT     STATE         SERVICE
68/udp   open|filtered dhcpc
137/udp  open          netbios-ns
138/udp  open|filtered netbios-dgm
631/udp  open|filtered ipp
5353/udp open          zeroconf
MAC Address: DE:AD:00:00:BE:EF (Intel Corporate)

Nmap done: 1 IP address (1 host up) scanned in 98.07 seconds
sudo nmap 10.129.2.28 -sU -Pn -n --disable-arp-ping --packet-trace -p 137 --reason 

Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-15 16:15 CEST
SENT (0.0367s) UDP 10.10.14.2:55478 > 10.129.2.28:137 ttl=57 id=9122 iplen=78
RCVD (0.0398s) UDP 10.129.2.28:137 > 10.10.14.2:55478 ttl=64 id=13222 iplen=257
Nmap scan report for 10.129.2.28
Host is up, received user-set (0.0031s latency).

PORT    STATE SERVICE    REASON
137/udp open  netbios-ns udp-response ttl 64
MAC Address: DE:AD:00:00:BE:EF (Intel Corporate)

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

/dev/tcp

  • Para la enumeracion de puertos, vamos uso del recurso de /dev/tcp que aun que en la consola nos dirá que no exista, este si existe (o almenos entiendandolo asi, que esto tiene otra explicación pero ese no es la finalidad de este post)

Si nosotros enviamos un comentario vacio a la ruta /dev/tcp/192.168.98.1/53 con la dirección ip y el puerto, no tendremos ningun ouput si el puerto esta activo, pero podremos ver el codigo de estado. El codigo de estado indica si lo que se ha ejecutado se llevó acabo correctamente, esto nos servira para saber si el puerto esta o no abierto.

  • Ejemplo de cuando el puerto 53 esta activo

❯ echo '' > /dev/tcp/192.168.98.1/53
❯ echo $?
❯ 0
  • Ejemplo de cuando el puerto 577 no esta activo

❯ echo '' > /dev/tcp/192.168.98.1/577
bash: connect: Conexión rehusada
bash: /dev/tcp/192.168.98.1/53444: Conexión rehusada
❯ echo $?

Una vez entendido el concepto, podemos agregar 2>/dev/null para redirigir el output del stderr(Los mesajes de los errores). Entonces tendremos las dos formas:

  1. Cuando el puerto no esta activo

  2. El puerto esta activo

Last updated