Sie sind auf Seite 1von 39

Universidad de Los Andes Departamento de Ingeniera de Sistemas y Computacin Infraestructura Computacional ISIS 2203 (C1) Manual Herramientas de Evaluacin

de Seguridad en Host (Nessus Nmap) Preparado por: Asistente Graduado Jorge Mario Becerra - Victor Guana Editado por: Asistente Graduado Victor Guana

Objetivo: Utilizar las herramientas Nessus y Nmap para detectar vulnerabilidades en servidores Windows, examinando puertos abiertos y servicios disponibles.

Lecturas Previas: Documentacin en las pginas web de nessus y nmap: Guas de Usuario

Introduccin: Es un error comn asumir que slo el firewall hace ms seguro un servidor o toda una topologa de red. Cada sistema tiene diferentes necesidades de seguridad y toma tiempo realizar una configuracin de seguridad que ofrezca la mxima seguridad y el mejor rendimiento. Estos son algunos de los errores ms comunes: Instalar paquetes que no se necesitan Habilitar servicios que no se utilizan Deshabilitar el firewall del servidor, porque ya est habilitado el firewall del permetro de la red Permitir que un servidor suministre informacin que facilite posibles ataques a la red Conectar un servidor a una red inalmbrica

Despus de descartar estos posibles errores, se debe evaluar a qu tipos de ataque es vulnerable un servidor. Entonces, se debe determinar qu servicios se estn ofreciendo hacia Internet y cules puertos estn utilizando estos servicios. Existen dos herramientas que son usadas para determinar vulnerabilidades en un servidor: Nessus y Nmap. Nessus escanea la mquina y consulta los servicios que se estn ejecutando, verificando los nmeros de las versiones frente a una lista de vulnerabilidades y reporta problemas. Nmap escanea la mquina y reporta cuales puertos TCP/IP fueron encontrados abiertos. A continuacin se documenta la instalacin y configuracin de Nessus. Las pruebas de Nessus se realizan sobre un servidor Web con direccin 192.168.3.6

Descripcin de Herramientas: Nessus: Es una herramienta para escanear vulnerabilidades. Se caracteriza por tener alta velocidad de descubrimiento, auditoria en la configuracin de aplicaciones, descubrimiento de datos sensibles y anlisis de vulnerabilidades de la red. Nessus puede estar distribuido a lo largo de toda una empresa, incluyendo la DMZ (Zona Desmilitarizada) y dems redes fsicamente separadas. Nessus soporta los siguientes tipos de auditoras de seguridad:
o o o o

Escanear puertos Escanear vulnerabilidades en la red Auditoria en la configuracin de plataformas Windows y Unix Pruebas de vulnerabilidad sobre aplicaciones web embebidas

Auditoria en la configuracin de bases de datos SQL NMap: Nmap es una herramienta para exploracin de red y auditoria de seguridad. Se dise para analizar rpidamente grandes redes, aunque funciona muy bien contra equipos individuales. Nmap determina qu equipos se encuentran disponibles en una red, qu servicios (nombre y versin de la aplicacin) ofrecen, qu sistemas operativos (y sus versiones) ejecutan, qu tipo de filtros de paquetes o cortafuegos se estn utilizando, etc. Aunque generalmente se utiliza Nmap en auditorias de seguridad, muchos administradores de redes y sistemas lo encuentran til para realizar tareas rutinarias, como puede ser el inventariado de la red, la planificacin de actualizacin de servicios y la monitorizacin del tiempo que los equipos o servicios se mantienen activos. La salida de Nmap es un listado de objetivos analizados, con informacin adicional para cada uno dependiente de las opciones utilizadas. La informacin ms importante, es la tabla de puertos. Esta tabla lista el nmero de puerto y protocolo, el nombre ms comn del servicio y su estado. El estado puede ser open (abierto), filtered (filtrado), closed (cerrado), o unfiltered (no filtrado). Abierto significa que la aplicacin en la mquina destino se encuentra esperando conexiones o paquetes en ese puerto. Filtrado indica que un firewall, filtro, u otro obstculo en la red est bloqueando el acceso a ese puerto, por lo que Nmap no puede saber si se encuentra abierto o cerrado. Los puertos cerrados no tienen ninguna aplicacin, aunque podran abrirse en cualquier momento. Los clasificados como no filtrados son aquellos que responden a los sondeos de Nmap, pero no se puede determinar si se encuentran abiertos o cerrados. Nmap informa las combinaciones de estado open | filtered y closed | filtered cuando no puede determinar en cual de los dos estados est un puerto. La tabla de puertos tambin puede incluir detalles de la versin de la aplicacin cuando se ha solicitado deteccin de versiones.

Adems de la tabla de puertos, Nmap puede dar informacin adicional sobre los equipos, incluyendo el nombre de DNS segn la resolucin inversa de la IP, un listado de sistemas operativos posibles, tipos de dispositivo y direcciones MAC.

Nessus:
Instalacin Nessus: 1. Iniciar el Wizard de instalacin. Hacer clic en Next

Figura 1. Inicio del Wizard de instalacin 2. Aceptar los trminos de licenciamiento. Hacer clic en Next 3. Aceptar la carpeta de instalacin por defecto. Hacer clic en Next

Figura 2. Carpeta de instalacin de Nessus

4. Seleccionar instalacin completa. Hacer clic en Next

Figura 3. Tipo de instalacin a realizarse

5. Hacer clic en Install, para comenzar la instalacin 6. Despus de terminar la instalacin, hacer clic en Finish

