Está en la página 1de 112

REDES SEGURAS

Herramientas
01
Herramientas
Virtual Box: herramienta de virtualización
1. Descargar Virtual Box: https://www.virtualbox.org/wiki/Downloads
2. Video instalación (0:00 - 3:38): https://www.youtube.com/watch?v=7mNtLD9eAvo
Distribución Kali Linux: herramienta especializada en temas de seguridad informática.
(Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical
Hacking and network security assessments).
Sistemas operativos para aplicar ataques:
3. Metasploitable
4. Windows 10
Instalación Kali, imagen ISO
Descargue la distribución ISO de Kali, por ejemplo: kali-linux-2022.4-installer-amd64.iso (https://www.kali.org/get-kali/#kali-
installer-images)
Continúe con el orden de las siguientes imágenes para completar la instalación:
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO
aa
Instalación Kali, imagen ISO
aa
Instalación Kali, imagen ISO
aa
Instalación Kali, imagen ISO
aa
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO
Instalación Kali, imagen ISO

Finalmente actualice Kali


Herramientas Kali
1. Instalar módulos RECON-NG: recon-ng


Herramientas Kali
Instalación Kali Linux (Opcionales):
1. Instalar armitage:
2. Instalar shellter:


Metasploitable
Instalación:
1. Descargar: http://downloads.metasploit.com/data/metasploitable/metasploitable-linux-2.0.0.zip
2. En caso de fallar el primer enlace: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
3. Video instalación (0:00 – 4:00): https://www.youtube.com/watch?v=Oil5eMaq7PU
Metasploitable
Instalación
Metasploitable
Instalación:
Windows 10
Instalación:
1. Descargar Windows 10: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
2. Video instalación (2:07 - 6:54): https://www.youtube.com/watch?v=SbD7Q7i0tEE

Passw0rd!
Windows 10
Instalación:

Passw0rd!
Opcional Instalación KALI VM
Instalación Kali Linux Virtual Machine:
1. Acceder a la página de Kali Linux a través de Google, o acceder al enlace: https://www.kali.org/get-kali/#kali-
virtual-machines
2. Seleccionar la distribución de acuerdo a los bits del Sistema Operativo de su ordenador (32-bits o 64-bits)
3. Descargar Kali
4. Video instalación (2:07 - 6:54): https://www.youtube.com/watch?v=MPamAVY_yyk
5. Subir como root: sudo su
6. Instalar HTTRACK: sudo apt install httrack
Conceptos
Generales 02
Modelo TCP/IP
El modelo TCP/IP:
es el conjunto de protocolos utilizado por Internet y las redes de
hoy.
define y hace referencia a una gran colección de protocolos que
permiten la comunicación entre computadoras.
divide sus funciones en capas, las cuales incluyen protocolos y
estándares relacionados con sus funciones; cada capa realiza una tarea
específica evitando la duplicidad de esfuerzo de proveedores o
entidades de estandarización, por ejemplo, el Instituto de Ingenieros
Eléctricos y Electrónicos (IEEE) define las LAN Ethernet entre la capa 1 y
capa 2.
Existe una versión original de cuatro capas ligeramente diferente del
modelo TCP/IP en el RFC 1122, pero para los fines de una red actual, se
emplean cinco capas.
Modelo TCP/IP
TCP/IP tiene dos aspectos importantes para proveedores y fabricantes:
Suite de protocolo estándar abierto: significa que está disponible gratuitamente
para el público y puede ser utilizado por cualquier proveedor en su hardware o
en su software.
Suite de protocolo basado en estándares: significa que ha sido respaldado por la
industria de redes y aprobado por una organización de estándares. Esto asegura
que productos de distintos fabricantes puedan inter-operar correctamente.
Modelo TCP/IP
ENCAPSULAMIENTO
1. Create and encapsulate the application data with any required application layer headers. For
example, the HTTP OK message can be returned in an HTTP header, followed by part of the
contents of a web page.
2. Encapsulate the data supplied by the application layer inside a transport layer header. For
end-user applications, a TCP or UDP header is typically used.
3. Encapsulate the data supplied by the transport layer inside a network layer (IP) header. IP
defines the IP addresses that uniquely identify each computer.
4. Encapsulate the data supplied by the network layer inside a data-link layer header and
trailer. This layer uses both a header and a trailer.
5. Transmit the bits. The physical layer encodes a signal onto the medium to transmit the
frame.

Capa del modelo TCP/IP Descripción


4 – Aplicación Representa datos para el usuario más el control de codificación y de diálogo.
3 – Transporte Admite la comunicación entre distintos dispositivos a través de diversas redes.
2 – Internet Determina el mejor camino a través de una red.

1 - Acceso a la red Controla los dispositivos del hardware y los medios que forman la red.
Modelo TCP/IP
DESENCAPSULAMIENTO
La desencapsulación es el proceso que utilizan los dispositivos receptores para
eliminar uno o más de los encabezados de protocolo.
Los datos se desencapsulan mientras suben por la pila hacia la aplicación del
usuario final
Enrutamiento
El host de origen debe poder dirigir el paquete al host de destino. Para ello, los dispositivos finales de host crean su propia
tabla de enrutamiento.

