+ All Categories
Home > Documents > Análisis de las herramientas para el proceso de auditoria de ...

Análisis de las herramientas para el proceso de auditoria de ...

Date post: 02-Jan-2017
Category:
Upload: hadan
View: 230 times
Download: 0 times
Share this document with a friend
113
Universidad Politécnica de Madrid Escuela Técnica Superior de Ingenieros de Telecomunicación ANÁLISIS DE LAS HERRAMIENTAS PARA EL PROCESO DE AUDITORÍA DE SEGURIDAD INFORMÁTICA UTILIZANDO KALI LINUX TRABAJO FIN DE MÁSTER Ericka Yánez Cedeño 2015
Transcript
Page 1: Análisis de las herramientas para el proceso de auditoria de ...

Universidad Politécnica de Madrid

Escuela Técnica Superior de Ingenieros de Telecomunicación

ANÁLISIS DE LAS HERRAMIENTAS PARA EL

PROCESO DE AUDITORÍA DE SEGURIDAD

INFORMÁTICA UTILIZANDO KALI LINUX

TRABAJO FIN DE MÁSTER

Ericka Yánez Cedeño

2015

Page 2: Análisis de las herramientas para el proceso de auditoria de ...
Page 3: Análisis de las herramientas para el proceso de auditoria de ...

Universidad Politécnica de Madrid

Escuela Técnica Superior de Ingenieros de Telecomunicación

Máster Universitario en Ingeniería de Redes y Servicios Telemáticos

TRABAJO FIN DE MÁSTER

ANÁLISIS DE LAS HERRAMIENTAS PARA EL

PROCESO DE AUDITORÍA DE SEGURIDAD

INFORMÁTICA UTILIZANDO KALI LINUX

Autor

Ericka Yánez Cedeño

Director

Victor A. Villagra

Departamento de Ingeniería de Sistemas Telemáticos

2015

Page 4: Análisis de las herramientas para el proceso de auditoria de ...

i

Resumen  

Debido al incremento de ataques informáticos hacia sistemas, servidores, redes y

sitios web, la capacitación en temas de seguridad va ganando relevancia con el fin de

asegurar la integridad, disponibilidad y confidencialidad de los datos. La auditoría de

seguridad informática nace con la finalidad de precautelar y poner a prueba las

medidas de seguridad implementadas tanto en software como hardware. Esto trae

retos al personal tanto del área de sistemas como de redes de una organización, que se

ven obligados a recibir capacitación oportuna en el campo para salvaguardar el activo

más importante de la organización, la información.

Sin embargo no solo es necesario estar al día en nuevas técnicas preventivas y

correctivas de seguridad, sino que se requiere también la capacidad de pensar como el

atacante, es aquí donde nace el hacking ético. Existe una distribución estrella para este

campo llamada Kali Linux que ofrece una gama muy amplia de herramientas que

permitirán la capacitación formal de este experto en seguridad que se hará llamar

como hacker ético.

El presente proyecto abarca un resumen de aquellos conceptos indispensables que

requiere todo hacker ético, así como del conjunto de herramientas que a través de la

distribución de Kali Linux se ofrecen para la capacitación y la incursión en el mundo

de la seguridad informática. Este proyecto ha sido diseñado de tal forma que pueda

guiar en el proceso de una auditoría mostrando sus fases y las herramientas para cada

una de estas etapas. Además brinda un análisis detallado de un subconjunto de

herramientas destacadas con la finalidad de ofrecer no solo una guía sino también un

criterio formal del alcance de cada herramienta de software presentada.

Además se implementa un pequeño laboratorio de pruebas de manera local que

permita poner en práctica y ver en acción de forma breve a algunas de las herramientas

mostradas. Cabe recalcar que los procedimientos y características presentadas en la

investigación son expuestos únicamente con propósitos educativos.

Finalmente, este trabajo busca servir de guía para quienes decidan adentrarse en

este campo de tal forma que puedan conocer que herramientas en Kali Linux les serán

útiles en cada etapa del proceso del hacking ético.

Page 5: Análisis de las herramientas para el proceso de auditoria de ...

ii

Abstract  

Due to increased of no authorized access into systems, servers, networks and

websites, training on security issues is gaining relevance so that it can ensure the

integrity, availability and confidentiality of data. The security audit was born with the

purpose of preventing and testing security measures implemented in both software

and hardware. It brings challenges to the staff of the networking and systems areas of

an organization, they are forced to receive timely training in the field to protect the

most important asset of the organization, the information.

However it is not only necessary to keep abreast of preventive and corrective safety

techniques, but also requires the ability to think like an attacker, this is where the

ethical hacking appears. There is a star distribution called Kali Linux, which offers a

wide range of tools that allow formal training for the security experts or ethical

hackers.

This project includes a summary of the essential concepts that any ethical hacker

requires, the toolkit, which is included in Kali Linux distribution for training in the

area, and it has been designed so that it can guide in the audit process with the tools

for each one of those phases. It also provides a detailed analysis of a subset of

prominent tools in order to offer not only a guide but also a formal criterion of the

scope of each presented tool.

Besides a small testing laboratory is implemented locally for seeing in action briefly

to some of the tools shown. The procedures and characteristics presented in the project

are only for educational purposes.

Finally, this paper seeks to provide guidance for those who decide to venture into

this field so that they can know which tools in Kali Linux will be useful in every phase

of ethical hacking.

Page 6: Análisis de las herramientas para el proceso de auditoria de ...

iii

Índice  general  

RESUMEN ............................................................................................................................... I  

ABSTRACT ............................................................................................................................. II  

ÍNDICE GENERAL ............................................................................................................. III  

ÍNDICE DE FIGURAS ......................................................................................................... V  

ÍNDICE DE TABLAS .......................................................................................................... VI  

SIGLAS ................................................................................................................................. VII  

1   INTRODUCCIÓN ........................................................................................................... 1  1.1   CONTEXTO .................................................................................................................. 3  1.2   OBJETIVOS ................................................................................................................... 3  

1.2.1   Objetivo General .................................................................................................. 3  1.2.2   Objetivos Específicos ............................................................................................ 3  

1.3   ESTRUCTURA DEL DOCUMENTO ................................................................................ 3  

2   ESTADO DEL ARTE ....................................................................................................... 5  2.1   SEGURIDAD INFORMÁTICA ........................................................................................ 5  

2.1.1   Importancia de la protección de la información ................................................... 5  2.1.2   Evolución de la Seguridad Informática ................................................................ 6  2.1.3   Principios de la Seguridad Informática ............................................................... 7  

2.2   HACKING ÉTICO ........................................................................................................ 8  2.2.1   El papel del hacker ético ....................................................................................... 8  2.2.2   Auditoría de Seguridad Informática, ¿Es lo mismo que Hacking Ético? ............ 9  2.2.3   Tipos de Hacking .................................................................................................. 9  2.2.4   Modalidades del Hacking Ético ............................................................................ 9  2.2.5   Elaboración de la propuesta de Auditoría .......................................................... 10  2.2.6   Metodologías para la realización de las pruebas de intrusión ........................... 10  2.2.7   Comparación de Metodologías para las pruebas de intrusión ........................... 13  2.2.8   Fases del Hacking Ético ..................................................................................... 14  2.2.9   Pen-testing o Pruebas de Intrusión ................................................................... 17  

3   KALI LINUX ................................................................................................................. 18  3.1   DEFINICIÓN Y CARACTERÍSTICAS ............................................................................ 18  3.2   SU ANTECESOR, BACTRACK ..................................................................................... 18  3.3   SITIO OFICIAL Y ENLACES DE REFERENCIA ............................................................ 19  3.4   VERSIONES ................................................................................................................ 19  3.5   METAPACKAGES ...................................................................................................... 21  3.6   TIPO DE DESCARGA .................................................................................................. 22  3.7   ACTUALIZACIÓN DE REPOSITORIOS DE KALI LINUX ............................................. 23  3.8   HERRAMIENTAS POR CATEGORÍA ........................................................................... 23  

Page 7: Análisis de las herramientas para el proceso de auditoria de ...

iv

3.8.1   Catálogo de Herramientas .................................................................................. 32  3.9   ANÁLISIS DE HERRAMIENTAS DESTACADAS .......................................................... 37  

3.9.1   Etapa de Reconocimiento ................................................................................... 39  Whois ....................................................................................................................................................... 39  Nslookup ................................................................................................................................................. 40  Dnsnum ................................................................................................................................................... 42  Dmitry (DeepMagic Information Gathering Tool) ............................................................................ 45  Goofile ...................................................................................................................................................... 47  Metagoofil ................................................................................................................................................ 49  TheHarvester .......................................................................................................................................... 51  Maltego .................................................................................................................................................... 53  

3.9.2   Etapa de Escaneo ................................................................................................ 58  Nmap ........................................................................................................................................................ 58  Zenmap .................................................................................................................................................... 62  Burp Suite ................................................................................................................................................ 65  owasp-zap (Zed Attack Proxy) ............................................................................................................. 68  Skipfish .................................................................................................................................................... 71  

3.9.3   Etapa de Explotación .......................................................................................... 74  Metasploit Framework (MSF) .............................................................................................................. 74  SET ( Social-Engineer Toolkit) .............................................................................................................. 78  

3.9.4   Etapa de Elaboración de Reportes ...................................................................... 80  Dradis ....................................................................................................................................................... 80  KeepNote ................................................................................................................................................. 83  

4   LABORATORIO DE PRUEBAS .................................................................................. 85  4.1   DESCRIPCIÓN ............................................................................................................ 85  4.2   REQUERIMIENTOS .................................................................................................... 85  4.3   CONFIGURACIONES ................................................................................................. 86  4.4   PUESTA EN MARCHA ................................................................................................ 87  

4.4.1   Analizando un dominio público con Maltego .................................................... 87  4.4.2   Armando el escenario de pruebas local con Maltego ......................................... 89  4.4.3   Escaneo de puertos con Nmap ........................................................................... 91  4.4.4   Detectar las vulnerabilidades de la web con Owasp-zap. .................................. 92  4.4.5   Realizar una intrusión con Metasploit Framework ........................................... 94  4.4.6   Detallar el proceso realizado con KeepNote ....................................................... 96  

5   CONCLUSIONES Y TRABAJOS FUTUROS ............................................................. 98  5.1   CONCLUSIONES ........................................................................................................ 98  5.2   TRABAJO FUTURO .................................................................................................... 99  

BIBLIOGRAFÍA ................................................................................................................. 100  

Page 8: Análisis de las herramientas para el proceso de auditoria de ...

v

Índice  de  figuras  Figura 1. Porcentaje de Compañía Afectadas por los diferentes tipos de Fraude [3] . 2  Figura 2. Porcentaje de compañías invertirán en seguridad de su información [3] .... 2  Figura 3. Modelo de Seguridad de Entorno Gubernamental [6] .................................... 6  Figura 4. Modelo de Seguridad en Ambiente Académico [6] ......................................... 6  Figura 5. Estructura de ISSAF [11] .................................................................................... 10  Figura 6. Diagrama de GNST [11] ..................................................................................... 13  Figura 7. Aplicación del comando whois ......................................................................... 40  Figura 8. Ejecución de comando nslookup ...................................................................... 41  Figura 9. Ejecutando dnsenum .......................................................................................... 42  Figura 10. Dmitry ................................................................................................................ 46  Figura 11. Goofile ................................................................................................................ 48  Figura 12. Metagoofil .......................................................................................................... 49  Figura 13. TheHarvester, consola de comandos y resultados con formato HTML ... 51  Figura 14. Recopilación de información de sitio web con Maltego Kali Linux .......... 53  Figura 15. Nmap .................................................................................................................. 58  Figura 16. Quick Traceroute en Zenmap ......................................................................... 62  Figura 17. Interceptando solicitudes HTTP con Proxy Burp Suite .............................. 65  Figura 18. Análisis usando Zap a una sesión solicitada en proyecto Gruyere ........... 69  Figura 19. Ejemplo de resultados en formato HTML de Skipfish ............................... 72  Figura 20. Metasploit Framework ..................................................................................... 74  Figura 21. Submenú Opción 1 de SET .............................................................................. 78  Figura 22. Resumen de Proyecto en Dradis ..................................................................... 80  Figura 23. Área de trabajo en Keepnote ........................................................................... 83  Figura 24. Configuración de Red modo sólo anfitrión ................................................... 86  Figura 25. Analizando website tecnomobilex.com con Maltego .................................. 89  Figura 26. Creando el mapa del laboratorio en Maltego ............................................... 91  Figura 27. Analizando metasploitable2 con Nmap ........................................................ 92  Figura 28. Analizando proyectos web con Owasp-Zap ................................................. 94  Figura 29. Ejecutando exploit con msfconsole ................................................................ 96  Figura 30. Keepnote y el archivo HTML generado ........................................................ 97  

 

Page 9: Análisis de las herramientas para el proceso de auditoria de ...

vi

Índice  de  tablas  

Tabla 1. Clasificación OSSTMM [12] ................................................................................. 12  Tabla 2. Tabla comparativa de metodologías para pruebas de intrusión [11] ........... 14  Tabla 3. Fecha de Publicación de Versiones BackTrack [15] ......................................... 19  Tabla 4. Versiones de Kali Linux [14] ............................................................................... 19  Tabla 5. Cantidad de herramientas por categoría [14] ................................................... 25  Tabla 6. Listado de herramientas por categoría .............................................................. 25  Tabla 7. Catálogo Resumido de Herramientas por Categoría ...................................... 32  Tabla 8. Agrupación de categorías según las fases del Hacking Ético ........................ 37  Tabla 9. Comandos de Dnsenum ...................................................................................... 43  Tabla 10. Estados de Puertos en Nmap [8] ...................................................................... 61  Tabla 11. Requerimientos para Laboratorio de Pruebas ................................................ 85  

 

Page 10: Análisis de las herramientas para el proceso de auditoria de ...

vii

Siglas  

ABI Application binary interface

COMSEC Communications Security

EFI Extensible Firmware Interface

GNST Guideline on Network Security Testing

GNU General Public License

GRUB Grand Unified Bootloader

GUI Graphical User Interface

IP Internet Protocol

IDS Intrusion detection systems o Sistema de detección de intrusos

IPS Intrusion prevention systems o Sistema de prevención de intrusos

ISP Internet Service Provider

ISSAF Information Systems Security Assessment Framework

FHS Filesystem Hierarchy Standard

MSF Metasploit Framework

MTTF Mean Time To Failure

MTTR Mean Time To Repair

OSINT Open Source Intelligence

OSSTMM Open Source Security Testing Methodology Manual

OSX Operating System X

PHYSSEC Physical Security

RSS Rich Site Summary

RTO Recovery Time Objective

SaaS Software as a Service

SLA Service Level Agreement

SPECSEC Spectrum Security

Page 11: Análisis de las herramientas para el proceso de auditoria de ...

viii

TTL Time to live

URL Uniform Resource Locator

VOIP Voice over IP

VPN Virtual Private Networks

Page 12: Análisis de las herramientas para el proceso de auditoria de ...

1

1 Introducción  

En el siglo actual donde la información es un activo de las organizaciones, más de

una ocasión no es valorada como tal hasta que suceden hitos en la vida que afectan

dicha información corrompiéndola, extraviándola o simplemente difundiéndola sin

autorización. Es así como a lo largo de la historia se han registrado muestras de dichos

acontecimientos a usuarios en general, pequeñas, medianas o grandes compañías, que

han sido víctimas de ataques electrónicos o que en otros casos aún cuando no son

víctimas de un robo expreso de información, el simple acceso no autorizado y la

muestra pública de dicho ataque a través de su páginas web, representa popularidad

negativa que podría expresarse seguramente en pérdidas económicas.

Dado a la gran cantidad de aparatos electrónicos de hoy en día, la información

regularmente se encuentra en medios de almacenamiento como discos duros de un

ordenador, una memoria USB o una base de datos; cuando estos medios llegan a

manos equivocadas se produce la manipulación o robo de la misma. Entre los casos de

intrusión o robo de información alojada en servidores que han sido noticias en los

últimos tiempos se encuentran: “Celebgate”, el robo de información sensible de las

cuentas de iCloud de algunas famosas de Hollywood [1], y el caso de hackers chinos que

lograron acceder en marzo a los ordenadores de la agencia gubernamental

estadounidense que guarda datos personales de todos los funcionarios federales [2].

Según el reporte de Fraudes Mundiales del 2013 en su séptima edición preparado

por Kroll Consulting en cooperación con Economist Intelligence Unit, en donde se

encuesta a 901 altos ejecutivos de todo el mundo, muestra que con respecto al 2012 se

ha producido un incremento de fraudes denotando además que el fraude vinculado

con la información está evolucionando y aún existen compañías que no están

preparadas para el impacto que este daño pueda conllevar [3].

Como podemos observar en la Figura 1, el robo de información se encuentra en

segundo lugar y ha tenido un incremento de un 1% entre el año 2012 y 2013, sin

embargo este tipo de fraude representa el 22% que prácticamente es un cuarto de los

tipos de fraudes detectados. En Europa, como lo explica también este reporte, el 73%

de las compañías han sido víctimas de fraude como mínimo una vez al año, de los

cuales un 25% se identifica como Robo/Pérdida de Información o ataque informático.

Si comparamos el porcentaje global con el especifico es posible notar que este tipo de

fraude aunque no haya crecido drásticamente, esta afectando ya a un cuarto de las

compañías alrededor de Europa y a punto de llegar a las mismas cifras globalmente.

Page 13: Análisis de las herramientas para el proceso de auditoria de ...

2

Figura 1. Porcentaje de Compañía Afectadas por los diferentes tipos de Fraude [3]

Todo esto nos deja saber que se debe acudir a mecanismos de protección de

información donde se pueda evitar la usurpación o lectura de información sensible, es

decir información de carácter personal y que de alguna manera nos llevan a la

cuantificación de la misma en términos monetarios, por tal motivo las compañías

alrededor del mundo comenzarán a invertir en software para la seguridad de las

Tecnologías de la Información (TI) como lo muestra la Figura 2.

Figura 2. Porcentaje de compañías invertirán en seguridad de su información [3]

Por ello la importancia de este trabajo de investigación en donde se analizan

herramientas dentro de un paquete de software completo y que son útiles para la

realización de un proceso de inspección de seguridades lógica de un sistema.

 

Page 14: Análisis de las herramientas para el proceso de auditoria de ...

3

1.1 Contexto  El análisis de herramientas que permiten la auditoría en sistemas informáticos es

una de las fases en las que se debe centrar un auditor para comprender las ventajas y

prestaciones que podrá adquirir con la utilización de determinada aplicación.

En la actualidad existen herramientas de software que ofrecen múltiples ventajas

pero también muchas de ellas son de pago, con lo cual su capacitación resulta desde

luego costosa, sin embargo este trabajo se centra en aquellas que son distribuidas sin

costo dentro de Kali Linux y con las cuales también se puede realizar un trabajo de

auditoría y una capacitación profesional en dicha área. Con ello el análisis a realizar no

solo informará acerca de características de dichos programas sino que ofrecerá

comentarios y valoraciones de determinados atributos, de manera que este trabajo sea

una guía práctica y útil para aquellos que requieran adentrarse en el mundo de la

auditoría de seguridad informática.

1.2 Objetivos  

1.2.1 Objetivo  General  Realizar un análisis íntegro de aquellas herramientas de software disponibles en la

distribución de Kali Linux que serán de utilidad para el proceso de hacking ético.

1.2.2 Objetivos  Específicos  • Establecer el estado del arte del Hacking ético y sus fases. • Presentar las diferentes opciones disponibles en la distribución de Kali

Linux. • Determinar y analizar las herramientas de software más destacadas para

cada fase del proceso analizado. • Realizar los laboratorios de implementación de Kali Linux y la puesta en

marcha de escenarios para conocer algunas de las herramientas estudiadas de cada etapa del proceso.

De tal manera se busca ofrecer mediante el presente trabajo de fin de master un

compendio de herramientas de software que el auditor de seguridad informática

puede considerar al momento de realizar su análisis con Kali Linux.

1.3 Estructura  del  documento  Con la finalidad de cumplir los objetivos planteados, el presente trabajo tendrá la

siguiente estructura: en el capítulo II se presenta el estado del arte de la seguridad y el

hacking ético, el cual intenta recopilar y resumir toda la información necesaria para

adentrarse en este campo; en el capítulo III se realiza la presentación de Kali Linux, la

distribución de Linux para seguridad y auditorias que nos brinda una cantidad

impresionante de herramientas para realizar tareas de auditoría y seguridad, además

de realizar la presentación y análisis de las herramientas útiles para cada fase del

hacking ético; en el capitulo IV se arma un escenario de prueba para ver en marcha una

Page 15: Análisis de las herramientas para el proceso de auditoria de ...

4

cantidad seleccionada de herramientas a través de las fases del hacking ético; el

capítulo V resume y muestra las conclusiones del trabajo realizado, así como los temas

que a futuro podrían realizarse en esta línea de investigación.

 

Page 16: Análisis de las herramientas para el proceso de auditoria de ...

5

2 Estado  del  Arte  Dentro de este capítulo se presentará las bases conceptuales relacionadas a la

auditoría de seguridad informática y sus fases.

2.1 Seguridad  Informática  Con la afán de crear una metodología para la protección de la información aparece

la seguridad informática, la cual se puede definir como un conjunto de métodos que

utilizan herramientas que permiten proteger la información ante cualquier amenaza [4].

Los objetivos de la seguridad informática son tres: la defensa, detección y la

disuasión de ataques a los sistemas. Los miembros de los departamentos de Seguridad

Informática tienen la responsabilidad de proteger su activo más importante, la

información, frente a cualquier tipo de ataques.

Existen diferentes formas en las que un intruso puede utilizar como medio para

tener acceso a la información [5]:

• Físico: in situ, es decir accede físicamente donde se encuentra almacenada la información.

• Remoto, local o ambos a la vez. • Por cable: vía Internet o línea telefónica. • Por ondas: wireless. • Por radiación: Eavesdropping (usar mecanismo de radio para ver el contenido

de un monitor). • Por vista u oído: a distancia. • A través de una interfaz gráfica. • A través de un intérprete de comandos.

2.1.1 Importancia  de  la  protección  de  la  información  Dentro de una organización encontramos diferentes tipos de información las cuales

pueden ser clasificadas según su nivel de confidencialidad y utilidad, ejemplo de ello

son los procesos internos comerciales o administrativos, estrategias de negocio, planes

futuros de la compañía, mapa de productos, catálogo de servicios, correspondencia

interna (correo electrónico, fax, memos), roles de pago de empleados, lista de clientes y

su información de contacto, entre otras [6]. Como se puede notar existe información

que puede ser de conocimiento de un cliente y otra que simplemente no debe salir de la

organización, ya que especialmente esta información si quedase liberada pudiera

causar daños a la compañía tales como reducir su ventaja competitiva en el mercado,

pérdida de nuevos clientes e incluso la primicia dentro de un nuevo mercado.

Inclusive de acuerdo al sector de negocio en el que se encuentre la protección de dicha

información debe ser obligatoria, como es el caso de información de Gobierno o

Agencia de Seguridad Estatal de Países, donde la información que se maneja es de alta

Page 17: Análisis de las herramientas para el proceso de auditoria de ...

6

confidencialidad y la exposición de la misma podría desatar en el peor de los casos

enfrentamiento entre diferentes regiones o países.

2.1.2 Evolución  de  la  Seguridad  Informática  Al inicio los únicos entornos en los que se tenía ordenadores en red era en entornos

académicos y gubernamentales, cada uno de ellos tenía dos modelos de seguridad

distintos, mientras que las agencias de Gobierno mantenían un entorno totalmente

cerrado y bloqueado del acceso externo (Figura 3), en el mundo académico la idea de

compartir información de forma abierta predominaba mientras que los controles

relacionados a la seguridad eran totalmente limitados, así como lo indica la Figura 4.

Figura 3. Modelo de Seguridad de Entorno Gubernamental [6]

Figura 4. Modelo de Seguridad en Ambiente Académico [6]

Como se puede observar contábamos con ambientes demasiado cerrados o

demasiado permisivos, tiempo más tarde entre los años 1990 y 2000 y con la incursión

de entornos comerciales en Internet, se vio la necesidad de encontrar el punto neutral

que permita tener accesos restringidos a información clasificada y libre acceso a otro

tipo de información. Gracias a ello la seguridad en entornos de red evolucionó con

conceptos como Intranet y Extranet con el afán de darle a cada miembro de la

organización acceso adecuado a la información que debería visualizar, así también

aparecen las VPN para proveer de un canal seguro de comunicación entre diferentes

redes. En la primera década el siglo XXI Internet se convierte fuertemente en una

Page 18: Análisis de las herramientas para el proceso de auditoria de ...

7

plataforma de negocio y aparece la computación en la nube o Cloud Computing, con ello

se desarrollan conceptos como SaaS, Software como Servicio en donde el cliente se

despreocupa de temas como implementación o actualización de software o hardware y

se encarga sencillamente de recibir las ventajas de dichos servicios, dejando del lado

del proveedor todas las responsabilidades. Junto a estos nuevos retos, las técnicas

empleadas en seguridad han ido evolucionando de tal forma que permitan balancear

las necesidades del negocio y la seguridad de los mismos [6].

2.1.3 Principios  de  la  Seguridad  Informática  Para asegurar que la información se encuentra protegida existen 3 principios que

deben cumplirse, los cuales son [7]:

• Disponibilidad.- Implica el acceso a la información en cualquier momento respetando los permisos de acceso de cada usuario. Los parámetros para la medición de esta características son:

o Cantidad de tiempo total (segundos, minutos u horas) en que el sistema o aplicativo que provee la información se encuentra disponible.

o Cantidad de tiempo total (segundos, minutos u horas) en que el sistema o aplicativo que provee la información no se encuentra disponible.

o Disponibilidad = Cantidad de tiempo total activo / (Cantidad de tiempo total Activo+ Cantidad de tiempo total inactivo), este valor que saldrá menor o igual a 1 se lo multiplicará por 100 para poder obtener el porcentaje de servicio. Este porcentaje es el que comúnmente se encuentra en nuestro contrato con el ISP en la sección de Acuerdos de Nivel de Servicio o SLA en inglés. Por ejemplo si un ISP ofrece un 99.86% de disponibilidad implicaría que el servicio puede no estar disponible en 1 hora al mes.

o Tiempo promedio de Fallas o MTTF: Se refiere al tiempo promedio en el que sistema le ocurren fallos que lo hacen quedar inactivo, el fallo puede estar relacionado al tiempo de vida de un artefacto o parte de un sistema de hardware.

o Tiempo promedio para Reparación del sistema o MTTR, es decir, la cantidad de tiempo en promedio que toma pasar de un estado inactivo por fallo a activo.

o Meta de Tiempo de Recuperación o RTO: Es un tiempo preestablecido para la recuperación del sistema después de un fallo, este tiempo es comúnmente configurado especialmente para sistemas de tiempo real críticos1.

• Integridad.- Esta característica indica que los datos deben ser coherentes entre sí, deben poder validarse y ser precisos, por ejemplo en un sistema facturación electrónica los datos de las facturas deben estar asociadas a productos en existencia, el caso contrario mostraría datos que son incorrectos

1 Son sistemas que poseen requisitos de seguridad exigentes, donde ante fallo se debe auto recuperar de forma casi inmediata para que no ocurran accidentes, un ejemplo de este tipo de sistema es el sistema de control de frenado de un vehículo.

Page 19: Análisis de las herramientas para el proceso de auditoria de ...

8

y que quedarían sin utilidad alguna. • Confidencialidad.- Es el nivel de la privacidad de la información que se

maneja, esto implica solo darle acceso a quien lo tenga permitido.

2.2 Hacking  Ético    Consiste en efectuar pruebas de intrusión controladas a sistemas informáticos para