Configuracin Nessus: La interface Nessus Server Manager permite: Ejecutar actualizaciones Administrar usuarios Configurar el inicio de Nessus con el arranque del Sistema Operativo Iniciar y parar el servidor Nessus

1. Abrir la consola Nessus Server Manager. Inicio Todos los Programas Tenable Network Security Nessus Nessus Server Manager. Obtener un cdigo de activacin para Nessus. Hacer clic en Obtain an activation code.

Figura 4. Generacin del cdigo de activacin de Nessus 2. En la pgina web de Nessus, seleccionar versin HomeFeed. Aceptar los trminos de licenciamiento y solicitar el cdigo de activacin de Nessus. El cdigo de activacin es enviado al correo electrnico

Figura 5. Seleccin de la versin de Nessus HomeFeed

3. Despus de introducir el cdigo de activacin, el servicio de Nessus se inicia automticamente. En la Figura 6, se observa la posibilidad de habilitar o deshabilitar la opcin Allow remote users to connect to this Nessus server, para permitir conexiones remotas a el servidor Nessus.

Figura 6. Ventana para iniciar o parar el servicio de Nessus

4. Creacin y administracin de cuentas de usuario. Hacer clic en el botn Manage Users de la Figura 6. Observar la Figura 7. Hacer clic en el botn + e introducir el User Name, el Password y seleccionar la opcin Administrator. Hacer clic en Save. Observar la Figura 8.

Figura 7. Ventana para administrar usuarios de Nessus

Figura 8. Creacin de un usuario con privilegios de administrador

NOTA: El usuario admin slo puede ser usado desde conexiones remotas. Nessus tiene una cuenta administrativa interna para uso local. 5. En el archivo nessusd.conf, ubicado en la carpeta D:\Archivos de programa\Tenable\Nessus\conf, se pueden verificar los puertos por defecto que utiliza Nessus. Las variables son listen_port y xmlrpc_listen_port. As:

# Port to listen to (old NTP protocol). Used for pre 4.2 NessusClient connections : listen_port = 1241 # Port for the Nessus Web Server to listen to (new XMLRPC protocol) : xmlrpc_listen_port = 8834

6. Abrir el puerto 8834 sobre el Firewall de Windows. Ingresar por Panel de Control Firewall de Windows Excepciones Agregar Puerto Nombre: Nessus, Nmero de Puerto: 8834, Seleccionar TCP. Hacer clic en Aceptar. Observar Figura 9

Figura 9. Habilitacin del puerto TCP/8834 en el Firewall

7. Abrir el puerto 1241 sobre el Firewall de Windows. Ingresar por Panel de Control Firewall de Windows Excepciones Agregar Puerto Nombre: NessusServer, Nmero de Puerto: 1241, Seleccionar TCP. Hacer clic en Aceptar. Observar Figura 10

Figura 10. Habilitacin del puerto TCP/1241 en el Firewall 8. Verificar que el demonio de Nessus est iniciado, haciendo clic en el icono Nessus Server Manager y si es necesario hacer clic en el botn Strat Nessus Server. Observar Figura 11

Figura 11. Verificacin del estado del servicio de Nessus

9. Verificar que el demonio de Nessus est ejecutndose. Abrir un navegador y digitar la direccin https://localhost:8834. Aceptar el certificado autofirmado. Digitar el UserName y el password creados en el numeral 4. Observar las Figuras 12 y 13

Figura 12. Autenticacin en la consola de configuracin de Nessus

Figura 13. Consola de configuracin de Nessus

10. Verificar que el Servidor Nessus se est ejecutndo sobre el localhost y est escuchando por el puerto 1241. Ingresar por la lnea de comandos y ejecutar el siguiente comando:

C:\ > netstat -an | findstr 1241 TCP 0.0.0.0:1241 0.0.0.0:0 LISTENING

11. En la instalacin de Nessus, se crean dos archivos: servercert.pem y serverkey.pem, que constituyen el certificado autofirmado. Estos archivos estn ubicados en la carpeta C:\Archivos de programa\Tenable\Nessus \nessus\CA y pueden ser reemplazados por un certificado generado por una Autoridad de certificacin o CA.

12. Adicin de una cuenta de usuario por lnea de comandos. Abrir una lnea de comandos y ubicarse en la carpeta de instalacin de Nessus, C:\Archivos de programa\Tenable\Nessus>, ejecutar el siguiente comando y aceptar la creacin del usuario admin2 con privilegios de administrador: C:\Archivos de programa\Tenable\Nessus> nessus-adduser.exe Login : admin2 Login password : Login password (again) : Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: y User rules ---------nessusd has a rules system which allows you to restrict the hosts that admin2 has the right to test. For instance, you may want him to be able to scan his own host only. Please see the nessus-adduser manual for the rules syntax Enter the rules for this user, and enter a BLANK LINE once you are done : (the user can have an empty rules set) Login Password : admin2 : ***********

This user will have 'admin' privileges within the Nessus server Rules : Is that ok ? (y/n) [y] y User added

Creacin Polticas en Nessus Una poltica en Nessus consiste de opciones de configuracin para ejecutar escaneo de vulnerabilidades. Estas opciones incluyen: Parmetros de control de aspectos tcnicos de escaneo tales como temporizadores, nmero de host y tipos de puertos para escanear, etc. Credenciales para escaneo del Sistema Operativo, Autenticacin de Bases de Datos, Protocolos HTTP, SMTP, SNMP, FTP, POP, IMAP, autenticacin basada en Kerberos, etc. Escaneo para deteccin de servicios