Sí mismo: Un host puede hacer ping a sí mismo enviando un


paquete a la dirección IPv4: 127.0.0.1, o a una dirección IPv6 ::1,
conocida como la interfaz de bucle invertido. El hacer ping a
la interfaz de bucle invertido, pone a prueba la pila del
protocolo TCP/IP en el host.
Host local: es un host de destino que se encuentra en la
misma red local que el host emisor. Los hosts de origen y
destino comparten la misma dirección de red.
Host remoto: es un host de destino en una red remota. Los
hosts de origen y destino no comparten la misma dirección
de red.
Enrutamiento
EN LA MISMA RED
Las direcciones de la capa de red, o direcciones IP, indican el origen y el destino, permitiendo acceder a la red local, o a redes remotas.
Un paquete IP contiene dos partes:

Porción de red: la sección más a la izquierda de la dirección que


indica la red de la que es miembro la dirección IP.
Porción de host: la parte restante de la dirección que identifica un
dispositivo específico de la red.
Cuando el emisor y el receptor del paquete IP están en la misma red,
la trama de enlace de datos se envía directamente al dispositivo
receptor. En una red Ethernet, las direcciones de enlace de datos se
conocen como direcciones MAC de Ethernet.
Dirección MAC de origen: dirección física del dispositivo emisor.
Dirección MAC de destino: dirección física del dispositivo receptor.
Enrutamiento
EN UNA RED REMOTA
Cuando el emisor del paquete se encuentra en una red distinta de la del receptor, las
direcciones IP de origen y de destino representan los hosts en redes diferentes.

La trama de enlace de datos no puede enviarse directamente al host de


destino remoto.
Por lo tanto, la trama se envía al gateway predeterminado (interfaz de
router más cercana).
El router elimina la información recibida de la capa 2 y agrega nueva
información de enlace de datos antes de reenviarlo por la interfaz de
salida.
Tablas de Enrutamiento
En un host de Windows la tabla de enrutamiento se obtiene mediante el comando netstat –r
Tablas de Enrutamiento
Las funciones principales de un router son:
Determinar la mejor ruta para enviar paquetes:
el router usa su tabla de routing para encontrar la mejor ruta para
reenviar un paquete, para observarla, utilice el comando show ip
route.
cuando el router recibe un paquete, analiza la dirección de destino del
paquete y usa la tabla de routing para buscar la mejor ruta hacia esa
red.
la tabla de routing también incluye la interfaz que se debe usar para
reenviar los paquetes a cada red conocida.
cuando se encuentra una coincidencia, el router encapsula el paquete
en la trama de enlace de datos de la interfaz de salida, y el paquete se
reenvía hacia el destino.

Reenviar paquetes a su destino:


Un router puede recibir un paquete encapsulado en un tipo de trama de enlace de datos y reenviarlo por una interfaz que usa
otro tipo de trama de enlace de datos.
Configuración entorno de red
Configurando conectividad de los equipos Kali y Metasploitable
Configuración entorno de red
Iniciamos Kali para configurar su interfaz de red
Configuración entorno de red
Iniciamos la máquina Metasploitable para configurar su interfaz de red

Control + X, para salir