encontrar vulnerabilidades, con la finalidad de protegerlos de futuros ataques que

pueden ser realizados por personal no autorizado, que desea acceder a estos recursos

con algún interés malintencionado [8,9].

2.2.1 El  papel  del  hacker  ético  Se denomina hacker a aquella persona que cuenta con conocimientos técnicos

avanzados para ingresar en un sistema informático aprovechándose de algún hueco de

seguridad del mismo. La ética profesional por otro lado, según la Real Academia de la

lengua española la define como el “Conjunto de normas morales que rigen la conducta

humana”. A lo largo del tiempo el hacker ha tenido mala fama con lo cual hacía falta

complementar este término, es decir, había que añadirle ética, de tal forma que se

pudiera aprovechar las capacidades de los apasionados en seguridad informática con

un fin positivo: educar y asegurar a los sistemas [9].

Sin embargo, el hacker ético debe analizar la situación como si fuera un cracker [8]. El

cracker es aquel intruso que llega a romper un sistema, entendiéndose por romper

como atentar contra los objetivos de la seguridad informática antes mencionados. La

principal diferencia entre el hacker ético y el cracker es que el hacker ético brinda

conocimiento de la vulnerabilidad y es contratado por un cliente, mientras que el

cracker tan solo intenta sacar algún beneficio de lo que obtiene a través del chantaje o la

popularidad en un circulo social.

Dentro del grupo de buenas prácticas con las que debe contar un hacker ético se

encuentran [5,9]:

• Presentar reportes claros y adecuado sin manipular los resultados del análisis, llevando un formato ejecutivo que permita reflejar la calidad del análisis.

• Mantener la máxima confidencialidad de la información adquirida, de las vulnerabilidades detectadas en los sistemas y de la privacidad de los usuarios.

• No responsabilizar al personal de la institución por algún fallo detectado. • Cumplir los compromisos adquiridos con la entidad contratante, sin realizar

acciones fuera del ámbito del contrato. • Manejar los recursos eficientemente y delegar tareas de ser necesario a

personal especializado en el tema. • Mantener sus valores como profesional ético, es decir, no aceptar ningún

tipo de soborno. • No realizar pruebas de intrusión sobre un sistema sin el respaldo de un

Page 20: Análisis de las herramientas para el proceso de auditoria de ...

9

contrato o permiso escrito.

2.2.2 Auditoría  de  Seguridad  Informática,  ¿Es  lo  mismo  que  Hacking  Ético?  La auditoría de seguridad informática, es prácticamente el sinónimo del hacking

ético, ya que la auditoría busca inspeccionar, analizar o evaluar la seguridad de los

sistemas para proveer a las compañías las recomendaciones adecuadas para cerrar

cualquier hueco de seguridad existente en su sistema. De esta forma se puede ver al

hacker ético como un auditor de seguridad informática.

2.2.3 Tipos  de  Hacking  El hacking ético puede dividirse de acuerdo a la ubicación en la que se realizan las

pruebas de intrusión, en [8]:

• Hacking ético Externo.- Este acceso se realiza desde fuera de la red de la compañía, es decir, el ataque esta dirigido a los equipos que están expuestos a Internet como: servidores web, cortafuegos, servidor de correo, DNS, entre otros.

• Hacking ético Interno.- Como su nombre lo indica este acceso se realiza desde equipos que se encuentran en red interna de la compañía, a los que se ha accedido con identidad de empleados, consultores o auditores.

2.2.4 Modalidades  del  Hacking  Ético  Además de acuerdo a la información que se tenga de la compañía contratante la

modalidad del hacking ético puede ser [8,10]:

• Hacking de Caja Negra o Black Box Hacking: Cuando solo se conoce el nombre

de la empresa objetivo pero se desconoce la red, los procesos internos de la

compañía y los servicios que proporciona.

• Hacking de Caja Blanca o White Box Hacking: Cuando se tiene pleno

conocimiento de información vital ligada a la auditoría. Requiere de menor

tiempo en la fase de reconocimiento ya que los datos son ofrecidos por el

contratante con la finalidad de que su sistema de seguridad sea probado.

• Hacking de Caja Gris o Gray Box Hacking: Esta es la instancia intermedia

entre Black Box hacking y el White Box Hacking donde el hacker ético contratado

cuenta con información parcial y accesos limitados a la red.

En cuánto a la duración de cada modalidad y aunque cada una de ellas dependa de

muchos factores de acuerdo a la entidad cliente, se puede mencionar que un hacking de

caja negra es el que más podría tomar ya que se invertirá bastante esfuerzo en la fase

de recopilación de la información, mientras que un hacking de caja gris y más aún un

hacking de caja blanca, tendrán una duración estimable y más próxima.

Page 21: Análisis de las herramientas para el proceso de auditoria de ...

10

2.2.5 Elaboración  de  la  propuesta  de  Auditoría  Esta es la fase inicial de la auditoría y consiste en la entrevista con la entidad

contratante o el cliente, se debe definir el alcance del acuerdo, objetivos, duración,

costos y formas de pago [8,9]. Es importante que el hacker ético o auditor de sistemas

informáticos defina con claridad el tipo de hacking, la modalidad del hacking y los

servicios que van a prestarse, existen también servicios adicionales que pueden

ofrecerse como: ingeniería social, wardialing2, equipo robado3 y seguridad física [8].

2.2.6 Metodologías  para  la  realización  de  las  pruebas  de  intrusión  Existen varias metodologías que el auditor informático puede seguir, las mismas

que aseguran la obtención de los objetivos previamente planteados; estas

metodologías engloban un conjunto de áreas y pasos que hacen que un hacker ético

pueda prestar sus servicios asegurando la reputación profesional personal como la de

la compañía a la que representa.

Una metodología define tres aspectos: un modelo abstracto del sistema, un modelo

abstracto del proceso de descubrimiento de vulnerabilidades y un procedimiento para

realizar las pruebas intrusión de acuerdo al sistema evaluado.

Entre las metodologías comúnmente adoptadas tenemos [11]:

• Information System Security Assessment Framework (ISSAF) Esta metodología fue desarrollada por OISS.org y se enfoca en la evaluación de la seguridad de redes, sistemas y aplicaciones de control. Está compuesta por tres áreas y define 9 pasos como parte de su ciclo, tal como puede observarse en la siguiente figura.

Figura 5. Estructura de ISSAF [11]

2 Técnicas que permiten ejecutar comandos sobre un modem, descubrir otros modem en una red e ingresar a un sistema pasando por alto claves puestas por el administrador. 3 Técnica que simula el robo de un equipo para comprobar si la organización ha tomado las medidas correspondientes en caso del robo de un equipo de la organización.

Page 22: Análisis de las herramientas para el proceso de auditoria de ...

11

a. Planificación y Preparación.- Esta etapa consiste en el

acondicionamiento del ambiente para la intrusión donde se ubican actividades como: selección de herramientas de auditoría y del equipo de trabajo, contrato y términos legales, plazo de entregas, preparación y selección de la plantilla para el reporte final.

b. Evaluación.- Se considera el área de acción principal debido a que consiste en la puesta en marcha de las pruebas de intrusión, las cuales las ha dividido en el siguiente orden:

1. Recolección de información 2. Mapeo de Red 3. Identificación de Vulnerabilidades 4. Realización de pruebas de intrusión 5. Obtención de acceso y escalabilidad de privilegios 6. Enumeración 7. Comprometer sitios remotos o usuarios. 8. Mantener acceso 9. Encubrimiento de huellas

c. Elaboración de Reportes y eliminación de artefactos.- Consiste en la elaboración del documento final y destrucción de artefactos que se han elaborado para la fase de evaluación.

Según el análisis [11], esta metodología posee puntos a favor como puntos en

contra. Entre las ventajas tenemos el hecho de que los pasos establecidos le

permiten al auditor informático tener una guía consecutiva de las pruebas

que debe realizar y el orden en que debe hacerlas, para evitar obviarlas o

repetirlas. Sin embargo entre las desventajas se encuentra que la última fase

no posee todo el detalle requerido y las sugerencias no están actualizadas,

debido a que la eliminación de los artefactos útiles para la prueba no forma

parte de las nuevas prácticas de seguridad, las cuales indican que las mismas

deben quedarse alojadas en los sistemas de pruebas. Y por último la línea de

flujo en un solo sentido no permite retroalimentación o readecuación de

objetivos dada la detección de alguna vulnerabilidad.

A criterio personal la fase de destrucción de pruebas puede quedar a

consideración de las políticas de seguridad de la compañía auditada, con lo

cual podrían destruirse.

• Open Source Security Testing Metodology Manual (OSSTMM) Se lo considera un estándar para los auditores informáticos por ser una metodología completa con un buen conjunto de pruebas que además ofrece un vasto número de herramientas para la elaboración de reportes. Esta compuesta por: un scope que se divide en canales y éstos a su vez en subcanales. Un scope es la totalidad del entorno de seguridad el cual requiere como particularidad que todas las amenazas sean consideradas incluso si son poco probables (sin considerar los riesgos de probabilidad nula); una clase es la denominación oficial que se le otorga actualmente en la seguridad

Page 23: Análisis de las herramientas para el proceso de auditoria de ...

12

industrial, gubernamental y militar. Los canales son utilizados para definir el área de estudio, investigación u operación, son tres y se dividen de acuerdo a la siguiente tabla [12].

Tabla 1. Clasificación OSSTMM [12]

Clase Canal Descripción

Seguridad Física (PHYSEC)

Humano Comprende al elemento humano que interactúa con los activos de forma física o lógica.

Físico Corresponde a las pruebas de seguridad físicas donde los canales son físicos y no electrónicos en su naturaleza. Comprende elementos tangibles de seguridad donde la interacción requiere de esfuerzo físico o de un transmisor de energía.

Seguridad Espectral (SPECSEC)

Inalámbrico (Wireless)

Comprende todas las comunicaciones electrónicas, señales y emanaciones que tengan lugar en un campo electromagnético. Esto incluye las comunicaciones electrónicas, señales electrónicas, y emanaciones que no se transmiten por cable.

Seguridad de las Comunicaciones (COMSEC)

Telecomunicaciones Comprende todas las redes de telecomunicaciones, digitales o analógicas.

Redes de Datos Comprender todos los sistemas electrónicos y redes de datos donde la interacción se realice por cable o en líneas inalámbricas.

OSSTMM define 17 módulos para cada canal, con lo cual tendríamos 85 análisis antes de escribir el informe final. Aunque se la considera como una de las más completas cuenta con desventajas como que no hay un flujo de análisis, no se cuenta con hipótesis inductiva, diagramas legibles y se podría perder datos en el proceso de escribir informes. Dichos informes son demasiado lineales y hacen que el lector deba leer todo el documento para poder enterarse de lo encontrado, lo cual hace que técnicos en el área no puedan comprender con un solo vistazo breve lo detectado.

• Guideline on Network Security Testing (GNST) Creado por el Instituto Nacional de Estándares y Tecnología es el pionero en introducir el proceso de elaboración informes dentro de sus pasos y añadir lo que se conoce como hipótesis inducidas.

Page 24: Análisis de las herramientas para el proceso de auditoria de ...

13

Los pasos que contempla son los siguientes: a. Planificación.- En esta etapa se analiza el sistema para definir cuales

serán los objetivos relevantes a comprobar. b. Descubrimiento.- Se trata de la etapa de búsqueda de las

vulnerabilidades del sistema. c. Ataque.- Es la verificación que permite conocer si las vulnerabilidades

pueden ser explotadas. d. Elaboración de Reporte.- Este paso incluye la elaboración de un

documento con los resultados.

Como lo muestra la siguiente figura, cada paso contiene un vector de

entrada y uno de salida con la característica particular en los pasos de

descubrimiento y ataque en los que se produce un bucle y se introduce lo

que se conoce como hipótesis inductiva.

Figura 6. Diagrama de GNST [11]

Una hipótesis inducida se trata de aquella que cambia en el ciclo de acuerdo

a las vulnerabilidades detectadas y puede resultar de la detección de otra

vulnerabilidad.

Entre las ventajas de GNST tenemos la elaboración de reportes cada vez que

se genera un ciclo lo cual esta considerado como una buena práctica sin

embargo no provee plantillas ni directrices para escribir los reportes.

2.2.7 Comparación  de  Metodologías  para  las  pruebas  de  intrusión  A pesar que cada metodología intenta idear un modelo abstracto para poder

englobar distintas necesidades, existen características que de acuerdo a Prandimi y

Ramilli [11] deben tener y bajo las cuales serán contrastadas las metodologías del

apartado anterior:

• Modelado.- Deben definir conceptos fundamentales sin ambigüedad que permitan el modelado de los sistemas y de las pruebas de intrusión.

• Planeación.- Ayudar a la elaboración de planes y prerrequisitos que orienten al auditor informático para saber que hacer y que tipo de herramientas utilizar en cada fase.

• Flexibilidad.-Permitir la integración dinámica de aspectos adicionales en el

Page 25: Análisis de las herramientas para el proceso de auditoria de ...

14

plan definido inicialmente y permitir la creación de nuevos planes. • Adaptación.- Posibilidad de acoplarse a diferentes variaciones que puede

tener el sistema. • Orientación.- Ofrecer las directrices que permitan conocer que actividad

forma parte de una sesión y que tareas se realizan antes, durante y después. • Documentación.- Proveer de formatos o plantillas para la elaboración de

reportes para diferentes tipos de lectores. • Granularidad.- Proveer detalles generales que permitan la orientación en las

pruebas y detalles específicos solo cuando sea necesarios. Además de permitir obviar pasos de acuerdo a las necesidades.

Bajo estas características e indicando que los símbolos +,= y -, significan buena

cobertura, cobertura media y sin cobertura respectivamente, se presenta el siguiente

cuadro comparativo donde se puede apreciar con en un nivel más detallado las

metodologías expuestas.

Tabla 2. Tabla comparativa de metodologías para pruebas de intrusión [11]

Característica ISSAF OSSTMM GNST

Modelado + = -

Planeación + - -

Flexibilidad - - +

Adaptación = + =

Orientación = - +

Documentación - - =

Granularidad + - -

2.2.8 Fases  del  Hacking  Ético  Si bien existen metodologías que se pueden seguir, en caso de no seleccionarlas se

han definido de forma general en el hacking ético 5 fases para realizar este proceso que

como veremos a continuación coincide con algunas de los pasos mencionados

anteriormente [8]:

1. Reconocimiento.- Conocido por su término en inglés Footprinting se trata de la

fase de recopilación de información tanto a través de datos obtenida con una

interacción directa con el sistema objetivo, llamada reconocimiento activo; o la

revisión de documentación externa pública sin interactuar directamente con el

sistema, esto se conoce con el nombre de reconocimiento pasivo.

En esta etapa se realizan las siguientes pruebas:

Reconocimiento Activo

• Técnicas de Ingeniería social a los empleados de la compañía como:

Page 26: Análisis de las herramientas para el proceso de auditoria de ...

15

intimidación, name-dropping consiste en aprender el nombre de un funcionario con acceso a zonas restringidas para convencer al personal de acceso que se posee el permiso en realidad, apelando por asistencia o ayuda y ataque técnicos como por ejemplo un correo electrónico con archivos adjuntos infectados que permitirán visualizar los documentos del ordenador, entre otros.

• Barridos de Ping • Mapeo de Red para determinar la existencia dispositivos de borde. • Banner Grabbing, conexión a un puerto específico de una aplicación para

obtener información del sistema operativo y otras servicios corriendo sobre el ordenador.

Reconocimiento Pasivo

• Recuperación de Información desde la basura conocido por su término en inglés como dumpster diving.

• Recuperación de Información disponible desde Internet como blogs, revistas, redes sociales (Facebook, Twitter, Linkedin, Google plus, etc.), pagina web principal de la institución y utilizando la información obtenida de motores de búsqueda como Google.

• Consulta de Directorios en internet (DNS y bases de datos Who-is).

Pero ¿Qué tipo de información se debe recopilar en esta etapa? En realidad

toda la que sea posible, es la fase de conocer al que esta del otro lado y

cualquier información relacionada puede ser de utilidad, sin embargo como

al responder “todo” es a veces decir “nada”, se detalla a continuación un

listado que según James Broad y Andrew Bindner [13] debemos conseguir

como objetivo:

• Estructura de la organización incluyendo detalles de alto nivel, departamentales y tablas de organización jerárquica (Directores, jefes, líderes de proyectos, etc.).

• Infraestructura organizacional incluyendo rango de direcciones IP y topología de red.

• Tecnología utilizada incluyendo plataforma de hardware y paquetes de software.

• Direcciones de correo electrónico de empleados. • Auspiciantes, colaboradores y empresas afiliadas de la Organización. • Ubicación física de la organización o de sus departamentos. • Números de teléfono.

2. Escaneo.- En esta fase se procede a realizar el reconocimiento de los host que se

encuentran activos en las diferentes redes de la compañía, para luego comenzar

a revisar los puertos y las aplicaciones que están escuchando por dichos

puertos, identificar servicios y sistemas operativos para detectar

vulnerabilidades de los mismos. Posterior a ello poder elaborar un diagrama de

red y de equipos vulnerables. Dentro de esta fase, aparece una sub-fase llamada

Page 27: Análisis de las herramientas para el proceso de auditoria de ...

16

enumeración, en donde el hacker ético se encarga de aprovechar las debilidades

encontradas para obtener más información del cliente como cuentas de

usuarios, recursos compartidos, hashes4 de claves, entre otras. Algunos autores

juntan esta fase con la de reconocimiento activo, debido a que se trabaja

directamente con conexiones vinculadas al sistema objetivo.

3. Obtener acceso.- Esta fase también conocida como explotación o hacking donde

se ejecutan exploits5 que buscan aprovechar la vulnerabilidad de un sistema

para conseguir un comportamiento o lograr acceder a más información. Es en

esta fase donde se utilizan los frameworks de explotación.

4. Escribir informe.- El hacker ético se encarga de elaborar un documento final

con los hallazgos encontrados debido a una baja o nula seguridad en los

sistemas, indicando sugerencias para la corrección de las debilidades

encontradas. Además del informe detallado y técnico, se elabora un resumen

ejecutivo completo donde se especifican las vulnerabilidades encontradas de

forma general.

La parte quizás más difícil del período de auditoría es el Informe Final y no

porque sea difícil narrar lo sucedido sino porque el éxtasis de las pruebas y la

obtención de resultados pueden hacernos recopilar información de forma

desordenada. Es por ello que según la autora de Hacking Ético 101 [8], se

recomienda realizar lo siguiente:

• Crear un solo repositorio para el proyecto de auditoría y dentro de esta carpeta superior una carpeta con cada fase de la auditoría.

• Llevar una bitácora o registro de las pruebas realizadas con fecha.

• Capturar imágenes y/o video, de las pruebas que se realizan o los comandos que se aplican.

• Llevar un registro de los hallazgos, distinto a la bitácora ya que aquí solo se detallará las pruebas que hallamos realizado y hayan detectado alguna vulnerabilidad.

• Usar herramientas de documentación.

• Usar una plantilla para realizar el informe.

5. Presentación del Informe.- Como última fase se debe presentar y entregar los

documentos elaborados de acuerdo al protocolo burocrático de la compañía

cliente y de la que está realizando el hacking ético.

4 Un hash es una función computable mediante un algoritmo matemático que transforma cualquier bloque de datos en una en una nueva serie de caracteres con una longitud fija. 5 Un exploit es un procedimiento que permite aprovechar una vulnerabilidad detectada y efectuar un ataque.

Page 28: Análisis de las herramientas para el proceso de auditoria de ...

17

Existe una variación cuando se sigue el proceso de hacking, se trata de una etapa

llamada en algunos libros como “Mantener acceso” o “Post Explotación”, ésta se ubica

después de la fase de explotación, sin embargo como podemos percatarnos no forma

parte del ciclo de vida del hacking ético.

Para llevar a cabo las primeras fase el hacker ético debe valerse de herramientas de

software que le permitan la detección de vulnerabilidades en el sistema, entre las

herramientas más utilizadas y completas para realizar distintas pruebas de intrusión

encontramos a Kali Linux.

2.2.9 Pen-­‐testing  o  Pruebas  de  Intrusión  Pruebas de Intrusión, Pen-testing o Penetration Testing son los nombres que se le

atribuye al conjunto de pruebas que se realizan para explotar la vulnerabilidad

detectada, escalando privilegios y manteniendo acceso al mismo para demostrar la

falencia o ausencia de seguridad con la que cuenta un sistema. La razón por la que se

presenta en una subsección es porque es un término muy conocido y utilizado en el

área del hacking ético y no ético que amerita ser resaltado para no crear confusión y

proveer a quienes son nuevos en este campo el compendio de términos necesario para

su inmersión en dicha área.

 

Page 29: Análisis de las herramientas para el proceso de auditoria de ...

18

3 Kali    Linux  

3.1 Definición  y  características  Kali Linux es una distribución de Linux que utiliza como base Debian 7.0 y fue

desarrollada por Offensive Security, grupo que mantiene el soporte y ofrece certificación

para la capacitación en el sistema. Ha sido diseñada especialmente para la realización

de pruebas de intrusión, computación forense y auditorías de seguridad informática.

Éste continúa con la línea de su predecesor Backtrack (Sección 3.2), sin embargo sus

creadores comentan que no solo es un cambio de nombre sino que la distribución fue

reconstruida por completo cumpliendo con los estándares de desarrollo de Debian y

añadiendo seguridad y madurando la concepción de su antecesor.

Kali, como se lo suele llamar brevemente, fue liberada el 13 de Marzo del 2013 y

cuenta con las siguientes características [14]:

• Robusto: Cuenta con un gran número de herramientas para pentesting, las cuales fueron depuradas (aquellas que estaban en Bactrack) y aún así es impresionante el número de herramientas que incluye.

• Gratuito: Los creadores afirman que esto es un hecho no modificable en el tiempo, además cuenta con herramientas de código abierto y con otras que a pesar de no ser código abierto a través de licencias específicas y en acuerdo con sus vendedores se pueden utilizar en esta distribución. Todo el software integrado se encuentra bajo la licencia GNU GPL.

• De Código Abierto: Cuenta con un repositorio donde se encuentra todo el código de Kali disponible para su reconstrucción o modificación.

• FHS: Cuyas siglas significan en español estándar Jerárquico de Sistemas de Archivos, bajo estas especificaciones se puede predecir la localización de los archivos de instalación y directorios.

• Soporta un amplio grupo de dispositivos inalámbricos y les permite correr apropiadamente sobre una gran variedad de hardware; permite la compatibilidad con puertos USB y otros dispositivos inalámbricos.

• Desarrollado bajo un ambiente seguro: La interacción con los repositorios para la ejecución de cambios en paquetes la realiza el equipo de Kali Linux través de múltiples protocolos seguros.

• Paquetes y repositorios son firmados con una herramienta de cifrado de archivos llamada GNU Privacy Guard (GPG) por cada desarrollador.

• Soporta múltiples idiomas, a pesar que la mayoría de herramientas fueron escritas en ingles.

• Personalizable: Es posible descargar una versión completamente personalizada de Kali donde solo incluya paquetes de interés del usuario.

• Soporta sistemas basados en ARM y ARMHF.

3.2 Su  antecesor,  Bactrack  Fue desarrollado también por Offesinve Security sin embargo se encuentra

actualmente sin soporte ya que Kali fue creada para su mismo fin. Esta distribución de

Page 30: Análisis de las herramientas para el proceso de auditoria de ...

19

Linux se basó en Ubuntu Lucid LTS y llegó hasta su versión número 5, el sitio oficial

continua disponible en http://www.backtrack-linux.org sin embargo hay un gran anuncio

que indica que Kali es su predecesor [15].

Tabla 3. Fecha de Publicación de Versiones BackTrack [15]

3.3 Sitio  Oficial    y  enlaces  de  referencia  Kali Linux cuenta con un sitio oficial en la web desde donde se puede encontrar

información relevante:

• Sitio Oficial: http://www.kali.org • Documentación: http://docs.kali.org • Blog: https://www.kali.org/blog/ • Foro: http://forums.kali.org • Código Fuente: http://git.kali.org/gitweb/ • Descargas: https://www.kali.org/downloads/ • Rastreador de Fallos: http://bugs.kali.org • Twitter: @KaliLinux • Facebook: http://www.facebook.com/KaliLinux

3.4 Versiones  Desde su liberación el 13 de Marzo de 2013 la versión 1 ha recibido algunas

actualizaciones como podemos visualizarlo a detalle con la siguiente tabla.

Tabla 4. Versiones de Kali Linux [14]

Versión Fecha de Publicación Descripción de la actualización

1.0.0 13 de Marzo del 2013 Versión Inicial

1.0.1 14 de Marzo del 2013 Modificación: Después de la instalación era

imposible mover mouse y teclado.

1.0.2 27 de Marzo del 2013 Inclusión de dos paquetes “-b43-fwcutter”

(Utilidad para extraer firmware6 43xx

Broadcom) y “-firmware-b43-installer”(b43

driver).

6 Software diseñado para un hardware especifico.

Versión Fecha

BackTrack 26 de Mayo del 2006

BackTrack 2 6 de Marzo del 2007

BackTrack 3 19 de Junio del 2008

BackTrack 4 22 de Noviembre del 2010

BackTrack 5 10 de Mayo del 2011

Page 31: Análisis de las herramientas para el proceso de auditoria de ...

20

1.0.3 26 de Abril del 2013 Junto al equipo de desarrolladores de

GNOME solucionaron un inconveniente de

Debian con GNOME Display Manager, el cual

fue incluido también en Kali. Además de

incluir la opción en los “Escritorios Live” de

un speech engine7 para el proceso de

instalación de Kali.

1.0.4 25 de Julio del 2013 Inclusión de herramientas adicionales para

las pruebas de intrusión, actualización de

otras herramientas y la inclusión de más

imágenes de disco para dispositivos de

arquitectura ARM (BeagleBone Black, CuBox, y

Efika MX).

1.0.5 5 de Septiembre del 2013 Adición de herramientas, corrección de

errores y actualizaciones, entre ellas

incorporó herramientas y drivers para su

sección de SDR (Software defined Radio),

imágenes de disco para más dispositivos

ARM y herramientas para manipular tarjetas

MIFARE8.

1.0.6 9 de Enero del 2014 La mencionan como una de las

actualizaciones más pesadas debido a la

cantidad de mejoras incorporadas, entre ellas:

scripts para la instalación de Kali en

dispositivos ARM, parche para cryptsetup9

que permite que opciones de luksAddNuke10

estén disponibles para los usuarios de Kali,

parches para herramientas de VMWare en

Kali, conjunto de scripts que permiten crear

máquinas virtuales para los servicios de

computación en la nube de Amazon y

Google, separan las imágenes de disco de

Kali elaboradas por el grupo de Offensive

Security y el grupo de Kali, además de añadir

ciertas características que facilitan la

7 Software que permite la lectura y reproducción de un texto. 8 Tarjetas que utilizan tecnología RFID conocidas como tarjetas inteligentes. 9 Utilidad usada para gestionar el cifrado de discos basado en el kernel de Linux DMCrypt. 10 LUKS, Linux Unified Key Setup, es un estándar para el cifrado de discos duros y “luksAddNuke” es la opción que permite tener una clave solicitada en el tiempo de booteo que si es ingresada deja inaccesible toda la data del disco.

Page 32: Análisis de las herramientas para el proceso de auditoria de ...

21

actualización de paquetes.

1.0.7 27 de Mayo del 2014 Versión de Kernel 3.14, actualizan

herramientas, corrigen paquetes y permiten

la creación de un USB Live que permite la

instalación limpia de Kali en una unidad USB

con la posibilidad de cifrar el contenido.

1.0.8 22 de Julio del 2014 Soporte en arranque EFI lo cual permite