1. Abrir un navegador y digitar la direccin https://localhost:8834. Aceptar el certificado autofirmado. Digitar el UserName y el password de Administrador. Seleccionar Policies y + Add, para crear una poltica. Observar la Figura 14

Figura 14. Consola para la creacin de polticas. Tab General

2. Existen 4 tabs de configuracin: General, Credentials, Plugins y Preferences. Cada una tiene una configuracin bsica por defecto, que debe modificarse dependiendo de las variables que se quieran examinar en la red. Observar la Figura 14. A continuacin se hace un breve anlisis de los aspectos ms importantes de cada uno:

2.1 Tab General

Se utiliza para dar un nombre a la poltica y configurar las operaciones relacionadas con el proceso de escaneo. Est compuesto por 6 grupos de opciones, que son: Basic, Scan, Network Congestion, Port Scanners, Port Scan Options y Performance Basic se utiliza para establecer el nombre, visibilidad y descripcin de la poltica: Name: politica1 Visibility: Private Description: Poltica para escanear el servidor de Streaming

Scan define las opciones relacionadas con el comportamiento del proceso de escaneo. Marcar las siguientes opciones: Safe Checks: Deshabilitar todos los plugins que pueden tener un efecto adverso en la mquina remota Silent Dependencies: No incluye la lista de dependencias en el reporte Log Scan Details to Server: Almacenar detalles adicionales del escaneo en el log del servidor, tales como: Plugins utilizados y hosts escaneados Stop Host Scan on Disconnect: Detener el proceso de escaneo, si el host es apagado o hay alta congestin en la red

Network Congestion define opciones para mejorar el proceso de escaneo en la red destino. Marcar las siguientes opciones: - Reduce Parallel Connections on Congestion: Habilita a Nessus para detectar cuando est enviando muchos paquetes que estn congestionando la red

Port Scanners controla los mtodos de escaneo de puertos que pueden ser habilitados: TCP Scan : identifica puertos TCP abiertos (marcarla) Ping Host: Enva comandos ping sobre mltiples puertos para determinar cules estn activos (marcarla)

Port Scan Options establece la cantidad de puertos que se quieren escanear: default: Escanea los 4605 puertos ms comunes all: Escanea todos los 65535 puertos Definir los puertos de inters, separados por comas, as:23, 25, 80, 110, 143

Performance establece dos opciones que controlan cuntos escaneos pueden ser activados. Estas opciones alteran el tiempo de escaneo y la actividad de la red Max Checks Per Host : por defecto 5 chequeos por host Max Hosts Per Scan: por defecto 80 hosts se escanean al mismo tiempo Network Receive Timeout (seconds) : por defecto 5 seg. Es el timepo que espera Nessus para recibir una respuesta desde un host que est siendo escaneado Max Simultaneous TCP Sessions Per Host: Mximo cantidad de sesiones TCP establecidas sobre un host Max Simultaneous TCP Sessions Per Scan: Nmero mximo de sesiones TCP establecidas durante todo el escaneo

La figura 14 muestra los campos configurados 2.2 Tab Credentials

Permite configurar a Nessus para usar credenciales de autenticacin durante el escaneo. Esta caracterstica permite obtener resultados ms confiables. El men Credential Type tiene las siguientes opciones: Windows Credentials, SSH Settings, Kerberos Configuration, ClearText Protocols Settings.Observar la Figura 15

Windows Credentials: Permite establecer parmetros que configuran el Protocolo SMB (Nombre Usuario, Password, Dominios). Estos parmetros ayudan a Nessus a encontrar informacin de host Windows remotos. SSH Settings: Permite escanear sistemas Unix, utilizando credenciales SSH. Las claves pblicas y privadas de SSH, deben estar ubicadas en el servidor Nessus. Las claves debieron ser creadas por el usuario root del sistema Unix. Kerberos Configuration: Permite especificar credenciales, usando claves kerberos desde un sistema remoto. ClearText Protocols Settings: Permite realizar escaneos con protocolos inseguros, tales como: telnet, rsh, rexec.

Por defecto, todos los passwords asociados con la poltica son encriptados. La poltica es almacenada en un archivo con extensin .nessus.

Figura 15. Consola para la creacin de polticas. Tab Credentials

2.2.1 Configuracin de Windows Credentials Para que el proceso de escaneo de los sistemas Windows sea ms eficiente, se deben configurar registros de seguridad locales en los servidores Windows y crear un grupo y un usuario para Nessus, as: Grupo: Nessus Test Accounts Usuario: nessustest Para Windows Server, el acceso remoto al registro es regulado por una clave, ubicada en: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg. Si no existe debe ser creada con el siguiente procedimiento: Abrir el editor de registro (regedit) y ubicarse en la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control Hacer clic derecho sobre la clave Control y seleccionar Nuevo Clave. En el nombre de la clave: SecurePipeServers y en el tipo: REG_SZ Hacer clic derecho sobre la nueva clave SecurePipeServers y seleccionar Nuevo Clave. En el nombre de la clave: winreg y en el tipo: REG_SZ

Hacer clic derecho sobre la nueva clave winreg y seleccionar Nuevo Valor Alfanumrico. En el nombre: Description, en el tipo: REG_SZ, en Datos: Registry Server. Observar la Figura 16

Figura 16. Creacin de la clave winreg en el editor de registros de Windows Server

Ahora se deben modificar los permisos de la clave: Hacer clic derecho sobre la nueva clave winreg y seleccionar Permisos. En la opcin Seguridad, hacer clic en Agregar. Hacer clic en Avanzadas y clic en Buscar Ahora. En el resultado de la bsqueda, seleccionar el grupo: Nessus Test Accounts. Hacer clic en Aceptar. Observar la Figura 17

