UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL
FACULTAD DE CIENCIAS DE LA INGENIERÍA E
INDUSTRIAS
CARRERA DE INGENIERÍA EN INFORMÁTICA Y
CIENCIAS DE LA COMPUTACIÓN
“ANÁLISIS DE VULNERABILIDADES EN APLICATIVOS WEB E
INFRAESTRUCTURA PARA UNA INSTITUCIÓN EDUCATIVA
PRIVADA DE LA CIUDAD DE QUITO”
TRABAJO PREVIO A LA OBTENCIÓN DEL TÍTULO
DE INGENIERO EN INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓN
ANDRÉS MARCELO VALLEJO ARGÜELLO
DIRECTOR: ING. RODRIGO PROAÑO
DERECHOS DE AUTOR
FORMULARIO DE REGISTRO BIBLIOGRÁFICO
PROYECTO DE TITULACIÓN
DATOS DE CONTACTO
CÉDULA DE IDENTIDAD: 1723476063
APELLIDO Y NOMBRES: Vallejo Argüello Andrés Marcelo
DIRECCIÓN: Urb, Ushimana, San Rafael
EMAIL: [email protected]
TELÉFONO FIJO: 02 2863765
TELÉFONO MÓVIL: 0987865464
DATOS DE LA OBRA
TÍTULO:
“Análisis de vulnerabilidades en aplicativos web e infraestructura para una institución educativa privada de la ciudad de Quito.”
AUTOR: Vallejo Argüello Andrés Marcelo
FECHA DE ENTREGA DEL
PROYECTO DE TITULACIÓN: Marzo, 2017
DIRECTOR DEL PROYECTO DE
TITULACIÓN: Ing. Rodrigo Proaño
PROGRAMA:
PREGRADO POSGRADO TÍTULO POR EL QUE OPTA: INGENIERO EN INFORMÁTICA Y
RESUMEN:
En la actualidad, la información en las empresas es el bien más preciado para su éxito, ya que es crítica para su gestión, desarrollo y mejora continua. Siendo la misma tan valiosa para una empresa, ésta genera curiosidad y expectativa por parte de usuarios internos y externos, disconformes o mal intencionados que buscan descubrir, adulterar o robar ésta información buscando de todas las maneras accesarla, generalmente con fines maliciosos.
Durante el reconocimiento, escaneo, acceso y borrado de rastros, usando diferentes herramientas de hackeo, se logró encontrar puertos expuestos a internet, como el 3306 que corresponde a una versión de MySQL obsoleta, la cual posee la grave vulnerabilidad de escala de privilegios, que desencadena en un sinnúmero de facilidades de acceso a la base de datos que permiten: borrarla, modificarla, robarla, denegar servicios, crear cuentas root, etc.
Adicionalmente se determinaron vulnerabilidades graves en su aplicativo web, como: el no uso de HTTPS, que permite ataques de Man-in-the-Middle, el cual suplanta la identidad de la página, y dentro del sistema, secciones donde el sitio revela información mediante el listado de directorios.
peticiones y el envíos de datos al servidor, logrando obtener información sensible como cuentas de usuario con sus respectivos password, siendo ésta una grave falla en este sistema. De la misma manera en uno de estos inputs, la inyección de una Shell permitió vulnerar completamente el sistema, develando todo tipo de información del sistema y sus usuarios, siendo ésta vulnerabilidad la más grave encontrada en toda ésta investigación.
Por lo tanto, en base al top de vulnerabilidades de (OWASP, 2015) y las directrices de la OSSTMM v3, se determinó que el sistema informático de la Organización
Educativa Privada, es
completamente vulnerable a todos los tipos de ataques.
PALABRAS CLAVE:
Ethical Hacking, Vulnerabilidades Informáticas, Inyección SQL, OWASP, OSSTMM.
ABSTRACT:
same as so valuable for a company, this generates curiosity and expectation by internal and external users, disconforming or malicious that seek to discover, adulterate or steal this information seeking in every way to access it, generally for malicious purposes.
The present work investigated and identified the vulnerabilities and possible risks of the TIC’s of a Private Educational Organization, so that in the future its information is safe and accessible exclusively for the indicated users. An ethical hacking was done to the information systems of the organization, previous permissions, obtaining free access to both the infrastructure and the applications of the same.
number of database access facilities that allow you to delete, modify, steal, deny services, create root accounts, and so on.
In addition, serious vulnerabilities were identified in your web application, such as: non-use of HTTPS, which allows Man-in-the-Middle attacks, which overrides the identity of the page, and within the system, sections where the site reveals information Through the list of directories.
DEDICATORIA
AGRADECIMIENTO
A mis padres, hermana y hermano, que han sido motor fundamental en mi vida y me han dado su confianza y apoyo a lo largo de ésta etapa. Han sabido velar por mi bienestar y educación, brindándome todo su esfuerzo para que hoy esté culminando los estudios de tercer nivel.
A mi novia Ivonne que me ha sabido brindar su apoyo y consejos permanentemente a través de ésta travesía.
i
ÍNDICE DE CONTENIDOS
PÁGINA
RESUMEN ... xii
ABSTRACT ... xiii
1. INTRODUCCIÓN ... 1
2. MARCO TEÓRICO ... 3
2.1. INTRODUCCIÓN AL ETHICAL HACKING ... 3
2.1.1. CONCEPTOS BÁSICOS ... 3
2.1.1.1. Amenaza ... 3
2.1.1.2. Vulnerabilidades ... 4
2.1.2. DELITOS INFORMÁTICOS ... 4
2.1.2.1. Elementos de la Seguridad de la Información ... 5
2.1.3. ASEGURAR LA INFORMACIÓN ... 6
2.1.4. MOTIVOS DE UN ATAQUE A LA INFORMACIÓN ... 6
2.1.5. CONCEPTOS DE HACKING ... 6
2.1.5.1. Terminología Esencial ... 7
2.1.6. CONCEPTOS DE ETHICAL HACKING ... 8
2.1.6.1. Habilidades de un Ethical hacker ... 8
2.1.7. FASES DEL HACKEO ... 9
2.1.7.1. Reconocimiento ... 9
2.1.7.2. Escaneo ... 9
2.1.7.3. Conseguir Acceso ... 10
2.1.7.4. Mantener el Acceso ... 10
2.1.7.5. Borrar Rastros ... 10
2.1.8. TEST DE PENETRACIÓN ... 10
2.1.8.1. Tipos de Test de Penetración ... 11
2.1.8.2. Fases del Test de Penetración ... 11
2.1.8.3. Metodologías del Test de Penetración ... 12
2.1.9. TIPOS DE ATAQUES ... 12
ii
2.2.1. REALIZAR EL FOOTPRINTING ... 13
2.2.1.1. A través de motores de búsqueda ... 13
2.2.1.2. Técnicas avanzadas de google hacking ... 13
2.2.1.3. A través de redes sociales ... 14
2.2.1.4. En Sitios web ... 14
2.2.1.5. Usando WHOIS ... 14
2.2.1.6. DNS footprinting ... 15
2.2.1.7. Footprinting de la red ... 15
2.2.1.8. Footprinting a través de la ingeniería social ... 16
2.3. ESCANEAR REDES ... 16
2.3.1. ESCANEAR SISTEMAS ACTIVOS ... 17
2.3.2. ESCANEAR PUERTOS ... 17
2.3.3. PUERTOS COMUNES ... 18
2.3.4. NMAP ... 18
2.3.5. TÉCNICAS DE ESCANEO ... 18
2.3.5.1. TCP Connect/Full Open Scan (Escaneo Abierto) ... 18
2.3.5.2. UDP Scan (Escaneo UDP) ... 19
2.3.6. BANNER GRABBING ... 19
2.3.7. PROXIES ... 20
2.3.8. HTTP TUNNELING ... 20
2.4. SYSTEM HACKING ... 21
2.4.1. PROCESO DEL SYSTEM HACKING ... 21
2.4.1.1. Cracking de passwords ... 22
2.4.1.2. Escalamiento de Privilegios ... 24
2.4.1.3. Ejecutar Aplicaciones ... 25
2.4.1.4. Esconder archivos ... 25
2.4.1.5. Cubrir huellas ... 26
2.5. MALWARE: TROYANOS, VIRUS Y GUSANOS ... 26
2.5.1. TROYANOS... 27
2.5.1.1. Indicios de infección por un troyano ... 27
iii
2.5.1.3. Tipos de Troyanos ... 28
2.5.2. VIRUS ... 29
2.5.3. GUSANOS ... 30
2.6. SNIFFING ... 30
2.6.1. COMO TRABAJA UN SNIFFER ... 31
2.6.1.1. Tipos de Sniffing ... 31
2.6.1.2. Protocolos vulnerables a Sniffing ... 32
2.6.2. MAC FLOODING (INUNDAMIENTO DE MAC) ... 33
2.6.3. ATAQUES DHCP ... 33
2.6.3.1. Rogue DHCP Server Attack (Infiltración de servidor DHCP) ... 34
2.6.4. ATAQUES ARP ... 34
2.6.4.1. ARP Adress Resolution Protocol ... 34
2.6.4.2. ARP Poisoning (Envenenamiento ARP) ... 35
2.6.5. ATAQUES DNS ... 36
2.6.5.1. DNS ... 36
2.6.5.2. DNS Poisoning (Envenenamiento DNS) ... 36
2.6.6. DETECTAR EL SNIFFING ... 37
2.7. INGENIERÍA SOCIAL ... 37
2.7.1. FACTORES QUE HACEN A UNA COMPAÑÍA VULNERABLE ... 38
2.7.2. FASES DE LA INGENIERÍA SOCIAL ... 38
2.7.3. OBJETIVOS COMUNES DE LA INGENIERÍA SOCIAL ... 38
2.7.4. TIPOS DE INGENIERÍA SOCIAL ... 39
2.7.4.1. Basado en Humanos ... 39
2.7.4.2. Basado en Computadores ... 40
2.8. DENEGAR SERVICIOS (DoS) ... 40
2.8.1. ATAQUE DISTRIBUIDO PARA DENEGAR SERVICIOS ... 40
2.8.2. TÉCNICAS PARA REALIZAR UN DOS ATTACK ... 41
2.8.3. BOTNETS ... 43
2.9. ROBAR SESIONES (SESSION HIJACKING) ... 43
2.9.1. TIPOS Y TÉCNICAS DE ROBO DE SESIÓN... 44
iv
2.9.1.2. Ataques a nivel de Red ... 45
2.10. HACKEAR SERVIDORES WEB ... 46
2.10.1. SERVIDORES MÁS USADOS ... 46
2.10.2. COMPROMETER UN SERVIDOR WEB ... 46
2.10.3. ARQUITECTURA DE UN SERVIDOR WEB OPEN SOURCE ... 47
2.10.4. ARQUITECTURA DE UN SERVIDOR WEB IIS ... 48
2.10.5. TIPOS DE ATAQUES ... 48
2.10.5.1. Ataques por fallas en la configuración ... 48
2.10.5.2. A través de la capa de aplicaciones ... 48
2.10.6. HERRAMIENTAS ... 49
2.11. HACKEAR APLICACIONES WEB ... 49
2.11.1. APLICACIONES WEB ... 49
2.11.2. PRINCIPALES VULNERABILIDADES EN APLICACIONES WEB . 50 2.11.3. OWASP TOP 10 DE RIESGOS DE SEGURIDAD ... 51
2.11.4. ESCALA DE VULNERABILIDAD ... 52
2.11.5. ARQUITECTURA DE UNA APLICACIÓN WEB ... 52
2.11.6. PIRÁMIDE DE VULNERABILIDADES ... 53
2.11.7. AMENAZAR UNA APLICACIÓN WEB ... 54
2.11.7.1. Input Invalidado ... 54
2.11.7.2. Tampering de parámetros/Forms ... 54
2.11.7.3. Directory Traversal ... 55
2.11.7.4. Inyección SQL ... 55
2.11.7.5. Inyección de archivos ... 56
2.11.7.6. Ataque de manipulación de campos ocultos ... 57
2.11.7.7. Ataque XSS ... 57
2.11.7.8. Ataque DoS a aplicaciones Web ... 61
2.11.8. HACKEAR SERVIDORES WEB ... 61
2.11.9. ANALIZAR LA APLICACIÓN WEB ... 63
2.11.10. ATACAR MECANISMOS DE AUTENTICACIÓN ... 64
2.11.11. ATACAR LA CONECTIVIDAD DE LOS DATOS ... 65
v
2.12.1. TIPOS DE INYECCIÓN SQL ... 66
2.12.1.1. Inyección basada en errores ... 67
2.12.1.2. Inyección SQL a ciegas ... 68
2.13. HACKEAR REDES INALÁMBRICAS ... 70
2.13.1. MODOS DE AUTENTICACIÓN WI-FI ... 70
2.13.1.1. Tipos de encriptación wireless ... 71
2.13.2. AMENAZAS INALÁMBRICAS ... 71
2.13.2.1. Ataque de punto de acceso espía ... 71
2.13.2.2. Ataque de denegación de servicios ... 72
2.14. EVADIR IDS Y FIREWALL’S ... 73
2.14.1. IDS (INTRUSION DETECTION SYSTEM) ... 73
2.14.2. FIREWALL ... 74
2.14.2.1. Arquitectura del Firewall ... 75
2.14.2.2. DMZ (DeMilitarized Zone) ... 75
2.14.2.3. Tipos de Firewall ... 76
3. METODOLOGÍA ... 78
3.1. METODOS CIENTÍFICOS ... 78
3.2. METODOS DE ETHICAL HACKING ... 79
3.2.1. ALCANCE ... 79
3.2.1.1. Análisis de vulnerabilidades a la institución educativa ... 80
3.3. HERRAMIENTAS/TÉCNICAS ... 82
4. RESULTADOS ... 83
4.1. INFRAESTRUCTURA ... 83
4.1.1. INFORMACIÓN DE LA INFRAESTRUCTURA ANALIZADA ... 83
4.1.2. VULNERABILIDADES DE LA INFRAESTRUCTURA ... 88
4.2. APLICATIVOS ... 91
4.2.1. INFORMACIÓN DEL APLICATIVO ANALIZADO ... 91
4.2.2. VULNERABILIDADES DEL APLICATIVO ... 92
5. CONCLUSIONES Y RECOMENDACIONES ... 111
5.1. CONCLUSIONES... 111
vi
BIBLIOGRAFÍA ... 114
ANEXOS ... 118
ANEXO 1 ... 118
VULNERABILIDADES DE DOMAINTOOLS ... 118
ANEXO 2 ... 120
PROCEDIMIENTOS DE REMEDIACIÓN A LAS VULNERABILIDADES ENCONTRADAS. ... 120
ANEXO 3 ... 125
vii
INDICE DE FIGURAS
PÁGINA
x
INDICE DE TABLAS
PÁGINA
Tabla 1. DNS Footprinting ... 15 Tabla 2. Puertos Comunes ... 18 Tabla 3. Resumen de los métodos de investigación aplicados. ... 78 Tabla 4. Versión y Nombre de puertos abiertos ... 88 Tabla 5. Infraestructura, Vulnerabilidad 1, MySQL Escalada de Privilegios ... 89 Tabla 6. Información de Aplicativo ... 91 Tabla 7. Explicación Vulnerabilidades ... 91 Tabla 8. Aplicativos, Vulnerabilidad 1, Uso de Protocolo inseguro HTTP ... 92 Tabla 9. Aplicativos, Vulnerabilidad 2, XSS Secuencia de Comandos entre sitios 96 Tabla 10. Aplicativos, Vulnerabilidad 3, Carga y ejecución de archivos sin
xi
INDICE DE ANEXOS
PÁGINA
xii
RESUMEN
En la actualidad, la información en las empresas es el bien más preciado para su éxito, ya que es crítica para su gestión, desarrollo y mejora continua. Siendo la misma tan valiosa para una empresa, ésta genera curiosidad y expectativa por parte de usuarios internos y externos, disconformes o mal intencionados que buscan descubrir, adulterar o robar ésta información buscando de todas las maneras accesarla, generalmente con fines maliciosos.
El presente trabajo investigó e identificó las vulnerabilidades y posibles riesgos que corre las TIC’s de una Organización Educativa Privada, para que en el futuro su información esté segura y accesible exclusivamente para los usuarios indicados. Se realizó un ethical hacking a los sistemas de información de la organización, previo respectivos permisos, logrando tener acceso libre tanto a la infraestructura como a los aplicativos de la misma.
Durante el reconocimiento, escaneo, acceso y borrado de rastros, usando diferentes herramientas de hackeo, se logró encontrar puertos expuestos a internet, los cuales poseen graves vulnerabilidades, que desencadenan en un sinnúmero de facilidades de acceso a la base de datos que permiten: borrarla, modificarla, robarla, denegar servicios, crear cuentas root, etc.
xiii
ABSTRACT
At present, information in companies is the most precious asset for its success, as it is critical for its management, development and continuous improvement. Being the same as so valuable for a company, this generates curiosity and expectation by internal and external users, disconforming or malicious that seek to discover, adulterate or steal this information seeking in every way to access it, generally for malicious purposes.
The present work investigated and identified the vulnerabilities and possible risks of the TIC’s of a Private Educational Organization, so that in the future its information is safe and accessible exclusively for the indicated users. An ethical hacking was done to the information systems of the organization, previous permissions, obtaining free access to both the infrastructure and the applications of the same.
During the recognition, scanning, access and deletion of traces, using different hacking tools, it was possible to find ports exposed to the Internet, which have serious vulnerabilities, which trigger in a number of database access facilities that allow: erase , Modify it, steal it, deny services, create root accounts, etc.
1
1. INTRODUCCIÓN
La institución privada, ubicada en la vía antigua a Conocoto, entró en funcionamiento en el año 2000, ésta inició solamente como una escuela para después convertirse en uno de los centros educativos particulares más importantes de la zona, al ver este crecimiento las autoridades del mismo decidieron adquirir la infraestructura tecnológica para el mejoramiento tanto logístico y estructural (Infraestructura), como del proceso de registro de notas, envío de deberes, pruebas, exámenes y mail interno (Aplicativos), ya que en años anteriores estos procesos se manejaban de manera manual por parte de profesores, y autoridades.
Actualmente la institución posee un sistema que maneja los procesos antes mencionados, el mismo está alojado en un servidor privado perteneciente a una empresa particular, pero que después del diagnóstico y explotación del mismo, evidenció graves falencias en materia de seguridad de la información y continuidad de los servicio.
Los aplicativos web e infraestructura que la institución educativa en cuestión utiliza, son completamente funcionales, pero no se está al tanto del grado de vulnerabilidad que estos poseen en su diseño, programación y configuraciones, lo que en un futuro generaría graves amenazas a la seguridad de la información que conllevaría a la alteración de los sistemas informáticos y su infraestructura, por tanto su mal funcionamiento, daño, adulteración o robo de información de la institución educativa debido a ataques maliciosos por parte de usuarios internos o externos.
2 información, que es el bien más preciado de las compañías, en este caso una Institución Educativa Privada de la Ciudad de Quito.
Al ser la información tan valiosa para la Institución Educativa Privada en cuestión, genera curiosidad y expectativa por parte de usuarios internos y externos, disconformes o mal intencionados que buscan descubrir, adulterar o robar ésta información buscando de todas las maneras el acceso a ésta información, usando técnicas de hackeo a los sistemas informáticos, en la mayoría de las veces, con fines maliciosos.
Es por este motivo que el presente trabajo de titulación busca identificar las vulnerabilidades y posibles riesgos que corre la infraestructura tecnológica de la Institución Educativa Privada, para que en el futuro la información esté segura y accesible solo para los usuarios indicados.
3
2. MARCO TEÓRICO
2.1.
INTRODUCCIÓN AL ETHICAL HACKING
Según menciona (Reyes Plata, 2010, pág. 1), en todo el mundo los computadores son susceptibles de ser atacados por crackers o hackers capaces de comprometer los sistemas informáticos y robar información valiosa. Ésta situación hace imprescindible conocer si estos sistemas y redes de datos están protegidos de cualquier tipo de intrusiones. Por tanto el objetivo fundamental del Ethical Hacking es explotar las vulnerabilidades existentes en un sistema, valiéndose de test de intrusión, que verifican y evalúan la seguridad física y lógica de los sistemas de información, redes de computadoras, aplicaciones web, bases de datos, y servidores. Con la intención de ganar acceso y "demostrar" que un sistema es vulnerable, ésta información es de gran ayuda a las organizaciones al momento de tomar las medidas preventivas en contra de posibles ataques malintencionados. El Ethical Hacking consiste en la simulación de posibles escenarios donde se reproducen ataques de manera controlada. De la misma manera (Paredes Flores, 2009), menciona que para atrapar a un intruso, primero se debe pensar como uno para de ésta manera garantizar la seguridad informática, métodos y herramientas destinados a proteger la información, es aquí donde entran los servicios del Ethical Hacking. Existen varias rutas para la realización de un hacking ético, una de las guías más importantes en cuanto a seguridad en aplicaciones es OWASP, que es una comunidad que brinda una serie de guías y métodos de análisis de peligro y seguridad en aplicativos web (OWASP, 2015).
2.1.1. CONCEPTOS BÁSICOS 2.1.1.1. Amenaza
4 pérdidas materiales y perjuicios de todo tipo, las amenazas pueden venir de tres fuentes:
Amenazas naturales: Cualquier desastre natural como inundaciones, terremotos, tornados, etc.
Amenazas de agentes externos: Creados por personas ajenas a la organización, estos pueden ser, virus, sabotajes terroristas, disturbios, conflictos sociales, etc.
Amenazas de agentes internos: Estos provienen de la propia empresa, pueden ser causados por empleados descuidados o descontentos, errores de utilización de herramientas, etc.
Cabe destacar que las amenazas pueden ser clasificadas por su grado de intencionalidad, como, accidentes, errores, actuaciones malintencionadas.
2.1.1.2. Vulnerabilidades
Las vulnerabilidades son debilidades, malas configuraciones, mal mantenimiento de software y hardware que soportan los sistemas de información, que le permiten a las amenazas causar daños y pérdidas a la organización (Gómez & Álvaro, 2011).
2.1.2. DELITOS INFORMÁTICOS
5 como lógica. Según la (ONU, 2014), se pueden categorizar los delitos informáticos en tres tipos:
1. Fraudes cometidos mediante manipulación de computadoras
Manipulación de los datos de entrada o sustracción de datos.
La manipulación de programas: modificación de programas existentes o la inserción de nuevos programas.
Manipulación de los datos de salida.
Fraude efectuado por manipulación informática: también llamado "técnica del salchichón", aprovecha las iteraciones automáticas de los procesos de cómputo.
2. Manipulación de los datos de entrada
Como objeto: alteración de los documentos digitales.
Como instrumento: uso de las computadoras para falsificar documentos de uso comercial.
3. Daños o modificaciones de programas o datos computarizados
Sabotaje informático: acción de eliminar o modificar funciones o datos en una computadora sin autorización, para obstaculizar su correcto funcionamiento.
Acceso no autorizado a servicios y sistemas informáticos.
Reproducción no autorizada de programas informáticos de protección legal.
2.1.2.1. Elementos de la Seguridad de la Información
Los elementos de la seguridad de la información son según (Gómez & Álvaro, 2011, págs. 38, 39):
Integridad: La veracidad y no alteración de la información.
Confidencialidad: Información accesible solo para personal autorizado.
6 Así mismo, además de las tres consideraciones anteriores de la seguridad de la información (EC-Council, 2015), considera dos más, que son:
Autenticidad: Se refiere a las características comunicacionales, documentos o datos que aseguren la calidad o la genuinidad.
No repudio: Garantiza que el emisor de un mensaje es el dueño de este y no puede negarse a eso por haber pruebas de que a él le pertenece.
2.1.3. ASEGURAR LA INFORMACIÓN
El aseguramiento de la información se refiere a garantizar que los cuatro elementos de ésta, se cumplan y se mantengan, algunos procesos que ayudan a lograr el aseguramiento de la información son, entre otros:
Desarrollar políticas locales, procesos y guías.
Diseñar estrategias de autenticación para la red y para los usuarios.
Identificar vulnerabilidades y problemas en la red.
Aplicar controles apropiados para asegurar la información.
Obtener certificaciones y acreditaciones.
Capacitar al personal sobre el aseguramiento de la información.
2.1.4. MOTIVOS DE UN ATAQUE A LA INFORMACIÓN
Los principales motivos para un ataque a la información según (Gómez & Álvaro, 2011) son entre otros, consideraciones económicas, diversión, ideología, autorealización y búsqueda de reconocimiento social y de status dentro de una comunidad de usuarios.
2.1.5. CONCEPTOS DE HACKING
7 recursos del sistema, este puede ser usado para robar, proliferar y redistribuir propiedad intelectual para así comprometer la continuidad del negocio.
Esto implica modificar las características del sistema o aplicación para conseguir un objetivo (EC-Council, 2015).
2.1.5.1. Terminología Esencial
Hacker: Son personas inteligentes, con gran conocimiento de informática e internet, que tienen la habilidad de explorar software y hardware de una computadora. Como se mencionó antes, según (EC-Council, 2015), para muchas personas consideradas hackers, esto es un hobby, que busca cuanto y de qué manera se puede comprometer un sistema informático, esto lo hace con la intención de ganar conocimiento o adquirir información de manera ilegal. Los tipos de hackers pueden ser:
Black Hats: Individuales y con grandes habilidades en informática, que recurren a actividades destructivas o maliciosas y tienen igual conocimiento que los crackers.
White Hats: Poseen conocimientos de hacker pero los usan para propósitos defensivos y se dedican a aplicarlos como analistas de seguridad.
Gray Hats: Operan en los dos frentes defensivamente y maliciosamente.
Suicide Hackers: Buscan colapsar infraestructura crítica por una causa, y no se alarman por ir a la cárcel o cualquier tipo de castigo.
Script Kiddies: Hackers sin capacidades de estos, pero que usan scripts, herramientas y software hecho por hackers.
Cyber Terrorist: Con amplios conocimientos y motivados por creencias políticas o religiosas que buscan crear miedo en gran escala interrumpiendo redes computacionales.
8
Hacktivistas: Promueven una agenda política hackeando, principalmente haciendo un defacing o desabilitando a un sitio web.
2.1.6. CONCEPTOS DE ETHICAL HACKING
En el ethical hacking están inmersos el uso de herramientas de hackeo, trucos y técnicas para identificar vulnerabilidades, para asegurarse que un sistema es seguro, además se enfoca en simular las técnicas usadas por los atacantes para verificar la existencia de vulnerabilidades explotables en el sistema, (EC-Council, 2015), es muy importante para contraatacar cuando exista un ataque malicioso, anticipándose a estos usando las técnicas pertinentes. Las empresas necesitan el ethical hacking para:
Prevenir que los hackers ganen acceso a los servidores o sistemas de información.
Descubrir vulnerabilidades en los sistemas y explorar riesgos potenciales.
Analizar y fortalecer las políticas, infraestructura y prácticas de empleados en la organización.
2.1.6.1. Habilidades de un Ethical hacker
a. Habilidades técnicas
Conocimientos de los principales sistemas operativos como, Windows, Unix, Linux, Mac.
Conocimiento de redes, y tecnologías de hardware y software relacionadas.
Tiene un alto conocimiento técnico y es capaz de lanzar sofisticados ataques.
9
Habilidad para aprender, ética laboral muy centrada, comprometido con las políticas de la organización, y estar alerta sobre estándares locales y leyes.
2.1.7. FASES DEL HACKEO
Las fases del hacking, más allá de ser usada por un hacker o un ethical hacker, se componen de cinco fases mediante las cuales se va obteniendo información, escalando privilegios, para finalmente obtener control total.
2.1.7.1. Reconocimiento
Ésta es una etapa preparatoria, donde el atacante busca recolectar información básica del objetivo para luego lanzar un ataque. Dicha etapa del ataque según (Beaber & Kevin, 2011, pág. 40), en un futuro puede ser un punto de retorno de ingreso del atacante cuando este obtenga más información del objetivo. El rango de conocimiento que puede adquirir un atacante en una organización pueden ser, de clientes, empleados, operaciones, redes y sistemas. Los tipos de reconocimiento según (EC-Council, 2015), son:
Reconocimiento Pasivo: Se obtiene información sin interactuar directamente con el objetivo, por ejemplo, buscando información pública.
Reconocimiento Activo: Se obtiene información interactuando directamente con el objetivo, por ejemplo, llamadas telefónicas al call center o al departamento técnico.
2.1.7.2. Escaneo
10 vulnerabilidades, para conseguir información como, máquinas que estén encendidas, puertos, estados de los puertos, detalles del SO, tipo de dispositivo, etc., para, según (Gómez & Álvaro, 2011, pág. 46), lanzar un ataque.
2.1.7.3. Conseguir Acceso
Se refiere al punto donde el atacante obtiene acceso al sistema operativo o aplicación dentro de la red, el atacante pude ganar acceso a nivel del sistema, a nivel de aplicación o a nivel de red, además el atacante puede escalar privilegios hasta obtener un control total del sistema, en el proceso se comprometen sistemas intermedios o interconectados al que se está atacando (EC-Council, 2015).
2.1.7.4. Mantener el Acceso
En ésta fase el atacante trata de mantener las credenciales del sistema obtenidas en la fase anterior, para hacerlo este se asegura con backdoors, troyanos o rootkits de posibles ataques de otras personas, además el atacante manipula, descarga, sube información y configura el sistema dependiendo de sus necesidades, para en un futuro a través de este sistema lanzar otros ataques (EC-Council, 2015).
2.1.7.5. Borrar Rastros
Se refiere a actividades como sobre escritura de servidores, sistemas y logs de aplicaciones, mediante las cuales el atacante esconde o borra evidencias de sus ataques, esto lo hace para garantizar el acceso en todo momento y que el usuario no se alerte por esto (EC-Council, 2015).
2.1.8. TEST DE PENETRACIÓN
11 pueden ser explotadas. (EC-Council, 2015), los beneficios del test de penetración en una empresa son, entre otros:
Identificar los problemas de la organización frente a los activos de información.
Reducir los gastos en seguridad de TI, mejorando el retorno de la inversión en este ámbito, mediante la identificación y remediación de vulnerabilidades y debilidades.
Proveer garantías haciendo una evaluación exhaustivade la seguridad de la organización, incluyendo políticas, procedimientos e implementaciones.
Obtener y mantener certificaciones.
Testear y validar la eficacia de los controles de seguridad.
Cambiar y/o actualizar la infraestructura existente, software, hardware o diseño de red.
Proporcionar una exhaustiva comprensión y preparación para prevenir ataques futuros.
Evaluar la eficacia de los dispositivos de seguridad de la red como firewalls, routers y web servers.
2.1.8.1. Tipos de Test de Penetración
Black-Box: No se tiene conocimiento alguno de la infraestructura, es un testeo a ciegas.
White-Box: Conocimiento completo de la infraestructura.
Grey-Box: Conocimiento limitado de la infraestructura.
2.1.8.2. Fases del Test de Penetración
12
Ataque de Fase: Penetrar el perímetro, obtener un objetivo, escalar privilegios y Ejecutar, implantar, retirar.
Fase de Post-ataque: Reportar, limpiar.
2.1.8.3. Metodologías del Test de Penetración
OWASP: Open Web Application Security Project es un proyecto open-source que ayuda a las organizaciones a implementar, desarrollar y mantener herramientas y aplicaciones de software (OWASP, 2015).
OSSTMM: Open Source Security Testing Methodology Manual, es un proyecto y metodología peer-reviewed, para diseñar tests de seguridad de calidad como: controles de datos, ingeniería social, redes de computadoras, dispositivos inalámbricos, etc (isecom, 2016).
2.1.9. TIPOS DE ATAQUES
A continuación se detallará los ataques que pueden ser usados para vulnerar un sistema informático por parte de un hacker o un ethical hacker.
Ataques al Sistema Operativo: Donde los atacantes buscan vulnerabilidades en el diseño del sistema operativo, instalación o configuración, para explotarlas y ganar acceso al sistema.
Ataques por mala Configuración: Éstas malas configuraciones afectan a los web servers, aplicaciones, bases de datos, redes o frameworks, que dan como resultado que un atacante gane acceso ilegal o se apropien del sistema atacado.
13
2.2.
FOOTPRINTING Y RECONOCIMIENTO
Es el proceso de recolectar la mayor cantidad de información, ésta puede ser conseguida por varios medios y ser publicada a propósito o por desconocimiento (Calles & González, 2011), además ésta etapa es el primer paso antes de cualquier ataque a los sistemas de información, los beneficios de hacer un footprinting son los siguientes:
Conocer la postura de la empresa en cuanto a seguridad.
Reducir el área de enfoque a un rango de IP’s, redes, dominios, etc.
Identificar vulnerabilidades.
Trazar un mapa de la red, (Herzog & ISECOM, 2010).
2.2.1. REALIZAR EL FOOTPRINTING
2.2.1.1. A través de motores de búsqueda
Los motores de búsqueda pueden proporcionar datos sensibles, por ejemplo en su página web, ésta puede develar información acerca de la organización mediante detalle de empleados, información sobre la intranet y código fuente de la página, comentarios en el código fuente, direcciones, teléfonos y correos electronicos (Calles & González, 2011).
2.2.1.2. Técnicas avanzadas de google hacking
14
2.2.1.3. A través de redes sociales
Los atacantes usan ingeniería social para obtener información sensible acerca de empleados de una organización, ésta información se obtiene en sitios como: Facebook, LinkedIn, Twitter, etc. Las técnicas más usadas por los atacantes es la creación de una cuenta falsa, atrapando a la víctima con algún engaño y obteniendo información sensible, otra de las técnicas más usadas y la más fácil de usar es mediante la exploración de la red social de la víctima donde ésta hace pública su información personal sobre, empleo, fecha de nacimiento, nicks, sitios web de interés, hasta adquisiciones (Herzog & ISECOM, 2010).
2.2.1.4. En Sitios web
Consiste en monitorear y analizar el sitio web de la organización para encontrar algún tipo de información, la información que se obtiene puede ser:
Software usado y su versión.
Sistema operativo.
Subdirectorios.
Nombres de archivos, direcciones.
Detalles de contacto y del CMS (Sistema de gestión de contenidos) utilizado.
Otra de las técnicas usadas para examinar un sitio web es mediante su código html, donde, como se dijo anteriormente, se obtiene información en los comentarios del código fuente, estructura del sistema de archivos, detalles de contacto del administrador o del desarrollador.
2.2.1.5. Usando WHOIS
La base de datos de WHOIS contiene registros con información sensible y personal, ésta puede contener:
15
Contacto del propietario del dominio, actualización y expiración.
Rangos de la red
Esto ayuda al atacante a obtener valiosa información que en un futuro se usa para utilizarla en la ingeniería social (EC-Council, 2015).
2.2.1.6. DNS footprinting
Donde el atacante consigue información del DNS para determinar las claves de los hosts en la red, para así poder realizar ingeniería social. Ésta información se obtiene del DNS records o registros DNS donde existe variedad de información, como se indica en la Tabla 1:
Tabla 1. DNS Footprinting Tipo de
Registro Descripción
A Dirección IP de un host.
MX Dominio del servidor de mail.
NS Nombre del servidor del host.
SDA Indica la autoridad para el dominio.
SRV Archivos del servicio.
PTR IP's para un hostname.
RP Persona responsable.
HINFO Archivos de información del host, el tipo de CPU y SO.
TXT Archivos no estructurados de texto.
Fuente: (Herzog & ISECOM, 2010)
2.2.1.7. Footprinting de la red
16
2.2.1.8. Footprinting a través de la ingeniería social
La ingeniería social es el arte de explotar las debilidades humanas para extraer información confidencial, donde el afectado es inconsciente de la información que este posee y que debe protegerla. La información que un atacante busca a través de la ingeniería social son entre otros:
Detalles de tarjetas de crédito y números de identificación, nombres de usuario y passwords
Antivirus usados, versiones de sistemas operativos y software
Información de la red, direcciones IP y nombres de servidores
Las técnicas para obtener la información anteriormente mencionada son:
Espionaje: es cualquier escucha no autorizada de alguna conversación o mensaje, como video, audio o texto.
Shoulder surfing: Técnica donde el atacante observa secretamente a su objetivo para obtener información crítica acerca de este o su organización.
Revisión de basureros: Es la búsqueda de cualquier “tesoro” en los basureros de la organización.
Interpretación de información en las redes sociales (Oviedo, 2014).
2.3.
ESCANEAR REDES
17
2.3.1. ESCANEAR SISTEMAS ACTIVOS
El escaneo ping, como menciona (EC-Council, 2015), implica enviar solicitudes ICMP a un host, si es que el host está activo, este le responderá, como se muestra en la Figura 1. Es usado principalmente para localizar dispositivos activos o saber si el ICMP está pasando por el firewall.
Figura 1. Escanear sistemas activos
Fuente: (EC-Council, 2015)
2.3.2. ESCANEAR PUERTOS
El protocolo TCP/IP usa el procedimiento Three-way handshake para establecer la conexión entre un cliente y el servidor, antes de iniciar cualquier comunicación. El proceso del Three-way handshake se muestra en la Figura 2:
Figura 2. Escanear puertos
Fuente: (EC-Council, 2015)
A inicia la conexión al servidor, solo con paquetes con flag SYN.
La computadora B responde con paquetes de flag SYN y ACK.
18 Si esto se completa, la conexión TCP computadoras, está establecida y puede empezar la transmisión de información (Herzog & ISECOM, 2010).
2.3.3. PUERTOS COMUNES
Los puertos comunes son los más usados y los que primero se prueban al en un análisis de penetración, estos están detallados en la Tabla 2:
Tabla 2. Puertos Comunes
PUERTO SERVICIO DESCRIPCIÓN
20 FTP Data Puerto usado por el protocolo FTP para enviar datos al cliente.
22 SSH Usado como un reemplazo seguro para Telnet.
23 Telnet Usado para conectarse remotamente a una estación de servicio o servidor. 25 SMTP Puerto usado para enviar e-mail a través de internet.
53 DNS Puerto usado para peticiones DNS y transferencias de zona. 80 HTTP Protocolo usado para mostrar páginas web en el explorador.
110 POP3 Usado para recibir/leer e-mails.
143 IMAP Nuevo protocolo para leer e-mails.
443 HTTPS Puerto usado para aseguramiento del tráfico web. 3389 RDP Puerto usado para administrar remotamente sistemas Windows.
Fuente: (iana, 2016)
2.3.4. NMAP
Ésta herramienta ayuda a hacer un inventario casi completo de la red y monitorear el tiempo de actividad de un host o servicio. Además ésta herramienta es usada por los atacantes para obtener información como: Hosts activos en la red, servicios, nombre y versión, tipo de paquete filtrado/firewall, SO y versión (nmap.org, 2016).
2.3.5. TÉCNICAS DE ESCANEO
2.3.5.1. TCP Connect/Full Open Scan (Escaneo Abierto)
19 Figura 3. Full Open Scan
Fuente: (Herzog & ISECOM, 2010)
2.3.5.2. UDP Scan (Escaneo UDP)
Puerto UDP Abierto: No se utiliza el three-way handshake, el sistema no responde con ningún paquete cuando el puerto está abierto.
Puerto UDP Cerrado: Si un paquete UDP es enviado a un puerto cerrado, el sistema responde con un mensaje ICMP de que el puerto es inalcanzable. Spywares, Troyanos, y otras aplicaciones maliciosas usan puertos UDP, se muestra gráficamente en la Figura 4.
Figura 4. UDP Scan
Fuente: (Herzog & ISECOM, 2010)
2.3.6. BANNER GRABBING
Este método sirve para determinar el sistema operativo corriendo en un sistema objetivo remoto, hay dos tipos de Banner Grabbing: Activo y Pasivo.
20 respuesta desde los sistemas operativos varía según las diferencias en la implementación de la pila TCP/IP.
Pasivo: Banner Grabbing desde mensajes de error: Los mensajes de error proveen información como el tipo de servidor, SO y la herramienta SSL usada por el sistema remoto objetivo. Sniffeando el tráfico de red: Capturando y analizando paquetes que vienen desde el sistema objetivo, le posibilita al atacante, determinar el SO usado por el sistema remoto. Banner Grabbing desde las extensiones de la página: Viendo las extensiones en la URL puede servir para determinar la versión de la aplicación (Hakipedia, 2009).
2.3.7. PROXIES
Representado en la Figura 5, es una red de computadoras que sirve como intermediario para conectarse con otras redes. Pueden ser usados de diferentes maneras: como un firewall, que protege la red de accesos externos, un multiplexor de direcciones IP, un proxy que permite la conexión de un buen número de computadoras al internet con una sola dirección IP, filtrar contenido no deseado, anonimizando la navegación (Informática Moderna, 2015).
Figura 5. Funcionamiento de un Proxy
Fuente: (Herzog & ISECOM, 2010)
2.3.8. HTTP TUNNELING
21 Figura 6. HTTP Tunneling
Fuente: (EC-Council, 2015)
2.4.
SYSTEM HACKING
Compuesto de cinco etapas, las cuales son:
Ganar acceso: Se intemta saltar los controles de acceso para entrar al sistema, se usan el Password Cracking y la Ingeniería Social.
Escalar Privilegios: Se adquieren permisos de un usuario/ administrador, usando password cracking o el uso de exploits conocido.
Ejecutar aplicaciones: En ésta etapa se mantiene el acceso obtenido, una de las técnicas usadas son los troyanos en la máquina objetivo.
Ocultar archivos: Se ocultan archivos, procesos y cualquier indicio de que un atacante estuvo ahí, la técnica más usada es el uso de rootkits.
Cubrir huellas: Se busca ocultar la presencia del atacante en el sistema, lo más usual es borrar los registros o logs (EC-Council, 2015).
2.4.1. PROCESO DEL SYSTEM HACKING
22 Figura 7 Proceso System Hacking
Fuente: (EC-Council, 2015)
2.4.1.1. Cracking de passwords
Usado para recuperar passwords desde los sistemas, es muy usado por los atacantes para ganar acceso no autorizado. Las técnicas para el password Cracking son:
Diccionario: Se carga un diccionario en la aplicación de crackeo.
Fuerza Bruta: El programa combina caracteres hasta adivinar el password.
Syllabe Attack: En ésta técnica se combina el ataque de diccionario y el de fuerza bruta (Herzog & ISECOM, 2010).
Existen otros tipos de técnicas de ataque que se pueden usar para este objetivo, éstas son:
23 b. Sniffing: Los atacantes corren una herramienta de packet Sniffer en la red, para acceder y guardar el tráfico de la red, los datos capturados pueden incluir información como passwords Figura 8.
Figura 8. Snifing
Fuente: (EC-Council, 2015)
c. Ataque Activo Online: Con un diccionario el atacante trata de adivinar el password de la víctima, usando: inyección hash, troyanos, spywares, keyloggers, phishing, adivinación común, etc.
d. Ataque Offline: El atacante copia el archivo de password del objetivo y luego trata de hackearlo en su propia máquina, en este ataque se usan: ataques precomputados, red distribuida, rainbow, etc.
e. Ataque Rainbow: Mediante fuerza bruta el atacante captura el hash del password de la víctima y ésta se compara con la tabla rainbow.
f. Ataque no Electrónico: Donde el atacante no necesita poseer conocimiento técnico para crackear el password, en este tipo de ataque se usan técnicas de ingeniería social (Álvarez Marañón & Pérez García, 2004).
g. Autenticación Microsoftf: Según la (EC-Council, 2015), Microsoft utiliza un método donde se almacenan los paswords y protocolos, estos son:
24 encriptado en LM y NTLM, como se muestra en la Figura 9 a continuación.
Figura 9. BDD SAM
Fuente: (EC-Council, 2015)
Autenticación NTLM: Este protocolo está compuesto por el protocolo de autenticación NTLM y LM, guardan los passwords en la base de datos SAM usando diferentes métodos de encriptación (Microsoft, 2016). Existen herramientas dedicadas a extraer estos passwords encriptados, NTLM y LM de la base de datos SAM, como Pwdump7.
2.4.1.2. Escalamiento de Privilegios
25
Vertical: Se utiliza para ganar privilegios más altos que administrador, se hace a nivel del kernel y permite correr código no autorizado.
Horizontal: Se usan los mismos privilegios de acceso o más altos, pero asume la identidad de otro usuario con similares privilegios.
2.4.1.3. Ejecutar Aplicaciones
Se ejecutan aplicaciones maliciosas remotamente para apoderarse del sistema, y así recolectar información que conduzca a la explotación, ganar acceso no autorizado a recursos, crackeo, capturas de pantalla, backdoors, etc.
Una de las aplicaciones más completas que se pueden encontrar en el mercado es Spytech007, (e-spy-software, 2009).
2.4.1.4. Esconder archivos
Se usan las técnicas detalladas a continuación:
a. Rootkits: Según (EC-Council, 2015), son programas que esconden la presencia del atacante, para garantizarle acceso al sistema actualmente y a futuro. Los rootkits reemplazan los procesos verdaderos del sistema operativo, éstas rutinas alteran la seguridad del sistema objetivo. Un rootkit típico se comprende de backdoors, DDoS, Sniffer, bots IRC, etc. Un rootkit se usa para:
Escanear computadores y servidores vulnerables en la web.
Plantar un rootkit envuelto en un paquete, como un juego.
Correr ataques ZERO DAY (Escala de privilegios, buffer overflows, explotación del kernel de Windows, etc.)
Un link o un bot desde IRC, ICQ, etc.
26 alterar ni cambiar su funcionalidad, tamaño, además permiten al atacante inyectar código malicioso, y ejecutarlo sin ser detectado, Figura 10.
Figura 10. NTFS Data Stream
Fuente: (Gómez & Álvaro, 2011)
c. Esteganografía: Según (EC-Council, 2015), es una técnica para esconder un mensaje secreto dentro de un mensaje ordinario, extrayéndolo en el destino para mantener la confidencialidad de los datos, utilizando imágenes, documentos, videos, espacios en blanco, emails como cobertor.
2.4.1.5. Cubrir huellas
En este punto el atacante debe tratar de cubrir sus huellas para evitar ser detectado, esto se logra eliminando las, cookies, cache, desactivar el autocompletado, etc. Finalmente, se instalan varios backdoors para en un futuro tener un fácil acceso. Esto se hace fácilmente mediante el uso de software especializado en la limpieza de este tipo de información y registros, el más usado es CCleaner (Pririform, 2016).
2.5.
MALWARE: TROYANOS, VIRUS Y GUSANOS
El malware es un software malicioso que daña o deshabilita sistemas y proporciona al atacante control parcial o total de este. Los malware más dañinos son los troyanos, virus y worms. Las técnicas más usadas por los atacantes para distribuir el malware son mediante:
27
Click-jacking por Ingeniería Social: Persuaden a la gente a hacer click para ver un determinado contenido.
Sitios web legítimos infectados: El hosting contiene malware que los visitantes adquieren sin saberlo.
Posicionamiento en buscadores de páginas falsas: Los atacantes ubican en los primeros lugares de los buscadores páginas infectadas con malware. (EC-Council, 2015)
2.5.1. TROYANOS
La (EC-Council, 2015), menciona que es un programa que contiene código malicioso en su programación, éstos datos son aparentemente inofensivos pero pueden arruinar la tabla de asignación de archivos en el disco duro, los troyanos se replican, se extienden y se activan en los usuarios al ejecutar ciertas acciones. Estos facilitan acceso a contraseñas almacenadas y son capaces de leer documentos personales, borrar archivos y/o mostrar mensajes en la pantalla. Entre los propósitos de un troyano están el borrar y reemplazar archivos del SO, deshabilitar firewalls o antivirus, crear trafico falso en la red, descargar todo tipo de archivos como spyware y backdoors, grabar todo lo que el usuario realiza y usar a la víctima como parte de una botnet, (Gómez & Álvaro, 2011).
2.5.1.1. Indicios de infección por un troyano
Existen varios indicios que alertan a la víctima sobre una infección por troyano, asegura (EC-Council, 2015), entre estos está el funcionamiento erróneo del sistema, aplicaciones y procesos, funcionamiento anormal del modem o tarjeta de red, redirecciones en el navegador, cambios de password sin autorización, etc.
2.5.1.2. Como infectar con un troyano
28 el código malicioso del troyano en el sistema objetivo, luego estos paquetes se los vincula a un wrapper que es el encargado de juntarlos con un .exe, cuando el usuario ejecuta el archivo el que primero se instala es el troyano oculto y luego se ejecuta el wrapper en primer plano, como se muestra en la Figura 11.
Figura 11. Fabricación de un Troyano
Fuente: (EC-Council, 2015)
2.5.1.3. Tipos de Troyanos
a. Troyanos Command Shell
Según la (EC-Council, 2015), este tipo de troyano, mostrado en la Figura 12, proporciona una línea de comandos donde el atacante adquiere acceso remoto a la máquina objetivo.
Figura 12. Troyano Command Shell
29 b. Troyanos para Defacement: Este tipo de troyanos permiten ver, editar, extraer y reemplazar strings, mapas de bits, logos e iconos de cualquier programa de Windows, además permiten al atacante modificar el aspecto, editar textos y reemplazar cualquier aspecto del sistema operativo, (EC-Council, 2015).
c. Troyanos HTTP: Los troyanos HTTP pueden saltar cualquier firewall y trabajan de manera inversa en el túnel HTTP, este es ejecutado en el host y genera un hijo en un tiempo predeterminado, el programa hijo aparece como un usuario en el firewall y este le permite el acceso a internet, como se muestra en la Figura 13.
Figura 13. Troyano HTTP
Fuente: (EC-Council, 2015)
d. Ransomware: Es un tipo de malware que restringe el acceso al sistema de archivos del sistema operativo, que demandan pagar un costo para rescatar el acceso a estos archivos, este costo se lo da a los creadores de este malware a través de internet. Los tipos de ransomware según (EC-Council, 2015), son: Cryptobit, Cryptolocker, Cryptodefense, Cryptowall.
2.5.2. VIRUS
30 Cuando un virus entra en la etapa de infección lo que hace es replicarse y unirse a un ejecutable o .exe en el sistema como se muestra en la Figura 14.
Figura 14. Etapa de Infección del Virus
Fuente: (EC-Council, 2015)
De la misma manera, la actividad anormal del sistema o de programas es un indicio claro, otros de los indicios según asegura (EC-Council, 2015), son: procesos y recursos consumen más tiempo, el computador suena sin desplegar nada en pantalla, drivers cambian de etiqueta, lentitud al iniciar programas, etc.
2.5.3. GUSANOS
Según la (EC-Council, 2015), son programas maliciosos que se replican, ejecutan y difunden a través de las conexiones de red de forma independiente sin la interacción humana. La mayoría de los gusanos se crean sólo para replicación, para extenderse a través de una red y consumir los recursos informáticos disponibles.
2.6.
SNIFFING
31 analice todo el tráfico de la red como: Logs, claves del telnet, configuración de routers, FTP passwords.
2.6.1. COMO TRABAJA UN SNIFFER
El sniffer pone a la tarjeta de red en modo monitor, lo que significa que puede escuchar toda la información trasmitida, como se muestra en la Figura 15.
Figura 15. Funcionamiento de un Sniffer
Fuente: (Reyes Plata, 2010)
2.6.1.1. Tipos de Sniffing
a. Sniffing Pasivo: Es de fácil implementación y difícil detección, donde se escucha el tráfico a través de un hub. En estos dispositivos todo el tráfico es enviado a todos los puertos por lo tanto un atacante puede capturar fácilmente este tráfico Figura 16.
Figura 16. Sniffing Pasivo
32 b. Sniffing Activo: Es utilizado para escuchar el tráfico en redes que utilizan switches, en este tipo de redes los paquetes de origen y destino son primero verificados por el switch y este decide el destino apropiado, debido a este funcionamiento, el atacante debe inyectar paquetes a la red y a través de diferentes técnicas como el ARP poisoning, Rogue DHCP, Mac flooding, etc., como se muestra en la Figura 17.
Figura 17. Sniffing Activo
Fuente: (EC-Council, 2015)
2.6.1.2. Protocolos vulnerables a Sniffing
Telnet: Para administrar dispositivos remotamente.
SMTP: Utilizado para el intercambio de correos electrónicos.
HTTP: Para transferencia de texto en las peticiones del navegador web.
POP: Para acceder a los correos electrónicos almacenados en un servidor.
IMAP: Mantiene sincronizados los mensajes de correo electrónicos entre dispositivos.
FTP: Utilizado para transferir archivos entre el cliente y el servidor.
33
2.6.2. MAC FLOODING (INUNDAMIENTO DE MAC)
En el MAC Flooding se satura al switch enviándole miles de peticiones de MAC’s, sabiendo que este tiene un espacio limitado de memoria para almacenar éstas direcciones, como resultado de ésta saturación, el switch envía paquetes a todos los host en la red, actuando como un hub, lo que le permite al atacante sniffear la red, como se muestra en la Figura 18.
Figura 18. MAC Flooding
Fuente: (Herzog & ISECOM, 2010)
2.6.3. ATAQUES DHCP
DHCP es un protocolo cliente/servidor, diseñado para proveer la dirección IP, puertas de enlace, DNS y máscara de subred a los hosts, este funciona de la manera mostrada en la Figura 19.
Figura 19. Ataque DHCP
34
2.6.3.1. Rogue DHCP Server Attack (Infiltración de servidor DHCP)
En este ataque, mostrado en la Figura 30, el atacante instala un servidor DHCP falso en la red, para que responda a las solicitudes de los host en la red, comprometiéndolos, su funcionamiento se explica en la Figura 20.
Figura 20. Rogue DHCP Server Attack
Fuente: (Hakipedia, 2009)
Una de las herramientas más utilizadas por los atacantes para realizar este tipo de ataques es Ettercap (ettercap, 2013).
2.6.4. ATAQUES ARP
2.6.4.1. ARP Adress Resolution Protocol
35 Figura 21. ARP
Fuente: (EC-Council, 2015)
2.6.4.2. ARP Poisoning (Envenenamiento ARP)
Los paquetes ARP, como menciona (EC-Council, 2015), son modificados para enviar el tráfico por la máquina del atacante, que inunda las tablas ARP del SWITCH causando que se pueda modificar el cache de éstas en los host de la red, este proceso se explica en la Figura 22.
Figura 22. ARP Poisoning
36 Una de las herramientas más utilizadas por los atacantes e intrusos para realizar este tipo de ataques es Ettercap, que es un analizador de paquetes en tiempo real (ettercap, 2013).
2.6.5. ATAQUES DNS 2.6.5.1. DNS
Es el protocolo que traduce y convierte los nombres de dominio, por ejemplo: google.com, en una dirección IP, éstos son almacenados en tablas que contienen el dominio y su equivalente IP, se consultan a través de un servidor DNS, (EC-Council, 2015), el funcionamiento de un DNS se detalla en la Figura 23 a continuación.
Figura 23. DNS
Fuente: (OWASP, 2015)
2.6.5.2. DNS Poisoning (Envenenamiento DNS)
37 Figura 24. DNS Poisoning
Fuente: (Hakipedia, 2009)
2.6.6. DETECTAR EL SNIFFING
Es necesario que los administradores de red chequeen periódicamente máquinas que se encuentren corriendo en modo promiscuo, ya que de ésta manera un atacante puede interceptar el tráfico, Además se debe implementar un IDS en la intranet, con el objetivo de monitorear si hay cambios de MAC en los dispositivos, (EC-Council, 2015).
2.7.
INGENIERÍA SOCIAL
38
2.7.1. FACTORES QUE HACEN A UNA COMPAÑÍA VULNERABLE
Los factores que hacen a una organización vulnerable, son básicamente sus empleados, según (Beaber & Kevin, 2011), y su falta de capacitación o conciencia del conocimiento que poseen, entre estos factores están:
Capacitación insuficiente y Falta de políticas de seguridad en la organización.
Fácil acceso a la información.
Muchas unidades organizacionales.
2.7.2. FASES DE LA INGENIERÍA SOCIAL
Investigar a la empresa objetivo y seleccionar a la víctima: Husmear en la basura, espiar empleados, sitios web, notas, sesiones abiertas, tour por la empresa, para después identificar a empleados frustrados de la empresa.
Desarrollar y explotar relaciones: Desarrollar una relación con los empleados seleccionados para después recolectar información sensible como cuentas, información financiera, y tecnologías actuales, (EC-Council, 2015).
2.7.3. OBJETIVOS COMUNES DE LA INGENIERÍA SOCIAL
Recepcionistas o secretarias, personal de Help Desk, vendedores, usuarios, clientes.
Ejecutivos de Soporte Técnico, Administradores de Sistemas.
39 Figura 25. Objetivos de La Ingeniería Social
Fuente: (EC-Council, 2015)
2.7.4. TIPOS DE INGENIERÍA SOCIAL 2.7.4.1. Basado en Humanos
Según (EC-Council, 2015), este método recolecta información sensible mediante la interacción, este tipo de ataque explota la confianza, se aprovecha del miedo y la naturaleza de ayuda de las personas, en ésta técnica el atacante se hace pasar por:
Usuario Legítimo: Proporcionar la identidad y preguntar por información sensible: “Hola soy John, del departamento X. He olvidado mi contraseña, ¿puedo recuperarla?”.
Usuario Importante: Haciéndose pasar por un VIP de la organización o un cliente importante, etc.: “Hola, soy Kevin, Secretario del director de finanzas, estoy trabajando en un proyecto urgente y perdí mi password del sistema, ¿Puedes ayudarme?”.
40
2.7.4.2. Basado en Computadores
Los ataques basados en computadoras utilizan al usuario como carnada, donde se trata de engañarlo a través de medios digitales, esto puede ser mediante, ventanas de popup o banners que piden información de login. Otra de las técnicas es mediante el correo electrónico, haciéndose pasar por empresas legítimas y se trata de obtener información financiera, cedulas, información de la red. Mediante el chat o redes sociales, el usuario elegido proporciona información personal como apellidos, fechas de nacimiento, según menciona (EC-Council, 2015).
2.8.
DENEGAR SERVICIOS (DoS)
Según (Herzog & ISECOM, 2010), la denegación de servicios (DoS) es un ataque a una computadora o red que reduce, restringe o impide la legitimidad de sus recursos, el atacante inunda el sistema de la víctima con un servicio de requerimiento o trafico ilegítimo para sobrecargar sus recursos, su proceso ésta mostrado en la Figura 26.
Figura 26. Denegación de Servicios
Fuente: (Hakipedia, 2009)
2.8.1. ATAQUE DISTRIBUIDO PARA DENEGAR SERVICIOS
41 Figura 27. Ataque DoS
Fuente: (EC-Council, 2015)
2.8.2. TÉCNICAS PARA REALIZAR UN DOS ATTACK
Las técnicas principales de realización de un DOS attack son mediante la saturación de memoria, ancho de banda, tanto a nivel de aplicación como a nivel de red.
Ataques de ancho de banda: La (EC-Council, 2015) menciona que los atacantes usan gran cantidad de computadores para inundar a la víctima, cuando un ataque DDoS se ejecuta, la inundación de la red causa que los equipos de red como switches y routers sean abrumados con el cambio significante de tráfico de la red, causando la caída de los mencionados equipos y la pérdida de los servicios que estos proporcionan, representado en la Figura 28.
Figura 28. Ataque de ancho de banda
42
Ataque de inundación SYN: La inundación SYN, mostrada en la Figura 29, según (Escrivá Gascó, Romero Serrano, & Ramada, 2013), toma ventaja de la falla en como los hosts implementan el TCP three-way handshake, donde el host B recibe la petición desde A, este mantiene la vía de la conexión parcialmente abierta en un “listen queue” por lo menos de 75 segundos. Un host malicioso puede explotar el tamaño reducido del “listen queue” enviando múltiples peticiones SYN al host, pero nunca responde con el SYN/ACK y el “listen queue” de la víctima es rápidamente llenado.
Figura 29. Inundación SYN
Fuente: (EC-Council, 2015)
43 conexión de la base de datos de la aplicación mediante el envío de sentencias SQL maliciosas.
2.8.3. BOTNETS
Los bots, según (EC-Council, 2015), son aplicaciones de software que corren automáticamente a través de internet y realizan tareas repetitivas, como web spidering e indexación de motores de búsqueda. Una botnet es una red enorme de sistemas comprometidos que pueden ser usados por un intruso para crear ataques de denegación, este proceso se muestra en la Figura 30.
Figura 30. Botnets
Fuente: (EC-Council, 2015)
2.9.
ROBAR SESIONES (SESSION HIJACKING)
44
2.9.1. TIPOS Y TÉCNICAS DE ROBO DE SESIÓN
Éstas técnicas giran en torno a los ataques de fuerza bruta, el robo de la misma y el cálculo de ésta, en la primera el atacante intenta varias IDs hasta dar con la correcta, seguido del robo de la sesión, asegura (EC-Council, 2015).
2.9.1.1. Ataques a nivel de Aplicación
a. Ataque Man-in-the-middle Cliente a Atacante, Atacante a Servidor: Después de la intercepción de la conexión, el atacante puede leer, modificar e insertar datos en la comunicación, en el caso de una transacción http, la conexión TCP, se convierte en el objetivo, como se muestra en la Figura 31.
Figura 31. Cliente atacante, Atacante Servidor
Fuente: (EC-Council, 2015)
b. Ataque de lado del cliente: Según (EC-Council, 2015), el atacante manipula las aplicaciones usadas por el cliente, Figura 32, las técnicas más usadas son:
XSS Cross Site Scripting: Scripts son inyectados en el sitio web.
45 Figura 32. Ataque de lado del Cliente
Fuente: (EC-Council, 2015)
c. Ataque de Man-in-the-browser: Este ataque usa un Troyano para interceptar las llamadas entre el browser y sus mecanismos de seguridad o librerías. El objetivo según (Costas Santos, 2014), es causar engaños financieros manipulando las transacciones en el sistema de banca en internet.
2.9.1.2. Ataques a nivel de Red
Este tipo de ataques compromete los protocolos de transporte y de internet usados por las aplicaciones web en la capa de aplicación, según la (EC-Council, 2015), estos ataques incluyen:
a. RST Hijacking: La (EC-Council, 2015), asegura que este tipo de ataque implica inyectar un paquete RST auténtico usando una dirección falsa y prediciendo el número de reconocimiento. El atacante resetea la conexión de la víctima si el número de reconocimiento es exacto, luego la víctima confía en el paquete de reseteo y este resetea la conexión, como se muestra en la Figura 33.
Figura 33. RST Hijacking
46
2.10.
HACKEAR SERVIDORES WEB
2.10.1. SERVIDORES MÁS USADOS
La siguiente lista, Figura 34, muestra una lista de los servidores web más populares en la actualidad:
Figura 34. Servidores Web más usados
Fuente: (W3tech, 2016)
2.10.2. COMPROMETER UN SERVIDOR WEB
Existen varias razones para que un servidor web sea vulnerable y por lo tanto comprometido, entre éstas están malas configuraciones y mal manejo del sistema de archivos y las siguientes:
Mal manejo de permisos en archivos y directorios, Falta de políticas de seguridad apropiadas, procedimientos y mantenimiento, Servicios innecesarios habilitados, como la administración remota.