Y, para guardar
Enter, para confirmar
Recopilación
de Información 03
HTTrack
HTTrack es una aplicación informática de software libre y de código abierto que utiliza la licencia GPL, multilenguaje y
multiplataforma cuyo propósito es la captura web, es decir la descarga de todo o parte de un sitio web, para posteriormente
poder navegar por él fuera de línea.
Se utiliza normalmente en ataques de phishing, es decir, cuando se clona una página web para aplicar este ataque de
ingeniería social.
Accedemos a Kali
Revisamos los comandos y ejemplos de httrack
Acceder al sitio web a clonar
Pasamos a root
Creamos una carpeta donde se clonará el sitio
HTTrack
Accedemos al directorio con el sitio clonado
RECONOCIMIENTO PASIVO Y ACTIVO
Reconocimiento Pasivo: cuando no tenemos una interacción directa con el cliente o víctima.
Por ejemplo, entramos a un buscador como Google e indagamos por el nombre de la empresa auditada, entre los
resultados conseguimos el nombre de la página web del cliente y descubrimos que el nombre del servidor web es
www.empresax.com, luego hacemos una búsqueda DNS y obtenemos que la dirección IP de ese servidor es la 200.20.2.2
(dirección ficticia por supuesto).
Otros ejemplos son:
Buscar en el periódico por anuncios de ofertas de empleo en el departamento de sistemas de la empresa X.
Consultas de directorios en Internet.
Búsquedas en redes sociales.
Recuperación de información desde la basura.
Reconocimiento Activo: interactuamos directamente con los equipos de la empresa (cliente).
Por ejemplo:
Barridos de ping para determinar los equipos públicos activos dentro de un rango de IP's.
Conexión a un puerto de un aplicativo para obtener un banner y tratar de determinar la versión.
Uso de ingeniería social para obtener información confidencial.
Hacer un mapeo de red para determinar la existencia de un firewall o router de borde.
Whois
Who-Is es un protocolo que permite hacer consultas a un repositorio en Internet para recuperar información acerca de la
propiedad de un nombre de dominio o una dirección IP.
Cuando una organización solicita un nombre para su dominio a su proveedor de Internet (ISP), éste lo registra en la base
Who-Is correspondiente.
En el caso de los dominios de alto nivel (.com, .org, .net, .biz, .mil, etc.) es usualmente el ARIN (American Registry for Internet
Numbers) quien guarda esta información en su base Who- Is; pero en el caso de los dominios de países (.ve, .ec, .co, .us, .uk,
etc.) quien guarda la información normalmente es el NIC (Network Information Center) del país respectivo.
Accedamos a Kali
Revisamos los comando ingresando: whois
Whois
Ingresamos: whois –I dominio.com
Netcraft
Netcraft es una compañía de seguridad informática y servicios de Internet como auditorías y consultorías, que utiliza una
herramienta pública para obtener con mayor facilidad información de servidores, dominios y subdominios web. Así es
posible identificar versiones de sistemas operativos, vulnerabilidades, fallas de seguridad, errores de configuración, versiones
de servicios desactualizados.
Accedemos a https://www.netcraft.com/
Ingresarmos la URL del sitio web a evaluar en el apartado:
Recon-NG
Es una herramienta (framework) desarrollado en python que automatiza la recolección de información desde múltiples
fuentes, reduciendo el tiempo de recopilación de información.
En el caso de reconocimiento de dominios y hosts de una empresa cliente:
Recon-NG
Es una herramienta (framework) desarrollado en python que automatiza la recolección de información desde múltiples
fuentes, reduciendo el tiempo de recopilación de información.
Recon-NG
Es una herramienta (framework) desarrollado en python que automatiza la recolección de información desde múltiples
fuentes, reduciendo el tiempo de recopilación de información.
Escaneo y
análisis de
vulnerabilidade
s
04
Análisis de TCP y UDP (Recordatorio)
TCP CARACTERÍSTICAS
El protocolo TCP se identifica por sus CARACTERÍSTICAS específicas de confiabilidad y la forma en la que se realiza el
seguimiento de las comunicaciones, como son:

Establecimiento de una sesión: TCP es un protocolo orientado a la


conexión, es decir, negocia y establece una conexión (o sesión)
permanente entre los dispositivos de origen y de destino antes de
reenviar tráfico; así los dispositivos negocian la cantidad de tráfico
que se puede reenviar en un momento determinado, y los datos que
se comunican entre ambos se pueden administrar detenidamente.
Entrega confiable: TCP asegura que cada segmento que envía el
origen llegue al destino.

Entrega en el mismo orden: Los datos pueden llegar en el orden equivocado, debido a que las redes pueden
proporcionar varias rutas que pueden tener diferentes velocidades de transmisión. Al numerar y secuenciar los
segmentos, TCP puede asegurar que estos se rearmen en el orden correcto.
Control del flujo: TCP regula la cantidad de datos que transmite el origen, evitando la necesitad de retransmitir los
datos cuando los recursos del host receptor (memoria, procesador) están desbordados.
Análisis de TCP y UDP (Recordatorio)
PROCESO DE COMUNICACIÓN DEL PROTOCOLO TCP - ENLACE DE TRES VÍAS
En las conexiones TCP, el host cliente ESTABLECE la conexión con el servidor en tres pasos:

Paso 1: el cliente de origen solicita una sesión de


comunicación de cliente a servidor con el
servidor.
Análisis de TCP y UDP (Recordatorio)
PROCESO DE COMUNICACIÓN DEL PROTOCOLO TCP - ENLACE DE TRES VÍAS
En las conexiones TCP, el host cliente ESTABLECE la conexión con el servidor en tres pasos:

Paso 2: el servidor reconoce la sesión de comunicación de cliente


a servidor y solicita una sesión de comunicación de servidor a
cliente.
Análisis de TCP y UDP (Recordatorio)
PROCESO DE COMUNICACIÓN DEL PROTOCOLO TCP - ENLACE DE TRES VÍAS
En las conexiones TCP, el host cliente ESTABLECE la conexión con el servidor en tres pasos:

Paso 3: el cliente de origen reconoce la sesión de


comunicación de servidor a cliente.
Análisis de TCP y UDP (Recordatorio)
PROCESO DE COMUNICACIÓN DEL PROTOCOLO TCP – CIERRE DE COMUNICACIÓN
Para CERRAR una conexión TCP se debe establecer el Flag de control de finalización (FIN) en el encabezado
del segmento y confirmar el cierre con un segmento de reconocimiento (ACK); ante eso se requieren cuatro
intercambios para finalizar ambas sesiones entre cliente y servidor:

Paso 1: cuando el cliente no tiene más datos para enviar en la transmisión,


envía un segmento con el marcador FIN establecido.
Paso 2: el servidor envía un ACK para reconocer el marcador FIN y terminar
la sesión de cliente a servidor.
Análisis de TCP y UDP (Recordatorio)
PROCESO DE COMUNICACIÓN DEL PROTOCOLO TCP – CIERRE DE COMUNICACIÓN

Paso 3: el servidor envía un FIN al cliente para terminar la sesión de