En la Opcin Seguridad, hacer clic en Opciones Avanzadas. Seleccionar Permisos y seleccionar el grupo: Nessus Test Accounts. Seleccionar Modificar. En la opcin Objeto, en el campo Aplicar en:, seleccionar Slo esta clave. Hacer clic en Aceptar, hasta cerrar todas las ventanas. Observar la Figura 18

Figura 17. Adicin del grupo Nessus Test Accounts a la clave winreg

Figura 18. Verificacin de permisos al grupo Nessus Test Account

En la Figura 18 se confirma que para el grupo Nessus Test Accounts, estn permitidos controles de lectura. Configurar la cuenta SMB, con el usuario creado en el servidor. Seleccionar Windows Credentials en la consola de Nessus y establecer los siguientes valores: SMB Account: nessustest SMB password: ********** (password utilizado en el servidor) SMB domain: midominio.com (nombre de dominio al que pertenece el servidor) SMB password type: Password Never send SMB credentials in clear text (seleccionar) La Figura 15 muestra los campos configurados 2.3 Tab Plugins

Habilita al usuario para configurar caractersticas de las polticas de escaneo, seleccionando tipos de plugins predefinidos para los diferentes servicios que se pueden escanear. Se debe seleccionar una familia de plugins, para que se desplieguen los plugins que la componen y marcar los que se quiere utilizar, de acuerdo a las polticas del escaneo.

Seleccionar Plugins en la consola de Nessus. Seleccionar la Familia de Plugins en la columna Families y los tipos de plugins en la columna Plugins. Tambin es posible seleccionar todos los plugins de una familia en particular, haciendo clic en el botn Enable All. Observar la Figura 19

Figura 19. Consola para creacin de polticas. Tab Plugins 2.4 Tab Preferences

Caractersticas de configuracin avanzadas que son agrupadas por categoras. Estn definidos los siguientes tipos: Database settings, Do not scan fragile devices, Global variable settings, HTTP cookies import, HTTP login page, Login configurations, Nessus SYN scanner, Nessus TCP scaner, News Server (NNTP) Information Disclosure, Oracle settings, Ping the remote host, Port scanner settings, SMB Registry: Start the Registry Service during the scan, SMTP settings, SNMP settings, Service Detection, Unix Compliance Checks, Web Application Tests Settings y Web Mirroring.

Ping the remote host: Esta opcin le permite a Nessus, enviar mensajes ping sobre la red, para descubrir los hosts que se van ha escanear. Esto puede realizarse con ping ARP, ping TCP, ping ICMP y ping UDP. Observar la Figura 20

Figura 20. Consola para la creacin de polticas. Tab Preferences Finalmente, hacer clic en el botn Submit, para guardar la poltica creada. Observar la Figura 21

Figura 21. Listado de polticas creadas

Escaneando con Nessus: 1. Seleccionar la opcin Scan y + Add, para crear un nuevo escaneo. Observar la Figura 22. Estos son los campos que se deben establecer: Name: escaneo1. Establece el nombre que identifica el escaneo Policy: politica1. Selecciona una de las polticas creadas Scan Targets: 192.168.3.6. Establece la direccin IP o el rango de direcciones IP de las mquinas donde se aplica la poltica del escaneo. Por ejemplo: 192.168.3.6, o un rango de direcciones IP, 192.168.3.10-192.168.3.20, o una subred 192.168.3.0/24 Targets File: Selecciona un archivo de texto con la lista de hosts que sern escaneados. El archivo se busca en el servidor, utilizando el botn Browse. El archivo debe estar formateado en texto ASCII y solo debe escribirse un host por lnea, sin espacio adicionales: Hosts individuales, as: 172.20.15.1 172.20.15.2 172.20.15.3 Rango de Hosts, as: 172.20.15.1-172.20.15.3 Bloque de Hosts CIDR, as: 172.20.15.1/24

Figura 22. Creacin y configuracin de un escaneo 2. Verificar que el servidor 192.168.3.6 est disponible en la red y hacer clic en Launch Scan, para guardar e iniciar el escaneo creado con la respectiva poltica. Observar la Figura 23. Cuando termina de ejecutarse el escaneo, ste desaparece del listado. Observar la Figura 24

Figura 23. Listado de escaneos creados

Figura 24. Consola para identificar el estado de ejecucin de un escaneo Analizando Reportes: 1. Seleccionar la opcin Reports para listar el reporte generado. Observar la Figura 25.

Figura 25. Consola con el Reporte de Escaneos Ejecutados

2. Hacer clic en el nombre del escaneo escaneo1, para abrir el reporte. El host tiene 52 puertos abiertos y 155 vulnerabilidades clasificadas as: 7 de nivel alto de severidad, 8 de nivel medio de severidad y 88 de nivel bajo de severidad. Las restantes vulnerabilidades no son consideradas de importancia. Observar la Figura 26.

Figura 26. Listado de direcciones IP escaneadas 3. Hacer clic en la direccin IP del hosts, para analizar detalles de los puertos abiertos que fueron detectados en el proceso de escaneo. Observar la Figura 27

Figura 27. Listado de puertos abiertos que fueron detectados en el proceso de escaneo

4. Hacer clic para seleccionar un puerto y desplegar todas las vulnerabilidades encontradas asociadas con el puerto y el servicio. Por ejemplo para el puerto TCP/80 del protocolo HTTP, observar la Figura 28 y para el puerto TCP/389 del protocolo LDAP, observar la Figura 29