ejecutar Kali en hardware moderno que

requiera EFI como los modelos de Macbook

Air y Retina, además se realizan

actualizaciones y correcciones a

herramientas.

1.0.9 25 de Agosto del 2014 Corrección de errores detectados en la ISOs

1.0.8, además se realizan actualizaciones a

herramientas.

1.0.9a 6 de Octubre del 2014 Correcciones a la seguridad que hacían

vulnerables a imágenes de disco Kali Linux y

NetHunter, así como la imagen para las

máquinas virtuales de Amazon.

1.1.0 9 de Febrero del 2015 Esta nueva versión corre la versión 3.18 de

kernel y ofrece parches para ataque de

inyección inalámbricas, soporte para

hardware NVIDIA Optimus, mejora el

soporte de driver inalámbricos, actualiza las

herramientas de Virtual Box, Openvm y

VMWare e incluye instrucciones, cambio en

las pantallas GRUB y protectores de

pantallas, entre otros.

1.1.0a 13 de Marzo del 2015 Corrección de inconsistencias en el kernel

ABI11 de los instaladores.

3.5 Metapackages    Kali cuenta con metapackages los cuales agilitan la instalación de determinadas

herramientas de un campo específico o de acuerdo a las necesidades de cada usuario.

Esta distribución ofrece los siguientes metapackages o meta paquetes [14]:

• kali-linux: Permite la instalación básica de Kali Linux, incluye varios servicios de red y aplicaciones de control de versión. El tamaño de este conjunto de

11 Binarios compilados en código de máquina que contiene un conjunto de instrucciones.

Page 33: Análisis de las herramientas para el proceso de auditoria de ...

22

paquetes es de 1.5GB. Cabe recalcar que el resto de meta paquetes que se mencionarán a continuación contienen a este paquete básico.

• kali-linux-all: Este meta paquete permite la instalación de todas las herramientas disponibles incluyendo a aquellas que dependen del hardware que se posea como las relacionadas al procesamiento gráfico. Este paquete tiene un tamaño de 15 GB.

• kali-linux-forensic: Para quienes solo desean realizar el proceso de análisis forense, este meta paquete contiene todo lo necesario y pesa 3.1GB.

• kali-linux-full: El conjunto de herramientas contenidas por este meta paquete son las mismas que se posee cuando se descarga una imagen de disco ISO desde la página de descargas y su tamaño es de 9GB.

• kali-linux-gpu: Contiene las herramientas para el manejo de la unidades de procesamiento gráfico que dependen de un específico hardware, su tamaño es de 4.8GB.

• kali-linux-pwtools: Este paquete contiene al paquete anterior (kali-linux-gpu) y además contiene herramientas para el descifrado de contraseñas. Su tamaño es de 6GB.

• kali-linux-rfid: Para quienes trabajen en investigaciones relacionadas con la tecnología RFID y requieran hacer pruebas, este paquete contiene las herramientas necesarias y su tamaño es de 1.5 GB.

• kali-linux-sdr: Contiene herramientas de Software defined Radio o Software definido por Radio, su tamaño es de 2.4 GB.

• kali-linux-top10: Kali nos provee un conjunto de 10 herramientas más utilizadas entre las que encontramos a: aircrack-ng, burpsuite, hydra, John, maltego, metasploit framework, nmap, oswasp-zap, sqlmap, wireshark. Tamaño de la instalación: 3.5GB.

• kali-linux-voip: Cuenta con un conjunto de más de 20 herramientas para realización investigaciones y pruebas de VOIP o Voz sobre IP. Tamaño de la Instalación: 1.8 GB.

• kali-linux-web: Contiene decenas de herramientas relacionadas a las pruebas de intrusión sobre servidores de aplicaciones web. Y su tamaño es de 4.9 GB.

• kali-linux-wireless: Provee de herramientas para evaluar las conexiones inalámbricas. El tamaño de la instalación es de 6.6GB.

En el siguiente enlace Meta paquetes de Kali el equipo de Kali Linux provee en

detalle las herramientas instaladas para cada meta paquete.

3.6 Tipo  de  descarga  Kali puede ser descargada en distintas presentaciones dotando de total libertad al

usuario, entre las distintas posibilidades de descarga tenemos:

• Imágenes de disco ISO para 64 y 32 bits (versión completa, mini, armel y armhf)

• Máquinas Virtuales para VMware Player y Virtual Box. • Imágenes para hardware ARM como: Utilite Pro y Trimslice de CompuLab,

Chromebooks de Hp, Samsung y Acer, Cubieboard y Mini-X de Allwinner, CuBox de SolidRun, RaspberryPi, ODROID de HardKernel, Beaglebone

Page 34: Análisis de las herramientas para el proceso de auditoria de ...

23

Black, USBArmory de InversePath, RioTboard. • Imágenes de Disco personalizables a través de comandos de consola.

Cabe resaltar que esta distribución puede ser instalada en discos duros, memorias

USB y SD Cards con 4GB o superior.

3.7 Actualización  de  Repositorios  de  Kali  Linux  Para que nuestra instalación de Kali Linux pueda recibir las actualizaciones y

parches necesarios, debemos verificar la lista de repositorios que tenemos en

/etc/apt/sources.list, siguiendo las recomendaciones de la sección de documentación

“Kali sources.list Repositories” [14] es necesario verificar que las siguientes líneas se

encuentren en nuestro archivo:

deb http://http.kali.org/kali kali main non-free contrib

deb http://security.kali.org/kali-security kali/updates main contrib non-free

En caso de que se necesite el código fuente de los paquetes actualizado ya sea para

revisarlos o continuar con algún desarrollo de alguna herramienta, debemos añadir al

archivo mencionado anteriormente las siguientes líneas:

deb-src http://http.kali.org/kali kali main non-free contrib

deb-src http://security.kali.org/kali-security kali/updates main contrib non-free

Existen algunas herramientas que no se han migrado de forma oficial a los

Repositorios de Debian como “aircrack-ng, dnsrecon, sqlmap, beef-xss” y SET (Social

Engineering Toolkit), estos se mantienen a través de repositorios llamados Bleeding

Edge repositories, para incorporar estos repositorios se debe incluir las siguientes

líneas [14,16]:

deb http://repo.kali.org/kali kali-bleeding-edge main

3.8 Herramientas  por  categoría  Las herramientas dentro de Kali Linux han sido divididas en 13 categorías

presentadas a continuación [17]:

1. Recopilación de Información (Information Gathering): Contiene un conjunto de herramientas que permiten la detección de información relacionada con: Servidores de Nombres de Dominio (DNS), Sistema de detección y prevención de Intrusos (IDS/IPS), escáner de red, escáner de sistema operativo, ruteo, SSL12, SMB13, VPN o Red Privada Virtual, VoIP,

12 Secure Socket Layer (SSL) es un protocolo que provee de seguridad a la comunicación en una red de computadoras. 13 Es un protocolo de la capa de aplicación que permite compartir archivos y recursos.

Page 35: Análisis de las herramientas para el proceso de auditoria de ...

24

SNMP14 y correo electrónico. 2. Análisis de Vulnerabilidades (Vulnerability Analysis): Provee de

herramientas para la evaluación de vulnerabilidades sobre un sistema así como herramientas para evaluar redes Cisco y evaluar vulnerabilidades de servidores de base de datos.

3. Husmeando & envenenando (Sniffing & Spoofing): Incluye herramientas para el rastreo de red, tráfico web y herramientas para la suplantación de identidad en la red.

4. Ataques Inalámbricos (Wireless Attacks): Contiene herramientas para la evaluación de redes inalámbricas, bluetooth y RFID15/NFC16.

5. Decodificación de Contraseñas (Password Attacks): Provee herramientas para el descifrado de contraseñas con conexión y sin conexión.

6. Aplicaciones Web (Web Applications): Contiene software como escáner de gestión de contenido, intrusión a base de datos, fuzzers17 de aplicaciones web y otros escáners de vulnerabilidades web.

7. Herramientas de Explotación (Exploitation Tools): Provee programas que permiten realizar la intrusión hacia redes, servidores web, base de datos, entre otros.

8. Manteniendo acceso (Maintaining Access): Como su nombre lo indica proveerá de herramientas que permitirán (teniendo acceso administrador o root en el sistema) conservar esa conexión o comunicación establecida; además ofrece herramientas para tunneling18.

9. Pruebas de Estrés (Stress Testing): Contiene herramientas que permiten la prueba de sistemas para determinar la estabilidad y los puntos de fallo de la red, del enlace inalámbrico y de ambientes de VoIP.

10. Ingeniería Inversa (Reverse Engineering): La Ingeniería Inversa permite crear representaciones de un sistema en su nivel más alto de abstracción, con herramientas como estas se puede depurar un sistema o desmontar un archivo ejecutable.

11. Intrusión para Hardware (Hardware Hacking): Provee herramientas que permiten trabajar con hardware Android y Arduino.

12. Herramientas para la elaboración de reportes (Reporting tools): Dispone de herramientas que agilitan y permiten almacenar los resultados de las pruebas de intrusión realizadas.

13. Herramientas Forenses (Forensics Tools): Como su nombre lo indica provee de software útil para la realización de un análisis forense como obtener /analizar imágenes de disco duro y re ensamblaje de archivos.

14 Simple Network Management Protocol (SNMP) es un protocolo que permite la administración de red. 15 Radio-Frequency IDentification o Identificación por radio frecuencia, se refiere a dispositivos electrónicos compuestos por pequeños chips y antenas que almacenan información y puede ser leída a través de un escáner o lector de dicha tecnología. 16 Near field communication o Comunicación de campo cercano se trata de una tecnología de corto alcance que permite el intercambio de datos entre dispositivos.

17 Programa que intenta encontrar vulnerabilidades en la web como buffer overflow, DoS, SQL Injection, XSS, y errores que permitirán realizar alguna acción o impedir los servicios de la web. Basa su técnica en el envío de parámetros o datos malformados esperando ver si puede hacer que el sistema falle, encontrar algún acceso, entre otro. 18 Se refiere a la transmisión de información a través de un canal privado desde una red a otra, permite el encapsulamiento de información privada para el envío a través de una red pública como Internet.

Page 36: Análisis de las herramientas para el proceso de auditoria de ...

25

A continuación se presenta una tabla que muestra la cantidad de herramientas por

categoría con las que cuenta Kali Linux según su listado de herramientas disponible en

http://tools.kali.org/tools-listing.

Tabla 5. Cantidad de herramientas por categoría [14]

Existen algunas herramientas que coinciden en varias categorías debido a su amplio

alcance y a través de la siguiente tabla podremos visualizar en orden alfabético el

número de herramientas y a que categoría corresponden siguiendo la numeración

anterior.

Tabla 6. Listado de herramientas por categoría

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  1 Acccheck   X  

     X  

               2 Ace-­‐voip   X                          3 Aircrack-­‐ng  

     X  

                 4 Amap   X                          5 Android-­‐sdk  

                   X  

   6 Apache-­‐users            

X                7 Apktool  

                 X   X  

   8 Arachni            

X                9 Arduino  

                   X  

   10 Armitage              

X              11 Asleap  

     X  

                 12 Automater   X                          13 Backdoor  factory  

           X  

           14 Bbqsql    

X        

X                

Categoría Cantidad de Herramientas

1. Recopilación de Información 58 2. Análisis de Vulnerabilidades 35 3. Husmeando & envenenando 32 4. Ataques Inalámbricos 32 5. Decodificación de Contraseñas 36 6. Aplicaciones Web 40 7. Herramientas de Explotación 16 8. Manteniendo acceso 17 9. Pruebas de estrés 14 10. Ingeniería Inversa 11 11. Intrusión para Hardware 6 12. Herramientas para la elaboración de Reportes 9 13. Herramientas Forenses 23

Page 37: Análisis de las herramientas para el proceso de auditoria de ...

26

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  15 Bed  

 X  

                     16 Beef              

X              17 Bing-­‐ip2hosts   X  

                       18 Binwalk                          

X  19 Blindelephant  

         X  

             20 Bluelog        

X                    21 Bluemaho  

     X  

                 22 Bluepot        

X                    23 Blueranger  

     X  

                 24 Bluesnarfer        

X                    25 Braa   X  

                       26 Bulk-­‐extractor                          

X  27 Bully  

     X  

                 28 Burp  suite      

X    

X   X                29 Capstone  

                       X  

30 Casefile   X                      

X    31 Cdpsnarf   X  

                       32 Cewl          

X                  33 Chntpw  

       X  

             X  

34 Cisco-­‐auditing-­‐tool    

X      

X    

X              35 Cisco-­‐global-­‐exploiter  

 X  

       X  

           36 Cisco-­‐ocs    

X          

X              37 Cisco-­‐torch   X   X  

       X  

           38 Cmospwd          

X                  39 Cookie  cadger   X  

                       40 Copy-­‐router-­‐config   X   X                        41 Cowpatty  

     X  

                 42 Crackle        

X      

X              43 Creddump  

       X  

               44 Crunch          

X                  45 Cryptcat  

             X  

         46 Cuckoo                          

X  47 Cutycapt  

         X  

         X  

 48 Cymothoa                

X            49 Davtest  

         X  

             50 Dbd                

X            51 Dbpwaudit  

 X  

   X  

               52 Dc3dd                          

X  53 Ddrescue  

                       X  

54 Deblaze            

X                55 Dex2jar  

                 X   X  

   56 Dff                          

X  57 Dhcpig  

               X  

       58 Dirb            

X                

Page 38: Análisis de las herramientas para el proceso de auditoria de ...

27

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  59 Dirbuster  

         X  

             60 Distorm3                    

X      

X  61 Dmitry   X  

                       62 Dnmap   X                          63 Dns2tcp  

             X  

         64 Dnschef      

X                      65 Dnsenum   X  

                       66 Dnsmap   X                          67 Dnsrecon   X                          68 Dnstracer   X                          69 Dnswalk   X                          70 Doona  

 X  

                     71 Dos2unix                        

X    72 Dotdotpwn   X   X  

                     73 Dradis                        

X    74 Dumpzilla  

                       X  

75 Eapmd5pass        

X                    76 Edb-­‐debugger  

                 X  

     77 Enum4linux   X                          78 Enumiax   X                          79 Exploitdb   X                          80 Extundelete  

                       X  

81 Fern  wifi  cracker        

X                    82 Fierce   X  

                       83 Fiked      

X                      84 Fimap  

         X  

             85 Findmyhash          

X                  86 Firewalk   X  

                       87 Foremost                          

X  88 Fragroute   X  

                       89 Fragrouter   X                          90 Funkload  

         X  

   X  

       91 Galleta                          

X  92 Ghost  phisher   X  

   X  

                 93 Giskismet        

X                    94 Golismero   X  

                       95 Goofile   X                          96 Gpp-­‐decrypt  

       X  

               97 Gqrx        

X                    98 Gr-­‐scan  

     X  

                 99 Grabber            

X                

100 Greenbone  security  assistant  

 X  

                     101 Gsd    

X                        

Page 39: Análisis de las herramientas para el proceso de auditoria de ...

28

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  102 Guymager  

                       X  

103 Hamster-­‐sidejack      

X                      104 Hash-­‐identifier  

       X  

               105 Hexinject      

X                      106 Hexorbase  

 X  

   X  

               107 Hping3   X                          108 Http-­‐tunnel  

             X  

         109 Httptunnel                

X            110 Iaxflood  

   X  

         X  

       111 Inguma    

X                        112 Intersect  

             X  

         113 Intrace   X                          114 Inundator  

               X  

       115 Inviteflood      

X            

X          116 Iphone  Backup  Analyzer  

                       X  

117 Ipv6-­‐toolkit                  

X          118 Ismtp   X  

 X  

                   119 Isr-­‐evilgrade      

X                      120 Jad  

                 X  

     121 Javasnoop                    

X        122 Jboss-­‐autopwn  

         X   X  

           123 Jd-­‐gui                    

X        124 John  the  Ripper  

       X  

               125 Johnny          

X                  126 Joomscan  

         X  

             127 Jsql    

X        

X                128 Kalibrate-­‐rtl  

     X  

                 129 Keepnote                        

X    130 Keimpx  

       X  

               131 Killerbee        

X                    132 Kismet  

     X  

                 133 Lbd   X                          134 Linux  exploit  suggester  

           X  

           135 Lynis    

X                        136 Magictree  

                     X  

 137 Maltego  teeth   X        

X   X   X              138 Maskprocessor  

       X  

               139 Masscan   X                          140 Mdk3  

     X  

       X  

       141 Metagoofil   X                      

X    142 Mfcuk  

     X  

                 143 Mfoc        

X                    144 Mfterm  

     X  

                 145 Miranda   X                          

Page 40: Análisis de las herramientas para el proceso de auditoria de ...

29

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  146 Mitmproxy  

   X  

                   147 Multiforcer          

X                  148 Multimon-­‐NG  

     X  

                 149 Ncrack          

X                  150 Nipper-­‐ng  

                     X  

 151 Nishang                

X            152 Nmap   X   X  

                     153 Ntop   X                          154 Oclgausscrack  

       X  

               155 Ohrwurm    

X   X                      156 Ollydbg  

                 X  

     157 Openvas-­‐administrator    

X                        158 Openvas-­‐cli  

 X  

                     159 Openvas-­‐manager    

X                        160 Openvas-­‐scanner  

 X  

                     161 Oscanner    

X                        162 P0f   X  

                     X  

163 Pack          

X                  164 Padbuster  

         X  

             165 Paros            

X                166 Parsero   X  

       X  

             167 Patator          

X                  168 Pdf-­‐parser  

                       X  

169 Pdfid                          

X  170 Pdgmail  

                       X  

171 Peepdf                          

X  172 Phrasendrescher  

       X  

               173 Pipal                        

X    174 Pixiewps  

     X  

                 175 Plecost            

X                176 Polenum  

       X  

   X  

         177 Powerfuzzer    

X        

X                178 Powersploit  

             X  

         179 Protos-­‐sip      

X                      180 Proxystrike  

         X  

             181 Pwnat                

X            182 Rainbowcrack  

       X  

               183 Rcracki-­‐mt          

X                  184 Reaver  

     X  

       X  

       185 Rebind      

X                      186 Recon-­‐ng   X  

       X  

             187 Redfang        

X                    188 Regripper  

                       X  

189 Responder      

X                      

Page 41: Análisis de las herramientas para el proceso de auditoria de ...

30

Col Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  190 Ridenum  

             X  

         191 Rsmangler          

X                  192 Rtlsdr  scanner  

     X  

                 193 Rtpbreak      

X                      194 Rtpflood  

               X  

       195 Rtpinsertsound      

X                      196 Rtpmixsound  

   X  

                   197 Sakis3G                      

X      198 Sbd  

             X  

         199 Sctpscan      

X                      200 Set   X  

         X  

           201 Sfuzz    

X                        202 Shellnoob  

           X  

           203 Sidguesser    

X                        204 Siparmyknife  

 X   X  

                   205 Sipp      

X                      206 Sipvicious  

   X  

                   207 Skipfish            

X                208 Slowhttptest  

               X  

       209 Smali                    

X   X      210 Smtp-­‐user-­‐enum   X  

                       211 Sniffjoke      

X                      212 Snmpcheck   X  

                       213 Spooftooph        

X                    214 Sqldict  

       X  

               215 Sqlmap    

X        

X   X              216 Sqlninja  

 X  

     X  

             217 Sqlsus    

X        

X                218 Sslcaudit   X  

                       219 Sslsplit   X    

X                      220 Sslstrip   X  

 X  

                   221 Sslyze   X                          222 Statsprocessor  

       X  

               223 T50                  

X          224 Termineter  

               X  

       225 Thc-­‐hydra          

X                  226 Thc-­‐ipv6   X   X   X  

     X  

 X  

       227 THC-­‐pptp-­‐bruter          

X                  228 Thc-­‐ssl-­‐dos  

               X  

       229 Theharvester   X                          230 Tlssled   X                          231 Tnscmd10g  

 X  

                     232 Truecrack          

X                  233 Twofi   X  

                       

Page 42: Análisis de las herramientas para el proceso de auditoria de ...

31

Herramientas   1   2   3   4   5   6   7   8   9   10   11   12   13  234 U3-­‐pwn  

             X  

         235 Ua-­‐tester            

X                236 Uniscan  

         X  

             237 Unix-­‐privesc-­‐check    

X                        238 Urlcrazy   X  

                       239 Valgrind                    

X        240 Vega  

         X  

             241 Voiphopper      

X                      242 Volatility  

                       X  

243 W3af            

X                244 Webscarab  

   X  

 X   X  

             245 Webshag            

X                246 Webshells  

             X  

         247 Webslayer            

X                248 Websploit  

         X  

             249 Weevely                

X            250 Wfuzz  

         X  

             251 Wifi  honey      

X   X                    252 Wifitap  

     X  

                 253 Wifite        

X                    254 Winexe  

             X  

         255 Wireshark   X    

X                      256 Wol-­‐e   X  

                       257 Wordlists          

X                  258 Wpscan  

         X  

             259 Xplico   X                        

X  260 Xspy  

   X  

                   261 Xsser            

X                262 Yara  

                 X  

     263 Yersinia    

X   X        

X              264 Zaproxy  

   X  

 X   X  

             265   Zenmap   X   X                           Total   58   35   32   32   36   40   16   17   14   11   6   9   23  

Como podemos ver Kali cuenta con un listado de 265 herramientas (sin contar las

herramientas del sistema y utilerías) que vienen incluidas y que sin lugar a dudas

forman todo un compendio de programas que nos ayudarán en el proceso de Hacking

Ético. Este trabajo no cubre todas las herramientas pero si las relacionadas al hacking

ético y dentro de ello las más relevantes, con más popularidad y uso en el mercado.

 

Page 43: Análisis de las herramientas para el proceso de auditoria de ...

32

3.8.1 Catálogo  de  Herramientas  En este catálogo se presentarán de forma resumida herramientas que pueden ser de

utilidad en el proceso de hacking ético, análisis forense y hacking no ético. Debido a

larga lista de herramientas que vienen incorporadas y que se listaron anteriormente, se

presentará únicamente aquellas con mayor relevancia que no serán presentadas para

un análisis posterior exceptuando el Top 10 de Kali.

Aquellas aplicaciones que pertenezcan al grupo de las 10 mejores aplicaciones de

seguridad (Top 10 Security Tools) se señalarán con un asterisco entre paréntesis (*).

Tabla 7. Catálogo Resumido de Herramientas por Categoría

Nombre de la

herramienta

Función Página Web Oficial

Categoría: Recopilación de Información

(*) Maltego Programa OSINT que permite recolectar

información pública de entidades y

determinar relaciones, las cuales pueden

ser graficadas a través de elementos

intuitivos en un área de trabajo.

http://paterva.com

/web6/products/m

altego.php

CaseFile Permite la fácil y ágil representación de

escenarios, se considera el hermano menor

de Maltego ya que en éste se trabaja sin

conexión (sin la recopilación de

información de fuentes externas-

transformaciones).

http://paterva.com

/web6/products/ca

sefile.php

Cookie Cadger Programa de código abierto que permite

detectar la fuga de información de

aplicaciones que utilizan solicitudes HTTP

inseguras; esta herramienta aprovecha el

poder de la suite de Wireshark y Java para

supervisar redes Ethernet cableadas,

inalámbricas, o cargar un archivo de

captura de paquetes para análisis offline.

https://www.cooki

ecadger.com

Hping3 Herramienta en línea de comandos que

permite la creación y el análisis paquetes

TCP/IP, y como tal tiene muchas

utilidades: hacer testing de firewalls,

escaneo de puertos, redes, cuenta con el

modo traceroute, detección remota de

sistema operativo, entre otras

http://www.hping.

org

Page 44: Análisis de las herramientas para el proceso de auditoria de ...

33

características.

Categoría: Análisis de Vulnerabilidades

(*)Nmap Gratuito y de código abierto permite el

descubrimiento de elementos de red,

gestión de servicios de actualización y

monitoreo de host, entre otras. Este

escáner de red es de gran utilidad para

administradores y auditores de seguridad.

http://nmap.org

OpenVas

Scanner

Framework de diversos servicios y

herramientas que ofrecen una solución

completa y potente de análisis y gestión de

vulnerabilidades de red.

http://www.openva

s.org

Categoría: Husmeando & envenenando

DNSChef Es un proxy DNS configurable para

pruebas de intrusión y análisis de

malware. Un proxy DNS o DNS falso es

una herramienta que se utiliza para el

análisis de tráfico de red y puede servir

para desviar o interceptar solicitudes.

http://thesprawl.or

g/projects/dnschef/

SSLSplit Herramienta para ataques de hombre en el

medio contra conexiones de red SSL/TLS

cifradas. Las conexiones se interceptan

transparentemente a través de un motor

de traducción de direcciones de red y son

redirigidos a SSLSplit, el cual inicia una

nueva conexión SSL/ TLS para la

dirección de destino original. SSLSplit está

destinado a ser útil para el análisis forense

de red y pruebas de penetración.

http://www.roe.ch

/SSLsplit

(*)Wireshark Es un analizador de protocolos de red de

mucha popularidad debido a que permite

visualizar que esta sucediendo en una red

de forma detallada, y realizar un análisis

offline, entre otras posibilidades.

https://www.wires

hark.org

Categoría: Ataques Inalámbricos

(*)Aircrack-ng Programa que permite irrumpir redes

inalámbricas que cuenten con un sistema

de cifrado WEP o WPA-PSK.

http://aircrack-

ng.org

Bluelog Es un escáner bluetooth de Linux diseñado http://www.digifail

Page 45: Análisis de las herramientas para el proceso de auditoria de ...

34

para ejecutarse por largos periodos en una

ubicación estática para determinar cuantos

dispositivos bluetooth existen en el área,

hacer encuestas del sitio y monitorear el

tráfico, cuenta con el modo daemon para

su ejecución background y tiene un front-

end web.

.com/software/blue

log.shtml

Kismet Detector de redes inalámbricas, sniffer y

sistema de detección de intrusos, es capaz

de detectar tráfico de redes 802.11b,

802.11a, 802.11g y 802.11n.

http://www.kismet

wireless.net

Categoría: Decodificación de Contraseñas

(*) John The

Ripper

Software libre y de código abierto,

distribuido principalmente en forma de

código fuente, sirve para la decodificación

rápida de contraseñas y se encuentra

disponible para diferentes distribuciones

de Unix y Windows.

http://www.openw

all.com/john/

Johnny Es una herramienta multiplataforma y de

código abierto que provee la interfaz

gráfica para John The Ripper.

http://openwall.inf

o/wiki/john/johnn

y

RainbowCrack Es un decodificador de hashes que utiliza

un algoritmo que compensa tiempo-

memoria a través de tablas rainbow lo que

lo hace diferente del resto de

decodificadores de fuerza bruta.

http://project-

rainbowcrack.com/i

ndex.htm

(*)THC-Hydra Programa que permite vulnerar

contraseñas de red y soporta una gran

cantidad de protocolos, es de gran utilidad

para investigadores y consultores en

seguridad.

https://www.thc.or

g/thc-hydra/

Categoría: Aplicaciones Web

(*)Burpsuite Plataforma integral que permite realizar

análisis de seguridad a las aplicaciones

web.

http://portswigger.

net/burp/

Fimap Es una herramienta escrita en Python que

puede encontrar, preparar, auditar y

explotar vulnerabilidades de un aplicativo

web.

http://git.kali.org/g

itweb/?p=packages

/fimap.git;a=summa

ry

Page 46: Análisis de las herramientas para el proceso de auditoria de ...

35

(*)Zaproxy o

Owasp-Zap

Permite el descubrimiento de

vulnerabilidades de un sitio web y puede

ser útil como herramienta para la

realización de pruebas de intrusión sobre

el sitio.

https://github.com

