💻IMAP/POP3
Con la ayuda de Internet Message Access Protocol( IMAP), es posible acceder a los correos electrónicos desde un servidor de correo.
A diferencia de Post Office Protocol
( POP3
), IMAP permite la gestión en línea de correos electrónicos directamente en el servidor y admite estructuras de carpetas. Se trata, por tanto, de un protocolo de red para la gestión online de correos electrónicos en un servidor remoto.
El protocolo está basado en cliente-servidor y permite la sincronización de un cliente de correo electrónico local con el buzón del servidor, proporcionando una especie de sistema de archivos de red para correos electrónicos, lo que permite una sincronización sin problemas entre varios clientes independientes. POP3, por otro lado, no tiene la misma funcionalidad que IMAP y solo proporciona listar, recuperar y eliminar correos electrónicos como funciones en el servidor de correo electrónico. Por lo tanto, se deben utilizar protocolos como IMAP para funcionalidades adicionales como buzones jerárquicos directamente en el servidor de correo, acceso a múltiples buzones durante una sesión y preselección de correos electrónicos.
Los clientes acceden a estas estructuras en línea y pueden crear copias locales. Incluso entre varios clientes, esto da como resultado una base de datos uniforme. Los correos electrónicos permanecen en el servidor hasta que se eliminan. IMAP está basado en texto y tiene funciones ampliadas, como buscar correos electrónicos directamente en el servidor. También es posible que varios usuarios accedan al servidor de correo electrónico simultáneamente. Sin una conexión activa al servidor, la gestión de correos electrónicos es imposible. Sin embargo, algunos clientes ofrecen un modo fuera de línea con una copia local del buzón. El cliente sincroniza todos los cambios locales fuera de línea cuando se restablece una conexión.
El cliente establece la conexión con el servidor a través del puerto 143
. Para la comunicación, utiliza comandos basados en texto en formato ASCII
. Se pueden enviar varios comandos seguidos sin esperar la confirmación del servidor. Las confirmaciones posteriores del servidor se pueden asignar a los comandos individuales utilizando los identificadores enviados junto con los comandos. Inmediatamente después de que se establece la conexión, el usuario se autentica mediante nombre de usuario y contraseña en el servidor. El acceso al buzón deseado solo es posible después de una autenticación exitosa.
SMTP
se suele utilizar para enviar correos electrónicos. Al copiar los correos electrónicos enviados en una carpeta IMAP, todos los clientes tienen acceso a todos los correos enviados, independientemente de la computadora desde la que se enviaron. Otra ventaja del Protocolo de acceso a mensajes de Internet es la creación de carpetas personales y estructuras de carpetas en el buzón. Esta característica hace que el buzón sea más claro y más fácil de administrar. Sin embargo, aumenta la necesidad de espacio de almacenamiento en el servidor de correo electrónico.
Sin más medidas, IMAP
funciona sin cifrar y transmite comandos, correos electrónicos o nombres de usuario y contraseñas en texto plano. Muchos servidores de correo electrónico requieren establecer una sesión IMAP cifrada para garantizar una mayor seguridad en el tráfico de correo electrónico y evitar el acceso no autorizado a los buzones de correo. Para este fin se suele utilizar SSL/TLS. Dependiendo del método y la implementación utilizados, la conexión cifrada utiliza el puerto estándar 143
o un puerto alternativo como 993
.
Configuración predeterminada
Tanto IMAP
como POP3
tienen una gran cantidad de opciones de configuración, lo que dificulta profundizar en cada componente con más detalle. Si deseas examinar estas configuraciones de protocolo más profundamente, te recomiendo crear una máquina virtual localmente e instalar los dos paquetes dovecot-imapd
, y dovecot-pop3d
, usar apt
y experimentar con las configuraciones.
En la documentación de Dovecot, podemos encontrar las configuraciones principales individuales y las opciones de configuración de servicios que se pueden utilizar para nuestros experimentos. Sin embargo, veamos la lista de comandos y veamos cómo podemos interactuar y comunicarnos directamente con IMAP y POP3 usando la línea de comando.
Comandos IMAP
Comando | Descripción |
| Inicio de sesión del usuario. |
| Enumera todos los directorios. |
| Crea un buzón con un nombre especificado. |
| Elimina un buzón. |
| Cambia el nombre de un buzón. |
| Devuelve un subconjunto de nombres del conjunto de nombres que el Usuario ha declarado como |
| Selecciona un buzón para poder acceder a los mensajes del buzón. |
| Sale del buzón seleccionado. |
| Recupera datos asociados con un mensaje en el buzón. E.j: |
| Leer el contenido de un email. E.j: |
| Elimina todos los mensajes con la |
| Cierra la conexión con el servidor IMAP. |
Comandos POP3
Comando | Descripción |
| Identifica al usuario. |
| Autenticación del usuario mediante su contraseña. |
| Solicita la cantidad de correos electrónicos guardados del servidor. |
| Solicita al servidor el número y tamaño de todos los correos electrónicos. |
| Solicita al servidor que entregue el correo electrónico solicitado por ID. |
| Solicita al servidor que elimine el correo electrónico solicitado por ID. |
| Solicita al servidor que muestre las capacidades del servidor. |
| Solicita al servidor que restablezca la información transmitida. |
| Cierra la conexión con el servidor POP3. |
Configuraciones peligrosas
Sin embargo, opciones de configuración mal configuradas podrían permitirnos obtener más información, como depurar los comandos ejecutados en el servicio o iniciar sesión de forma anónima, similar al servicio FTP. La mayoría de las empresas utilizan proveedores de correo electrónico de terceros, como Google, Microsoft y muchos otros.
Sin embargo, algunas empresas todavía utilizan sus propios servidores de correo por muchas razones diferentes. Una de estas razones es mantener la privacidad que quieren mantener en sus propias manos. Muchos errores de configuración pueden cometerse por parte de los administradores, lo que en el peor de los casos nos permitirá leer todos los correos electrónicos enviados y recibidos, que pueden contener incluso información confidencial o sensible. Algunas de estas opciones de configuración incluyen:
Configuración | Descripción |
| Habilita todos los registros de depuración de autenticación. |
| Esta configuración ajusta la detalle del registro, las contraseñas enviadas y el esquema se registra. |
| Registra los intentos de autenticación fallidos y sus motivos. |
| Las contraseñas utilizadas para la autenticación se registran y también se pueden truncar. |
| Esto especifica el nombre de usuario que se utilizará al iniciar sesión con el mecanismo SASL ANÓNIMO. |
Enumeración del servicio
De forma predeterminada, los puertos 110
, 143
, 993
y 995
se utilizan para IMAP y POP3. Los dos puertos superiores se utilizan TLS/SSL
para cifrar la comunicación entre el cliente y el servidor. Usando Nmap, podemos escanear el servidor en busca de estos puertos. El escaneo devolverá la información correspondiente como la que vemos a continuación si el servidor utiliza un certificado SSL integrado.
Nmap
Por ejemplo, en el resultado, podemos ver que el nombre común es mail1.inlanefreight.htb
y el servidor de correo electrónico pertenece a la organización Inlanefreight
, que está ubicada en California. Las capacidades mostradas nos muestran los comandos disponibles en el servidor y para el servicio en el puerto correspondiente.
Si descubrimos con éxito las credenciales de acceso de uno de los empleados, un atacante podría iniciar sesión en el servidor de correo y leer o incluso enviar los mensajes individuales.
Curl
Si además utilizamos la opción verbose
( -v
) veremos cómo se realiza la conexión. A partir de aquí, podemos ver la versión de TLS utilizada para el cifrado, más detalles del certificado SSL e incluso el banner, que a menudo contendrá la versión del servidor de correo.
Para interactuar con el servidor IMAP o POP3 a través de SSL podemos utilizar openssl
, así como ncat
. Los comandos para esto se verían así:
OpenSSL - TLS Encrypted Interaction POP3
OpenSSL - TLS Encrypted Interaction IMAP
Una vez que hayamos iniciado con éxito una conexión e iniciado sesión en el servidor de correo de destino, podemos usar los comandos anteriores para trabajar con el servidor y navegar por él. Quiero señalar que la configuración de nuestro propio servidor de correo, la investigación sobre el mismo y los experimentos que podemos hacer junto con otros miembros de la comunidad nos darán el conocimiento para comprender la comunicación que se produce y qué opciones de configuración son responsables de ello.
Última actualización