Figura 28. Listado de vulnerabilidades detectadas en el puerto TCP/80 para el protocolo HTTP

Figura 29. Listado de vulnerabilidades detectadas en el puerto TCP/389 para el protocolo LDAP

5. El host con direccin IP: 192.168.3.6, tiene 5 vulnerabilidades de bajo nivel de severidad, asociadas con el puerto TCP/80. Observar el resumen de la Figura 28. Ahora, seleccionar la segunda vulnerabilidad detectada, es decir HTTP Server type and versin y analizar las recomendaciones realizadas por Nessus. Observar la Figura 30.

Figura 30. Anlisis de una vulnerabilidad de baja severidad en el puerto TCP/80

NMap:
Instalacin: 1. Iniciar el wizard de instalacin y aceptar los trminos de la licencia. Hacer clic en I Agree. 2. La seleccin de componentes es por defecto. Hacer clic en Next. Observar la Figura 31

Figura 31. Seleccin de componentes para la instalacin

3. Seleccionar la carpeta por defecto para la instalacin. Hacer clic en Install

Figura 32. Seleccin de la carpeta de instalacin

4. Aceptar nuevamente los trminos de licencia. Hacer clic en I Agree y en Next 5. Permitir la instalacin de WinPcap. Hacer clic en Next y clic en Finish. Observar la Figura 33

Figura 33. Permitir instalacin de WinPcap

6. En la ventana de instalacin completa hacer clic en Next. Observar la Figura 34

Figura 34. Realizar instalacin completa de Nmap

7. Permitir la creacin de iconos de escritorio. Hacer clic en Next y despus hacer clic en Finish

Comandos Cuando se ejecuta Nmap sin parmetros se muestra un resumen de opciones. Es posible encontrar siempre la ltima versin del resumen en la direccin:

http://www.insecure.org/nmap/data/nmap.usage.txt.
La sintaxis de los comandos, tiene la siguiente forma: nmap [Tipo de Anlisis] [Opciones] {especificacin de objetivo}

ESPECIFICACIN DE OBJETIVO: Se pueden indicar nombres de host, direcciones IP, etc. Ejemplos: scanme.nmap.org, 192.168.0.1; 10.0.0-255.1-254 -iL <archivo_entrada>: Lee una lista de hosts del archivo -iR <nmero de sistemas>: Selecciona objetivos al azar --exclude <sist1[,sist2][,sist3],...>: Excluye ciertos hosts o redes

DESCUBRIMIENTO DE HOSTS: -sL: Sondeo de lista - Simplemente lista los objetivos a analizar -sP: Sondeo Ping - Slo determina si el objetivo est vivo -P0: Asume que todos los objetivos estn vivos -PS/PA/PU [listadepuertos]: Anlisis TCP SYN, ACK o UDP de puertos indicados -PE/PP/PM: Solicita anlisis ICMP de tipo echo, marca de fecha y mscara de red -n/-R: No hacer resolucin DNS / Siempre resolver [por omisin: a veces] --dns-servers <serv1[,serv2],...>: Especificar servidores DNS especficos --system-dns: Utilizar la resolucin del sistema operativo

TCNICAS DE ANLISIS: -sS/sT/sA/sW/sM: Anlisis TCP SYN/Connect()/ACK/Window/Maimon -sN/sF/sX: Anlisis TCP Null, FIN, y Xmas --scanflags <indicador>: Personalizar los indicadores TCP a utilizar -sO: Anlisis de protocolo IP

ESPECIFICACIN DE PUERTOS Y ORDEN DE ANLISIS -p <rango de puertos>: Slo sondear los puertos indicados Ejemplo: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 -F: Rpido - Analizar slo los puertos listados en el archivo nmap-services -r: Analizar los puertos secuencialmente, no al azar.

DETECCIN DE SERVICIO / VERSIN -sV: Sondear puertos abiertos, para obtener informacin de servicio/versin --version-intensity <nivel>: Fijar de 0 (ligero) a 9 (probar todas las sondas) --version-light: Limitar a las sondas ms probables (intensidad 2) --version-all: Utilizar todas las sondas (intensidad 9)

TEMPORIZADO Y RENDIMIENTO -T[0-5]: Seleccionar plantilla de temporizado (los nmeros altos son ms rpidos) --min-hostgroup/max-hostgroup <tamao>: Paralelizar los sondeos --min-parallelism/max-parallelism <msegs>: Paralelizacin de sondeos --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msegs>: Indica el tiempo de ida y vuelta de la sonda --max-retries <reintentos>: Limita el nmero mximo de retransmisiones de las sondas de anlisis de puertos --host-timeout <msegs>: Abandonar un objetivo pasado este tiempo

EVASIN Y FALSIFICACIN PARA CORTAFUEGOS/IDS -f; --mtu <valor>: fragmentar paquetes (opcional con el MTU indicado) -S <Direccin_IP>: Falsificar la direccin IP origen -e <interfaz>: Utilizar la interfaz indicada -g/--source-port <numpuerto>: Utilizar el nmero de puerto dado --data-length <num>: Agregar datos al azar a los paquetes enviados --ttl <val>: Fijar el valor del campo time-to-live (TTL) de IP --spoofmac <direccin mac/prefijo/nombre de fabricante>: Falsificar la direccin MAC --badsum: Enviar paquetes con una suma de comprobacin TCP/UDP falsa

