0% encontró este documento útil (0 votos)
250 vistas14 páginas

Taller Práctico de Seguridad con NMAP

El documento proporciona instrucciones para practicar la seguridad de red utilizando herramientas como Nmap y Nessus. Explica cómo instalar y usar Nmap en sistemas Windows y Linux para escanear puertos, servicios y sistemas operativos. También describe cómo instalar Nessus para identificar y explotar vulnerabilidades de red.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
250 vistas14 páginas

Taller Práctico de Seguridad con NMAP

El documento proporciona instrucciones para practicar la seguridad de red utilizando herramientas como Nmap y Nessus. Explica cómo instalar y usar Nmap en sistemas Windows y Linux para escanear puertos, servicios y sistemas operativos. También describe cómo instalar Nessus para identificar y explotar vulnerabilidades de red.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TALLER: PRACTICA DE SEGURIDAD

1. Practica con NMAP:


a. Sistemas Windows
i. Instale WinCap
ii. Instale Nmap
b. Sistemas Linux
i. Verificar que nmap esté instalado según la distribucion que se tenga
c. Comandos: Pruebe los siguientes comandos en el shell de Linux o Windows
i. Comprobacion de los equipos de muestra red local que estan activos escriba el
comando:
nmap -v -sP Direccion red/rango equipos.
ii. Exploracion de los servicios abiertos en el equipo que acabamos de ver activo y
almacenar resultados obtenidos, comando: nmap -PO -oN output.txt "IP EQUIPO
ACTIVO".
iii. Para ver resultados del anterior comando escribir: cat output.txt
iv. Descubrir unicamente si estan activos los servicios ssh y web del equipo de
pruebas, comando: nmap -sX -p 22,80 -oN output.txt "IP EQUIPO".

2. Con la ayuda del manual que se le facilito para la práctica proponga 10


aplicaciones de nmap en sistemas de red, explique su beneficio.

3. trate de instalar Nessus bajo Windows y explique su funcionamiento.

4. Baje un programa snifer, sugerencia ethereal para linux y Windows; instalelo y


haga una prueba de análisis de tráfico, verifique la importancia del mismo.
SOLUCION AL TALLER

1. NMAP: Es un programa que sirve para efectuar rastreo de puertos TCP , Se


usa para evaluar la seguridad de sistemas informáticos, así como para descubrir
servicios o servidores en una red informática.

Ejemplo hecho en clase: Si tenemos un host en nuestra red, con


dirección ip 192.168.0.1 y deseamos conocer que puertos tiene abiertos,
ejecutamos:

• nmap 192.168.0.1

NOS INDICARA EN PANTALLA LA SIGUIENTE INFORMACION

nmap -v : Proporciona una lista de los puertos TCP abiertos, que pueden ser
explotados.
nmap -sP: Sirve para verificar que computadoras (direcciones IP) estén
funcionando, no hace ninguna clase de escaneo.

c.
i. Comandos en el shell :

nmap -sP: Ping Scan, realiza un scan dentro de un rango especifico de hosts. Útil
para conocer que hosts se encuentran en linea sin ser detectados.

Ejemplo: Supongamos, que tenemos una red, 192.168.0.x, y deseamos conocer


que hosts seencuentran activos, fácilmente, lo podemos saber con nmap, esto lo
podemos conoceral realizar un ping scan.
• nmap -sP 192.168.0.1-255

ii. nmap -PO -oN

Si conocemos que un dispositivo existe pero no responde al ping, podemos usar -


P0 para indicarle que sabemos que esa máquina existe pero no queremos que le
haga ping, sino que escanee directamente. Por supuesto, si la máquina no existe
en verdad perderemos tiempo pues el nmap comenzará a escanear ciegamente y
a esperar respuestas que no le llegarán pues la máquina no existe.

• nmap -P0 192.168.1.1

iii. cat uotput.txt (lo guarda en este arhivo plano)