servidor a cliente.
Paso 4: el cliente responde con un ACK para reconocer el recibo del FIN
desde el servidor.
Una vez reconocidos todos los segmentos, la sesión se cierra.
Análisis de TCP y UDP (Recordatorio)
UDP CARACTERÍSTICAS
UDP se conoce como un protocolo de entrega de máximo esfuerzo que en el contexto de redes se denomina “poco
confiable” porque no hay reconocimiento que indique que los datos se recibieron en el destino, generando muy poca
sobrecarga.
UDP no hace comparación con TCP y entre sus características se puede mencionar:
Los datos se reconstruyen en el orden en que se recibieron
Los segmentos perdidos no se vuelven a enviar
No se establecen sesiones
No informa al emisor sobre la disponibilidad de recursos
Escaneo por barrido de IPs
Realizaremos un análisis de red, donde vamos a identificar todos los equipos, o todos los servicios disponibles en una
determinada red (auditada), antes de empezar a explorar las vulnerabilidades que pueden tener estos sistemas.
Empezaremos realizando escaneos de direcciones IP y de puertos a través de diferentes herramientas.
Encienda las máquinas vituales:
Metasploitable
Debian Router 1 y Debian Router 2
Kali
Ingrese a Kali.
fping
Es una pequeña herramienta de línea de comandos para enviar solicitudes de eco ICMP (Protocolo de mensajes de
control de Internet) a los hosts de la red, similar a ping, pero con un rendimiento mucho mayor al hacer ping a varios
hosts.
fping difiere totalmente de ping en que puede definir cualquier número de hosts en la línea de comando o especificar un
archivo con la lista de direcciones IP o hosts para hacer ping.
Escaneo por barrido de IPs
fping
Revisamos el manual de fping:
Escaneo por barrido de IPs
fping
Utilizaremos los parámetros que creamos necesarios para su realización, en este caso serán:

Para conocer las IPs de los equipos que están activos

Para generar una lista de las direcciones IP


activas, a partir de la dirección de red IP.
Escaneo por barrido de IPs
fping
Con esta ejecución obtenemos como resultado las direcciones IP que no respondieron a la solicitud de ICMP

Para mejorar el resultado obtenido podemos configurar a que las IP con respuesta activa se almacenen en un
archivo
Escaneo por barrido de IPs
fping
El resultado es:

Revisamos el archivo para ver las IPs activas:

Se observan las IPs de:


Metasploitable
Gateway Debian (Router-2) para la red 20.
Considerar que el protocol ICMP podría estar bloqueado en la red auditada y
por ese motive no tenga respuesta de fping.
Escaneo por barrido de IPs
nmap
"Network Mapper", es una herramienta de código abierto para exploración de red y auditoría de seguridad.
Diseñada para analizar rápidamente grandes redes, aunque funciona muy bien contra equipos individuales.
Nmap utiliza paquetes IP para determinar:
qué equipos se encuentran disponibles en una red,
qué servicios (nombre y versión de la aplicación) ofrecen,
qué sistemas operativos (y sus versiones) ejecutan,
qué tipo de filtros de paquetes o cortafuegos se están utilizando así como docenas de otras características.
Aunque generalmente se utiliza en auditorías de seguridad, muchos administradores de redes y sistemas lo encuentran
útil para realizar tareas rutinarias, como:
Inventariado de la red,
Planificar la actualización de servicios y
Monitorización del tiempo que los equipos o servicios se mantiene activos.
Escaneo por barrido de IPs
nmap
Accedemos a nmap y hacemos un mapeo de los servicios abiertos en metasploitable.

Con esta configuración realizamos un mapeo de


todos los servicios activos del servidor o host.
Existen 65535 puertos disponibles y con esta
configuración observamos que tenemos 30 puertos
activos.
En los resultados finales, vemos puertos habilitados
que pueden ser un medio de acceso abierto y
expuesto a cibercriminales.
Análisis de TCP
ESCANEOS CON TCP
Los tipos de escaneo TCP son construidos con un enlace de tres vías TCP (TCP three-way handshake).
Las conexiones TCP requieren un enlace de tres vías antes de que una conexión se pueda realizar y los
datos puedan ser transferidos entre el emisor y el receptor.
Para completar el enlace de tres vías y hacer una conexión correcta entre dos hosts:
1. El remitente debe enviar un paquete TCP con el bit de sincronización (SYN) establecido.
2. Entonces el sistema destino responde con un paquete TCP con los bits de sincronización (SYN) y
reconocimiento (ACK) establecidos para indicar que el host está preparado para recibir datos.
3. El sistema de origen envía un paquete final con el bit ACK establecido para indicar que la conexión
está completa y los datos están listos para ser enviados.