MISCELNEO -6: Habilitar anlisis IPv6 -A: Habilita la deteccin de SO y de versin --datadir <nombreDir>: Indicar la ubicacin de los archivos de datos Nmap personalizados. --send-eth/--send-ip: Enviar paquetes utilizando tramas Ethernet o paquetes IP "crudos" --privileged: Asumir que el usuario tiene todos los privilegios -V: Muestra el nmero de versin -v: Aumentar el nivel de mensajes detallados (-vv para aumentar el efecto)

EJEMPLOS:

1. nmap v sP 192.168.3.6 Determina si el host con direccin IP 192.168.3.6 est activo 2. nmap -v 192.168.3.6
Esta opcin sondea todos los puertos TCP reservados en el servidor 192.168.3.6. La opcin -v activa el modo detallado (tambin llamado verboso).

3. nmap -sS -O 192.168.3.6/24


Lanza un sondeo de tipo SYN sigiloso contra cada una de las 255 mquinas en la red clase C donde est el sistema. Tambin intenta determinar cual es el sistema operativo que se ejecuta en cada mquina que est encendida. Esto requiere permisos de root por la opcin de sondeo SYN y por la de deteccin de sistema operativo.

4. nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127


Lanza una enumeracin de equipos y un sondeo TCP a cada uno de la primera mitad de las 255 posibles subredes de 8 bit en la red de clase C 198.116. Esto probar si los sistemas estn ejecutando sshd, DNS, pop3d, imapd o tienen un servidor en el puerto 4564. Para cualquier puerto que se encuentre abierto, se realizar una deteccin de versin para determinar qu aplicacin se est ejecutando.

5. nmap -v -iR 100000 -P0 -p 80


Solicita a Nmap que elija 100.000 sistemas aleatoriamente y los sondee buscando servidores web (puerto 80). La enumeracin de sistemas se deshabilita con -P0 ya que es un desperdicio enviar un par de pruebas para determinar si el sistema debe ser analizado cuando de todas maneras slo se va a analizar un puerto. Analizando Puertos: Nmap comenz como un analizador de puertos eficiente, aunque ha aumentado su funcionalidad a travs de los aos, aquella sigue siendo su funcin principal. La sencilla orden nmap <objetivo> analiza ms de 1660 puertos TCP del equipo <objetivo>. Aunque muchos analizadores de puertos han agrupado tradicionalmente los puertos en dos estados: abierto o cerrado, Nmap es mucho ms descriptivo. Se dividen a los puertos en seis estados distintos: abierto, cerrado, filtrado, no filtrado, abierto|filtrado, o cerrado|filtrado. Estos estados no son propiedades intrnsecas del puerto en s, pero describen como los ve Nmap. Por ejemplo, un anlisis con Nmap desde la misma red en la que se encuentra el objetivo puede mostrar el puerto 135/tcp como abierto, mientras que un anlisis realizado al mismo tiempo y con las mismas opciones, pero desde Internet, puede presentarlo como filtrado.

Estos son los seis estados de un puerto que establece Nmap: - abierto Una aplicacin acepta conexiones TCP o paquetes UDP en este puerto. El encontrar esta clase de puertos es generalmente el objetivo primario de realizar un sondeo de puertos. Las personas orientadas a la seguridad saben que cada puerto abierto es un punto de ataque. Los atacantes y las personas que realizan pruebas de intrusin intentan aprovechar puertos abiertos, por lo que los administradores intentan cerrarlos, o protegerlos con cortafuegos, pero sin que los usuarios legtimos pierdan acceso al servicio. Los puertos abiertos tambin son interesantes en sondeos que no estn relacionados con la seguridad porque indican qu servicios estn disponibles para ser utilizados en una red. - cerrado Un puerto cerrado es accesible: recibe y responde a las sondas de Nmap, pero no tiene una aplicacin escuchando en l. Pueden ser tiles para determinar si un equipo est activo en cierta direccin IP (mediante descubrimiento de sistemas, o sondeo ping), y es parte del proceso de deteccin de sistema operativo. Como los puertos cerrados son alcanzables, o sea, no se encuentran filtrados, puede merecer la pena analizarlos pasado un tiempo, en caso de que alguno se abra. Los administradores pueden querer considerar bloquear estos puertos con un firewall. Si se bloquean apareceran filtrados, como se discute a continuacin. - filtrado Nmap no puede determinar si el puerto se encuentra abierto porque un filtrado de paquetes previene que sus sondas alcancen el puerto. El filtrado puede provenir de un dispositivo de cortafuegos dedicado, de las reglas de un enrutador, o por una aplicacin de cortafuegos instalada en el propio equipo. Estos puertos suelen frustrar a los atacantes, porque proporcionan muy poca informacin. A veces responden con mensajes de error ICMP del tipo 3, cdigo 13 (destino inalcanzable: comunicacin prohibida por administradores), pero los filtros que sencillamente descartan las sondas sin responder son mucho ms comunes. Esto fuerza a Nmap a reintentar varias veces, considerando que la sonda pueda haberse descartado por congestin en la red en vez de haberse filtrado. - no filtrado Este estado indica que el puerto es accesible, pero que Nmap no puede determinar si se encuentra abierto o cerrado. Solamente el sondeo ACK, utilizado para determinar las reglas de un firewall, clasifica a los puertos segn este estado. El analizar puertos no filtrados con otros tipos de anlisis, como el sondeo SYN o FIN, pueden ayudar a determinar si el puerto se encuentra abierto. - abierto|filtrado

