Está en la página 1de 7

UNIVERSIDAD FRANCISCO GAVIDIA

FACULTAD DE INGENIERIA Y SISTEMAS


PRACTICA DE LABORATORIO NO.3
CICLO 01- 2021
Asignatura: Horario: Miercoles de 6:30 p.m a 8:10 p.m Grupo: 01
Criptografía y Seguridad en redes
Profesores: e-mail: Aula:
Ing. José Raúl Pineda rpineda@ufg.edu.sv Lab. Redes

ANALISIS DE VULNERABILIDADES Y HERRAMIENTAS

 Que el alumno conozca algunas herramientas que permita realizar algún tipo de auditoria en
sistemas de Redes de datos.
 Que el alumno. Conozca un procedimiento de programación para crear y aplicar “parches” en
aplicaciones en C.
 Investigar algunas herramientas útiles para los temas de auditoria.

INTRODUCCION TEORICA

Los Análisis de Vulnerabilidades son un componente esencial de un programa de seguridad de la


información efectiva. Los Análisis de Vulnerabilidad inicialmente son capaces de descubrir y
definir una guía para el aseguramiento de los datos; el escaneo periódico provee información
actualizada acerca de la administración de las vulnerabilidades en un ambiente de red,
son capaces de generar tendencias y reportes de cumplimiento con políticas.

Las herramientas utilizadas para la ejecución de Análisis de vulnerabilidades proveen los


fundamentos de seguridad para una infraestructura de red desde una base de datos de
vulnerabilidades conocidas, la cual se actualiza periódicamente. Existen tres tipos de
herramientas de Análisis de Vulnerabilidades:

 Escaneo de red activo. También conocido como Análisis de Vulnerabilidades de Red,


estos escanean de forma remota los dispositivos conectados a la red sin requerir la
instalación de agentes; una más profunda evaluación de los dispositivos puede ser
realizada utilizando credenciales de administrador.
 Observación del tráfico de red pasivo. En este caso, no se escanea de forma activa a los
sistemas, sino que se captura el tráfico entre dispositivos de la red para determinar su
estado basado en sus patrones de tráfico. Aunque la Observación Pasiva puede brindar
información acerca de dispositivos que no pueden ser activamente escaneados (por
ejemplo, equipos con Firewall Personales activados), esta técnica por sí sola no provee
de suficiente información para las actividades de remediación.
 Basado en agentes. Están basados en agentes que residen en los dispositivos a analizar,
coleccionando información del estado de los dispositivos en tiempo real. Estos pueden
determinar aspectos de los dispositivos que no pueden ser determinados de forma
remota, tal como aplicaciones y servicios que están instalados pero que no se están
ejecutando.
Para obtener resultados más exactos sobre las vulnerabilidades en los sistemas, se requiere de
acceso a credenciales administrativas sobre los mismos (ya sea a través de la red o con la
utilización de agentes).

Las Organizaciones de Seguridad requieren que el análisis de las vulnerabilidades se ejecute a


través de la red para que de forma precisa descubrir y evaluar las vulnerabilidades tanto en
sistemas administrados como en no administrados. De cualquier forma, para que un Análisis de
Vulnerabilidades sea utilizado para mejorar la seguridad y satisfacer los requerimientos de
auditoría, ellos deben contar con capacidades de priorización de eventos y de reportes. Las
Organizaciones también necesitan implementar un ciclo de vida para la administración de
vulnerabilidades si es que los administradores quieren usar los Análisis de Vulnerabilidades para
hacer el ambiente más seguro.

MATERIALES Y EQUIPO

 Laptop y/o PC
 Sistemas Operativo Linux Ubuntu (u otra distribución).

PROCEDIMIENTO

1- ESCANEO DE VULNERABILIDADES.

A) Escaneo de Red con NMAP

Procedimiento:

a) Instalación de NMAP.

Em primer lugar hay que instalar nmap, ejecutando el siguiente comando:

# sudo apt-get install nmap.

Nota: Como alternativa se puede usar la versión de Windows.

b) Ping Sweep.

Lo primero que debemos realizar en nuestra fase de scanning, es un ping sweep, el cual nos permitirá
identificar los host que se encuentren activos en la red a la cual estoy conectado.