TCP es un protocolo orientado a la conexión, por lo tanto, este protocolo: establece la conexión, reinicia una conexión fallida y
termina una conexión. Y para realizar cada una de esta acciones, emplea los flags:
SYN (Synchronize) Sincronizar: Inicia una conexión entre hosts.
ACK (Acknowledge) Acuse de recibo: Conexión establecida entre los hosts.
PSH (Push) Empujar: El sistema está reenviando los datos del búfer.
URG (Urgent) Urgente: Los datos de los paquetes deben ser procesados rápidamente.
FIN (Finish) Finalizar: No hay más transmisiones.
RST (Reset) Restablecer: Restablece la conexión.
Escaneo XMAS
Este escaneo envía un paquete con las banderas FIN, URG y PSH establecidas (Observar en
Wireshark, flags 00101001).
Si el puerto está abierto, no hay respuesta.
Pero si el puerto está cerrado, el objetivo (destino/servidor) responde con un paquete RST/ACK.
Un atacante puede determinar el estado del puerto que está investigando de una forma realmente
silenciosa, puesto que no inicia ninguna conexión (como los sondeos SYN, que inician un 3-way-
handshake), y sorteando a veces filtros que no esperan este tipo de combinaciones en los flags.
Empleamos:
nmap para poder manipular los flag de los paquetes TCP y así poder tener ciertas respuestas de los
destinos auditados.
Wireshark: para analizar los paquetes que llegan o salen de nuestro equipo (Kali)
Escaneo XMAS
Iniciamos Wireshark en Kali para capturar el tráfico.
Hacemos doble clic en el puerto ethernet (eth0) donde se
conduce el tráfico del equipo (Kali), si no encuentra tráfico puede
probar antes haciendo ping al equipo metasploitable.

Empleando nmap ejecute el comando:


-Pn evitamos el proceso de discovery
-p22 escaneamos el puerto 22
-sX el paquete XMAS
192.168.20.34 destino metasploitable
Paramos la captura de tráfico en Wireshark:
Escaneo XMAS
Exploramos el paquete XMAS, observamos que en el paquete se activan los flags URG, PSH, FIN, lo cual evita que el paquete
sea detectado por el firewall (depende de la configuración del firewall), para tener la respuesta esperada sobre los servicios
activos en el equipo. En este caso en el puerto 22.

El principio de alterar los flags del paquete TCP es que, si el protocolo TCP recibe un paquete que no tenga activos los flags SYN,
ACK o RST, entonces responderá con un paquete RST (Reset). Permitiendo saber si el puerto está cerrado. En este caso el puerto
está:
Abierto (open) , porque no tubo la respuesta RST
Filtrado (filtered), porque el firewall lo bloqueó.
Si el puerto está cerrado obtendría la respuesta RST
Escaneo NULL
Este escaneo es similar al escaneo XMAS en sus limitaciones y en la respuesta, pero simplemente
envía un paquete sin indicadores (flags) establecidos.
Cuando el objetivo recibe el paquete NULL, este responderá con nada, lo que significa que me está
enviando información que no tengo idea de cómo manejar. Y como no responde bien, sabemos que
el puerto está abierto.
Si al enviar un paquete TCP sin bandera implementada, el kernel descartará el paquete si el puerto
está abierto, o enviará de vuelta un paquete RST/ACK, indicando que el puerto está cerrado.
Iniciamos Wireshark en Kali para capturar el tráfico.

Empleando nmap ejecute el comando:

-Pn evitamos el proceso de discovery


-p22 escaneamos el puerto 22
-sN el paquete NULL
192.168.20.34 destino metasploitable
Escaneo NULL
Exploramos el paquete NULL, observamos que en el paquete no posee los flags activos, lo cual también podría evitar ser
detectado por el frewall (depende de la configuración del firewall).

Al igual que XMAS nos entrega el resultado:


Abierto (open) , porque no tubo la respuesta RST
Filtrado (filtered), porque el firewall lo bloqueó.
Si el puerto está cerrado obtendría la respuesta RST
NMAP scripting
Nmap posee un conjunto de recursos o scripts que nos ayudan a automatizar los procesos, realizando tareas que nos entrega
más información.
banner grabbing
Es una técnica utilizada para el descubrimiento de versiones de servicios en Internet, aplicado en auditorías de seguridad o
pentesting.
Dependiendo del banner que devuelva el servicio, podemos obtener información para encontrar alguna vulnerabilidad.
Se emplea esta técnica, porque los servicios populares como los servidores FTP, los servidores web, los servidores SSH y otros
servicios, exponen información confidencial sobre los nombres, las versiones y los sistemas operativos del software.
Como resultado, los cibercriminales pueden ejecutar un ataque de captura de banners (pancartas) contra diferentes
protocolos para descubrir aplicaciones inseguras y vulnerables para su compromiso y explotación.
Empleando nmap nos conectaremos a un puerto TCP abierto e imprimirá los detalles enviados por el servicio de escucha en
unos pocos segundos.
Así tomaremos la información de la cabecera que se envían en los primeros paquetes de la conexión en tres vías.

Empleando nmap ejecute el comando:


NMAP scripting
banner grabbing

En este caso nos informa las versiones de FTP y SSH que está ejecutando.
Así podemos encontrar vulnerabilidades asociadas a estos protocolos o
servicios.
NMAP scripting
vuln
Estos scripts verifican vulnerabilidades conocidas y generalmente solo reportan resultados que logran encontrar.

En el resultado se puede observar:


En el resultado se puede observar un
backdoor que puede ser explotado, así
también comparte las referencias para
conocer la manera y como explotar esta
vulnerabilidad.
NMAP scripting
nmap
En Interner existen diferentes scripts que permiten escanear vulnerabilidades empleando nmap, por ejemplo: Nmap
vulscan
Iniciamos con la instalación, haciendo una copia del script.