/zaproxy/zaproxy

Categoría: Herramientas de Explotación

Beef (Browser

Explotation

Framework)

Este framework permite realizar la

evaluación de seguridad de un sitio web

usando vectores de ataque de lado del

clientes.

http://beefproject.c

om

(*)Metasploit

Framework

Framework completo que permite la

intrusión de sistemas y mantener el acceso

a los mismos.

https://www.metas

ploit.com

(*) Sqlmap Es una herramienta de código abierto que

automatiza el proceso de detección y

explotación de fallos a través de inyección

SQL permitiendo tomar el control de los

servidores de bases de datos.

http://sqlmap.org

Categoría: Manteniendo acceso

CryptCat Es una sencilla utilidad Unix (netcat

mejorada) que lee y escribe datos a través

de conexiones de red, utilizando el

protocolo TCP o UDP, mientras que cifra

los datos que están siendo transmitidos

con el sistema de cifrado Twofish.

http://cryptcat.sour

ceforge.net

Intersect Es un framework de post-explotación que

brinda al usuario un amplia gama de

propiedades que le permiten la

personalización de sus scripts.

Mediante el uso de la aplicación Create.py

permite al usuario seleccionar módulos,

importar sus propios módulos

personalizados y en última instancia crear

su propio script de intersección que se

construye alrededor de los módulos

específicos que eligen.

https://github.com

/deadbits/Intersect-

2.5

Categoría: Pruebas de estrés

DHC-Pig Esta herramienta permite realizar un

ataque de agotamiento de direcciones IP

https://github.com

/kamorin/DHCPig

Page 47: Análisis de las herramientas para el proceso de auditoria de ...

36

de una LAN de forma que el servidor de

DHCP se quede sin proveer dirección

alguna a sus usuarios.

Inundator Es un sistema que evade los sistemas de

detección de intrusos y de prevención de

intrusos escribiendo los registros de

ingresos (log) de tal forma que se

produzcan falsos positivos que permitan

realizar un ataque.

http://inundator.so

urceforge.net

THC-SSL-DOS Permite sobrecargar al servidor valiéndose

de la función de renegociación de

conexión SSL, de tal forma que el mismo

quede sin poder brindar servicio alguno a

sus usuarios.

https://www.thc.or

g/thc-ssl-dos/

Categoría: Ingeniería Inversa

Apktool Es una herramienta que permite la

decodificación de archivos binarios de

Android y permite la depuración de

código Smali (ensamblador usado por

dalvik- proceso de la máquina virtual de

Java para Android).

http://ibotpeaches.

github.io/Apktool/

Edb-debugger Es un programa de depuración inspirado

en OllyDbg (De Windows) que funciona

sobre arquitecturas x86/x86-64. Siendo

Linux la única plataforma soportada hasta

la fecha en que se escribe esta memoria.

https://github.com

/eteran/edb-

debugger

Categoría: Intrusión para Hardware

Android-sdk Provee las librerías y herramientas

necesarias para el desarrollo de

aplicaciones para Android.

http://developer.an

droid.com/index.ht

ml

Arduino Plataforma de prototipos electrónicos de

código abierto basado en flexibilidad y

fácil uso de hardware y software, Kali

cuenta con esta herramienta que permite

la escritura código que pueda ejecutarse

en hardware Arduino.

https://www.ardui

no.cc

Categoría: Elaboración de Reportes

MagicTree Puede servir para la fase de recolección de

evidencias ya que permite la importación

http://www.gremw

ell.com/what_is_ma

Page 48: Análisis de las herramientas para el proceso de auditoria de ...

37

de archivos desde herramientas como

Nmap o Nessus, permitiendo elaborar

plantillas para reportes compatibles con

Open Office y Word.

gictree

Recordmydeskto

p

Es una herramienta que a través de líneas

de comandos permite grabar y detener

una grabación del escritorio de Kali. Esto

puede ser utilidad al momento de realizar

el reporte final en caso de que no se haya

tomado nota o se haya obviado algún

detalle.

-

Categoría: Herramientas Forenses

Autopsy

Forensic Browser

Plataforma para análisis forense que

permite el análisis de imágenes de discos y

la ejecución de profundos análisis de

sistemas de archivos NTFS, FAT, Ext3,

entre otras características.

http://sleuthkit.org

/autopsy/

Chkrootkit Programa que permite conocer si existen

modificaciones en los binarios del sistema

operativo y la existencia de un rootkit.

http://www.chkroo

tkit.org

3.9 Análisis  de  herramientas  destacadas    Para llevar acabo esta etapa, se ha agrupado a cada categoría presentada

anteriormente en una de las fases genéricas del Hacking Ético, obviando la última fase

que consiste en la presentación de informes, la cual no requiere de uso de software ya

que se trata de la entrega de la documentación obtenida con la etapa anterior.

Tabla 8. Agrupación de categorías según las fases del Hacking Ético

Fase Genérica del Hacking Ético Categorías de Herramientas en Kali

1. Reconocimiento (1) Recopilación de Información

2. Escaneo (2) Análisis de Vulnerabilidades

(6) Aplicaciones Web

(3) Sniffing & spoofing (Husmeando y

envenando)

(10) Ingeniería Inversa

3. Obtener Acceso (4) Ataques Inalámbricos

(5) Decodificación de Contraseñas

(6) Aplicaciones Web

(7) Herramientas de Explotación

(9) Pruebas de estrés

Page 49: Análisis de las herramientas para el proceso de auditoria de ...

38

(11) Intrusión para Hardware

4. Escribir informe (12) Herramientas para la elaboración de

reportes

Existen categorías que no se apegan al ciclo regular del hacking ético, estas son:

“Manteniendo acceso”(8) y “Herramientas Forenses” (13), que se centran como su

nombre lo indica en conservar la conexión realizada luego de la fase de explotación y a

las acciones a realizar posterior a la intrusión de un sistema, respectivamente; el

hacking ético como ya vimos sigue otro ciclo, sin embargo Kali Linux al ser una

herramienta robusta contempla estas categorías.

Posterior a esta reagrupación se procedió a la selección de herramientas por

categorías las cuales han sido elegidas bajo los criterios de popularidad, utilidad, y el

Top 10 referenciado por el equipo de Kali Linux, la agrupación de categoría es una

mera guía para conocer en que etapa del hacking ético se debe ubicar cada una de las

herramientas.

Estas herramientas serán evaluadas con el siguiente esquema:

Campos Descriptivos:

• Nombre de la herramienta • Captura de pantalla de la herramienta • Función Principal • Características • Versión • Autor • Sitio Web Oficial • Licencia • Opciones Disponibles • Ubicación en el menú de Kali • Escrita en (Lenguaje de Programación) • Compatibilidad con otros Sistemas Operativos • Fase del Hacking Ético a la que contribuye • Datos técnicos • Observaciones (Opcional) • Valoración Final de la herramienta

Campos de Opción Múltiple:

• Modo de ejecución (Consola, GUI, Web) • Manual de Usuario (Si / No) • Nivel de Complejidad (Básico, Intermedio, Avanzado)

Page 50: Análisis de las herramientas para el proceso de auditoria de ...

39

Campos de Calificación: En este caso se usará una escala numérica del 1 al 5, donde

uno represente la ausencia de la característica a evaluar y 5 la aplicación óptima de la

misma.

• Facilidad de Uso • Calidad de resultados • Presentación de los resultados • Manual de Usuario Intuitivo

3.9.1 Etapa  de  Reconocimiento  En esta categoría encontramos 57 herramientas y Kali las ha subdividido en:

Análisis DNS, análisis de ruteo, análisis de telefonía, análisis de tráfico, análisis de

VoIP, análisis de OSINT19, análisis SMB, análisis SMTP, análisis SNMP, análisis SSL,

análisis VPN, detección del sistema operativo, detección del servicio, escáner de redes,

identificación de host en línea, identificación de IPS/IDS.

Como podemos notar estas subdivisiones causan un colapso con la definición de la

segunda etapa del hacking ético (escaneo) pero las iremos viendo según lo propuesto

anteriormente. Cabe resaltar además que debido al marco del trabajo no se expondrán

herramientas que no se encuentran dentro del sistema operativo propuesto.

Antes de empezar con dichas herramientas, es conveniente resaltar aquellos

comandos que pueden ser de gran utilidad y los podemos tener a través de nuestro

terminal o consola de comandos, entre ellas tenemos: whois y nslookup.

La utilización de estas herramientas pertenece a la categoría de técnicas pasivas ya

que utilizan información pública y no interactúan directamente con el objetivo, como

se lo mencionó en el capítulo anterior.

Whois  Se trata de un protocolo TCP basado en petición/respuesta que sirve para consultar

información como datos de propiedad de un nombre de dominio o dirección IP, cuya

especificación se encuentran en la RFC 3912 (El ISP es encargado de registrar estos

datos en la base whois correspondiente cuando se solicita un nuevo nombre de

dominio). Actualmente existen sitios web con interfaces amigables que ofrecen este

servicio, sin embargo podemos utilizar el cliente whois a través de una consola o

terminal colocando el comando whois junto al nombre de dominio a consultar

(dirección IP o dominio.com obviando el “www”), como lo indica la siguiente figura.

19 Open-source Intelligence, se refiere a la técnica de recopilar información de fuentes públicas.

Page 51: Análisis de las herramientas para el proceso de auditoria de ...

40

Figura 7. Aplicación del comando whois

Como podemos observar en algunos casos podemos tener datos de responsables,

direcciones y teléfonos de contacto que podrían ser utilizados para ataques de

ingeniería social si el personal no se encuentra correctamente capacitado.

Distribuciones de Linux y Sistemas Operativos de Mac incluyen este comando, sin

embargo para Windows se puede descargar desde el siguiente enlace.

Nslookup  Otra de las herramientas útiles para conocer al objetivo es nslookup, este comando

permite hacer una consulta al servidor DNS configurado de la información que consta

en sus registros, devolviendo datos como direcciones IP y si añadimos ciertos

comandos (los cuales varían según el sistema operativo) se podrá obtener datos como

nombre de dominio de los servidores DNS, servidores de correo, direcciones de correo

electrónico, etc.

Algunas opciones que pueden extender nuestros resultados con información precisa lo obtenemos del comando: -type= [ NS | MX | ALL/ANY]

• NS: Si deseamos obtener información únicamente de nombres de dominio de

Page 52: Análisis de las herramientas para el proceso de auditoria de ...

41

los servidores DNS. • MX: Para obtener información de los servidores de correo. • ALL/ANY: ALL para Windows, ANY para versiones basadas en Unix, esto

permite obtener toda la información registrada.

Figura 8. Ejecución de comando nslookup

Los datos que aparecen en server y address indican que mi servidor DNS tiene la

dirección IP 62.81.16.213 y se comunica a través del puerto 53 (puerto estándar),

“AAAA” indica que tiene de una dirección IPv6 por lo tanto nmap.org posee tanto una

dirección IPv6 (2600:3c01::f03c:91ff:fe70:d085) como una IPv4 (173.255.243.189) , se

encuentra alojado en el hosting de la empresa Linode y utiliza el servidor de correo de

Google.

Los términos “authorative answers” y “non-authorative answer” indican que:

o “authorative answers”: Nuestro DNS tiene toda la información completa del dominio ya que se encuentra en la misma zona (DNS autorizado).

o “non-authorative answer”: Se ha recibido información de un DNS que no pertenece a la misma zona pero que tiene la información replicada del dominio solicitado.

Page 53: Análisis de las herramientas para el proceso de auditoria de ...

42

Para empezar con el análisis prometido dentro del top 10 de herramientas que nos

sugiere Kali, encontramos a Maltego para esta etapa, pero también contamos con

herramientas populares como dnsnum, Dmitry, goofile, Metagoofil y theHarvester que

serán a continuación presentadas.

Dnsnum  • Captura de pantalla de la herramienta

Figura 9. Ejecutando dnsenum

• Función Principal: Permite localizar todos los servidores de dominio relacionados y descubrir bloques IP no contiguos.

• Características: o Sencillo: Se trata de un script en Perl que se ejecuta mediante la invocación

del comando. o Ordenado: Como se puede notar en la captura de pantalla anterior, los

resultados son presentados en consola adecuadamente dividida en secciones, títulos resaltados, separando los resultados por tabulaciones que facilitan la visualización de resultados.

• Versión: 1.2.4.1-1kali1 • Autor: Filip Waeytens, TixxDz. • Sitio Web Oficial: https://github.com/fwaeytens/dnsenum • Licencia: GPLv2 • Opciones Disponibles: o Obtener la dirección del host (registro A). o Obtener la dirección de los servidores de nombres (h). o Obtener el registro del servidor de correo electrónico (h).

Page 54: Análisis de las herramientas para el proceso de auditoria de ...

43

o Realizar consultas AXFR20 en servidores de nombres y obtener la versión de BIND21 (hilo).

o Obtener nombres adicionales y subdominios vía Google (tipo de consulta que envía "allinurl: -www site:domain"22).

o Ejecuta ataques de fuerza bruta para la resolución de nombres, con la posibilidad de ejecutar ciclos recursivos en subdominios con registros NS(h).

o Calcula los rangos de direcciones de red de dominio de clase C y realiza consultas whois sobre ellos (h).

o Realiza lo que se conoce como Reverse DNS Lookup en rangos de IP (Rangos de direcciones clase C y/o whois) (h).

o Permite escribir los bloques de IP detectados en un archivo llamado domain_ips.txt

• Datos técnicos:

Utiliza programación mediante hilos para la ejecución de la mayoría de las

operaciones disponibles, éstas están marcadas con la etiqueta (h) en la opción

anterior.

Dentro de las recomendaciones incluidas en el archivo readme.txt en el repositorio

de la herramienta, se indica que se debe realizar previamente la instalación de

algunos módulos (Recomendados: Net::IP Net::DNS Net::Netmask, Opcionales:

Net::Whois::IP HTML::Parser WWW::Mechanize XML::Writer) a través de los

siguientes comandos con usuario root:

perl -MCPAN -e shell

cpan[1]> install Net::IP

Existen comandos para poder realizar las consultas, los cuales son presentados cuando se selecciona la herramienta:

Tabla 9. Comandos de Dnsenum

Comando Descripción

--dnsserver <servidor> Usa el servidor DNS especificado para la resolución de direcciones IP (A), Servidores de Nombres (NS) y servidores de correo electrónico (MX).

--enum Opción abreviada que permite la ejecución de hilos (mínimo 5 y máximo 15)

-h --help Imprimir el mensaje de ayuda que proporciona el listado

20 AXFR es un mecanismo de transferencia de zona completa en el que se replica la base de datos DNS a otros servidores DNS y su especificación se encuentra en la RFC 5936. 21 Software comúnmente usado en internet para levantar un DNS que consta de tres partes: un servidor que resuelve nombres de dominio (DNS Resolver), un Servidor de Dominio Autorizado (Authoritative DNS) y herramientas que permiten gestionarlo. Página oficial. 22 La instrucción “allinurl” permite buscar una palabra o palabras específicas en la dirección web, “-www” excluyendo aquellos que contengan www, “site:nombre_dominio” realiza la búsqueda sólo en el sitio web proporcionado.

Page 55: Análisis de las herramientas para el proceso de auditoria de ...

44

de los comandos listados en esta tabla.

--noreverse Obvia el paso de resolución inversa de DNS (Reverse DNS Lookup).

--nocolor Deshabilita el color en las etiquetas de salida (Ver figura de la herramienta)

--private Muestra y guarda IP privadas al final del archivo domain_ips.txt.

--subfile <archivo> Guardar todos los subdominios válidos en el archivo especificado después del comando.

-t <valor>

--timeout <valor>

Por defecto el tiempo de espera máximo de las conexiones TCP o UDP es de 10 segundos, si se desea modificar este tiempo se debe utilizar dicho comando.

--threads <valor> El número de hilos (ejecuciones) que se deben ejecutar en las consultas.

-v --verbose Mostrar todo el proceso y todos los mensajes de error.

Opciones de Búsqueda en Google

-p <valor> --pages <valor>

Indica el número de páginas de los resultados de Google en los que debe buscar.

-s <valor>

--scrap <valor>

Número máximo de subdominios que serán buscados. Por defecto se buscan 15 subdominios.

Opciones de Fuerza Bruta

-f <archivo>

--file <archivo>

Lee los subdominios del archivo especificado para ejecutar acciones de fuerza bruta en al resolución de sus IPs.

-u <a|g|r|z>

--update <a|g|r|z>

Actualiza el archivo especificado (con el comando –f) con subdominios válidos, utilizando:

o a: Todos los resultados. o g: Los resultados de Google. o r: Resultados de búsqueda inversa (Reverse DNS

Lookup). o z: Solo los resultados de las zonas de transferencia.

-r --recursion Habilita búsquedas recursivas en subdominios y ataques de fuerza bruta en todos los subdominios descubiertos que tenga un registro de servidor de nombres (NS).

Rango de Red WHOIS

-d --delay El máximo valor en segundos que se debe esperar entre consultas whois, el valor es decidido aleatoriamente y por defecto el valor máximo es de 3 segundos.

-w --whois Ejecuta consultas whois en rangos de clase C. Sin embargo

Page 56: Análisis de las herramientas para el proceso de auditoria de ...

45

colocan una advertencia que alerta que esta opción genera grandes cantidades de rangos y puede tomar bastante tiempo para las consultas de resolución inversa.

Opciones de resolución inversa

-e <regexp>

--exclude <regexp>

Excluye los registros PTR (registro de apuntador que resuelve direcciones IPv4) de la expresión indicada <regexp> de los resultados de resolución inversa, útil en nombres de host no válidos.

Funciones para generación de Archivos de Resultados

-o <archivo>

--output <archivo>

Permite guardar los resultados en formato XML que puede ser importado por MagicTree 23(Herramienta para realizar pruebas de intrusión).

• Ubicación en el menú de Kali: Aplicaciones - Kali Linux - Recopilación de

Información- Análisis DNS- dnsenum. • Escrita en: Perl • Compatibilidad con otros Sistemas Operativos: Distribuciones de Linux y sistemas

operativos de Mac. • Fase del Hacking Ético a la que contribuye: Reconocimiento, Escaneo • Modo de ejecución: Consola • Manual de Usuario: No • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 5 • Presentación de los resultados: 4 • Manual de Usuario Intuitivo: - • Observaciones (Opcional): Como requisito previo a la instalación se debe tener Perl

instalado, éste viene instalado en Kali Linux y en otras distribuciones de Linux por defecto. Cuenta con un menú de ayuda en inglés que permite conocer que opciones se pueden ejecutar.

• Valoración Final de la herramienta: Es una herramienta útil para la enumeración DNS que muestra resultados exactos tal como lo propone, se debe resaltar la buena organización de los resultados que nos pueden ayudar en el reconocimiento que se esta realizando.

Dmitry  (DeepMagic  Information  Gathering  Tool)  • Captura de pantalla de la herramienta

23 Sitio web oficial: http://www.gremwell.com/what_is_magictree

Page 57: Análisis de las herramientas para el proceso de auditoria de ...

46

Figura 10. Dmitry

• Función Principal: Recopilar toda la información posible de un host como subdominios, correo electrónico, escáner de puertos, consultas whois, etc.

• Características: o Open Source: Es un proyecto de código abierto. o Realiza diferentes búsquedas: consultas whois, búsqueda de

subdominios, correo electrónico y escaneo de puertos en el host especificado.

o Recupera todos los datos actualizados posibles: Del sistema y del servidor.

o Programa modular: Permite módulos especificados por el usuario. • Versión: 1.3-1kali2. • Autor: James Greig • Sitio Web Oficial: http://mor-pah.net/software/dmitry-deepmagic-information-

gathering-tool/ • Licencia: GPLv3 • Opciones Disponibles:

Las consultas se realizan siguiendo el patrón: dmitry [-winsepfb] [-t 0-9] [-o %host.txt] nombre_dominio Donde cada comando indica:

o -w: Realizar consultas whois basándose en el nombre de dominio. o -i: Realiza consultas whois basándose en la dirección IP del dominio. o -n: Devuelve información consultada de Netcraft.com24 de un host. o -s: Busca posibles subdominios. o -p: Ejecuta un escaneo de puertos usando TCP. o -f: Ejecuta un escaneo de puertos usando TCP mostrando los resultados

de los puertos filtrados.

24 En su opción de consultas permite una búsqueda por dominio por ejemplo http://searchdns.netcraft.com/?host=nmap.org&x=6&y=9 y devuelve información como sistema operativo, hosting del website, entre otros.

Page 58: Análisis de las herramientas para el proceso de auditoria de ...

47

o b: Busca posibles direcciones de correo electrónico relacionadas. o -t 0-9: TTL en segundos cuando realiza el escaneo de puertos (por

defecto se encuentra configurado en 2). o -o %host.txt: Guarda los resultados obtenidos en la dirección

especificada para el archivo host.txt o el nombre del archivo especificado.

• Datos técnicos: Ninguno. • Ubicación en el menú de Kali: Aplicaciones - Kali Linux - Recopilación de

Información- Análisis OSINT / Escáner de Redes /Identificación de Host en Línea- Dmitry.

• Escrita en (Lenguaje de Programación): C • Compatibilidad con otros Sistemas Operativos: Linux y Mac. Plataformas sobre

las que se ha probado: FreeBSD 4.* 5.* 6.0, MacOSX 10.*, SuSE Linux 8.*, Linux LFS 6.1, OpenBSD 3.8.

• Fase del Hacking Ético a la que contribuye: Reconocimiento, Escaneo. • Modo de ejecución: Consola • Manual de Usuario: No • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 5 • Presentación de los resultados: 4 • Manual de Usuario Intuitivo: - • Observaciones (Opcional): La versión que tiene Kali es la última versión

disponible y es la primera dentro de este análisis que se encuentra como herramienta OSINT (Open Source Intelligence), lo que indica que utilizando fuentes de datos públicas relaciona la información adecuadamente para dar datos más apegados a la realidad.

• Valoración Final de la herramienta: Dmitry como se ha podido apreciar en la presentación de sus características es una herramienta que ahorra tiempo al auditor al momento de realizar la recolección de información de diferentes fuentes acerca de un dominio especificado, lo cual ahorra tiempo al auditor. Entre las desventajas encontramos que solo es posible contar con la versión en inglés de la herramienta y que el escaneo de puertos utiliza TCP lo que implica una comunicación de tres pasos que puede dejar huellas en el log del servidor o ser detectado por un sistema de detección de intrusos.

Goofile  • Captura de pantalla de la herramienta: Ver siguiente página Figura 11. • Función Principal: Esta herramienta permite buscar un tipo de archivo

especificado en el dominio consultado. • Características:

o Sencillo: Con tan solo dos comandos adicional al nombre de la herramienta permite obtener la ruta de un tipo de archivo especificado dentro del dominio elegido.

Page 59: Análisis de las herramientas para el proceso de auditoria de ...

48

Figura 11. Goofile

• Versión: 1.5-1kali3 • Autor: Thomas Richards • Sitio Web Oficial: https://code.google.com/p/goofile/ • Licencia: MIT • Opciones Disponibles:

Patrón de consulta: goofile -d nombre_dominio -f tipo_archivo_salida Donde:

o -d: Indica el dominio en el que se va a buscar o -f: Tipo de archivo de salida por ejemplo pdf o txt.

Ejemplo: goofile –d ump.es –f pdf • Datos técnicos: Para ejecutarse fuera de Kali, requiere de la instalación de

Python, este programa fue probado para la versión 2.5 y 2.7. Kali tiene la versión 2.7.

• Ubicación en el menú de Kali: Se debe abrir mediante un terminal escribiendo goofile o directamente la instrucción completa.

• Escrita en: Python • Compatibilidad con otros Sistemas Operativos: Windows, Linux y Mac OS. • Fase del Hacking Ético a la que contribuye: Reconocimiento • Modo de ejecución (Consola, GUI): Consola • Manual de Usuario: No • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: - • Presentación de los resultados: - • Manual de Usuario Intuitivo: No • Observaciones: El tipo de licencia que posee el software permite la libre

Page 60: Análisis de las herramientas para el proceso de auditoria de ...

49

distribución, modificación o venta de la herramienta siempre que se mantenga estos mismos permisos en la versión parcial o completa del mismo. Y la versión disponible en Kali es la última existente para la herramienta. La aplicación en Phyton lo que hace en código es una consulta a este sitio de este modo: http://google.com/search?num=500&q=site:nombre_dominio.com+filetype:tipo_formato Ejemplo:

http://google.com/search?num=500&q=site:upm.es+filetype:pdf

• Valoración Final de la herramienta: Esta sería una herramienta útil si desconocemos los comandos para realizar búsquedas avanzadas de Google, pero ¿Por qué cambiar la interfaz agradable de Google por la consola de comandos? Quizás pueda resultarnos más interesante revisar en forma de listado las rutas de los archivos y el nombre de los archivos para encontrar información sensible. Sin embargo, la aplicación en Kali no ha dado resultado con ningún dominio probado (como puede observarse en la figura) y de acuerdo a la consulta realizada, esto se debe a que Google cambia constantemente sus resultados con la finalidad de impedir que aplicaciones como éstas accedan y utilicen sus resultados. Se debe esperar una nueva versión del aplicativo que corrija lo ocurrido.

Metagoofil  • Captura de pantalla de la herramienta:

Figura 12. Metagoofil

• Función Principal: Extraer la metadata de archivos públicos (extensiones: pdf, doc, xls, ppt, docx, pptx, xlsx) y elaborar un reporte con ellos permitiendo visualizar datos como: usuarios, versión de software o nombres de equipo,

Page 61: Análisis de las herramientas para el proceso de auditoria de ...

50

entre otros. • Características:

o Sencillo: Su interfaz a través de terminal y las opciones de comandos permiten cumplir con la función principal del mismo.

o Realiza búsqueda en Google para identificar archivos relacionados y los descarga al disco local.

o Extrae los metadatos de los mismos y genera un reporte en formato html.

• Versión: 2.2. • Autor: Christian Martorella • Sitio Web Oficial: http://www.edge-security.com/metagoofil.php • Licencia: GPLv2 • Opciones Disponibles:

Para realizar una búsqueda utilizando esta herramienta, se debe anteponer los siguientes comandos:

-d Dominio en el que se van a buscar los archivos. -t Tipo de archivo para descargar (pdf, doc, xls, ppt, odp, docx, xlsx, pptx). -l Limite de resultados a obtener, por defecto este valor esta definido en 200. -h Trabajar con documentos en el directorio (usar “yes” para análisis local) -n Número máximo de archivos a descargar -o Indica en que directorio guardar los archivos descargados -f Indica cual será el archivo en el que debe escribirse los resultados.

Un ejemplo de uso es: metagoofil –d nombreDominio.com –t doc,pdf –l 200 –n 50 –o archivosBusqueda –f resultados.html

• Datos técnicos: Ninguno. • Ubicación en el menú de Kali:

(i) Aplicaciones - Kali Linux - Recopilación de Información- Análisis DNS/ Análisis OSINT- metagoofil.

(ii) Aplicaciones- Kali Linux- Herramientas de Reportes- Gestión de evidencias- metagoofil.

• Escrita en: Phyton • Compatibilidad con otros Sistemas Operativos: Linux y Mac OS. • Fase del Hacking Ético a la que contribuye: Reconocimiento • Modo de ejecución: Consola • Manual de Usuario: No • Nivel de Complejidad (Básico, Intermedio, Avanzado): Básico • Facilidad de Uso: 4 • Calidad de resultados: - • Presentación de los resultados: - • Manual de Usuario Intuitivo: No • Observaciones: Ninguna • Valoración Final de la herramienta: Metagoofil sería una herramienta que ofrece

una buena opción para la etapa de recolección de información y que a través de su presentación de resultados permitiría una fácil y rápida revisión de los mismos. Sin embargo entre las desventajas contamos con que la versión aquí