El comando que utilizaremos para realizar nuestro ping sweep, sera:

# nmap -sP <segmento de red>

Nota: La opción -sP nos permite hacer un PING desde la 192.168.23.1, hasta la 192.168.23.254,
sustituimos <segmento de red> por 192.168.23.1/24. Favor colocar el segmento de Red al cual
pertenece su PC.

¿Cuántos Host dentro de la Red respondieron?


________________________________________________________________________________
c) Port Scanning.

Tiene como propósito lo siguiente:


 Escaneo de Puertos: Se realiza el envió de paquetes a un host, para identificar el estado de los
puertos TCP y UDP: Posibles estados de un puerto: Abierto-Cerrado-Filtrado.
 Identificar Servicios por Puerto: Identificar vulnerabilidades en los servicios que se ejecutan sobre
puertos abiertos.
 Sistema Operativo de Host: Información importante acerca de nuestra “victima”, posibles
vulnerabilidades.

El comando a ejecutar es:

# nmap <dirección IP de Victima>

Nota: Sustituir <dirección IP de Victima> por la verdadera IP.

d) Version Scanning (Escaneo de Versiones).

El siguiente comando nos permitirá conocer la version del servicio que se esta ejecutando en
dicho puerto:

# nmap -sV <dirección ip de Victima>

e) UPD Scanning (Escaneo de puertos UDP).

Los anteriores comandos los utilizamos para realizar el scanning de los puertos TCP de nuestro host
objetivo, ahora veamos el comando utilizado para scanear los puertos UDP.
Ejecute el siguiente comando y anote los resultados.

# nmap -sU <dirección IP de Victima>

¿Qué otras opciones tiene el comando nmap?


________________________________________________________________________________

f) Verificación de TCP Connect (3 handshake)


Este tipo de conexión establece una conexión normal TCP de tres vías. Ejecutar el siguiente comando
al sitio web de Google : www.google.com.

#nmap -sT -p 80 -v www.google.com

Pero antes de ejecutar nmap, habrá wireshark y capture con Wireshark los paquetes enviados al
sitio web de www.google.com.
Debe de verse algo similar a lo mostrado en la siguiente imagen.
Investigue sobre 3 Way Handshake. Basado en los resultados obtenidos con Wireshark. Conteste la
siguiente preguntas:

- ¿Esta abierto el puerto 80 de www.google.com?.


________________________________________________________________________________

- Repita el comando anterior, pero sustituya el puerto 80 por el puerto 3333. ¿Obtuve los mismos
resultados?. ¿Cuál es la diferencia?.
________________________________________________________________________________

- ¿Cuál es la función del mensaje RST visto en la traza anterior?

_____________________________________________________________________________

g) TCP SYN SCAN


No establece una conexión TCP completa, sino que cuando recibe la respuesta SYN|ACK indicando
que el puerto está a la escucha, inmediatamente envía un paquete RST para romper la conexión.
Existe otra variante que no envía el paquete RST y, por lo tanto, deja el proceso de establecimiento
de la conexión a medias.
Las ventajas principales de este tipo de escaneo es que los IDS más sencillos, basados en el registro
de la conexión, no son capaces de detectar este tipo de escáner. Como desventaja, es necesario
privilegios de administrador que no siempre es posible.

# nmap -sS www.google.com

¿Qué resultados obtuvo?. Explique.


________________________________________________________________________________

Repita el siguiente comando con los siguientes parámetros.

# nmap -top-ports 80 -sS www.google.com

Nota: Trate de ejecutar estos últimos 2 comandos con la IP de la PC usada por unos de sus
compañeros. Su compañero deberá tener habilitado un Servidor web en su PC.
INVESTIGACION DE NMAP

- Utilizando Nmap, realizar un escaneo de los puertos comprendidos entre el 15 y el 85 de los


servidores Web mas conocidos (por lo menos 10). Con los datos que se obtengan, presentar
una tabla donde se indiquen los Servidores Web Analizados, dirección o direcciones IP asociadas,
puertos disponibles y Sistema Operativo utilizado por los servidores Web.

B) Escaneo de Red y Vulnerabilidades con NESSUS (HomeWork si es necesario)

Procedimiento

a) Instalación de Nessus.