iv. nmap -sX -p 22,80 -oN output.txt

Ejemplo echo en clase, con (-sX) hacia elhost 192.168.0.1, en los puertos
25(SMTP), 53(DNS), le indicamos a nmap queno genere pings hacia el host,

• nmap -p 25,53 -sX -P0 192.168.0.1

2. R/. 10 Aplicaicones adicionales de nmap en sistemas de red

1. nmap foo.example.com: Se mira resultados de la exploracion asi:

Starting nmap V. 3.50 ( www.insecure.org/nmap/ )


Interesting ports on localhost.localdomain (127.0.0.1):
(The 1591 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
443/tcp open https
515/tcp open printer
950/tcp open oftep-rpc
6000/tcp open X11
Nmap run completed -- 1 IP address (1 host up) scanned in 71.825 seconds
2. nmap -O 192.168.0.1: Conocer que tipo de sistema operativo, esta corriendo el
host alque le realizamos el scaneo, sólo basta agregar el parámetro -O a el
comandonmap.

Nos mostrara un resultado como este:

Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/


)
Interesting ports on localhost (192.168.0.1):
(The 1545 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
No exact OS matches for host (If you know what OS is running on it, see
http://www.insecure.org/cgi-bin/nmap-submit.cgi).
TCP/IP fingerprint:
SInfo(V=2.54BETA30%P=i386-suse-
linux%D=7/20%Time=3D39A479%O=22%C=1)
TSeq(Class=RI%gcd=1%SI=1B445E%IPID=Z%TS=100HZ)
TSeq(Class=RI%gcd=1%SI=2E12CD%IPID=Z)
T1(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
T1(Resp=Y%DF=Y%W=7FFF%ACK=O%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
T3(Resp=Y%DF=Y%W=7FFF%ACK=O%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%U
CK=E%ULEN=134%DAT=E) Nmap run completed -- 1 IP address (1 host up)
scanned in 12 seconds

3. nmap -O -sS carlets: Sirve para averiguar los servicios (puertos) accesibles de
una determinada máquina.

4. sS (sondeo TCP SYN): El sondeo SYN es el utilizado por omisión y el más


popular por buenas razones. Puede realizarse rápidamente, sondeando miles de
puertos por segundo en una red rápida en la que no existan cortafuegos. El
sondeo SYN es relativamente sigiloso y poco molesto, ya que no llega a completar
las conexiones TCP. También funciona contra cualquier pila TCP en lugar de
depender de la idiosincrasia específica de una plataforma concreta, al contrario de
lo que pasa con los sondeos de Nmap Fin/Null/Xmas, Maimon o pasivo. También
muestra una clara y fiable diferenciación entre los estados abierto, cerrado, y
filtrado.

5. sS (sondeo TCP SYN): El sondeo SYN es el utilizado por omisión y el más


popular por buenas razones. Puede realizarse rápidamente, sondeando miles de
puertos por segundo en una red rápida en la que no existan cortafuegos. El
sondeo SYN es relativamente sigiloso y poco molesto, ya que no llega a completar
las conexiones TCP. También funciona contra cualquier pila TCP en lugar de
depender de la idiosincrasia específica de una plataforma concreta, al contrario de
lo que pasa con los sondeos de Nmap Fin/Null/Xmas, Maimon o pasivo. También
muestra una clara y fiable diferenciación entre los estados abierto, cerrado, y
filtrado.

6. sU (sondeos UDP): Aunque la mayoría de los servicios más habituales en


Internet utilizan el protocolo TCP, los servicios UDP también son muy comunes.
Tres de los más comunes son los servicios DNS, SNMP, y DHCP (puertos
registrados 53, 161/162, y 67/68 respectivamente). Dado que el sondeo UDP es
generalmente más lento y más difícil que TCP, algunos auditores de seguridad
ignoran estos puertos. Esto es un error, porque es muy frecuente encontrarse
servicios UDP vulnerables y los atacantes no ignoran estos protocolos.
Afortunadamente, Nmap puede utilizarse para hacer un inventario de puertos
UDP.

7. sN; -sF; -sX (sondeos TCP Null, FIN, y Xmas) : Estos tres tipos de sondeos
(aunque puede hacer muchos más a través de la opción --scanflags que se
describe en la próxima sección) aprovechan una indefinición en la RFC de TCP
que diferencia los puertos abiertos y cerrados. La página 65 dice que “si el estado
del puerto [destino] es CERRADO.... un segmento entrante que contiene un RST
hace que se envíe un RST en la respuesta.” Después la página siguiente discute
los paquetes que se envían a puertos abiertos sin fijar los bits SYN, RST, o ACK,
diciendo: “es improbable que llegue aquí, pero si lo hace, debe descartar el
segmento y volver.”
8. sA (sondeo TCP ACK): Este sondeo es distinto de otros que se han discutido
hasta ahora en que no puede determinar puertos abiertos (o incluso
abiertosfiltrados). Se utiliza para mapear reglas de cortafuegos, y para determinar
si son cortafuegos con inspección de estados y qué puertos están filtrados. La
sonda de un sondeo ACK sólo tiene fijada la bandera ACK (a menos que utilice --
scanflags). Cuando se sondean sistemas no filtrados los puertos abiertos y
cerrados devolverán un paquete RST. Nmap marca el puerto como no filtrado, lo
que significa que son alcanzables por el paquete ACK, pero no se puede
determinar si están abiertos o cerrados. Los puertos que no responden o que
envían mensajes de error ICMP en respuesta (tipo 3, código 1, 2, 3, 9, 10, o 13),
se marcan como filtrados.

9. sW (sondeo de ventana TCP): El sondeo de ventana («window», N. del T.) es


exactamente igual al sondeo ACK que se aprovecha de un detalle de
implementación de algunos sistemas que permite diferenciar puertos abiertos de
los cerrados, en lugar de imprimir no filtrado cuando se devuelve un RST. Hace
esto examinando el campo de ventana TCP del paquete RST devuelto. Algunos
sistemas fijan un tamaño de ventana positivo para puertos abiertos (incluso para
paquetes RST) mientras que se utiliza una ventana de tamaño cero para los
cerrados. Así, en lugar de listar el puerto como no filtrado cuando se recibe un
RST, el sondeo de ventana permite listar el puerto como abierto o cerrado en
función de si el valor de la ventana TCP en ese paquete RST es positivo o cero,
respectivamente.

10. sM (sondeo TCP Maimon): El sondeo Maimon debe su nombre a la persona


que lo descubrió: Uriel Maimon. Describió la técnica en la revista Phrack número
49 (noviembre de 1996). Nmap, que incluye esta técnica, se publicó dos números
más tarde. Esta técnica es exactamente la misma a los sondeos Null, FIN, y
Xmas, pero en los que se envía una sonda FIN/ACK. Según el RFC 793 (TCP), se
debería generar un paquete RST cuando se responde a dicha sonda
independientemente de si el puerto está cerrado o abierto. Uriel se dio cuenta, sin
embargo, de que muchos sistemas derivados de BSD simplemente descartan el
paquete si el puerto está abierto.

3. NESSUS: Herramienta de seguridad de redes

Permite encontrar y, a diferencia de NMAP, explotar las vulnerabilidades de la red.


El primer paso que se realiza con NMAP es el de realizar un scan para encontrar
máquinas y puertos disponibles. Luego busca información del sistema operativo y
versiones de software utilizadas. por último, NESSUS “ataca” a los servicios
disponibles para detectar vulnerabilidades. A partir de todo esto, NESSUS
proveerá recomendaciones para mejorar la seguridad del equipo.

Nessus es un software de análisis de redes y seguridad. Es capaz de verificar un


determinado host(s) y determinar sus posibles fallos de seguridad. Éste análisis se
lleva a cabo mediante el uso de técnicas de escaneo de puertos y ejecución de
’exploits’ para determinar la seguridad de un ordenador frente a un posible ataque.

Para utilizar NESSUS primero se debe crear un usuario nuevo utilizando el


comando nessus-adduser. Este paso permite definir que máquinas este usuario
puede escanear. Luego se pone a correr el daemon de NESSUS con el comando
nessus –D y se procede a abrir la parte gráfica con nessus &.

Cuando empieza la parte gráfica se despliega la siguiente ventana.

Después de ingresar el usuario y su respectiva clave se habilita el NESSUS y se


cargan sus respectivos plugins (se pueden escoger cuales utilizar para realizar
diferentes tipos de escaneo) para hacer el escaneo.

Resultado del escaneo:


Descripción de las secciones
1.− Nessusd Host

La primera vez que nos conectemos al servidor, será necesario que


introduzcamos la clave que elegimos en el momento de la creación del usuario en
el servidor nessus. Si el servidor es nuestra propia máquina podemos pulsar
directamente sobre el botón "login" para empezar la sesion. En caso contrario,
deberemos modificar el campo Nessusd Host. El segundo campo debe contener el
puerto en el cual se instaló el servidor nessus (por defecto tomará 3001).

La segunda pestaña está dividida en dos secciones. La superior muestra los


conjuntos de pruebas a realizar. Si seleccionamos una de ellas, comprobamos que
en la sección inferior queda desglosado en varios elemetos a los que llamaremos
plugins. Cada uno de ellos puede ser seleccionado individualmente o bien por
grupos en la parte superior del interface.
Tambien disponemos de tres botones:

[Enable All]: Habilita TODAS las comprobaciones de seguridad, incluyendo


aquellos plugins que puedan resultar en la inestabilidad, incluso en la caida del
host destino.

[Enable All but dangerous plugins]: Comprueba todas las vulnerabilidades excepto
aquellas que puedan afectar al objetivo.

[Disable All]: No hace ninguna comprobación de plugins.

La pestaña de "prefs" despliega opciones avanzadas para la personalización del


funcionamiento de nessus.
Estas son opciones avanzadas y no indispesables para el correcto funcionamiento
de Nessus
y no serán analizadas en este documento.

Opciones de escaneo (Scan options). Permite ajustar algunas caracteristicas del

escaneo de puertos.

La explicación de las opciones es la siguiente:


Port Range: Indica el rango de los puertos a escanear. Los valores van desde el 1
al 65535. Algunos troyanos se ocultan en puertos muy altos.
Max Threads: Es el número de hilos de ejecución que empleará el servidor para el
escaneo. A mayor número de threads más rápido será realizado el escaneo, pero
consumirá más recursos. Ajuste este parámetro teniendo en cuenta estos dos
factores.

[] Reverse lookup: Especifica que el servidor realizará una traducción de ips a


nombres de hosts antes del análisis.
[] Optimize the test: Si esta opción está marcada se mejorará el rendimiento de los
análisis, pero puede dar lugar a resultados engañosos.
Port Scanner: Esta lista contiene el tipo de escaneo de puertos que se realizará
sobre el objetivo.

En la pestaña "Target Selection" podremos seleccionar uno o varios objetivos


sobre los que realizar el análisis. La opción "Perform a DNS zone transfer", indica
que sobre la ip o nombre de host realizará una consulta al DNS para determinar
todos los hosts de la red y realizar un escaneo completo.

La sección "user" permite las siguientes opciones:

Change Passphrase: Permite el cambio de la frase de acceso al cliente


Keyring: Permite seleccionar de la lista una llave, así como su eliminación
mediante el botón "delete" La parte inferior de la ventana (rules) muestra las reglas
que se aplicarán al análisis. Éstas se pueden definir en la creación del usuario en
el servidor nessus o desde esta ventana.

Credits: Muestra información sobre los principales colaboradores en el projecto


Nessus, gracias a los cuales disponemos de esta potente aplicación de escaneo
de redes y seguridad.

Ejecución:
1.− Ejecutamos el comando nessus. Nos aparece el siguiente cuadro de diálogo
solicitando la frase de acceso.

En la pantalla inicial, debemos seleccionar el host servidor así como el puerto en


el que se instaló nessusd. Nos solicitará la clave, que una vez aceptada permitirar
trabajar con el cliente Nessus
3.− En la sección Plugins seleccionamos las pruebas que deseemos utilizar. En
este caso elegiremos la opcion "Enable All but dangerous plugins"
4.− Seleccionamos la dirección ip o el nombre de host que deseamos analizar.
Para este ejemplo utilizaremos nuestra propia máquina. "127.0.0.1"
5.− En la parte inferior de la aplicación elegimos el botón "StartScan". En este
momento se abre una nueva ventana que indica el proceso de la operación. Para
cada host a analizar se muestran dos barras de progreso, la primera indica el
escaneo de puertos, mientras que la segunda muestra la evolución de las pruebas
realizadas por los plugins.
6.− Una vez finalizado el análisis se nos muestra una ventana con los resultados
obtenidos. Esta información puede ser almacenada en disco en diferentes
formatos para su análisis posterior:

6.− Una vez finalizado el análisis se nos muestra una ventana con los resultados
obtenidos. Esta información puede ser almacenada en disco en diferentes
formatos para su análisis posterior:
Los círculos a la izquierda de los campos obtenidos indican el grado de
inseguridad que presentan dichos puertos. Si está en rojo, significará que a través
de dicho puerto podemos ser atacados por medio de un exploit. Esta información
nos servirá para actualizar los programas de nuestro servidor.
Resultados obtenidos: Logs

Todos los datos obtenidos, junto con algunas estadísticas se pueden almacenar
en disco en los siguientes formatos
NSR − Informe en formato Nessus
HTML − Formato visualizable por un navegador Web Latex
ASCII text − Genera un inforne en texto plano.
HTML with pies and graphs ( Genera un HTML, pero añade diversos gráficos
sobre la situación de la red, análisis del host más vulnerable, etc.)

4. Sniffer ethereal: Esta es una herramienta de suma utilidad, ya que nos permite
analizar el tipo de tráfico que se está transmitiendo por el medio físico. Puede ser
útil para:


• Depurar aplicaciones de red
• Realizar estudios sobre tipo de tráfico
• Encontrar anomalías en la operación de los equipos de red

Ethereal es un potente analizador libre de protocolos de redes, para máquinas


Unix y Windows. Nos permite capturar los datos directamente de una red o
obtener la información a partir de una captura en disco (puede leer más de 20
tipos de formato distintos ;-). Destaca también por su impresionante soporte de
más de 300 protocolos, gracias sin duda a la licencia GPL y sus más de 200
colaboradores de todo el mundo ;-) ...

Una de las cosas que más cuesta entender cuando uno comienza con ethereal es
la utilización de los filtros a la hora de capturar datos (el típico error: Unable to
parse filter string (parse error), puesto que utiliza un sistema para visualizar los
datos y otro totalmente diferentes e incompatible para realizar las capturas
(tcpdump).

Ejemplos de unos filtros de captura de datos de Ethereal: src host 127.0.0.1


host linuxalcoy and 192.168.0.1
tcp port 23 and host 10.0.0.5
tcp port 23 and not host 10.0.0.5
ip.src eq 127.168.0.55
less 50000
ip.addr eq 127.168.0.5 and ip.addr eq 127.168.0.47
(ip.addr eq 127.168.0.5 and ip.addr eq 127.168.0.47)
and (tcp.port eq 21210 and tcp.port eq 1032)

También podría gustarte