Page 62: Análisis de las herramientas para el proceso de auditoria de ...

51

referenciada (última) no devuelve ningún resultado, además si funcionara la descarga de todos los documentos a un repositorio final, implicaría espacio en disco y la tarea adicional de filtrado de información para obtener la información que se desea. El creador de dicha herramienta a quien se consultó vía correo electrónico indicó que debe actualizar la herramienta y sugirió el uso de la herramienta TheHarvester para realizar estas búsquedas.

TheHarvester  • Captura de pantalla de la herramienta

Figura 13. TheHarvester, consola de comandos y resultados con formato HTML

• Función Principal: Recopilar datos públicos como correo electrónico, subdominios, equipos, nombres de empleados, puertos abiertos y banners25 del dominio elegido utilizando diferentes públicas.

• Características: o Sencilla: A través de una terminal permite la búsqueda de información

pública de dominios. o Ordenada: Permite visualizar los resultados agrupándolos por

secciones. o Efectiva: Permite conocer la notoriedad de la compañía en Internet. o Permite el reconocimiento pasivo a través de la consulta usando

motores de búsqueda como Google, Bing (Motor de Búsqueda de Microsoft), Bing API26, Linkedin, SHODAN27 y vhost28; y

25 Se trata de imágenes o animaciones diseñadas de tal forma que llaman la atención al usuario para mostrar publicidad hacia algún producto, servicio, dominio en general y cuya intención es capturar la atención del cliente y dirigir el tráfico hacia el sitio web que anuncia. 26 Es un motor de búsqueda Microsoft y a través de un API que requiere una clave pública PGP (Pretty Good Privacy) gestionada por el servidor de claves públicas PGP de Rediris permite una comunicación cifrada.

Page 63: Análisis de las herramientas para el proceso de auditoria de ...

52

reconocimiento activo mediante la enumeración DNS utilizando ataques de diccionario hasta el TLD (Top-Level Domain), resolución inversa DNS.

o Permite exportar los resultados en formato XML y HTML, en la versión HTML ofrece un pequeño gráfico con los porcentajes de resultados encontrados por categoría como email, host, TLD, SHODAN.

• Versión: 2.6 • Autor: Christian Martorela • Sitio Web Oficial: https://github.com/laramies/theHarvester • Licencia: GNU GPLv2 • Opciones Disponibles:

Para realizar la búsqueda se debe utilizar los siguientes comandos:

o –d: Para indicar el dominio en el que se hará la búsqueda. o –b: Para indicar la fuente de datos (google, googleCSE, bing, bingapi

pgp, linkedin, google-profiles, people123, jigsaw, twitter, googleplus, all).

o –s: Empezar en el resultado número X (por defecto es 0). o –v: Verificar el nombre del host a través de resolución DNS o

buscando por host virtuales. o –f: Guardar los resultados en formato HTML y XML. o -n: Ejecuta una resolución invertida consultandos todos los rangos

descubiertos. o –c: Ejecuta ataques de fuerza bruta DNS para los nombres de

dominios. o –t: Ejecuta descubrimiento de DNS del dominio de más alto nivel

(Top-Level Domain). o -e : Usar un servidor DNS específico. o –l: Número máximo de resultados . o –h: Usa base de datos SHODAN para la consultas de host

descubiertos. • Datos técnicos: Para su uso fuera de la plataforma de Kali se debe instalar Python en

el equipo. • Ubicación en el menú de Kali: Aplicaciones - Kali Linux - Recopilación de

Información- theHarvester. • Escrita en: Python • Compatibilidad con otros Sistemas Operativos: Windows, Linux, Mac OS. • Fase del Hacking Ético a la que contribuye: Reconocimiento, Escaneo • Modo de ejecución: Consola • Manual de Usuario: No • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 5

27 Es un motor de búsqueda que permite escaneo de puertos y de dominios, enlace. 28 Host virtuales de búsqueda en Bing.

Page 64: Análisis de las herramientas para el proceso de auditoria de ...

53

• Presentación de los resultados: 5 • Manual de Usuario Intuitivo: - • Observaciones: La versión 2.6 en relación a la versión 2.5 presenta las siguientes

mejoras: o Se añade a los motores de búsqueda de Yahoo y Baidu. o Añade verificación para la existencia de librerías consultadas. o Corrige el patrón de búsqueda utilizado para las consultas de correos

electrónico de tal forma que se provean resultados más claros. • Valoración Final de la herramienta: En general es una buena herramienta que

permite realizar el análisis del objetivo de forma que contamos con información útil como para realizar ataques de ingeniería social o aprovecharnos de algún puerto abierto. La considero una herramienta útil y sencilla de usar que ofrece una buena representación de los resultados, con ello permite ir aclarando ideas de los siguientes pasos a ejecutar. Sin embargo no se usa como alternativa de metagoofil ya que son totalmente diferentes.

Maltego  • Captura de pantalla de la herramienta:

Figura 14. Recopilación de información de sitio web con Maltego Kali Linux