Descargar Nessus del sitio web (https://www.tenable.com/products/nessus/nessus-


professional/evaluate), tener en cuenta que cada uno de los estudiantes tiene que registrarse y
obtener una licencia valida por 7 dias.

b) Escaneo de Vulnerabilidades en PC

Utilizando Nessus realizar un escaneo de puertos de su propia PC. Con los datos obtenidos,
completar una tabla que indique, dirección IP del host, puertos TCP y UDP disponibles y riesgos
de seguridad detectadas con Nessus.

c) Escaneo de Vulnerabilidades de servidor Web

Utilizando Nessus, realizar un escaneo de las vulnerabilidades de 10 servidores WEB cualquiera


(usar los mismos 10 que se escanearon con nmap, analizando los puertos comprendidos entre el
15 y el 85, donde se realice una detección de Sistema Operativo. Con los datos obtenidos se
completará una tabla donde se indique, el servidor WEB, puertos disponibles, Sistema Operativo
utilizado, y riesgos de seguridad.

¿Hay alguna diferencia significativa en los resultados obtenidos con NMAP y NESSUS.

_______________________________________________________________________________
2- CASO PRACTICO (AREA PROGRAMACION). APLICANDO PATCHES EN SISTEMAS LINUX (UNIX).

Uno de los procedimientos que utilizan los programadores para corregir mala programación en su
sistema, es corregirlos utilizando lo que se conoce como “pacthes”. Los patches no son mas que
segmentos de código de programa que modifican parte del código del programa original con el
objetivo de corregir fallos de programación y/o vulnerabilidades. A continuación se describe dicho
procedimiento para crear y aplicar patches.
a) En primer lugar hay que el siguiente programa en “C” con el nombre “example.c” .

#include <stdio.h>
int main()
{
printf (“This is a un example ”)
}

b) Ahora hacemos una copia del archivo “example.c”, llamado “example_new.c” con el siguiente comando:

# copy example.c example_new.c

c) Editamos con el editor “vi” (o nano) el archivo “example_new.c” y agregamos la siguiente línea : return 0;

#include <stdio.h>
int main(int argc)
{
printf (“This is a un example ”)
return 0;
}

d) Este archivo “example_new.c”, puede ser considerado la actualización de la versión del archivo “example.c”, por lo
que usando este archivo creamos el archivo patch que vamos a distribuir. Ejecutamos el siguiente comando:

# diff -u example.c example_new.c > example.patch

e) Con el comando “cat”, se puede verificar el contenido del archivo. Se mostrará algo similar al mostrado en la siguiente
imagen.
f) Antes de aplicar el patch, hay que hacer una copia del archivo original con el siguiente comando:

# patch -b < example.patch


Verificar que se ha creado el archivo example.c.orig.

g) Antes de aplicar el patch, vamos a chequear que si tiene o no errores ejecutando el siguiente comando:

# patch - - dry-run < example.patch


h) Si no hay errores durante la ejecución del comando anterior, entonces aplicamos el patch al archivo original,
ejecutando el siguiente comando:

# patch < example.patch

i) Despues de aplicar el patch, chequear el contenido del archivo “example.c”.

- ¿ Tiene las líneas extras?. Explique.

j) Si se quiere revertir los cambios se debe ejecutar el siguiente comando:

# patch -R < example.patch


- ¿Qué muestra el archivo “example.c”?. ¿Es el original?. Explique.

INVESTIGACION DE PROGRAMACION.

- Investigue el procedimiento y haga que el programa anterior sea ejecutable en Unix.

3- TAREA DE INVESTIGACION Y/O IMPLEMENTACION (HERRAMIENTAS DE AUDITORIA).

- Investigar e instalar el programa para ver múltiples archivos Logs llamado “Multitail”. En ocasiones es tedioso estar
viendo múltiples archivos logs para depurar programas o monitorear sistemas, por lo que esta herramienta es
sumamente util.

- Investigar e instalar el programa “whowatch”, el cual permite monitorear los usuarios dentro del sistema y además que
programas están ejecutando.

- Investigar e instalar el programa “Lynis”. Mostrar algunos ejemplos de uso de dicho programa.

Nota: Se deberá presentar procedimientos (Con print screen) de la ejecucion de las aplicaciones de los
programas ante mencionados.

También podría gustarte