Corremos el script para observar las vulnerabilidades


encontradas en el equipo.
OpenVAS
Es un escáner de vulnerabilidades de código abierto.
Cuenta con una amplia base de datos de fallos de seguridad conocidos, para detectar en una red o sistema.
Ofrece soluciones de seguridad para hardware, software y la nube. No solo sirve para detectar las vulnerabilidades de estos
sistemas, también es eficiente para gestionarlas, es decir, hacer un registro de las mismas para futuras ocasiones.
OpenVAS no viene instalada en Kali, así que debe instalarla mediante el comando:

Luego debe configurar la base datos de OpenVAS, con el comando (demora más de una hora):
OpenVAS
Guarde el password para el usuario Administrador:

Verifique la instalación:
OpenVAS
Iniciamos el servicio openvas:

Inicie el explorador web y digite: https://127.0.0.1:9392


La primera vez debe aceptar la excepción de seguridad y accederá al servicio:
OpenVAS
Acceda con las credenciales:
Usuario: admin
Password:
OpenVAS
Hacemos clic en Scans/Task

Hacemos clic en el ícono Nuevo y luego Advanced Task


Wizard
OpenVAS
Configuramos los parámetros de escaneo
Colocamos un nombre a la Tarea
Colocamos la IP del host que va a escanear
En las siguientes opciones se puede configurar un horario
programado para realizar el escaneo de manera
constante.
Hacemos clic en Crear (Create)

Haga clic en la Tarea Escaneo de


vulnerabilidades.
OpenVAS

Luego de esperar un largo tiempo en el escaneo, OpenVAS


presentará los resultados.
Presenta las vulnerabilidades con los diferentes niveles de
riesgo que pueden afectar al sistema.
Por cada vulnerabilidad también comparte la posible
solución que evitará el ataque informático.
Explotación
05
Explotación de Vulnerabilidades
Metasploit es el resultado del trabajo colaborativo entre la comunidad de código abierto y Rapid7. Presenta las opciones
Metasploit Framework (OPEN SOURCE) y Metasploit Pro (COMMERCIAL SUPPORT).
El Metasploit Framework, o MSF, está compuesto de módulos de diversos tipos que pueden guardar información en una base
de datos PostgreSQL.
La interacción del usuario con el MSF se realiza a través de interfaces propias en línea de comandos como el msfconsole y msfcli.
No obstante, las versiones Community y Professional, se pueden acceder a través de una interfaz web.

MSF es una de las herramientas de auditoría de seguridad más útiles y disponibles


gratuitamente para los profesionales de la seguridad en la actualidad.
Desde una amplia gama de exploits de grado comercial y un extenso entorno de desarrollo de
exploits, hasta herramientas de recopilación de información de red y complementos de
vulnerabilidad web, Metasploit Framework proporciona un amplio entorno de trabajo.
Arquitectura Metasploit
Metasploit está escrito en Ruby y ha estado en desarrollo durante muchos años. De manera general, podemos visualizar la
arquitectura de Metasploit así:
SISTEMA DE ARCHIVOS METASPLOIT
El sistema de archivos MSF se presenta de manera intuitiva y está
organizado en el directorio: /usr/share/metasploit-framework
Arquitectura Metasploit
MÓDULOS
MSF::Core: este módulo es la API básica de Metasploit, contiene el
proceso principal de ejecución y la definición general del programa.
MSF::Base: este módulo es una API de segundo nivel. Proporciona
recursos para que los diferentes módulos, herramientas y paquetes
se conecten y puedan acceder a los procesos del Core.
MSF::UI: Estos módulos contienen recursos para que el usuario
pueda interactuar con los recursos del framework. Entre estos
existen varias interfaces gráficas como Armitage, interfaces web o
la consola MSF-Console.
Rex: es una librería que realiza las operaciones entre los módulos
que se comunican con el módulo Base. Entre las operaciones que
realiza se encuentra el armado de paquetes con los payloads
requeridos, administración de URLs y enlaces y operaciones con
diferentes protocolos.
Arquitectura Metasploit
MÓDULOS
Son los paquetes que existen en la base de datos y que se pueden conectar a la
Librería Base (MSF::Base) para agregar alguna funcionalidad a la operación que
se está realizando.
Módulos auxiliares: Son herramientas y recursos que pueden ser requeridos
para cargar un exploit o un payload, incluyen escáneres de puertos, fuzzers,
sniffers y más. (/usr/share/metasploit-framework/modules/auxiliary/)
Exploits: Es un recurso de código diseñado para aprovechar alguna
vulnerabilidad conocida en un sistema o recurso externo. Típicamente estos
exploits permitirán cargar diferentes bloques de código para intentar
ejecutarlos en el objetivo aprovechando la vulnerabilidad.
(/usr/share/metasploit-framework/modules/exploits/)