Nmap marca a los puertos en este estado cuando no puede determinar si el puerto se encuentra abierto o filtrado. Esto ocurre para tipos de anlisis donde no responden los puertos abiertos. La ausencia de respuesta puede tambin significar que un filtro de paquetes ha descartado la sonda, o que se elimina cualquier respuesta asociada. De esta forma, Nmap no puede saber con certeza si el puerto se encuentra abierto o filtrado. Los sondeos UDP, protocolo IP, FIN, Null y Xmas clasifican a los puertos de esta manera. - cerrado|filtrado Este estado se utiliza cuando Nmap no puede determinar si un puerto se encuentra cerrado o filtrado, y puede aparecer slo durante un sondeo IPID pasivo. Analizando Servicios: Si le indica a Nmap que mire un sistema remoto le podr decir que tiene abiertos los puertos 25/tcp, 80/tcp y 53/udp. Informar que esos puertos se corresponden habitualmente con un servidor de correo (SMTP), servidor de web (HTTP) o servidor de nombres (DNS), respectivamente, si utilizas su base de datos nmap-services con ms de 2.200 puertos conocidos. Generalmente este informe es correcto, teniendo en cuenta que la gran mayora de demonios que escuchan en el puerto 25/tcp, son servidores de correo. Pero esto puede ser modificado fcilmente por el administrador del servidor. An en el caso en que Nmap tenga razn y el servidor est ejecutando servicios de SMTP, HTTP y DNS, sto no dice mucho. Cuando haga un anlisis de vulnerabilidades, lo que habitualmente tambin quiere saber es qu versin se est utilizando en el servidor DNS. Conocer el nmero de versin, puede ayudar mucho a la hora de determinar qu ataques pueden afectar a un servidor. La deteccin de versiones ayuda a obtener esta informacin. La deteccin de versiones pregunta para obtener ms informacin de lo que realmente se est ejecutando una vez se han detectado los puertos TCP o UDP con alguno de los mtodos de sondeo. La base de datos nmap-service-probes contiene sondas para consultar distintos servicios y reconocer y tratar distintas respuestas en base a una serie de expresiones. Nmap intenta determinar el protocolo del servicio, el nombre de la aplicacin, un nmero de versin, un tipo de dispositivo, la familia de sistema operativo y algunas veces algunos detalles miscelneos como, por ejemplo, si un servidor X acepta una conexin externa. Por supuesto, la mayora de los servicios no ofrecen toda esta informacin. Si se ha compilado Nmap con soporte OpenSSL se conectar tambin a servidores SSL para determinar qu servicio escucha detrs de la capa de cifrado. La opcin -A de Nmap actualiza la deteccin de versiones. La deteccin de versiones se activa y controla con las siguientes opciones: -sV (Deteccin de versiones) Activa la deteccin de versiones como se ha descrito previamente. Puede utilizar la opcin -A en su lugar para activar tanto la deteccin de versiones como la deteccin de sistema operativo. --allports (No excluir ningn puerto de la deteccin de versiones)

La deteccin de versiones de Nmap omite el puerto TCP 9100 por omisin porque algunas impresoras imprimen cualquier cosa que reciben en este puerto, lo que da lugar a la impresin de mltiples pginas con solicitudes HTTP get, intentos de conexin de SSL, etc. --version-intensity <intensidad> (Fijar la intensidad de la deteccin de versiones) Nmap enva una serie de sondas cuando se activa la deteccin de versiones (-sV) con un nivel de rareza preasignado y variable de 1 a 9. Las sondas con un nmero bajo son efectivas contra un amplio nmero de servicios comunes, mientras que las de nmeros ms altos se utilizan rara vez. El nivel de intensidad indica que sondas deberan utilizarse. Cuanto ms alto sea el nmero, mayor las probabilidades de identificar el servicio. Sin embargo, los sondeos de alta intensidad tardan ms tiempo. El valor de intensidad puede variar de 0 a 9. El valor por omisin es 7. Se probar una sonda independientemente del nivel de intensidad cuando sta se registra para el puerto objetivo a travs de la directiva nmap-service-probes ports. De esta forma se asegura que las sondas de DNS se probarn contra cualquier puerto abierto 53, las sondas SSL contra el puerto 443, etc. --version-light (Activar modo ligero) ste es un alias conveniente para --version-intensity 2. Este modo ligero hace que la deteccin de versiones sea ms rpida pero tambin hace que sea menos probable identificar algunos servicios.

1. El siguiente comando consulta el estado de los puertos y los servicios que ofrecen. Observar la Figura 35 nmap -v 192.168.3.6

Figura 35. Resultado obtenido por la ejecucin del comando Nmap 2. Aspectos ms importantes del resultado obtenido en el comando anterior:

Starting Nmap 5.21 ( http://nmap.org ) at 2010-04-28 10:34 Hora est. del Pacfico Initiating ARP Ping Scan at 10:34 Scanning 192.168.3.6 [1 port] Completed ARP Ping Scan at 10:34, 0.17s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 10:34

Scanning 192.168.3.6 [1000 ports] Discovered open port 53/tcp on 192.168.3.6 Discovered open port 445/tcp on 192.168.3.6 Discovered open port 135/tcp on 192.168.3.6 Discovered open port 139/tcp on 192.168.3.6 Discovered open port 1025/tcp on 192.168.3.6 Discovered open port 80/tcp on 192.168.3.6 Discovered open port 1046/tcp on 192.168.3.6 Discovered open port 389/tcp on 192.168.3.6

Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port Discovered open port

464/tcp on 192.168.3.6 1040/tcp on 192.168.3.6 636/tcp on 192.168.3.6 563/tcp on 192.168.3.6 119/tcp on 192.168.3.6 1037/tcp on 192.168.3.6 3268/tcp on 192.168.3.6 88/tcp on 192.168.3.6 1027/tcp on 192.168.3.6 1045/tcp on 192.168.3.6 3269/tcp on 192.168.3.6 593/tcp on 192.168.3.6 1078/tcp on 192.168.3.6

Completed SYN Stealth Scan at 10:34, 1.33s elapsed (1000 total ports) Nmap scan report for 192.168.3.6

Host is up (0.000027s latency). Not shown: 979 closed ports

PORT

STATE SERVICE

53/tcp 80/tcp 88/tcp 119/tcpopen 135/tcpopen 139/tcpopen 389/tcpopen 445/tcpopen 464/tcpopen 563/tcpopen 593/tcpopen 636/tcpopen 1025/tcp 1027/tcp 1037/tcp 1040/tcp 1045/tcp

open domain open http open kerberos-sec nntp msrpc netbios-ssn ldap microsoft-ds kpasswd5 snews http-rpc-epmap ldapssl open NFS-or-IIS open IIS open unknown open netsaint open unknown

1046/tcp 1078/tcp 3268/tcp 3269/tcp

open open open open

unknown unknown globalcatLDAP globalcatLDAPssl

MAC Address: 00:0C:29:C8:8E:6E (VMware)

Nmap done: 1 IP address (1 host up) scanned in 14.77 seconds Raw packets sent: 1085 (47.738KB) | Rcvd: 1001 (40.126KB)

Nmap informa que el servidor tiene 21 puertos abiertos y tambin informa cuales son los servicios ofrecidos. Se puede observar claramente que los servicios utilizan los puertos por defecto. 3. El siguiente comando consulta el tipo de Sistema Operativo y la versin de los servicios ofrecidos nmap -sV -O 192.168.3.6 4. Aspectos ms importantes del resultado obtenido del comando anterior:

Starting Nmap 5.21 ( http://nmap.org ) at 2010-04-28 10:58 Hora est. del Pacfico

Nmap scan report for 192.168.3.6 Host is up (0.00s latency). Not shown: 979 closed ports

PORT

STATE SERVICE

VERSION

53/tcp 80/tcp 88/tcp 119/tcp 135/tcp 139/tcp 389/tcp 445/tcp 464/tcp 563/tcp 593/tcp

open open open open open open open open open open open

domain http kerberos-sec nntp msrpc netbios-ssn ldap microsoft-ds kpasswd5? snews? ncacn_http

Microsoft DNS Microsoft IIS webserver 6.0 Microsoft Windows kerberos-sec Microsoft NNTP Service 6.0.3790.1830 Microsoft Windows RPC

Microsoft Windows 2003 or 2008

Microsoft Windows RPC over HTTP 1.0

636/tcp 1025/tcp 1027/tcp 1037/tcp 1040/tcp 1045/tcp 1046/tcp 1078/tcp 3268/tcp 3269/tcp

open open open open open open open open open open

tcpwrapped msrpc ncacn_http msrpc msrpc http ssl/http msrpc ldap tcpwrapped

Microsoft Windows RPC Microsoft Windows RPC over HTTP 1.0 Microsoft Windows RPC Microsoft Windows RPC IBM Tivoli Monitoring http config IBM Tivoli Monitoring http config Microsoft Windows RPC

MAC Address: 00:0C:29:C8:8E:6E (VMware) Device type: general purpose Running: Microsoft Windows 2003 OS details: Microsoft Windows Server 2003 SP1 or SP2

El comando muestra detalladamente las versiones de los servicios ofrecidos y el tipo de Sistema Operativo instalado en el servidor 5. El siguiente comando realiza un sondeo del estado de los puertos TCP y UDP, buscando puerto abiertos, cerrados, filtrados y no filtrados

nmap -sT -sU 192.168.3.6

6. Aspectos ms importantes del resultado obtenido con el comando anterior:

Starting Nmap 5.21 ( http://nmap.org ) at 2010-04-28 11:30 Hora est. del Pacfico Nmap scan report for 192.168.3.6 Host is up (0.000039s latency). Not shown: 983 closed ports, 981 filtered ports

PORT

STATE SERVICE

21/tcp 53/tcp 80/tcp 119/tcp

open open open open

ftp domain http nntp

135/tcp 139/tcp 445/tcp 464/tcp 563/tcp 593/tcp 636/tcp 1025/tcp 1037/tcp 1040/tcp 1045/tcp 1046/tcp 1078/tcp 3268/tcp 3269/tcp

open open open open open open open open open open open open open open open

msrpc netbios-ssn microsoft-ds kpasswd5 snews http-rpc-epmap ldapssl NFS-or-IIS unknown netsaint unknown unknown unknown globalcatLDAP globalcatLDAPssl

53/udp 88/udp 123/udp 137/udp 138/udp 389/udp 445/udp 464/udp 500/udp 1029/udp 1036/udp 1038/udp 1048/udp 1054/udp 1072/udp 3456/udp 4500/udp

open open|filtered open open open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered open|filtered

domain kerberos-sec ntp netbios-ns netbios-dgm ldap microsoft-ds kpasswd5 isakmp unknown unknown unknown unknown unknown unknown IISrpc-or-vat nat-t-ike

Hay 3 puertos UDP abiertos y 14 puertos UDP abiertos | filtrados. Esto indica que los 14 puertos probablemente estn protegidos por un firewall o por un enrutador, que tal vez tenga configuradas Listas de control de Acceso (ACLs).

Referencias: Guia de usuario de Nessus 4.2: http://www.nessus.org/nessus/ Documentacin Nmap: http://nmap.org/man/es/