• Función Principal: Permite establecer relaciones entre entidades (personas, grupos, organizaciones, sitios web, entre otros) usando datos públicos en internet, lo que da como resultado una visualización de la entidad objetivo clara, sencilla e intuitiva. Maltego utiliza “transformaciones”, le da este nombre a la operación aplicada sobre una entidad que genera información adicional y cuyos resultados pueden ser visualizados en 4 formas distintas (característica #5).

• Características: o Fácil e intuitivo: Los resultados de las transformaciones se reflejan en

entidades que se grafican de diferente forma según su tipo y pueden ser añadidas al gráfico tan solo arrastrándolas y soltándolas con el

Page 65: Análisis de las herramientas para el proceso de auditoria de ...

54

mouse hacia el área de trabajo. o Inteligente: Utiliza OSINT, es decir un mecanismo de inteligencia que

permite encontrar, seleccionar y adquirir información de fuentes públicas enlazándolas con las entidades seleccionadas.

o Flexible: El diagrama puede ser generado por las transformaciones que se realizan sobre una entidad y puede ser manipulado manualmente para añadir descubrimientos realizados o reubicar elementos.

o Permite tres tipos de vista de los resultados: Vista Principal que es una representación tipo árbol con elementos bien caracterizados, Vista de Burbuja que representa entidades a través de esferas de diferentes colores, y Vista de Listado de Entidades que ofrece una secuencia de entradas ordenadas en filas (entidades) y columnas (características).

o Permite la distribución de elementos en 4 formas: § Bloque: Es la distribución por defecto y los elementos se

agrupan siguiendo tres reglas: (i) en bloque de nodos, (ii)ordenados por tipo de entidad, (iii)ordenados por el peso de la entidad, definiendo como peso al indicador de relevancia que utilizan los motores de búsqueda de transformaciones.

§ Jerárquicamente: Distribución tipo árbol de los elementos. § Distribución centralizada: Ubican las entidades con más

“cercanía” al resto en el centro del mapa. § Distribución Integral: Distancia entre cada nodo es mínima.

o Limitado: Uso no comercial, las transformaciones no devuelven más de 12 entidades resultantes, se exige el registro en los servidores Paterva previo a la utilización del mismo, la velocidad en la que se obtiene los resultados es inferior ya que los servidores que hacen las búsqueda son compartidos entre usuarios con Maltego versión gratuita, solo se realiza la búsqueda en servidores Paterva, las actualizaciones de las transformaciones no se actualizan del lado del servidor, la comunicación cliente servidor no se encentra comprimida ni cifrada, no tiene soporte al cliente, no se brinda actualizaciones a menos que sean actualizaciones de un orden superior (no mínimas correcciones de bugs), una “valid key” (clave) que consiste en el registro dentro de la comunidad dura aproximadamente dos días y para reactivarla basta con volver a ingresar el correo y contraseña previamente configurados.

• Versión: Maltego Kali Linux Edition 3.4.1 • Autor: Paterva • Sitio Web Oficial: http://paterva.com/web6/products/maltego.php • Licencia: No Comercial, se aplican los términos y condiciones de la versión

gratuita Comunity Edition. • Opciones Disponibles:

Page 66: Análisis de las herramientas para el proceso de auditoria de ...

55

Maltego cuenta con alrededor de 72 transformaciones y en cada una de ellas

se debe aceptar la responsabilidad por la ejecución y utilización de las

mismas (disclaimer).

Entre las transformaciones existentes tenemos: o To DNS Name - MX (mail server): Encontrará el registro del servidor

de correo de un dominio. o To DNS Name - NS (name server): Encontrará el registro del servidor

de nombres de un dominio. o To DNS Name [Reverse DNS]: Permite la resolución de un nombre a

partir de una dirección IP. o To Geo location: Ubica la ciudad de donde pertenece un rango de

direcciones IP (netblock). o To Geo location [whoisAPI]: Determina la ubicación geográfica de una

dirección IP a través de WHOISApi (aplicación que permite la búsqueda en registros WHOIs).

o To IP Address [DNS]: Resuelve un nombre de dominio en una dirección IP.

o To URL [Show SE results]: Devuelve la URL de un documento para su uso posterior.

o To Website [using Search Engine]: Consulta sitios web a través de motores de búsqueda y devuelve entidades de tipo sitio web.

o To Email address [From whois info]: A partir de un nombre de dominio y utilizando los registros de las bases whois obtiene los correos electrónicos relacionados.

o ToFacebookAffiliation: Busca un perfil de Facebook que coincida basándose en el PrimerNombreApellido, PrimerNombre.Apellido, apellido, InicialNombre.apellido, NombreEinicialApellido, Nombre.Inicialapellido.

o Verify email address exists [SMTP]: Esta transformación se conecta al servidor de correo relacionado y revisa si la dirección de correo existe y los resultados se muestran en forma de burbuja con una etiqueta interior que indica si ha podido verificarse o no.

o WebsitetoDNSName: Convierte un website en una entidad de Dominio. o Más transformaciones pueden consultarse en:

http://ctas.paterva.com/view/Category:Transforms

Además es posible realizar agregación y eliminación de transformaciones así como modificación de algunos de sus parámetros y añadir transformaciones a una categoría (SET). Las categorías también se pueden personalizar, así como crear nuevas. Y los resultados de las búsquedas pueden guardarse en formato .mtgx (formato de Maltego) y no pueden imprimirse en formato común (pdf, jpg, png,etc.).

• Ubicación en el menú de Kali: (i) Aplicaciones- Kali Linux – Top 10 Security Tools – Maltego. (ii) Aplicaciones - Kali Linux - Recopilación de Información- Análisis

DNS/ Análisis OSINT- Maltego. (iii) Aplicaciones - Kali Linux -Análisis de Vulnerabilidades- Evaluación

Page 67: Análisis de las herramientas para el proceso de auditoria de ...

56

de código abierto- Maltego. (iv) Aplicaciones- Kali Linux- Herramientas de Reportes- Gestión de

evidencias- Maltego. • Lenguaje: Java. • Compatibilidad con otros Sistemas Operativos: Ha sido probado en

Windows XP, Vista y 7; Linux (todas las distribuciones) y OS X29. • Fase del Hacking Ético a la que contribuye: Reconocimiento y Escaneo. • Datos Técnicos:

Para la versión cliente [18]: o Requisitos de Hardware: (Mínimo) 2GB RAM, 2GHz, 64Kb de ancho

de banda y resolución de pantalla 1024×768. - (Recomendado) 8GB RAM, Intel I7, más de 1Mb de ancho de banda y resolución de pantalla 1920×1080 .

o Requisitos de Software: Instalación previa de Java versión 6 (1.6), esta instalación debe hacerla el usuario. No es compatible con Java versión 5 (1.5). Sin embargo en la pagina oficial se indica que dejarán de dar soporte a Java 6 y es preferible actualizar la versión de java a Java 7 u 8.

Maltego cuenta con una versión para servidor a los que los llama

abreviadamente TAS por sus siglas en inglés Transform Application Server,

es decir, Servidor de Aplicación de Transformación, consiste en un

producto que permite instalar un servidor de Maltego con la capacidad

de buscar a parte de las fuentes convencionales (servidores comerciales

de Maltego) en otras fuentes de datos sobre las cuales interactuar, como

por ejemplo base de datos locales o base de datos alojadas en sitios web.

• Modo de ejecución: GUI • Manual de Usuario: Si • Nivel de Complejidad: Intermedio/Avanzado • Facilidad de Uso: 4 • Calidad de resultados: 4 • Presentación de los resultados: 5 • Manual de Usuario Intuitivo: 4 • Observaciones:

Los términos utilizados en la aplicación son: o Entity o Entidad: Es cualquier objeto que pueda ser creado o

descubierto, una transformación se realiza sobre una entidad. Ejemplo: Dominio, un sitio web, un documento, una dirección IP, un correo electrónico, etc.

o Set: Es una categoría o la forma en la que se agrupan las transformaciones, pueden ser creadas, modificadas y eliminadas por el usuario. Han sido diseñadas bajo la idea de poder ejecutar un conjunto de transformaciones a través de una sola opción (Clic derecho sobre la entidad Run Transform- Nombre_del_Set- All in this

29 Sistema Operativo de Macintosh versión 10.

Page 68: Análisis de las herramientas para el proceso de auditoria de ...

57

set). o Seeds o Semillas: Le otorga este nombre a la fuente que permite

descubrir: (i) Si existen nuevos servidores y (ii) si hay nuevas transformaciones.

o Local Transforms o Transformaciones Locales: Son porciones de código escrito en cualquier lenguaje de programación que son ejecutados en la máquina cliente y sirven para integrar tareas de equipo específicas como correr aplicaciones locales en el equipo o acceder a datos a través de una VPN.

Existen dos versiones de Maltego, una gratuita (community edition) y otra de

pago (commercial edition). La versión de pago se diferencia de la gratuita en los

siguientes puntos [18]:

o Es de uso comercial. o No hay límite de resultados por transformación. o La comunicación cliente servidor viaja comprimida y utiliza SSL. o Los resultados son obtenidos más rápidamente ya que se corren sobre

servidores robustos. Estos servidores solo se comparten con quienes tienen la misma versión del producto.

o Ofrece soporte al cliente. o Actualizaciones tanto del lado del cliente como del servidor. o Puede utilizar los servidores de Paterva u otros servidores.

Para Maltego cliente en su versión de pago, el costo la primera vez es de

$760.00, con renovación cada 365 días de $320.00.

Cabe añadir que existe un manual de usuario publicado en Enero de 2011

general para las dos versiones del aplicativo nombradas, sin embargo algunas

de las opciones narradas en dicho manual no se encuentran en la versión de

Maltego para Kali Linux.

Se debe tener en cuenta que la versión 3.4.1 es la última para Kali, mientras que

la versión comercial de Maltego toma el nombre de Maltego Chlorine cuya

última versión es la 3.6.1.

• Valoración Final de la herramienta: Maltego gracias a su interfaz gráfica es muy intuitiva y basta con visualizar la forma de los objetos para entender a que hacen referencia además de que sus transformaciones tienen nombres descriptivos. La considero una herramienta ideal para formular el panorama de la empresa que se esta analizando, la puntuación en la calidad de los datos es 4 ya que en ocasiones cuando no parte de datos específicos como un nombre de dominio o dirección IP, trae resultados que no están relacionados en el mundo real y puede confundir y dado a que no se devuelve un número más amplio de resultados de transformadas en su versión gratuita, es probable que resulte complicada la búsqueda. Además que como pudimos observar la versión pagada cuenta con obviamente más características que mejoran y agilitan la obtención de los resultados.

Page 69: Análisis de las herramientas para el proceso de auditoria de ...

58

3.9.2 Etapa  de  Escaneo  En esta segunda etapa se analizarán las siguientes herramientas, tres de ellas en el

Top 10 de Kali: Nmap, Burpsuite, owasp-zap y entre las populares tenemos a: Zenmap

y Skipfish.

Nmap  • Captura de pantalla de la herramienta

Figura 15. Nmap

• Función Principal: Herramienta de código abierto que permite la exploración de redes para la detección de equipos que se encuentran en una red, el nombre y versión de los servicios que ofrecen, el sistema operativo que ejecutan, que tipo de filtrado de paquetes utilizan, entre otras cualidades que se detallan en las subsección de opciones disponibles.

• Características: o Flexible: Soporta decenas de técnicas avanzadas para la exploración de

redes como escáner de puertos (TCP y UDP), detección de sistema operativo, detección de versiones, barridos de ping, entre otras.

o Potente: Capaz de escanear grandes redes (cientos de millones de máquinas).

o Multiplataforma: Puede ser ejecutado en gran cantidad de sistemas operativos.

o Basado en comandos: A pesar de que cuenta con gran cantidad de comandos para su ejecución se puede empezar con una expresión simple como “nmap nombreDelHost” con lo que se obtendrá un listado de puertos, estado y servicio. Sin embargo ofrece una gran cantidad de opciones que permiten todo tipo de exploración.

o Gratis: Es posible descargarlo libremente y también cuenta con el código fuente para que se pueda modificar y redistribuir respetando los términos de su licencia.

o Bien documentado: Es posible encontrar manuales, documentos técnicos, tutoriales e incluso un libro en diferentes idiomas a través del

Page 70: Análisis de las herramientas para el proceso de auditoria de ...

59

sitio oficial. o Soporte: A pesar que el software se distribuye sin ninguna garantía,

existe una comunidad activa de desarrolladores y usuarios, así como listas de suscripción (Nmap-hackers), redes sociales (Facebook y Twitter), canales IRC (Freenode y ERNet).

o Reconocido: Nmap se ha hecho merecedor de numerosos premios y ha sido presentado en cientos de artículos de revistas, películas, varias docenas de libros, y una serie de cómics.

o Popular: Es descargado millones de veces diariamente y viene incluido en muchos sistemas operativos como el analizado en esta investigación, RedHat Linux, Debian Linux, entre otros.

• Versión: 6.47 • Autor: Gordon Lyon (pseudónimo: Fyodor Vaskovich). • Sitio Web Oficial: http://nmap.org • Licencia: GNU GPLv2. • Opciones Disponibles:

o Permite a través de comandos descubrir los host activos en mi red, cuyos comandos pueden consultarse escribiendo en consola nmap –h o bien consultando el siguiente enlace.

o Permite utilizar diferentes técnicas de escaneo de puertos como [8,13]: § Escaneo SYN o half open (-sS): Utiliza el protocolo TCP el cual realiza el

“three-way handshake” (apretón de manos de tres vías), sin embargo este método no realiza el último paso de este procedimiento que es el enviar el mensaje ACK30 de confirmación de recepción del mensaje (SYN+ACK). De allí su nombre. Este método es conveniente ya que al no completarse, no se registra en el log de eventos de red lo que hace que ni los IDS o los administradores del sistema detecten el escaneo. Si se recibe un SYN/ACK o un paquete SYN entonces el puerto esta abierto, si se recibe un RST entonces el puerto esta cerrado, si no se recibe respuesta o se recibe un paquete ICMP tipo 3 código 1, 2, 9, 10 ó 13 se marca como filtrado.

§ Escaneo Completo o TCP Connet Scan (-sT): A diferencia del anterior, este completa los pasos del three-way handshake, con lo cual este escaneo si se registra en el log de eventos.

§ Escaneo UDP o UDP Scann (-sU): Consiste en el envío de un paquete UDP a los puertos de host remoto, si este mensaje no devuelve ninguna contestación coloca el puerto como abierto|filtrado, si devuelve un paquete ICMP port-unreachable lo coloca como cerrado, si se recibe un paquete ICMP tipo 3 código 1, 2, 9, 10 ó 13 se marca como filtrado y por último si se recibe un segmento UDP entonces el puerto se clasifica como abierto.

§ Escaneo ACK (-sA): Este tipo de escaneo se utiliza para conocer si un puerto está o no filtrado, se envía un segmento con la bandera ACK encendida, si la respuesta es un RCT o reset quiere decir que el puerto no esta filtrado, mientras que si no se recibe respuesta o se recibe un paquete ICMP tipo 3 código 1, 2, 9, 10 ó 13 se marca como filtrado.

30 Acuse de recibo de mensaje SYN en el proceso de “three-way handshake” (apretón de tres vías) de TCP.

Page 71: Análisis de las herramientas para el proceso de auditoria de ...

60

§ Escaneos especiales: Estos tres tipos de escaneos utilizan las banderas de la cabecera TCP, estas banderas son 6 (SYN, ACK, RST, PSH, FIN, URG) y tienen un valor de 1 (encendida) ó 0 (apagada):

1. Null-Scan (-sN, en versiones previas –sP): Envía todas las bandera apagadas, con ello se indica que no se realice ningún escaneo de puertos.

2. Fin-Scan (-sF): Envía solo la bandera FIN encendida. 3. Xmas-Scan (-sX): Envía FIN, PSH y URG encendidas.

En la pág. 65 de la RFC 793 se indica que un puerto esta cerrado si

enviando el RST apagado se responde con un RST encendido. En la

siguiente página se indica que si se envía a un puerto abierto las

banderas SYN, RST o ACK apagadas, se responderá con un RST

encendido o no se devolverá respuesta. Si nos percatamos las tres

hacen lo mismo, lo que quiere decir entonces, que si se recibe el

paquete RST entonces el puerto estará cerrado, si no se recibe respuesta

estará abierto|filtrado y si se recibe un ICMP tipo 3 código 1, 2, 9, 10 ó

13 se marca como filtrado. La ventaja de estos métodos es que pueden

pasar sigilosamente sin que lo noten, mejor que el escaneo SYN, pero la

desventaja es que no todos los fabricantes aplican la RFC al pie de la

letra, con lo cual las reglas de respuestas no nos dirían mucho, a menos

que se combine con otras técnicas.

o Permite determinar el servicio y su versión a través de un puerto, estos comandos pueden revisarse en el siguiente enlace.

o Se puede especificar que puertos escanear y en que orden, a través de los comandos disponibles en este enlace.

o Permite personalizar scripts para que se ejecuten como los comandos de nmap desde archivos de extensión “nse” (Nmap Scripting Engine), la comunidad activa de Nmap esta siempre desarrollando scripts para poder facilitar otras funciones de la herramienta y compartirla entre los usuarios, un listado con su respectiva descripción puede observarse en este enlace. Inclusive esto permite utilizar scripts para explotación si no se tiene planeado utilizar un framework como Metasploit.

o Es posible detectar la versión el sistema operativo a través de diferentes comandos. (Enlace)

o También es posible indicar el tiempo y el desempeño de las mismas (analizar paralelamente grupo de host, ajustarle un tiempo específico para la prueba, especificar el máximo de retransmisiones para el escaneo de puertos que debe realizar, entre otras opciones que pueden leerse aquí).

o Permite evadir firewalls, IDS y realizar spoofing. o Permite imprimir los resultados en diferentes formatos (nmap, xml y gnmap), así

como indicar si se imprimen diferentes mensajes que indican los procesos que se realizan.

o Escaneo de ping, de puertos, detección de versiones y Nmap Scripting Engine soportan IPv6.

o Incluso permite la interacción durante la ejecución para indicar que se incremente o disminuya el nivel de detalle, encender o apagar el rastreo de

Page 72: Análisis de las herramientas para el proceso de auditoria de ...

61

paquetes, entre otras. • Datos técnicos: Para poder ejecutar Nmap en otras plataformas no tan difundidas, se

debe revisar el siguiente enlace. • Ubicación en el menú de Kali:

(i) (i)Aplicaciones - Kali Linux – Recopilación de Información – Análisis DNS /Análisis SMB / Análisis SMTP / Análisis SNMP / Detección del SO / Detección de Servicio / Escáner de Redes /Identificación de Host en línea – Nmap.

(ii) Aplicaciones - Kali Linux – Análisis de Vulnerabilidades – Otros escáner- Nmap.

• Escrita en: Lua31 • Compatibilidad con otros Sistemas Operativos: Linux, Windows, Mac OS X,

Distribuciones BSD (FreeBSD/OpenBSD/NetBSD), Oracle/Sun Solaris, IBM Aix, Amiga y distribuciones de Unix como HP-UX y SGI IRIX.

• Fase del Hacking Ético a la que contribuye: Reconocimiento, Escaneo. • Modo de ejecución: Consola • Manual de Usuario: Si • Nivel de Complejidad: Avanzado • Facilidad de Uso: 4 • Calidad de resultados: 5 • Presentación de los resultados: 4 • Manual de Usuario Intuitivo: 5 • Observaciones: NMap es marca registrada de Insecure.Com LLC y posee un manual de

usuario en español. Nmap utiliza estados para definir la condición de sus puertos, los cuales se encuentra descritos en la siguiente tabla.

Tabla 10. Estados de Puertos en Nmap [8]

Estado Descripción

Abierto El puerto se encuentra disponible y receptando solicitudes

para la conexión al servicio ofrecido a través de él.

Cerrado El puerto es accesible pero no cuenta con una aplicación o

servicio asociado que responda las solicitudes.

Filtrado Existe un dispositivo filtrador de paquetes que impiden que

las solicitudes enviadas para el escaneo de puerto se recepten.

No-Filtrado El puerto es accesible pero no puede determinarse si esta

abierto o cerrado.

Abierto|Filtrado Estado ambiguo en el que el escáner no puede determinar si

esta abierto o filtrado y es posible de obtener cuando se utiliza

una técnica de escaneo en el que un puerto abierto puede no

responder.

31 Es un lenguaje de programación robusto, ligero y rápido de código abierto que fue desarrollado y es mantenido por la Pontificia Universidad Católica de Rio de Janeiro (PUC-Rio).

Page 73: Análisis de las herramientas para el proceso de auditoria de ...

62

Cerrado|Filtrado Estado ambiguo en el que no se puede determinar si el puerto

esta cerrado o filtrado.

La suite de Nmap contiene:

o Su versión gráfica llamada Zenmap y que será revisada luego de este análisis. o Herramienta para depuración, flexible transferencia de datos y redirección

llamada Ncat. o Una herramienta para comparar los resultados de los escaneos llamada Ndiff. o Y Nping una herramienta de análisis de generación de paquetes y sus respuestas.

• Valoración Final de la herramienta: La herramienta ha sido reconocida y premiada

por la cantidad de opciones que permite, su efectividad en los resultados y la libertad y control con el que el auditor informático puede ejecutar sus análisis, con lo cual considero que ella habla por si sola y debe ser considerada como una herramienta necesaria para el hacker ético.

Zenmap  • Captura de pantalla de la herramienta

Figura 16. Quick Traceroute en Zenmap

• Función Principal: Es la versión gráfica de Nmap por lo tanto permitirá explorar la

red y además añadirá algunas funciones adicionales que permitirán una mejor

Page 74: Análisis de las herramientas para el proceso de auditoria de ...

63

visualización de resultados y ayudarán al auditor con los comandos necesarios para sus búsquedas.

• Características: o Interactivo: Gracias a la incorporación de la interfaz gráfica permite una

visualización de los resultados más amena, es posible graficar el mapa de las redes que ha detectado. Y permite la combinación de búsquedas para poder visualizarlas en una sola opción.

o Comparativo: Permite mostrar la diferencia entre los resultados obtenidos de por ejemplo el escaneo de dos días diferentes, dos host distintos, el mismo host con diferentes opciones y cualquier otra combinación. Esto agilita el trabajo del auditor para detectar nuevos servicios, nuevos host o cambios suscitados.

o Cómodo: Mantiene un registro de las búsquedas realizadas y permite almacenarlas de forma posterior sin necesidad de elegir nombre del archivo ya que lo coloca automáticamente.

o Fácil: Como se mostró en Nmap, éste cuenta con cientos de comandos los cuales pueden resultar un poco extensos y difíciles de recordar, Zenmap los muestra a través de etiquetas y pestañas que ayuda a los principiantes a familiarizarse con ellos al mismo tiempo que utiliza la potente herramienta Nmap.

o Multiplataforma: Se ejecuta en diferentes sistemas operativos como Linux, Windows, Mac OS X, BSD, entre otros.

• Versión: Nmap 6.47 • Autor: Gordon Lyon (pseudónimo: Fyodor Vaskovich). • Sitio Web Oficial: http://nmap.org/zenmap/ • Licencia: GNU GPLv2. • Opciones Disponibles:

o Viene con perfiles predefinidos, es decir, sentencias de Nmap pre-guardadas y permite la creación de nuevos perfiles a través de su editor. De tal forma que si se pretende analizar un sitio web, solo se selecciona el perfil y se escribe el nombre del dominio, posterior a ello se presiona el botón scan. Estos perfiles pueden incluir la ejecución de scripts nse (Nmap Scripting Engine) que como se indicó anteriormente son compartidos por la comunidad de Nmap.

o Cuenta con agregación de escaneos (scann agregation), es decir la opción que permite visualizar algunos escaneos a sitios en nmap en una sola vista.

o Los resultados de los escaneos son presentados en forma de pestañas y son 5:

1. Nmap Output (salida Nmap): Muestra los resultados como la consola de comandos de Nmap, resaltando con colores determinados resultados.

2. Port/host (Puerto/equipo): Cuando se selecciona un host, es posible ver en esta pestaña un listado de puertos con su estado, el protocolo, el servicio y la versión (en caso que este disponible). Si el host no esta seleccionado se abre una columna adicional indicando a que host pertenece cada puerto.

Page 75: Análisis de las herramientas para el proceso de auditoria de ...

64

3. Topology (Topología): Esta es una vista interactiva de la red donde cada host esta ubicado en circunferencias concéntricas que indican el número de saltos desde el nodo central. Esta pestaña además permite redefinir el nodo central y guardar el gráfico en formato png, pdf, PostScript y SVG.

4. Host details (detalles del equipo): Muestra la información resumida del host en forma jerárquica, se encuentran datos como el estado del equipo, el número de puertos abiertos, cerrados, filtrados, dirección IP, entre otras.

5. Scans (Escaneos): Lista las instrucciones ejecutadas indicando además si alguna de ellas se esta ejecutando.

o Es posible levantar Zennmap desde una ventana de terminal escribiendo simplemente “zenmap” o escribiendo una instrucción completa como “zenmap -n nmap -sS nombre_dominio” para abrir zenmap e iniciar el análisis solicitado.

o Permite guardar las búsquedas realizadas en formato .xml y .nmap (texto simple), sin embargo para poder abrir una búsqueda solo se podrá realizar con el archivo xml.

o Además los resultados que no se guardan en un archivo se almacenan en la base de datos llamada Zenmap.db.

o Cuenta con una opción que permite comparar dos resultados de escaneos guardados (formato xml).

• Datos técnicos: Para cambiar de idioma a Nmap (el cual por defecto se encuentra en inglés) se debe abrir una ventana de terminal con permisos root y crear (o modificar) la variable de entorno LANG con la codificación del idioma deseado según la ISO 639. Sin embargo aún no existe la versión al español, como ejemplo se debería escribir en el terminal “export LANG=es” para cambiar el idioma.

• Ubicación en el menú de Kali: (i) Aplicaciones - Kali Linux – Recopilación de Información – Análisis DNS

/Análisis SMB / Análisis SMTP / Análisis SNMP / Detección del SO / Detección de Servicio / Escáner de Redes /Identificación de Host en línea – Zenmap.

(ii) Aplicaciones - Kali Linux – Análisis de Vulnerabilidades – Otros escáner- Zenmap.

• Escrita en: Python • Compatibilidad con otros Sistemas Operativos: Linux, Windows, Mac OS X, BSD,

entre otros. • Fase del Hacking Ético a la que contribuye: Reconocimiento, Escaneo. • Modo de ejecución: GUI • Manual de Usuario: Si • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 5 • Presentación de los resultados: 5 • Manual de Usuario Intuitivo: 4 • Observaciones: Zenmap nace de Umit, un proyecto creado por Adriano Monteiro

Marques durante el Summer of Code auspiciado por Google del año 2005 y 2006. En

Page 76: Análisis de las herramientas para el proceso de auditoria de ...

65

el 2007 se modificó e integró a NMap y tomo el nombre de Zenmap. En este caso el manual de usuario se lo encuentra únicamente en inglés. Las plataformas o sistemas operativos en las que puede ejecutarse se asume que son las mismas en las que podría correrse Nmap.

• Valoración Final de la herramienta: Herramienta útil para principiantes que permitirá agilizar el proceso de ejecución de búsquedas y la comparación de resultados; sin lugar a dudas una opción bastante conveniente para todos aquellos que se inician en el análisis de la red y requieren entranemiento para el uso de la herramienta.

Burp  Suite  • Captura de pantalla de la herramienta

Figura 17. Interceptando solicitudes HTTP con Proxy Burp Suite

• Función Principal: Esta plataforma permite la ejecución de pruebas de seguridad a sitios web brindando soporte total en el proceso de pentesting desde el reconocimiento y análisis hasta la explotación de las vulnerabilidades.

• Características: o Rápido y eficiente: A través de sus pantallas permiten al auditor trabajar de

forma ágil en el proceso de su auditoría. o Concede el control: Brinda al auditor control completo sobre las acciones que

ejecuta. o Personalizado: Permite automatizar todo tipo de tareas y combinar avanzadas

técnicas manuales con técnicas automatizadas para hacer pruebas más rápidas y confiables.

• Versión: 1.6 • Autor: PortSwigger Ltd.

Page 77: Análisis de las herramientas para el proceso de auditoria de ...

66

• Sitio Web Oficial: http://portswigger.net • Licencia: Burp Suite Free Edition Licence Agreement • Opciones Disponibles:

Burp Suite está compuesto por los siguientes elementos: o Burp Proxy: Es una de las principales herramientas de Burp Suite, el

cual permite interceptar, ver y modificar todas las solicitudes y respuestas entre un navegador y un servidor web.

o Burp Spider: Permite realizar un rastreo de sitio web utilizando técnicas de inteligencia que permiten generar un inventario de su contenido y funcionalidad.

o Burp Repeater: Esta herramienta permite manualmente generar peticiones HTTP y analizar la respuesta del aplicativo. Además se pueden enviar solicitudes al repetidor desde otras herramientas como el proxy del mismo aplicativo para comenzar el análisis.

o Burp Sequencer: Es una herramienta de análisis de calidad de la aleatoriedad de los tokens de sesión32 que da la aplicación y de otros datos relevantes que podría pasar por desapercibida.

o Burp Decoder: es capaz de transformar datos codificados a su forma natural así como codificar datos simples (texto o hexadecimal) en otra codificación (Base64, ASCII hexadecimal, hexadecimal, octal, binario, etc) o inclusive permite aplicar funciones de hash sobre el texto ingresado (MD2, MD5, SHA1,SHA-256, entre otras).

o Burp Comparer: Permite como su nombre lo indica realizar comparaciones entre dos textos (simples o hexadecimales), es sencillamente una ventana con dos cajas de texto que permite comparar a nivel de palabras o de bytes, identificando a través de resaltadores de colores los datos modificados, añadidos y eliminados.

o Burp Intruder: Es una herramienta para la automatización personalizada de ataques a aplicaciones web que permite identificar y explotar todo tipo de vulnerabilidades de seguridad. Los resultados obtenidos con otras herramientas de Burpsuite pueden incorporarse para: fuzzing33, descifrar identificadores como números y usuarios utilizados dentro de la aplicación, ataques de fuerza bruta, explotación de fallos, entre otros. Esta herramienta viene como Demo, sin embargo se puede encontrar en su versión completa en Burp Suite Pro.

• Datos técnicos: La aplicación se distribuye en formato .jar y para su instalación requiere de Oracle Java 1.6 o superior (Java Runtime Environment). Sin embargo esta aplicación utiliza 2 librerías de código abierto, Cobra y BlazeDS que tienen su propia licencia de distribución (Gnu Lesser General Public License), pueden ser actualizadas y posterior a ello se debe recompilar el jar para iniciar el aplicativo [19]. Para evitar que la aplicación colisione a falta de memoria, se debe asignar un tamaño de memoria máxima a la aplicación, desde una ventana de terminal se puede ejecutar cualquiera de los dos comandos siguientes las cuales le asignan 2GB de RAM a Burp

32

Los token de sesión es un identificador único que es generado por una función hash y es enviado del servidor al cliente para reconocer dicha sesión. 33 Consiste en la aplicación de técnicas para detectar vulnerabilidades (comportamientos esperados o inesperados) en un sistema, este proceso esta conformado por tres etapas: Obtención de datos, envío de datos al objetivo y análisis de datos.

Page 78: Análisis de las herramientas para el proceso de auditoria de ...

67

Suite: o java -jar -Xmx2048M /path/to/burpsuite.jar o java -jar -Xmx2G /path/to/burpsuite.jar

Si se decide agregar memoria se debe tener en cuenta que esta no puede pasar de 4GB ya que esto le añade más trabajo al Garbage Collector o recolector de basura, lo que puede afectar el rendimiento de las aplicaciones de Java. Además para comenzar a utilizar la aplicación es necesario configurar el navegador desde el que se registrarán todas las solicitudes, existe soporte para los navegadores: Internet Explorer, Chrome, Firefox y Safari, puede consultarse en el menú Help- Getting Started- Configuring your browser. Además permite probar aplicativos móviles, para lo cual brinda las configuraciones necesarias para el Sistema Operativo de Mac, iOS, en el siguiente enlace.

• Ubicación en el menú de Kali: Aplicaciones - Kali Linux – Aplicaciones Web- Aplicaciones Proxy/Aplicativos para Fuzzing /Escáner de Vulnerabilidades Web/Indexadores Web -BurpSuite.

• Escrita en: Java • Compatibilidad con otros Sistemas Operativos: Windows, Mac OS, Linux • Fase del Hacking Ético a la que contribuye: Escaneo, explotación • Modo de ejecución: GUI • Manual de Usuario: Si • Nivel de Complejidad (Básico, Intermedio, Avanzado): Avanzado • Facilidad de Uso: 4 • Calidad de resultados: 5 • Presentación de los resultados: 5 • Manual de Usuario Intuitivo: 5 • Observaciones: BurpSuite cuenta con una versión gratuita que es aquella que viene

incluida en Kali Linux y con una versión de pago llamada Burpsuite Proffessional Edition y tiene un costo de $299 USD por usuario por año. Entre las ventajas que posee exclusivamente la versión Profesional tenemos:

o Burp Intruder: Es una herramienta para la automatización personalizada de ataques a aplicaciones web que permite identificar y explotar todo tipo de vulnerabilidades de seguridad. Los resultados obtenidos con otras herramientas de Burpsuite pueden incorporarse para: fuzzing34, descifrar identificadores como números y usuarios utilizados dentro de la aplicación, ataques de fuerza bruta, explotación de fallos, entre otros. Esta herramienta viene en la versión gratuita pero en forma de Demo.

o Burp Scanner: Es un escáner avanzado que permite el control sobre cada ítem que es escaneado y devuelve inmediatamente los resultados. Con este escáner se puede realizar reconocimiento activo, reconocimiento pasivo y escáner personalizados por el usuario.

o Guardar y Restaurar: Permite guardar el estado de elementos como el

34 Consiste en la aplicación de técnicas para detectar vulnerabilidades (comportamientos esperados o inesperados) en un sistema, este proceso esta conformado por tres etapas: Obtención de datos, envío de datos al objetivo y análisis de datos.

Page 79: Análisis de las herramientas para el proceso de auditoria de ...

68

mapa de sitio, historial proxy, temas identificados por el scanner, contenidos e historial de la pestaña “Repeater” y configuraciones de las herramientas. La opción de restaurar permite retomar el trabajo, así como puede ser usado como medida de respaldo o back-up del estado que se analiza.

o Buscar: Permite la personalización de búsquedas de textos simples, comentarios, script y referencia a una URL lo cual puede ayudar a encontrar o a filtrar resultados dentro de nuestro análisis.

o Analizador: Esta opción indica cuantas URL estáticas o dinámicas contiene el sitio analizado y puede presentarlo a modo de resumen, listando las URL dinámicas o estáticas, así como un listado de los parámetros y el número de veces que se repite en diferentes URL.

o Descubridor de contenido: A través de distintas técnicas permite explorar el sitio web ofreciendo opciones como: número de solicitudes realizadas, número de errores de red, listado de nombres de archivos y sus directorios, sus extensiones, etcétera y utiliza su propio mapa de sitio.

o Planificador de tareas: Esta opción permite la gestión de tareas (empezar, detener, guardar) en tiempos e intervalos definidos.

o Por último esta versión permite la actualización constante del aplicativo.

Es un aplicativo de bastante popularidad gracias a las múltiples opciones que

permite, por lo cual autores de libros como Mahajan A. [19] con una amplia

experiencia en ámbitos de seguridad consideran conveniente el uso de la versión

Profesional del mismo. Cabe recalcar además que al igual que la mayoría de las

herramientas aquí presentada el manual se encuentra en inglés.

• Valoración Final de la herramienta: Esta herramienta ofrece muchas ventajas aún en su forma gratuita y permite analizar las seguridades de un sitio web del que somos dueños o estamos autorizados ya que el análisis comienza a través de la intercepción de solicitudes HTTP y es de bastante utilidad que se incorpore a la mayoría de navegadores populares. Con ello no indico que la versión Profesional es mala o no conviene adquirirla, se han podido mostrar las diferencias que existen entre ellas y vemos que para realizar un trabajo de auditoría continuo la versión Profesional puede ser de gran ayuda.

owasp-­‐zap  (Zed  Attack  Proxy)  • Captura de pantalla de la herramienta: Ver siguiente página Figura 18. • Función Principal: Framework para pruebas de seguridad que permite encontrar

vulnerabilidades en aplicaciones web.

Page 80: Análisis de las herramientas para el proceso de auditoria de ...

69

Figura 18. Análisis usando Zap a una sesión solicitada en proyecto Gruyere35

• Características: o Completamente gratis y de Código Abierto: Todas las opciones se encuentran

disponibles sin restricciones. o Cuenta con “OWASP Flagship Project” una designación que se le otorga a los

proyectos que demuestran valor estratégico a OWASP36 y que cuentan con seguridad en sus aplicaciones.

o Multiplataforma: Puede ejecutarse en Windows, Linux y Mac. o Fácil: De instalar y de usar. o Ideal para principiantes en seguridad de aplicaciones y también para

profesionales como desarrolladores o analistas de Calidad de Servicios ya que les permite automatizar las pruebas de seguridad que pueden ser incorporadas en un ambiente de desarrollo continuo.

o Documentado: Su manual de ayuda ha sido traducido a diferentes idiomas: inglés, árabe, albanés, bosnio, portugués, chino, danés, filipino, francés, alemán, griego, indonesio, italiano, japonés, coreano, persa, polaco, ruso, español y urdu.

o Cuenta con una comunidad internacional de desarrolladores voluntarios. o De acuerdo a las estadísticas recopiladas bajo encuesta por el sitio oficial de la

herramienta, ésta siendo utilizada mayoritariamente en Estados Unidos, China y España, y de forma minoritaria en otros países del mundo.

• Versión: 2.4.0

35 Google Gruyere es un proyecto de código abierto que proporciona un escenario de pruebas para realizar análisis y ataques detectando todas las vulnerabilidades que el sitio posee, se asigna una sesión única para cada solicitud de tal forma que un ataque no afecta a otro escenario de pruebas en otra sesión, además puede ser descargado y ejecutado localmente. 36 OWASP es una organización internacional dedicada a fomentar la creación, desarrollo, adquisición, operación y mantenimiento de aplicaciones confiables (a nivel de seguridad de software); todas las herramientas, documentos, foros y demás constructos relacionados a sus aplicaciones son completamente gratuitas. Su trabajo es apoyado a través de la OWASP Foundation.

Page 81: Análisis de las herramientas para el proceso de auditoria de ...

70

• Autor: OWASP.org • Sitio Web Oficial: https://www.owasp.org/index.php/ZAP • Licencia: Apache versión 2. • Opciones Disponibles:

o Intercepting Proxy: Permite visualizar las solicitudes y respuestas realizadas a través del navegador web, además es posible ver llamadas Ajax37. Se puede inclusive establecer puntos de quiebre (modo depuración) para cambiar las solicitudes receptadas.

o Spiders tradicionales y Ajax: Esta herramienta es usada para automáticamente descubrir nuevos recursos (URL) de una página web.

o Ejecutar escaneos activos y pasivos para detectar vulnerabilidades del sitio objetivo, así como la configuración de determinados parámetros para cada tipo de escaneo (número de host analizados para el escaneo activo, entre otras y definir etiquetas en el escaneo pasivo).

o Descubrir directorios y archivos utilizando técnicas de búsqueda bajo mecanismos de fuerza bruta. A través de la ventana de opciones (Brute Force) permite establecer el número de ejecuciones por host, si se habilita recursividad en la búsqueda, permite añadir archivos personalizados que realicen mecanismos de fuerza bruta. Se encuentra basado en otra herramienta llamada OWASP Dirbuster Code (proyecto actualmente inactivo ya que fue incorporado a ZAP)

o Generar reportes en formato HTML y XML con los asuntos detectados, así como consejos y enlaces que podrían ayudar a la resolución de los mismos.

o Fuzzer: Zap permite aplicar técnicas de fuzzing utilizando una base de datos llamada Fuzzdb y las librerías de JBroFuzz, un proyecto inactivo actualmente de OWASP que proveía de técnicas de fuzzing para solicitudes sobre HTTP y HTTPS a través de un aplicativo web.

o Certificado SSL Dinámicos: Es posible generar una única autoridad de certificación que sea reconocida como confiable para el navegador web, de tal forma que se pueda interceptar el tráfico HTTP.

o Soporte para tarjetas inteligentes y certificados digitales de clientes: Esta funcionalidad es útil si la aplicación evaluada usa tarjetas inteligentes o tokens para la autenticación.

o Capaz de interceptar y mostrar mensajes WebSocket, establecer un punto de quiebre en tipos específicos de mensajes WebSocket y enviar información inválida o inesperada al navegador o servidor a través de los mensajes WebSocket.

o Soporta una amplia gama de lenguajes script que soporten JSR 223 (Especificación de solicitudes Java) como ECMAScript, Zest, Groovy, Python, Ruby, entre otros.

o Soporte Plug-n-Hack38: Agrega un botón a la pestaña de inicio rápido que permite configurar rápida y fácilmente el navegador para trabajar con ZAP.

o Soporte para autenticación y sesiones: Permite comparar sesiones distintas si

37 Sus siglas significan Asynchronous JavaScript y XML, este enfoque permite actualizar de forma asíncrona e incremental una parte de la página web localmente sin esperar que la página se refresque. 38 Plug-n-Hack es un estándar propuesto por el equipo de seguridad de Mozilla para definir como las herramientas de seguridad

deben interactuar con los navegadores de forma que sean fáciles y útiles.

Page 82: Análisis de las herramientas para el proceso de auditoria de ...

71

la aplicación evaluada lo permite. • Datos técnicos: Para su instalación se requiere de Java 7 (en el caso de Mac OS ya

viene incluida). • Ubicación en el menú de Kali:

(i) Aplicaciones- Kali Linux – Top 10 Security Tools – Owasp-zap. (ii) Aplicaciones – Kali Linux – Aplicaciones Web- Aplicaciones Proxy / Escáner

de Vulnerabilidades/ Indexadores Web - Owasp-zap. (iii) Aplicaciones – Kali Linux- Husmeando / Envenenando –Husmeando la

Web – Owasp-zap. • Escrita en: Java • Compatibilidad con otros Sistemas Operativos: Windows, Linux, Mac OS. • Fase del Hacking Ético a la que contribuye: Escaneo, explotación. • Modo de ejecución: GUI • Manual de Usuario: Si • Nivel de Complejidad: Intermedio • Facilidad de Uso: 5 • Calidad de resultados: 5 • Presentación de los resultados : 5 • Manual de Usuario Intuitivo: 4 • Observaciones: A pesar de que el manual de ayuda ha sido traducido a múltiples

idiomas, todavía no esta terminada la traducción al menos al español; para ayudar con las traducciones utilizan Crowdin, una plataforma que permite traducir, gestionar y organizar proyectos. Inclusive la aplicación se encuentra con porciones en inglés, cuando se tiene la versión en español.

• Valoración Final de la herramienta: Owasp-Zap como podemos notar cuenta con herramientas de análisis que permiten detectar con facilidad vulnerabilidades ya que agrupa la información por pestañas, categoriza los resultados y utiliza colores que facilitan la visualización de los casos de nivel de alto riesgo. Por lo tanto, es una herramienta útil tanto para desarrolladores de software como para personal de seguridad interno de la compañía. Por otro lado, debido a la cantidad de opciones que posee el proceso de familiarización con las opciones de configuración y demás opciones del aplicativo puede ser costoso especialmente para principiantes, además que al ser un proxy con escaneo activos se debe ejecutar únicamente sobre sitios que se tenga propiedad y no se podría ejecutar este tipo de escaneos en una auditoría ya que llamaría la atención del personal de seguridad informática.

Skipfish  • Captura de pantalla de la herramienta: Ver siguiente página Figura 19. • Función Principal: Escáner de aplicación web que permite visualizar un mapa

interactivo del sitio realizando rastreos recursivos y pruebas de diccionario.

Page 83: Análisis de las herramientas para el proceso de auditoria de ...

72

Figura 19. Ejemplo de resultados en formato HTML de Skipfish

• Características: 1. Velocidad de Respuesta: Su codificación en C y su uso optimizado de

HTTP permiten utilizar modestamente la CPU y permiten alcanzar 2000 solicitudes/respuesta por segundo en redes LAN/MAN. Además de otras técnicas como el modelado de procesamiento de datos, planificación y técnicas de caching, entre otras, que permiten dicha velocidad.

2. Fácil Uso: Reconocimiento heurístico le permiten analizar sitios web con tecnología variada, construir automáticamente lista de palabras basadas en análisis de contenido del sitio web.

3. Interactivo: Genera un archivo con los resultados en formato HTML que permite desplegar y encoger resultados.

4. Permite analizar la seguridad de un sitio web: Capaz de realizar un análisis preciso y coherente de las vulnerabilidades del sitio.

5. Usa una lógica de seguridad de primera: Alta calidad, reducida cantidad de falsos positivos, capaz de detectar una serie de defectos sutiles incluyendo ataque a ciegas de vector SQL.

• Versión: 2.10b • Autor: Google Inc, Michal Zalewski, Niels Heinen, Sebastian Roschke. • Sitio Web Oficial: https://code.google.com/p/skipfish/ • Licencia: Bajo los términos y condiciones de la licencia de Apache 2.0 • Opciones Disponibles: Los comandos permitidos deben escribirse bajo el siguiente patrón:

skipfish [opciones] -W nombre_diccionario -o directorio_salida dirección_o_URL Las opciones están clasificadas de la siguiente forma: 1. Autenticación y acceso: Algunos sitios pueden solicitar autenticación de

algún tipo, para ello en esta sección se encuentran comandos que permiten indicar por ejemplo usuario y contraseña, parámetros de cabecera

Page 84: Análisis de las herramientas para el proceso de auditoria de ...

73

(nombre=valor) para solicitudes, entre otras. 2. Opciones específicas para el rastreo: En esta sección se pueden indicar

opciones como número total de solicitudes a enviar, no analizar sintácticamente el código HTML para encontrar nuevos enlaces, no aplicar técnicas de fuzzing a parámetros llamados de alguna forma (por ejemplo “string”), excluir URL con determinado nombre, entre otras.

3. Opciones de Reporte: Brinda comandos que permiten generar reportes en el directorio solicitado, registrar los mensajes de alerta, suprimir nodos duplicados en el reporte, habilitar el registro en tiempo de ejecución, entre otras opciones.

4. Opciones de diccionario: A través de los comandos de esta sección se permite utilizar un diccionario, añadir uno suplementario, no aplicar mecanismos de fuerza bruta en directorios, etc.

5. Opciones de configuración de rendimiento: Se puede especificar el número máximo de conexiones TCP simultáneas, el número máximo de conexiones por IP, el tiempo total de espera de las solicitudes y respuestas (timeout), entre otras.

6. Otras configuraciones: Aquí encontramos a tres comandos, uno para indicar el número máximo de solicitudes por segundo, detener el escaneo después de un determinado tiempo especificado en formato h:m:s (hora:minuto:segundo) y la última opción permite cargar un archivo de configuración especificado.

• Datos técnicos: Entre los tipos de test implementados por la herramienta que son considerados como de Alto Riesgo encontramos:

1. Ataques de inyección de consultas SQL o código PHP de lado del servidor (incluyendo vectores de ataque ciegos y parámetros numéricos).

2. Envío de consultas con sintaxis SQL en los parámetros GET o POST. 3. Inyección de comandos Shell de lado del servidor (incluyendo vectores de

ataque donde no es posible ver el resultado) 4. Ataques de inyección XML/ XPath. 5. Vulnerabilidades de cadenas de texto que al ser evaluadas se toman como

comandos de la aplicación. 6. Vulnerabilidades en el procesamiento de enteros que producen el “Integer

overflow” o sobrecarga que hace caer un sistema. 7. Recepción de solicitudes de HTTP PUT.

Entre otras pruebas de menos impacto especificadas en el siguiente enlace.

• Ubicación en el menú de Kali: Aplicaciones - Kali Linux – Aplicaciones Web- Escáner de Vulnerabilidades Web -Skipfish.

• Escrita en (Lenguaje de Programación): C • Compatibilidad con otros Sistemas Operativos: Linux, FreeBSD, MacOS X y para

Windows a través de la instalación de Cygwin (software que provee de funcionalidades similares de Linux para Windows).

• Fase del Hacking Ético a la que contribuye: Escaneo • Modo de ejecución: Consola • Manual de Usuario: Si • Nivel de Complejidad: Básico • Facilidad de Uso : 4

Page 85: Análisis de las herramientas para el proceso de auditoria de ...

74

• Calidad de resultados: 5 • Presentación de los resultados: 4 • Manual de Usuario Intuitivo: 1 • Observaciones: Para esta herramienta la URL o dirección del website que se va a

analizar debe incluirse completa, por ejemplo: http://www.ejemplo.com. Se califica con la menor puntuación la opción de manual de usuario interactivo por que cuenta únicamente con una página web en donde explica brevemente el uso de la herramienta y los comandos pueden visualizarse a través de la ayuda en consola.

• Valoración Final de la herramienta: La herramienta se encarga de hacer algunas pruebas al sitio web y toma un tiempo considerado esperar por un análisis completo, sin embargo se puede obtener buenos consejos en la sección de Problemas Comunes para mejorar esos tiempos. Una de sus ventajas es que la presentación de los resultados no se hace a través de consola, sino a través de un archivo HTML con opciones navegables que describen y clasifican los resultados obtenidos. Como desventaja se puede notar que en el “Show Trace” al que hacen referencia algunos de los resultados, se presenta el texto sin formato con las solicitudes realizadas lo cual podría ser mejorado para identificar de mejor manera los datos que se envía y la parte en específico en la que cambian los resultados, ya que resulta un poco complejo analizar HTML en una ventana emergente con texto en color negro.

3.9.3 Etapa  de  Explotación  Las herramientas a evaluar dentro de esta etapa son Metasploit Framework y para

realizar ataques de ingeniería social por su popularidad se ha seleccionado a SET.

Metasploit  Framework  (MSF)  • Captura de pantalla de la herramienta

Figura 20. Metasploit Framework

Page 86: Análisis de las herramientas para el proceso de auditoria de ...

75

• Función Principal: Framework de explotación compuesto por librerías, módulos, interfaces y un sistema propio de archivos que busca ofrecer un compendio de herramientas a través de las cuales se permita ejecutar exploits y mantener el acceso valiéndose de las vulnerabilidades detectadas.

• Características: o Código Abierto o Es la base del resto de versiones de Metasploit (Community Edition, Pro y

Express). o Agradable: A pesar de que dos de sus interfaces se ejecuten en consola

(excepción Armitage), presenta al iniciar banners con motivos distintos que dan una bienvenida amena cuando se inicia la herramienta, ya sea por consola o a través del menú de Kali.

• Versión: 4.11.3-2015062101 • Autor: H D Moore, actualmente adquirido por Rapid7 LLC. • Sitio Web Oficial: http://www.metasploit.com • Licencia: Metasploit Framework License (BSD de 3 cláusulas) • Opciones Disponibles: Para iniciar el servicio es necesario ir al menú Aplicaciones-

Kali Linux- Servicios del Sistema- Metasploit- community /pro start. Este framework esta compuesto por:

o Librerías: Son el núcleo de MSF, ellas son las encargadas de brindar las funcionalidades básicas así como la mayoría de tareas, manejando sockets, protocolos y operaciones de codificación (XOR, Base64 o Unicode), proporcionan las APIs a través de las cuales interactúan interfaces, módulos y plugins.

o Módulos: Implementan funcionalidades a MSF, son 6 y se presentan a conitnuación: § Auxiliares (auxiliary): Estos módulos ofrecen funciones para ejecutar

sobre un equipo como inicio de sesión, escáner de puertos, herramientas de denegación de servicios, fuzzers, etc.

§ Codificadores (encoders): Se encargan de realizar la codificación/decodificación del los payloads39 de modo que se pueda evitar que los antivirus puedan detectarlos.

§ De explotación (exploits): Se trata de aquellos módulos donde se encuentran alojados los procedimientos que a través del uso de payloads toman el control de un equipo.

§ Cargas (payload): Se trata del código malicioso que se ejecuta en el host víctima luego de la explotación o el acceso al mismo.

§ Generadores de no operación (nops): Estos módulos contienen código capaz de generar instrucciones NOP40 para los códigos maliciosos.

§ De post-explotación (post): Contienen acciones que nos permiten mantener el acceso, escalar privilegios, capturar pruebas sobre la máquina, entre otras, cuando ya se ha alcanzado la explotación.

39 En Seguridad Informática, payload es el código malicioso que tiene como objetivo realizar alguna acción sobre el equipo infectado. 40 NOP es una instrucción de NO-Operation que indica al computador que no debe hacer nada y seguir con la siguiente instrucción, lo que hace es dirigir la ejecución hacia el código malicioso (en este caso) y mantiene el tamaño del payload consistente.

Page 87: Análisis de las herramientas para el proceso de auditoria de ...

76

También ofrece la posibilidad de escribir nuestros propios módulos post.

o Interfaces: § Msfconsole: Es la interfaz más popular debido a su “todo en uno”, es

decir, permite a través de esta consola acceder a todas las opciones del framework. Además de que es la más estable entre las interfaces, permite la ejecución de comandos externos como por ejemplo ping, brinda las opciones para completar los comandos o rutas escritas al presionar la tecla tabuladora (tab).

§ Msfcli: A través de una interfaz de línea comandos se permite ejecutar exploits y módulos auxiliares, lo cuales se personalizan con los parámetros apropiados para realizar el ataque. Existen comandos que nos permiten conocer los parámetros obligatorios que deben ser configurados para la ejecución de un exploit.

§ Armitage: Es la interfaz gráfica para Metasploit Framework a través de la cual se pueden realizar las mismas opciones que en consola de una manera más practica e intuitiva. A Armitage la podemos encontrar independiente en el menú de Kali en: Aplicaciones- Kali Linux- Herramientas de Explotación – Network Explotation- Armitage.

§ Web: La interfaz se provee en las versiones Community, Express y Pro, siendo las dos últimas de pago, y a través de las cuales se puede interactuar con las opciones de MSF.

Las opciones con las que cuenta esta versión son las siguientes:

o Permite la creación de espacios de trabajo (workspaces) , por defecto siempre se trabaja en el espacio de trabajo por defecto “default”, a menos que se cree y se seleccione otro.

o Importa información obtenida desde otras herramientas como: reportes de Nmap, Burp, Nessus, Nexpose, OpenVAS, entre otras. Donde el formato que recibe en su gran mayoría es XML.

o Cuenta con la colección más amplia de exploits que existe hasta el momento. o Permite la explotación manual: Se selecciona un solo exploit para lanzar

contra un único host. o Proxy Pivoting: Usa una máquina comprometida para lanzar un exploit contra

otro objetivo. o Cuenta con el soporte de la comunidad activa Rapid7 Security Street.

• Datos técnicos: Cuando se inicia el servicio de MSF, se levanta: o Servidor de Base de Datos PostgreSQL 9.1.: Al iniciarse crea una base de datos

y un usuario msf3, es en ella que se almacenan los resultados cargados desde fuentes externas, los host que se van detectando, entre otras.

o Remote Procedure Call (RPC) Metasploit Server: Permite que herramientas de terceros puedan interactuar con el framework.

o Servidor Web: Que permite levantar el proyecto web que ofrece una interfaz más interactiva e intuitiva.

• Ubicación en el menú de Kali: (i) Aplicaciones- Kali Linux- Top 10 security tools-Metaslpoit Framework. (ii) Aplicaciones- Kali Linux-Metasploit- Metasploi Framework.

• Escrita en: Ruby

Page 88: Análisis de las herramientas para el proceso de auditoria de ...

77

• Compatibilidad con otros Sistemas Operativos: Ha sido probado en Windows XP SP2, Windows Vista, Windows 7, Windows 2003 Server SP1+, Windows 2008 Server, RHEL 5+, Ubuntu 10.04+ . Puede funcionar en otros sistemas operativos, pero no son oficialmente soportados.

• Fase del Hacking Ético a la que contribuye: Reconocimiento, escaneo, obtener acceso.

• Modo de ejecución: Consola. • Manual de Usuario: Si* • Nivel de Complejidad: Avanzado • Facilidad de Uso: 4 • Calidad de resultados: 5 • Presentación de los resultados: 5 • Manual de Usuario Intuitivo: 5 • Observaciones:

*En la opción de manual de usuario se especifica que existe un manual para esta versión, en Rapid7 no existe un manual para la versión Metasploit Framework, sino únicamente para la versión community y Pro, sin embargo existe un manual gratuito para el manejo de este framework en el sitio oficial de Offensive Security llamado Metasploit Unleashed . La versión Community, que también es gratuita, requiere registro en los servidores de Rapid7 para otorgar una licencia de uso por 1 año, esta versión es recomendada para estudiantes y pequeñas empresas. Al momento del registro, se solicita los datos personales además de datos de localización y si el solicitante se encuentra fuera de los Estados Unidos o Canadá, un mail con el asunto “Export Restriction Notice” se recibe para indicar que la aprobación de la licencia demorará de 48 horas a 72 horas, esto hace que no podamos usar Metasploit Community durante ese tiempo. La versión Metasploit Pro o Profesional es ofrecida durante el registro con una licencia de prueba de 7 días. Comparativas con otras versiones pueden revisarse en : https://www.rapid7.com/products/metasploit/editions.jsp, una tabla comparativa general también puede encontrarse en: https://community.rapid7.com/docs/DOC-2287 .

• Valoración Final de la herramienta: Como pudimos revisar msfconsole es la interfaz más estable de Metasploit Framework, la que para utilizarse requiere por parte del auditor la familiarización con todos los componentes del framework que se mencionaron, además de los plugins y herramientas msf, sin embargo esta interfaz no esta orientada para principiantes sino para expertos en la herramienta. Las desventajas que posee msfcli [20] es que no está soportado tan bien como msfconsole y sólo puede manejar un shell a la vez, por lo que es poco práctico para los ataques del lado del cliente. Entre las desventajas encontradas en Armitage la pestaña de Workspaces no devuelve ningún resultado, cuando debe al menos mostrar el workspace default. Pese a ello, Armitage ofrece una pestaña de consola que permite interactuar con msfconsole, con lo cual obtenemos una herramienta interactiva y al mismo tiempo potente. Como podemos notar se pueden enumerar las desventajas encontradas, las cuales frente a los servicios que ofrece el framework no son considerables.

Page 89: Análisis de las herramientas para el proceso de auditoria de ...

78

SET  (  Social-­‐Engineer  Toolkit)  • Captura de pantalla de la herramienta

Figura 21. Submenú Opción 1 de SET

• Función Principal: Este framework ha sido especialmente diseñado para realizar ataques de ingeniería social.

• Características: o Completo: Cuenta con 9 opciones para realizar ataques en poco tiempo. o Adaptable: Permite añadir módulos de terceros a las opciones de SET. o Guiado: En cada una de las opciones se va especificando las sub-opciones con las

que se cuenta con una breve descripción de las mismas. • Versión: 6.1.2 • Autor: David Kennedy, TrustedSec, LLC • Sitio Web Oficial: https://github.com/trustedsec/social-engineer-toolkit/ • Licencia: BSD (3 cláusulas) • Opciones Disponibles: Para ejecutar esta herramienta, se debe abrir una ventana de

terminal y escribir setoolkit, posterior a ello nos pedirá aceptar las condiciones de uso del software y nos aparecerá el menú principal. La opción número 1 trata de ataques de ingeniería social, y esta opción nos llevará hacia otro submenú desde donde se podrá realizar lo siguiente [21]:

1. Métodos de Ataques a E-mail: Desde esta opción se puede enviar correo electrónico de forma masiva o dirigida hacia individuos, además también se puede generar correos con archivo adjunto infectado para poder tomar el control de la máquina cliente.

2. Ataques a Sitios Web: Esta opción nos permitirá darle vida a un sitio web duplicado del cual se tenga una copia previa (esto puede realizarse con otras herramientas de software como por ejemplo HTTrack). Se puede realizar múltiples ataques utilizando diferentes técnicas de modo que con un solo clic el cliente quede comprometido.

3. Generador para Infectar Unidades de Almacenamiento: Desde esta

Page 90: Análisis de las herramientas para el proceso de auditoria de ...

79

opción se podrá desarrollar un archivo infectado con el nombre de autorun.inf que una vez localizado en un medio USB disparará a otro programa que infectará y comprometerá el sistema objetivo.

4. Generación de Payload y Listener: Desde esta opción se podrá crear un archivo con extensión .exe que permitirá abrir el canal de comunicación entre victima e intruso.

5. Ataques Masivos de Correo Electrónico: Mediante esta opción se podrá enviar múltiples correos electrónicos, a diferencia de la primera opción, éste no permite adjuntar archivos y es mayormente utilizado para ejecutar ataques de fraude mediante correo como por ejemplo indicar que se es ganador a la lotería.

6. Ataques basados en Arduino: Esta opción permite programar los dispositivos basados en Arduino.

7. Ataques a Puntos de Acceso Inalámbricos: Desde esta opción se podrá crear una red wifi (utilizando una tarjeta de red en el equipo del atacante), permitiendo la conexión a supuestos sitios web reales, que estarán montados desde la máquina del atacante.

8. Ataques mediante Código QR: Esta opción permite generar códigos QR en Python, los mismos que cuando son escaneados redireccionarán hacia lugares de dominio del atacante.

9. Ataques Powershell: Permitirá usar PowerShell, una consola de comandos que permite interactuar con el sistema operativo y está disponible por defecto en Windows desde Windows Vista hasta la actualidad. Con lo cual se podrá ejecutar código malicioso lo que permitirá ejecutar funciones que de forma preventiva el Sistema Operativo no lo iniciaría.

10. Módulos de Terceros: Esta opción permitirá incorporar módulos de terceros a las opciones de SET.

• Datos técnicos: Ninguno • Ubicación en el menú de Kali: Aplicaciones – Kali Linux – Herramientas de

Explotación- Herramientas de Ingeniería Social –setoolkit. • Escrita en: Python • Compatibilidad con otros Sistemas Operativos: Linux, en Windows se encuentra en

fase experimental. • Fase del Hacking Ético a la que contribuye: Explotación • Modo de ejecución: Consola • Manual de Usuario: Si • Nivel de Complejidad: Avanzado • Facilidad de Uso: 4 • Calidad de resultados: - • Presentación de los resultados:- • Manual de Usuario Intuitivo: 2 • Observaciones: El manual de usuario es posible encontrarlo únicamente en idioma

inglés, además de presentar una organización estructural difusa. • Valoración Final de la herramienta: Setoolkit, se trata de una herramienta muy

potente de ingeniería social que permite preparar ataques contra el objetivo más débil de la organización, los empleados, es de uso avanzado porque quien arma estos ataques debe ser una persona que tenga conocimiento en el área y puede servir

Page 91: Análisis de las herramientas para el proceso de auditoria de ...

80

como herramienta útil para el auditor, ya que en ocasiones la seguridad de las redes y sistemas puede ser excelente y estar al día, pero si no se brinda capacitación al personal, existe la posibilidad de que sean utilizados como puente hacia la información que manejan.

3.9.4 Etapa  de  Elaboración  de  Reportes  En Kali contamos con algunas herramientas que puede acompañarnos en este arduo

proceso de análisis y aunque ninguna de las aplicaciones se encuentra en el Top 10, se

han seleccionado dos herramientas que permiten la documentación: Dradis y

KeepNote.

Dradis  • Captura de pantalla de la herramienta

Figura 22. Resumen de Proyecto en Dradis

• Función Principal: Proveer de un repositorio centralizado para llevar seguimiento de las pruebas que han sido realizadas o que están pendientes de realizar.

• Características o Colaborativa: Permite la contribución de un equipo de personas en un

mismo proyecto, siendo capaz de llevar seguimiento de los tópicos analizados y además permite compartir capturas de pantallas (datos adjuntos) y evidencias.

o Flexible: Puede conectarse con aproximadamente 15 herramientas diferentes como BurpSuite, Nessus, Nmap, Zed Attack Proxy, etc., de tal forma que se permita el soporte en todas las etapas del proceso de evaluación que se lleva.

o Independiente de plataformas: Ya que se trata de una aplicación web donde lo único necesario es un navegador.

o Facilita la generación de reportes en formato HTML o (Microsoft Word)

Page 92: Análisis de las herramientas para el proceso de auditoria de ...

81

doc. o Sencilla y fácil de usar: Utiliza una pantalla similar a la que utiliza un

correo electrónico. De lado derecho la lista de notas y de lado izquierdo la previsualización de los mimos. La creación, gestión de carpetas y subcarpetas sigue los procesos tradicionales.

o Ligero y portable. • Versión: 3.0rc2 • Autor: Security Roots • Sitio Web Oficial: http://dradisframework.org • Licencia: GNU GPLv2 • Opciones Disponibles:

o Creación de ambiente compartido: No se requiere crear usuarios y contraseñas, todo se basa en una contraseña compartida.

o Permite crear y clasificar notas, además permite añadir datos adjuntos. o Creación de nuevas categorías de notas. o Añadir datos adjuntos a las carpetas. o Permite extender la funcionalidad de la herramienta haciéndola compatible

con otras a través de plugins: (i) Plugins para Importar: Permiten añadir información a Dradis de

recursos externos como Metasploit, Open Source Vulnerability Data Base, VulnDB HQ y MediaWiki.

(ii) Plugins para Exportar: Permite exportar el contenido de Dradis a formato Word, HTML, xml y zip (compresión de todo el proyecto en xml).

(iii) Plugins para cargar archivos (Upload): Esta opción ofrece la herramienta que permite subir el archivo exportado de otras herramientas como: Acunetix, Burp Scanner, Nessus (Escáner de Vulnerabilidades de pago similar a Maltego), NeXpose (Versión gratuita del escáner), Nikto (Escáner de servidor web), Nmap, OpenVAS, Qualys.

• Datos técnicos:

Como iniciar la herramienta:

o Para poder levantar el aplicativo web, se debe primero ir a: Aplicaciones- Kali- Servicios del Sistema- Dradis-Dradis Start.

o Luego de ello ir a menú de Dradis (Ubicación en el menú de Kali), esto nos llevara a http://127.0.0.0.1:3004 donde estará levantado el aplicativo.

o Cuando se inicia un nuevo proyecto se selecciona una contraseña, la cual se compartirá con el resto de miembros, posterior a ello solicitará un nombre de usuario (creado en ese momento) y la contraseña del proyecto al que se pretende conectar.

o Si se desea actualizar la versión de Dradis que viene incluida en Kali Linux, se debe descargar el paquete para Linux y posterior a ello seguir los pasos indicados en http://dradisframework.org/download.html (Sin levantar el redis-server que ya viene en Kali) y la aplicación se mostrará en http://0.0.0.0:3000.

o Es posible encontrar más información acerca de cómo utilizar la herramientas en http://guides.dradisframework.org o para la versión 2.9

Page 93: Análisis de las herramientas para el proceso de auditoria de ...

82

en el wizard que se encuentra en la dirección local aumentando “/wizard”. • Ubicación en el menú de Kali: Aplicaciones- Kali- Herramientas de Reporte-

Documentación- Dradis. • Escrita en: Ruby • Compatibilidad con otros Sistemas Operativos: Se realiza a través de navegador

web. • Fase del Hacking Ético a la que contribuye: Escribir informe • Modo de ejecución: Aplicación Web • Manual de Usuario: Si • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 3 • Presentación de los resultados: 1 • Manual de Usuario Intuitivo: 4 • Observaciones: Cuenta con un asistente (wizard) el que en este análisis se lo ha

calificado como Manual de Usuario, a pesar de que es bastante básico en sus explicaciones. Actualmente la herramienta recibe mantenimiento del grupo principal compuesto por: Daniel Martin (Github: etdsoft) y Jose A. Rilla (Github: rilla). Además Dradis cuenta con una versión pagada llamada Dradis Profesional, la cual de acuerdo a sus ventajas en soporte o herramientas incluidas se divide en Lite, Standard y Enterprise, comenzando con $99 hasta $499 por mes, de acuerdo al plan contratado.

• Valoración Final de la herramienta: Al probar la versión 2.9 de la herramienta, ocurrieron algunos errores: al momento de exportar el formato Word los archivos, al editar o eliminar notas desde la opción “new notes”; por tal motivo se realizó la prueba (instalación manual) con la última versión de Dradis (Dradis Framework 3.0 rc2) disponible para descarga desde el sitio oficial desde el 24 de Junio de 2015, la cual trae algunos inconvenientes solucionados además de tener un aspecto visual mejorado. La herramienta es de fácil uso y la incorporación de evidencias así como la facilidad de poder importar resultados de otras herramientas ofrece buenas prestaciones al personal de seguridad y le otorga una buena calificación en este análisis. Sin embargo, si se encontraron pequeños errores que no afectan la funcionalidad, pero podrían mejorarse como: error al exportar reportes a Word, al expandir el contenido de la nota o de la versión del help, debería tener la barra lateral de desplazamiento para poder leer todo el contenido o incluir un manual de ayuda más detallado en la nueva versión.

 

Page 94: Análisis de las herramientas para el proceso de auditoria de ...

83

KeepNote  • Captura de pantalla de la herramienta

Figura 23. Área de trabajo en Keepnote

• Función Principal: Permite elaborar notas, lista de tareas, notas de búsqueda y las almacena en un formato simple de manipular (Html y XML).

• Características: o Multiplataforma: Al utilizar PyGTK la convierte en una aplicación que

puede ejecutarse en Linux, Windows, Mac Os y otras plataformas. o Portable: El programa puede ser instalado en una memoria USB,

siguiendo pasos especificados en el enlace. o Organizado: Permite la visualización de las carpetas y archivos en un

esquema jerárquico. o Guarda automáticamente las notas que se van realizando (cada 10

segundos). • Versión: 0.7.8 • Autor: Matt Rasmussen • Sitio Web Oficial: http://keepnote.org/ • Licencia: GPLv2 • Opciones Disponibles:

o Crear proyectos (Notebook), páginas, subpáginas, carpetas y archivos(txt, xls, doc y nuevos tipos de archivos).

o Incluir varios proyectos en la misma pantalla dividido por pestañas. o Respaldar y restaurar proyectos (notebooks). o Importar y Exportar en formato HTML, futuras versiones prometen

incluir más formatos. o Dar un formato enriquecido a las notas de texto, inclusive a través del

submenú preferencias en Editar es posible seleccionar un tipo de letra y tamaño para cada proyecto.

Page 95: Análisis de las herramientas para el proceso de auditoria de ...

84

o Incluir en las notas enlaces a sitios web o enlace a otras notas. o Incorporar imágenes y archivos adjuntos o En la ventana de navegación permite personalizar iconos, color de letra

y fondo. o Permite identificar los programas conocidos dentro de la aplicación

como “Helper Applications” o programas de ayuda, los cuales sirven para que Keepnote pueda abrir determinado tipo de archivos como: editor de imagen, editor de texto, explorador de archivo, navegador web, entre otros.

o Usuarios pueden añadir nuevas extensiones (plugins) para añadir funcionalidades a Keepnote.

o Cuando Keepnote esta ejecutándose, puede ser controlado por línea de comandos, escribiendo en una consola “keepnote –help” obtendremos las instrucciones para realizar alguna acción como crear un acceso directo a Keepnote en el escritorio, abrir una página en el proyecto o iniciar otro proceso de Keepnote alterno.

• Datos técnicos: Para instalar KeepNote fuera de Kali Linux, en Linux, Windows o Mac, se requieren de las siguientes librerías:

1. Python2.5 (Superior a 2.0) 2. sqlite (Mayores a la versión 3.5.0) 3. PyGTK 4. gtkspell (Opcional), esto sirve para la verificación ortográfica

del texto incluido en las notas. • Ubicación en el menú de Kali: Aplicaciones- Kali- Herramientas de Reporte-

Documentación- KeepNote. • Escrita en: Python y PyGTK41 • Compatibilidad con otros Sistemas Operativos: Windows, Linux y Mac OS y otras

plataformas: • Fase del Hacking Ético a la que contribuye: Escribir Informe • Modo de ejecución: GUI • Manual de Usuario: Si • Nivel de Complejidad: Básico • Facilidad de Uso: 5 • Calidad de resultados: 5 • Presentación de los resultados: 5 • Manual de Usuario Intuitivo: 5 • Observaciones: Ninguna. • Valoración Final de la herramienta: Es una herramienta completa para documentar

cualquier proceso de auditoría o inclusive tareas de la vida cotidiana. Una de sus ventajas es que es intuitiva y fácil de utilizar ya que su interfaz es muy similar a la del explorador de archivos conocido de Windows y Wordpad como editor de texto junto con obviamente muchas características adicionales.

41 Es la biblioteca gráfica GTK (facilita la creación de GUI para aplicativos) para el lenguaje de programación Python.

Page 96: Análisis de las herramientas para el proceso de auditoria de ...

85

4 Laboratorio  de  Pruebas  

4.1 Descripción    Mediante este laboratorio se tiene como objetivo probar de forma conjunta algunas

de las herramientas revisadas en el capítulo anterior siguiendo el orden de las fases del

hacking ético, simulando en un ambiente local determinadas circunstancias para usar

las herramientas analizadas.

En este sección se cubrirá los siguientes aspectos:

• Procedimiento aplicado para la adecuación del escenario. • Procedimiento aplicado de configuración (si fuera necesario) de la

herramienta a utilizar, así como el procedimiento realizado para la obtención de la información, escaneo de vulnerabilidad o explotación de la misma.

• Consejos relacionados al uso de la herramienta.

Los objetivos planteados para este laboratorio son:

1. Realizar un mapa usando información de un dominio externo con Maltego. 2. Realizar el mapa del panorama de pruebas con Maltego (manual). 3. Realizar escaneo de puertos abiertos con Nmap. 4. Detectar las vulnerabilidades de la web con Owasp-zap. 5. Realizar una intrusión con Metasploit, basándonos en los resultados de

Nmap. 6. Detallar el proceso realizado en KeepNote.

4.2 Requerimientos  Para levantar este escenario se ha utilizado el siguiente software:

Tabla 11. Requerimientos para Laboratorio de Pruebas

Descripción Disponible en

*Oracle VM Virtual Box

versión 4.3.24.

https://www.virtualbox.org/wiki/Downloads

Máquina virtual de Kali

Linux para Virtual Box

https://www.offensive-security.com/kali-linux-

vmware-arm-image-download/

**Metasploitable2 http://sourceforge.net/projects/metasploitable/

files/Metasploitable2/

*Es posible realizar las pruebas con el software de virtualización preferido.

**Es una máquina virtual creada por Rapid7 intencionalmente con huecos de

seguridad y vulnerabilidades para el entrenamiento en este campo. La guía puede

encontrarse en http://r-7.co/Metasploitable2.

Los requisitos mínimos básicos de hardware para la ejecución del escenario:

Page 97: Análisis de las herramientas para el proceso de auditoria de ...

86

• RAM: 4GB. • Disco Duro: Superior a 50GB de espacio disponible. • Procesador: Dual Core.

Este laboratorio ha sido levantado en un equipo con las siguientes características:

• RAM: 8 GB 1600 MHz DDR3 • Disco Duro: 75GB espacio disponible. • Procesador: Intel Core i5 2.6Ghz

4.3 Configuraciones    Las máquinas virtuales se han descargado en dos formatos: archivo OVA para Kali

Linux y un archivo VMDK para metasploitable2. Se deberán crear las dos virtuales

utilizando Virtual Box, para la virtual metasploitbale2 en el paso de selección de disco

duro virtual se deberá seleccionar el archivo vmdk existente. Mientras que para Kali

bastará con dar doble clic sobre el archivo OVA (Kali-Linux-1.1.0a-vbox-amd64.ova) y

presionar el botón “importar” de la pantalla que nos aparecerá.

Las máquinas virtuales se configuran en modo “HOST only” o “solo anfitrión”, para

crear la red interna ir al menú principal de Virtual Box -> Preferencias-> Red, luego

seleccionar redes “solo anfitrión” y clic sobre el botón de agregar. Con ello se habrá

agregado la red interna “vboxnet()”, cuyo servidor DHCP puede observarse en la

figura.

Figura 24. Configuración de Red modo sólo anfitrión

Para la máquina de Kali Linux el usuario y contraseña por defecto es:

Page 98: Análisis de las herramientas para el proceso de auditoria de ...

87

• Usuario: root • Contraseña: toor

Para cambiar la contraseña del usuario root, debemos abrir la consola de comandos

y escribir:

passwd root

Posterior a ello nos pedirá que escribamos dos veces la nueva contraseña.

Esta virtual ya contiene las modificaciones al archivo sources.list que se indicó en la

Sección 3.7, únicamente debemos ejecutar los siguientes comandos para la

sincronización de paquetes locales, actualización de nuevas versiones de paquetes, sus

dependencias y para remover paquetes obsoletos del sistema:

apt-get update && apt-get upgrade && apt-get dist-upgrade

A la fecha en la que se escribe esta memoria, la virtual de Kali Linux solicita un

espacio en disco de aproximadamente 783MB para las respectivas actualizaciones.

4.4 Puesta  en  marcha  De forma que sea posible conocer la herramienta Maltego, en la que se puede

trabajar añadiendo datos tanto automáticamente (transformaciones) como

manualmente, se procederá a recoger información de un dominio público y armar el

correspondiente escenario local de pruebas. Es conveniente recalcar que la recopilación

de datos públicos de un dominio no viola ninguna ley.

4.4.1 Analizando  un  dominio  público  con  Maltego      Para realizar este análisis, se requiere que la máquina virtual donde tenemos Kali

Linux tenga acceso a internet ya que como se indicó anteriormente las

transformaciones se realizan en los servidores Paterva, para ello debemos abrir Virtual

Box, clic derecho en configuraciones de la virtual de Kali, clic sobre Red y el adaptador

que tengamos configurado (Adaptador 1), en la opción “conectado a” seleccionar

“NAT”. Lógicamente debemos contar con internet en nuestra máquina host.

Al abrir Maltego por primera vez nos solicitará los datos de registro, en caso de no

haberlo realizado, se puede llenar el formulario web de registro dando clic en “register

here”, posterior a ello verificar en la bandeja de correo la recepción del enlace para la

activación del producto. Una vez activada la cuenta, cada vez que ingresemos con

nuestro usuario y contraseña se concederá una clave que habilita el uso de Maltego por

dos días. Acabado este tiempo se deberá proceder a ingresar nuevamente el usuario y

contraseña.

Page 99: Análisis de las herramientas para el proceso de auditoria de ...

88

Recomendaciones Previas:

• Puede que el mail de activación de la cuenta en Maltego haya llegado a la bandeja de correo no deseado, revisar esta bandeja.

• Para actualizar la versión de Maltego se debe ir al menú Tools -> Check for updates e instalar las actualizaciones detectadas, así se contará con la última versión para Kali que es la 3.4.1

• Antes de ejecutar las transformaciones debemos aceptar las condiciones y responsabilidades de la ejecución de las mismas, marcando el cuadro de aceptación o disclaimer.

• Al momento de utilizar Maltego es conveniente tomar en cuenta que cuando se desea arrastrar un elemento, primero se da un clic sobre el elemento y se lo arrastra. Si se desea crear un vinculo entre elementos bastará con un clic sostenido desde el elemento origen hasta el objeto a enlazar.

El dominio a analizar será un blog que se encuentra en http://tecnomobilex.com y

los pasos a seguir para analizar este sitio son los siguientes:

1. Clic en el Menú (Símbolo de Maltego ubicado en la parte superior izquierda) y New Graph (Hoja blanca con un “+” verde) para tener un espacio de trabajo en donde recopilar información.

2. Como deseamos información de un dominio, en el lado derecho aparecerá la paleta de elementos llamada “Palette”, arrastramos y soltamos el elemento “Domain” hacia el área de trabajo.

3. Para editar el dominio doble clic sobre el elemento y escribir el dominio deseado: tecnomobilex.com

4. Vamos a ejecutar las transformaciones para conocer el servidor de Dominio, dando clic derecho sobre el icono del dominio, Run Transform -> DNS from Domain -> To DNS name –NS (name server). En ese instante en la barra de progreso localizada en la parte inferior izquierda nos daremos cuenta cuando se haya acabado el proceso de búsqueda.

5. Aparecerán 4 servidores de nombre: ns1-ns4.hostinger.es. Con ello, sabemos que esta página web esta alojada en hosinger.es y que esta escrita en PHP (5.2, 5.3, 5.4) y utiliza una base mysql ya que este host solo aloja páginas de este tipo.

6. Para conocer el servidor de correo electrónico damos clic derecho sobre el icono del dominio, Run Transform -> DNS from Domain -> To DNS name –MX (mail server).

7. Nos aparecerá el servidor mx1.hostinger.es, que como vemos también es de hostinger.

8. Ahora vamos a indicar que nuestro dominio es un sitio web, dando clic derecho sobre el dominio y seleccionando Change Type -> Infrastructure-> Website. Después de esto notaremos que a lado del icono del mundo aparece un case y una estrella amarilla, indicando que es un sitio web.

9. Ahora vamos a obtener la dirección IP del sitio web, dando clic derecho sobre el sitio y seleccionando Run Transform -> Resolve to IP-> To IP Address[DNS]. Veremos que aparece el icono de una tarjeta de red con la dirección IP del sitio.

10. Para conocer la tecnología con la que cuenta este sitio, solo debemos correr

Page 100: Análisis de las herramientas para el proceso de auditoria de ...

89

la transformada ToServerTechnologiesWebsite que se encuentra en Run Transform-> Other transforms. Veremos que nos parece que esta escrita en php efectivamente y utiliza wordpress, entre otras tecnologías.

11. Para conocer la dirección IP de uno de los DNS basta con dar clic derecho sobre el servidor y seleccionar Run Transform -> Resolve to IP-> To IP Address[DNS]. Veremos que aparece el icono de una tarjeta de red con la dirección IP del sitio.

12. Podemos mover los elementos fácilmente dando un solo clic sobre ellos y desplazándolos hacia la ubicación deseada.

13. Luego, procederemos a guardar este gráfico dando clic en el menú, luego “Save” o guardar y seleccionar la ubicación donde se almacenará el archivo de extensión mtgx, luego guardar.

Con estas transformaciones recopiladas se tiene el panorama mostrado en la figura.

Figura 25. Analizando website tecnomobilex.com con Maltego

Como pudimos observar es muy fácil intuir como ir armando un escenario de

forma automática, además que cada transformación cuenta con una breve explicación

de su función.

4.4.2 Armando  el  escenario  de  pruebas  local  con  Maltego  Si bien es cierto hay información que puede ser obtenida por los datos públicos de

una compañía, pero también podemos obtenerla por simple observación o

investigación y Maltego nos permite incorporarla manualmente a nuestro gráfico. Para

este laboratorio local debemos regresar a la máquina de Kali a modo “Host only” o

sólo anfitrión.

Page 101: Análisis de las herramientas para el proceso de auditoria de ...

90

Recomendaciones Previas:

• Si se cuenta con un equipo con limitados recursos, será necesario que cerremos la mayoría de aplicaciones que tenemos abiertas para poder ejecutar sin problemas el ambiente de laboratorio.

• La memoria de la máquina Metasploitable2 puede quedar configurada en 512MB.

• El usuario y contraseña de Metasploitable2 es msfadmin. • Se deben encender las dos máquinas virtuales configuradas en Virtual Box y

obtener la dirección IP de cada una.

Para armar el escenario de pruebas se deben seguir los siguientes pasos:

1. Clic en el Menú (Símbolo de Maltego ubicado en la parte superior izquierda) y New Graph (Hoja blanca con un “+”verde).

2. En la paleta de elementos buscar el elemento “IP4 Address”, arrastrarlo y soltarlo hacia el área de trabajo, como tenemos 2 equipos repetir este procedimiento.

3. Dar doble clic sobre cada elemento para configurarlo con las IP de las máquinas virtuales.

4. De forma que se pueda añadir más información al mapa del esquema, arrastrar el elemento alias para cada virtual, doble clic para configurar los nombres de las virtuales (Kali Linux y Metasploitable2).

5. Luego se creará las asociaciones entre objetos con clic sostenido desde el objeto IPv4 (sin tener seleccionado el elemento, es decir sin que este dentro de un recuadro amarillo) hasta el elemento alias, en la pantalla que aparece escribir “nombre” en el campo label para identificar a las virtuales.

6. Arrastrar el objeto Location hacia el área de trabajo y después de dar doble clic escribir “España, Madrid” para indicar que los equipos están ubicados en dicha ciudad.

7. Crear las asociaciones al objeto location como se lo realizó en el paso 5, escribiendo en la etiqueta o label “ubicación”.

8. Como la máquina Metasploitable2 cuenta con varios proyectos web habilitados se añadirán en el mapa arrastrando el elemento URL, repetir este paso dos veces para colocar los proyectos Twiki y Mutillidae.

9. Crear las asociaciones desde Metasploitable2 hasta cada proyecto colocando la etiqueta con el nombre de “proyecto”.

Los resultados pueden observarse en la siguiente figura.

Page 102: Análisis de las herramientas para el proceso de auditoria de ...

91

Figura 26. Creando el mapa del laboratorio en Maltego

4.4.3 Escaneo  de  puertos  con  Nmap  Recomendaciones Previas:

• Es necesario leer con anticipación las opciones con las que cuenta Nmap para familiarizarse con la herramienta.

• Nmap, al ejecutarse en consola, es sensible a mayúsculas y minúsculas, por tal motivo si uno de sus comandos es “-O” debe escribirse de tal manera para que sea interpretado correctamente.

Para realizar esta segunda fase del hacking ético utilizando Nmap se debe:

1. En el menú de Kali, clic en Applications- Kali Linux- Top 10 Security Tools – nmap, o clic sobre la consola y escribir lo que indica el siguiente paso.

2. En la consola escribir para un análisis completo (-sT) con detección de sistema operativo (-O) y exportar los resultados en formato XML (-oX) a un archivo llamado analisis.xml dentro de la carpeta Nmap que está en el escritorio. El comando sería el siguiente:

nmap –sT –O –oX Desktop/Nmap/análisis.xml 192.168.56.102 3. Al ejecutarlo veremos el listado de puertos abiertos y el sistema operativo

que corre en el equipo Metasploitable2.

En la figura que se muestra a continuación se puede observar tanto los resultados de

consola como el archivo XML generado.

Page 103: Análisis de las herramientas para el proceso de auditoria de ...

92

Figura 27. Analizando metasploitable2 con Nmap

En este análisis hemos detectado los puertos abiertos y qué servicios corren en cada

uno de esos puertos, además conocemos que la máquina cuenta con un sistema

operativo con el kernel de Linux 2.6. Estos datos serán necesarios para la etapa de

explotación.

4.4.4 Detectar  las  vulnerabilidades  de  la  web  con  Owasp-­‐zap.  Zap, para llamarlo brevemente, es una herramienta útil para conocer las

vulnerabilidades de una página web y como se conoce que en metasploitable2, la

máquina virtual, existen varios proyectos web levantados, los siguientes pasos guiarán

hacia el conocimientos de unas cuantas de estas vulnerabilidades.

Los pasos a seguir son los siguientes:

1. Abrir la aplicación que se encuentra en el menú Applications- Kali Linux- Web Applications- Web Applications Proxy- owasp-zap.

2. Aparecerá una ventana con la licencia de uso de la herramienta, para aceptar clic en Accept.

3. Cuando se abre el aplicativo, salta una ventana con la pregunta ¿Desea mantener la sesión de ZAP?: o Mantener la sesión almacenada en el directorio por defecto con el

nombre basado en la fecha actual. o Mantener la sesión especificando donde almacenarla*. o No desea almacenar la sesión que se abrirá. o Recordar la opción para futuros sesiones.

Page 104: Análisis de las herramientas para el proceso de auditoria de ...

93

En esta opción seleccionaremos la segunda opción “Yes, I want to persist this

sesión but I want to specify the name and location” (*Segunda opción detallada

anteriormente).

4. Clic en start. 5. Luego como se seleccionó la segunda opción se debe especificar la ubicación

donde se guardará la sesión, escribir el nombre en este caso “metasploitable2” y clic en Save.

6. Ahora se verá la pantalla principal de Zap y en la pestaña Quick Start, localizar el campo “Url to attack”.

7. En esa caja de texto escribir la dirección IP de la máquina metasploitable2 (192.168.56.102 en este caso).

8. Luego clic en el botón Attack. 9. Se verá como empieza el análisis al sitio web y se debe esperar hasta que el

análisis termine. Cuando esto suceda encontraremos registros en las pestañas del spider y Active Scan.

10. Ir a la pestaña Alerts para ver las alertas que ha generado los proyectos web levantados en metasploitable2, que como sabemos son muchos.

11. Seleccionar la carpeta Path Traversal que contendrá 10 vulnerabilidades de alto riesgo, esta sección nos mostrará aquellos huecos de seguridad que si son explotados darían al atacante acceso a archivos y directorios fuera del directorio raíz de aplicaciones web.

12. Con la URL que aparece en la figura 26, a través del parámetro page del proyecto web Mutillidae se puede tener acceso al archivo passwd ubicado dentro de la carpeta etc del servidor, si se coloca la URL aparece en la figura en el navegador web podemos ver el contenido del archivo mencionado.

Al detectar esta vulnerabilidad como podemos notar tenemos acceso a un

archivo del servidor, en este caso passwd que contiene información como: el

listado de usuarios, contraseñas, identificador de usuario, identificador de

grupo, comentarios, directorio de inicio del usuario y si puede ejecutar

comandos en consola. Información valiosa que puede quedar al descubierto a

través de la aplicación web que se encuentra analizando, para solucionarlo en el

aplicativo ZAP si se desplaza hasta el final de la pestaña de Alerts manteniendo

seleccionada esta vulnerabilidad se encuentra el campo Solution que muestra

como recomendación crear un archivo con el listado de entradas permitidas que

evada la navegación entre directorios.

Notas y sugerencias:

• El análisis “Quick Scan” ejecuta un spider para descubrir las URL en el sitio y un escaneo activo para encontrar vulnerabilidades potenciales del sitio.

• Si se deseara hacer un análisis más profundo al website se debe configurar el proxy en el navegador web de la siguiente forma: 1. Abrir el navegador web Iceweasel. 2. Clic en el icono del menú que se encuentra en la parte superior derecha. 3. Clic en Preferences.

Page 105: Análisis de las herramientas para el proceso de auditoria de ...

94

4. Clic en la pestaña Advanced. 5. Clic en Network. 6. Clic en Settings de la opción Connection. 7. Se levantará la ventana de configuraciones de conexión, configurar el

HTTP proxy con la dirección IP hacia la misma máquina 127.0.0.1 puerto 8080, luego marcar la opción Use this proxy server for all protocols.

8. Clic en ok y luego clic en close para cerrar la ventana de configuración.

Figura 28. Analizando proyectos web con Owasp-Zap

4.4.5 Realizar  una  intrusión  con  Metasploit  Framework  En esta etapa se utilizará la interfaz msfconsole para realizar la intrusión a la máquina

virtual metasploitable2, para ello realizar lo siguiente:

1. Levantar los servicio de metasploit a través del menú: Applications-Kali Linux- System Services- Metasploit- community/pro start.

2. Abrir la consola de comandos y escribir msfconsole. 3. Crear un workspace a través del comando:

workspace -a metasploitable2 4. Verificar que se este trabajando en el workspace seleccionado,

escribiendo workspace. Deberá salir un listado y el nombre del reciente workspace creado con un asterisco(*).

5. Para importar los resultados que se obtuvieron en nmap se utilizará la siguiente instrucción:

Formato: db_import ubicación_archivo_xml_nmap

En este caso: db_import /root/Desktop/Nmap/análisis.xml

Page 106: Análisis de las herramientas para el proceso de auditoria de ...

95

6. Si verificamos con el comando hosts, se debe haber añadido los datos de metasploitable2.

7. Escribir el comando “services” para visualizar el listado de puertos abiertos junto con los servicios que están ejecutándose en dichos puertos.

8. Como vemos que es una lista extensa de puertos vamos a buscar vulnerabilidades para el servicio rmiregistry, escribiendo lo siguiente:

search rmiregitsry

9. Se listará un exploit útil para inseguridades en el servidor Java RMI. 10. Para usar dicho exploit escribir el comando:

use exploit/multi/misc/java_rmi_server

11. Luego será necesario que configuremos parámetros para dicho exploit, uno de ellos es la dirección del objetivo, escribir lo siguiente:

set RHOST 192.168.56.102

12. Luego para listar los payloads que se pueden ejecutar escribir

show payloads

13. Aparecerá un listado de los payloads que podemos ejecutar en la máquina objetivo, en este caso seleccionar el meterpreter siguiente:

set payload java/meterpreter/reverse_TCP

14. Luego configuraremos la dirección IP desde la que se va a realizar la intrusión, es decir la dirección IP del equipo de Kali Linux, escribir:

set LHOST 192.168.56.101

15. Como ya se ha configurado todo los parámteros, se puede llevar a cabo la intrusión con el comando “Exploit” y tomar acceso del equipo.

16. Luego que lo ejecutamos veremos que hemos conseguido el acceso al equipo y por ejemplo si hacemos “ls” podremos ver todas las carpetas de la máquina, podemos ejecutar el comando “sysinfo” para conocer datos como el sistema operativo y nombre de equipo.

A través del meterpreter se pueden realizar muchas acciones como subir archivos,

descargarlos, capturar imágenes de la pantalla, etc., por lo tanto el hacker ético debe

ver que alcance hubiera podido tener el cracker si entrara a ese equipo para poder

establecerlo en su reporte. Sin embargo cabe recalcar que la fase de “mantener acceso”

no forma parte del hacking ético.

Page 107: Análisis de las herramientas para el proceso de auditoria de ...

96

Figura 29. Ejecutando exploit con msfconsole

4.4.6 Detallar  el  proceso  realizado  con  KeepNote  Siguiendo las buenas prácticas mencionadas en la sección 2.2.8, comenzaremos por

la creación de carpetas para el proyecto al que le llamaremos LaboratorioDePruebas y las

subcarpetas con las fases del hacking ético.

A pesar de que se coloca como la última de las fases, en realidad se trata de una fase

conjunta en la que vamos registrando los resultados obtenidos y los hallazgos de tal

forma que sea útil generar el reporte final.

Los pasos a seguir para ir recopilando todas las pruebas de la labor del hacker ético

son:

1. Abrir Keepnote escribiendo keepnote en consola o utilizando el menú de Kali: Applications- Kali Linux- Reporting Tools- Documentation- keepnote.

2. Para crear el proyecto ir a File-> New Notebook, nos dirigimos hacia el directorio en el que deseamos guardar el proyecto y escribimos en el nombre “LaboratorioDePruebas” y luego clic en “new”.

3. Crear las carpetas con los nombres de las 3 fases (Reconocimiento, Escaneo, Explotación), para ello ir a File-> New Folder, escribir el nombre de la carpeta y presionar enter para finalizar a edición. Repetir el procedimiento para las dos carpetas restantes.

4. Luego clic derecho sobre la carpeta Reconocimiento para añadir el archivo de Maltego que se creo anteriormente, clic en Attach File y se localiza la carpeta donde se tiene almacenado el archivo y se la incorpora dando clic en Atach.

5. Importar en la carpeta de Escaneo el archivo almacenado del resultados de escaneo de puertos con Nmap, para ello realizar nuevamente el paso 4 seleccionando el nuevo archivo a incorporar.

6. En la carpeta Explotación vamos a añadir los datos encontrados tras la

Page 108: Análisis de las herramientas para el proceso de auditoria de ...

97

ejecución del comando sysinfo, se creará para ello una página donde es posible incluir texto, imágenes. Clic derecho sobre la carpeta Explotación, luego seleccionar “New Child Page” y pegar los datos que obtuvimos de la consola, también podemos realizar un print screen y luego añadir la imagen como se realizó en el paso 4.

7. Una vez que se ha terminado las pruebas sobre el/los equipos, se importará el archivo en formato HTML, para esto, clic en File-> Export Notebook-> HTML.

8. Ubicarse en la carpeta donde se desea almacenar los resultados y clic en Export.

Si se dirige a la ruta donde se guardó el reporte podrá notar que cuenta con una

carpeta dentro de la cual esta el arhcivo “index.html” que es el que se debe abrir

para ver todos los datos que fueron registrados.

Figura 30. Keepnote y el archivo HTML generado

Page 109: Análisis de las herramientas para el proceso de auditoria de ...

98

5 Conclusiones  y  Trabajos  Futuros  

5.1 Conclusiones  

A través del hacking ético es posible utilizar las habilidades y conocimientos para la

intrusión de sistemas de forma que se permita evolucionar hacia sistemas más seguros

y hacia la creación de nuevos estándares y programas que permitan cubrir

vulnerabilidades existentes. De tal manera que se contribuya con la ciencia y sirva

como motor que impulse hacia la constante evolución de la seguridad informática.

Esta área demanda de parte del hacker ético conocimientos sólidos en sistemas y

redes de computadoras, así como la capacitación constante debido a la rapidez con la

que aparecen en el mercado nuevas soluciones y formas de intrusión proyectando

siempre encontrarse un paso delante del cracker.

Además de ello, con el presente trabajo se ha podido evidenciar la gran cantidad de

herramientas que provee Kali Linux, entre ellas herramientas de código abierto como

comerciales que permiten encontrar soluciones a distintos áreas y permiten llevar a

cabo cada una de las fases del hacking ético. En la mayoría de ocasiones no se trataba

simplemente de herramientas con un solo fin, sino que se trataba de herramientas que

aportaban a más de una fase (se encontraban en más de una categoría) o frameworks con

diferentes características que pretendían dar soporte a las 4 fases del hacking ético

presentadas.

El análisis de las herramientas permitió conocerlas con especial detalle, descubrir

sus ventajas así como sus debilidades que seguramente gracias a la comunidad activa

de desarrolladores con la que contaban se verán pulidas con el tiempo. Gracias al

laboratorio de pruebas fue posible dar una breve guía de la labor del hacker ético

actualmente, siendo posible evidenciar de forma básica como los resultados de una

fase son útiles para la siguiente y como van retroalimentando el reporte final.

Concluyo indicando que el proceso de auditoría de Seguridad Informática

ciertamente no tiene una fórmula secreta, ni la cantidad de pruebas realizadas o la

efectividad de la herramienta utilizada determinará la calidad de la auditoría, el factor

más importante viene dado por la experiencia y habilidad del auditor cuyas

habilidades pueden formarse con el estudio y práctica constante en ambientes de

pruebas o sobre sistemas a los que se les conceda su acceso.

Page 110: Análisis de las herramientas para el proceso de auditoria de ...

99

5.2 Trabajo  Futuro  Se pueden realizar trabajos de investigación relacionados para:

• Comparar las herramientas comerciales más destacadas en este campo con las seleccionadas y más destacadas de Kali para detectar aquellas características que quizás pueden ser complementadas con más de una herramienta de código abierto.

• Contrastar herramientas que existen en la distribución que puedan estar proporcionando características similares que otras existentes dentro del mismo grupo.

• Investigar como se puede asegurar la seguridad en campos específicos como: industriales, administrativos, tecnológicos, comerciales de tal forma que la utilización de un compendio de herramientas de código abierto permita asegurar entornos específicos.

Además es posible encaminar este tipo de investigaciones hacia trabajos totalmente prácticos que permitan:

• La creación y configuración de ambientes o laboratorios de pruebas que ofrezcan un entorno local para el entrenamiento y capacitación del hacker ético.

• Creación de una academia virtual que permita la capacitación y medición de conocimientos del principiante de hacker ético, basándose en herramientas de código abierto.

Page 111: Análisis de las herramientas para el proceso de auditoria de ...

100

Bibliografía  [1] A. Charles. (2014, Septiembre) The Guardian. [Online].

http://gu.com/p/4x7fv/sbl

[2] D. Sanger and J. Hirschfeld. (2015, Junio) The New York Times. [Online].

http://nyti.ms/1M8MiRG

[3] 2013/2014 Informe Global sobre Fraude. (2014) Kroll. [Online].

http://fraud.kroll.com/wp-content/uploads/Reporte de Fraude Kroll 2013-2013

Espanol - WEB.pdf

[4] R. Aguirre. (2006) Libro electrónico de Seguridad Informática y Criptografía.

[5] C. Tori, Hacking Ético, 1st ed. Buenos Aires, Argentina: Mastroianni Impresiones,

2008.

[6] M. Rhodes-Ousley, Information Security The Complete Reference, 2nd ed. Estados

Unidos: McGraw-Hill, 2013.

[7] D. Kim and M. Salomon, Fundamentals of Information Systems Security.: McGraw-

Hill, 2010.

[8] K. Astudillo B., Hacking ético 101: Cómo hackear profesionalmente en 21 días o menos.

Guayaquil, Ecuador, 2013.

[9] P. González Pérez, Metasploit para Pentesters. Madrid, España: 0xWORD

Computing S.L., 2014, pp. 26-29.

[10] J. Muniz, Web Penetration Testing with Kali Linux.: Packt Publishing Ltd, 2013.

[11] M. Ramilli M. Prandini, Towards a practical and effective security testing

methodology, 2010, pp. 320-325.

[12] OSSTMM 3 – The Open Source Security Testing Methodology Manual. (2010)

Institute for Security and Open Methodologies. [Online].

http://www.isecom.org/mirror/OSSTMM.3.pdf

[13] J. Broad and A. Bindner, Hacking with Kali, First edition ed., Chris Katsaropoulos,

Ed. Massachusetts, United States: Benjamin Rearick, 2014.

[14] Offensive Security. (2015) Kali Linux Official Documentation. [Online].

http://docs.kali.org

Page 112: Análisis de las herramientas para el proceso de auditoria de ...

101

[15] Offensive Security. (2011) BackTrack. [Online]. http://www.backtrack-linux.org

[16] R. Beggs, "Updating Kali Linux ," in Mastering Kali Linux for Advanced Penetration

Testing. Birmingham, Inglaterra: Packt Publishing, 2014.

[17] T. Heriyanto, L. Allen, and S. Ali,. Birmingham, England: Packt Publishing Ltd.,

2014, p. Chapter 1.

[18] Paterva. (2015) Paterva. [Online]. http://www.paterva.com/

[19] A. Mahajan, Burp Suite Essentials, A Albuquerque et al., Eds. Birmingham,

Inglaterra: Packt Publishing, 2014, Cap. 1.

[20] Offensive Security. (2015) Metasploit Unleashed. [Online].

https://www.offensive-security.com/metasploit-unleashed

[21] SET User Manual Manual Made for SET 6.0. (2014) TrustedSec. [Online].

https://github.com/trustedsec/social-engineer-

toolkit/blob/master/readme/User_Manual.pdf

[22] M. Sullivan. Coockie Cadger. [Online]. https://www.cookiecadger.com

[23] Salvatore Sanfilippo. (2006) Hping. [Online]. http://www.hping.org

[24] OpenVas. OpenVas. [Online]. http://www.openvas.org

[25] Iphelix. The Sprawl. [Online]. http://thesprawl.org/projects/dnschef/

[26] D. Roethlisberger. (2015) Roe. [Online]. http://www.roe.ch/SSLsplit

[27] G. Combs and Colaboradores. (2015) Wireshark. [Online].

https://www.wireshark.org

[28] T. Nardi. (2015) Digifail. [Online].

http://www.digifail.com/software/bluelog.shtml

[29] M. Kershaw. (2015) Kismetwireless. [Online]. http://www.kismetwireless.net

[30] Solar Designer. (2015) Openwall. [Online]. http://www.openwall.com/john/

[31] RainbowCrack Project. (2015) Project RainbowCrack. [Online]. http://project-

rainbowcrack.com/index.htm

[32] Van Hauser. (2014, Diciembre) THC-Hydra. [Online]. https://www.thc.org/thc-

Page 113: Análisis de las herramientas para el proceso de auditoria de ...

102

hydra/

[33] W. Alcorn. Beef Project. [Online]. http://beefproject.com

[34] B Damele and M. Stampar. Sqlmap. [Online]. http://sqlmap.org

[35] Cryptcat. [Online]. http://cryptcat.sourceforge.net

[36] Ohdae. (2012) GitHub Intersect 2.5. [Online].

https://github.com/deadbits/Intersect-2.5

[37] Kamorin. (2013, Octubre) GitHub DHCPig. [Online].

https://github.com/kamorin/DHCPig

[38] (2010) Inundator. [Online]. http://inundator.sourceforge.net

[39] The Hackers Choice. (2011) THC. [Online]. https://www.thc.org/thc-ssl-dos/

[40] C. Tumbleson and R. Wiśniewski. (2015) A tool for reverse engineering Android

apk files. [Online]. http://ibotpeaches.github.io/Apktool/

[41] E. Teran. (2015) GitHub Edb-Debugger. [Online]. https://github.com/eteran/edb-

debugger

[42] Google Inc. (2015) Android Developers. [Online].

http://developer.android.com/index.html

[43] M. De Scheemaecker. (2015) Arduino. [Online]. https://www.arduino.cc

[44] Gremwell BVBA. (2014) Gremwell. [Online].

http://www.gremwell.com/what_is_magictree

[45] B. Carrier. (2015) Autopsy Forensic Browser. [Online].

http://sleuthkit.org/autopsy/

[46] N. Murilo and Steding-Jessen. (2014) Chkrootkit. [Online].

http://www.chkrootkit.org


Recommended