Payloads: El payload o “carga útil” de un exploit es el código adicional que se quiere ejecutar en el objetivo una vez aprovechada
la vulnerabilidad. (/usr/share/metasploit-framework/modules/payloads/)
Encoder: Estos módulos contienen recursos que permiten ofuscar o encubrir el código para que no sea identificado como
malicioso por sistemas como antivirus o firewalls. (/usr/share/metasploit-framework/modules/encoders/)
Nop: Estos módulos permiten agregar cadenas de caracteres en blanco o “0”s en el contenido de un payload. Esto se usa
típicamente para ataques de desborde de pila, donde el payload debe tener un tamaño exacto para que la pila apunte
exactamente a la posición donde está el código que se desea ejecutar. (/usr/share/metasploit-framework/modules/nops/)
Arquitectura Metasploit
Para inicial MSF
ingresamos:

Considerando que hemos identificado una vulnerabilidad en el servicio FTP del servidor 192.168.20.34, realizaremos la búsqueda
de un módulo exploit que pueda tener MSF:
Arquitectura Metasploit
Accedemos al exploit mediante el comando:
Ahora revisaremos la forma de utilizarlo mediante el comando:

En el detalle indica que sólo se


requiere la dirección IP del host
remoto, es decir, del equipo
(192.168.20.34) al que vamos atacar su
vulnerabilidad.
Arquitectura Metasploit
Configuramos el exploit:
Ejecutamos el exploit:

Hay que reconocer que existe la


posibilidad de no tener el acceso
esperado debido a las variantes de la
vulnerabilidad.

En este caso, existe un Shell que


permitió el acceso al equipo
remoto:
Armitage
Es una Herramienta de colaboración en equipo que permite el uso de scripts para Metasploit, como también visualizar
objetivos; recomienda exploits y expone las características avanzadas de post-explotación que tiene el framework.

Acceda a la aplicación “armitage”

Ingrese la clave del usuario Root

No conectamos al servicio del MSF


Armitage

Iniciamos el servicio de Metasploit

Agregamos el host que estamos


analizando
Una opción interesante es la posibilidad de
Armitage encontrar posibles ataques que se ejecuten de
acuerdo a la vulnerabilidad del equipo.
Es necesario que antes se realice un escaneo
para poder conocer las vulnerabilidades.
Por ejemplo, si deseamos conocer el sistema
operativo:

Iniciamos un escaneo
rápido

Luego de un momento
nos entregará el resultado
Armitage
Si queremos vulnerar el servicio
FTP

Nos da la posibilidad de acceder al servicio,


cuando coincidan las credenciales de
autenticación.

Aplicamos un ataque de fuerza


bruta
Spidering Web
Es una técnica utilizada para automatizar el descubrimiento de nuevos recursos (URLs) sobre un sitio en particular.
Inicia con una lista de URLs para visitar, denominada las semillas. Luego visita estas URLs identificando todos los hiperenlaces en
la página y los añade a la lista de URLs para visitar, además este proceso continúa de manera recursiva tanto como sean
encontrados nuevo recursos.
Para aplicar esta técnica se utilizará BURPSUITE.
Burp Suite es una plataforma digital que reúne herramientas especializadas para realizar pruebas de penetración en aplicaciones
web.
Cuenta con dos versiones:
una versión gratuita (Burp Community) y
una versión de pago (Burp Professional).
Acceda a la plataforma y acepte las condiciones de uso:
Spidering Web
Como es la versión Community estamos limitados con su funcionalidad y los proyectos de análisis son temporales y no es posible
guardarlos:
Spidering Web
Burp Suite hace uso de un Proxy, que es un intermediario por donde accederemos a las páginas web, por lo tanto, debemos
configurar el Proxy en la herramienta y en el explorador Web.

Haga clic en la pestaña Proxy


Luego en la opción “Intercept”
Y active el botón “Intercerp is on”

Luego revisamos el listener del servicio del Proxy, haciendo clic en la opción ”Options”.

Pasamos al navegador web para configurar el Proxy.


Spidering Web
En el navegador buscamos la opción de Configuración (“Settings”).

En la caja de búsqueda escribimos la palabra “Proxy”


Y accedemos a las Configuraciones de Red (“Network Settings”)

Cambiamos la configuración a Manual y agregamos la


información del Proxy de Burp suite.
Spidering Web
En el navegador ingresamos la dirección IP del equipo analizado.

Inmediatamente nos pasamos a Burp Suite, hacemos clic en la opción


“Intercept”
Cada trama o petición de la página web se encuentra detenida para poder
verificar o modificar su contenido. Para avanzar con la carga y análisis del
sitio web, haga clic en el botón “Forward”.
Spidering Web
En la Opción “HTTP history” es posible ver las peticiones
tipo GET que se capturaron durante la carga de la
página web.
Spidering Web
En la Opción “Site map” tenemos la información de
los directorios que conforman la página web.
Spidering Web
Otra herramienta que nos puede ayudar a realizar Spidering Web es gospider.

Instalamos gospider.

Configuramos el análisis al sitio web y


lo almacenamos en el archivo
victima_output.txt

Obtenemos la información del sitio web y sus enlaces.


