# Puerto 25: - SMTP

El puerto 25 es el puerto estándar utilizado por el Protocolo Simple de Transferencia de Correo (SMTP), que es el protocolo principal para el envío de correos electrónicos en Internet. SMTP se utiliza para transferir mensajes de correo electrónico entre servidores de correo y también entre clientes de correo y servidores de correo.

## <mark style="color:green;">**Relevancia en Pentesting**</mark>

El puerto 25 es crítico en pruebas de penetración porque un servidor de correo mal configurado puede ser explotado de varias maneras. Las vulnerabilidades comunes incluyen:

* **Open Relays**: Un servidor de correo configurado incorrectamente que permite a terceros enviar correos electrónicos sin autenticación.
* **Spoofing**: Enviar correos electrónicos falsificados que parecen provenir de una fuente confiable.
* **Enumeración de usuarios**: Verificar la existencia de cuentas de correo electrónico en el servidor.
* **Inyección de comandos**: Algunos servidores de correo vulnerables pueden permitir la inyección de comandos a través de los encabezados de correo.

## **Ejemplo de Escaneo con Nmap y su Salida**

Para escanear el puerto 25 en una IP específica utilizando Nmap, se puede utilizar el siguiente comando:

```bash
nmap -p 25 <IP-Objetivo> -sV
```

Este comando escanea el puerto 25 y trata de identificar la versión del servicio SMTP que está corriendo.

## **Interpretación de la Salida**

Aquí hay un ejemplo de salida de Nmap después de escanear el puerto 25 en una IP objetivo:

```plaintext
Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-27 10:00 UTC
Nmap scan report for example.com (192.168.1.1)
Host is up (0.0030s latency).

PORT   STATE SERVICE VERSION
25/tcp open  smtp    Postfix smtpd
|_smtp-open-relay: Server is an open relay (spam score 4)
| smtp-commands: example.com, PIPELINING, SIZE 10240000, VRFY, ETRN, AUTH PLAIN LOGIN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN
|_       Supported authentication methods: PLAIN LOGIN
Service Info: Host: example.com

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

## **Interpretación:**

1. **Puerto y Estado**:
   * `25/tcp open smtp`: Indica que el puerto 25 está abierto y un servicio SMTP está corriendo.
2. **Versión del Servicio**:
   * `Postfix smtpd`: El servicio SMTP es manejado por Postfix, una herramienta común para el envío de correo en servidores Linux.
3. **Vulnerabilidades**:
   * `_smtp-open-relay: Server is an open relay (spam score 4)`: Indica que el servidor de correo está configurado como un "open relay", lo cual es una vulnerabilidad crítica ya que permite a terceros enviar correos electrónicos sin autenticación, lo que puede ser utilizado para enviar spam.
4. **Comandos SMTP Soportados**:
   * `smtp-commands: example.com, PIPELINING, SIZE 10240000, VRFY, ETRN, AUTH PLAIN LOGIN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN`: Lista de comandos SMTP soportados por el servidor, lo cual puede dar pistas sobre posibles vectores de ataque como `VRFY` para enumeración de usuarios.
5. **Información del Servicio**:
   * `Service Info: Host: example.com`: Información adicional sobre el servicio.

## Comando util

```
nmap -p 25 --script smtp-enum-users,smtp-open-relay,smtp-commands <IP-Objetivo>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cppj/networking-for-juniors/puertos-y-servicios/puerto-25-smtp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