Ataque XSS
Cross Site Scripting, también conocida como XSS, una de las vulnerabilidades más comunes desde 2014.
Es un tipo de ataque que aprovecha fallas de seguridad en sitios web y que permite a los atacantes implantar scripts maliciosos
en un sitio web legítimo (también víctima del atacante) para ejecutar un script en el navegador de un usuario desprevenido
que visita dicho sitio y afectarlo, ya sea robando credenciales, redirigiendo al usuario a otro sitio malicioso, o para realizar
defacement (cambio de apariencia) en un sitio web.
En este ejemplo trataremos de colocar código en la base de datos del sitio web y que cuando algún usuario acceda al sitio,
pueda ver ese código insertado.
Accedemos a: http://192.168.20.34/dvwa/login.php
Ingresamos las credenciales:
Username: admin
Password: password

En este caso seleccionamos la opción Cross


Site Scripting Almacenado
Ataque XSS
Antes vamos a la opción:
Y cambiamos a “low” el nivel de seguridad de script:
Regresamos a
E ingresamos un pequeño script que simule al script ingresado por el atacante:
Es así que cada vez que ingresemos al sitio web, este script se ejecutará:
Post
Explotación 06
Meterpreter
En la fase de post-explotación queremos:
Asegurar una conexión permanente o estable con las máquina que se han vulnerado
Utilizar como base el equipo vulnerado para avanzar hacia otros equipos (pivoting)
Empezamos usando msfvenom que es un módulo de Metasploit herramienta que permite crear un archivo executable que
posee uno de los múltiples tipos de payloads existentes en Metasploit.
Generamos un payload para Windows llamado Meterpreter, que ejecute una conexión reverse_tcp y genere un archivo
ejecutable. Determinamos al equipo de Kali como ejecutor a través del puerto 4444:

Con este ejecutable, vamos a forzar a la máquina víctima a conectarse a nuestro equipo en
Kali, manteniendo conexiones remotas en sentido directo (kali-víctima) y sentido reverso
(víctima-kali).
Meterpreter
Luego usaremos shellter para intentar camuflar el archivo malicioso de antivirus o firewalls.
Se debe instalar shellter en kali:

Ejecute shellter escribiendo el comando:


Meterpreter
Elegimos el modo Automático:
Y la ruta del archivo que queremos ocultar:
Genera el código que queremos tratar de ejecutar en una máquina con Windows.

Al terminar, shellter solicita si deseamos agregar una capa de


ofuscación para mantener el sigilo, seleccionamos SI:
Meterpreter

Luego va solicitar que seleccionemos un Payload de la lista, y como al crear


el ejecutable (Meterpreter) determinamos Reverse_TCP; entonces,
seleccionamos la primera opción:

Configuramos nuestro Local Host, con la IP y el puerto que definimos


anteriormente:
Meterpreter
Ingresamos a Metasploit:
Meterpreter
Buscamos una vulnerabilidad ya encontrada en Windows, en este caso en una
página Web:
Usamos el exploit:
Escogemos un payload:
Configuramos:
Nuestro Local Host
El Host Remoto víctima
El Puerto de comunicación
Y ejecutamos el payload
Meterpreter
Y logramos acceder al equipo. En caso de existir fallas en la ejecución, volver a escribi el comando run:

Ahora ya podemos acceder al equipo de manera


remota:
Meterpreter
Vamos a crear una carpeta en el directorio de la página web y almacenaremos ahí el archivo exe que acabamos de
crear:

Verificamos de forma remota que el archivo .exe esté en la página web, accediendo a esta desde el
explorador web:
Estructura de un reporte
Con toda la información recogida durante el Pentesting debemos realizar el informe, por lo tanto, debemos mantener un
proceso definido para el reporte.
¿Qué información se obtuvo?
Información Base: es la información que nos sirve para ampliar el conocimiento de la empresa, por ejemplo, lo obtenido
con Whois, recon-ng, etc.
Vulnerabilidades: se listan las vulnerabilidades que se identificaron en los host.
Resultados de explotación: explica que fue lo que se puedo comprometer en el equipo.
Puertas traseras: indicar si se ha dejado puertas traseras abiertas, aunque lo correcto es indicar que todos los accesos
abiertos deben quedar completamente cerrados.
¿Qué se puede o no se debe incluir en el informe?
¿Quien va a leer el reporte?: el informe debe estar redactado de tal manera que lo pueda entender el gerente o el técnico.
¿Qué esperan recibir?: considerar la información que los gerentes o directores esperan tener sobre la seguridad de su
información, en especial de los datos personales y de la empresa.
¿Cómo organizamos la información?: debe ser amigable de leer en el informe.
Estructura de un reporte
La estructura del reporte
Resumen Ejecutivo: explicación resumen del trabajo realizado y su resultado.
Principales Hallazgos: indicar las vulnerabilidades encontradas
Lista de acciones ejecutadas: indicar de manera ordenada la ejecución de cada procedimiento
Reporte detallado: explicar el procedimiento técnico aplicado, incluyendo las herramientas y técnicas empleadas, puede
agregar información técnica.
Recomendaciones: están orientadas a proteger el sistema, o subsanar las fallas.
Contacto:
Franklin Carrasco

facarrasco@pucese.edu.ec
(593) 99 367 5 99

QUITO – AMAZONAS – AMBATO – ESMERALDAS – IBARRA – MANABÍ – SANTO DOMINGO

También podría gustarte