TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                       1                  ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática            2expuesto, luego a una fase de...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                   3de estas herramientas ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática             4plataforma en la que se ejec...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                                        5s...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                 6handshake) con cada puer...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                                          ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática            8nuevos ataques. Esta caracter...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                  9herramienta para la com...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                 10                       ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática            11# (TH_SYN) y la bandera FIN ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática             12gran cantidad de opciones p...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                                  13report...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática               14SATAN es a través de un f...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática           15GET                          ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática          16El analizador de logs tratará ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                   17       nikto_user_enu...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática               18       manera insegura.  ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                19         http://cgi.ness...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática                          20              ...
TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática         21                          . 1.9...
Analisis vulnera
Analisis vulnera
Analisis vulnera
Analisis vulnera
Upcoming SlideShare
Loading in …5
×

Analisis vulnera

1,457 views

Published on

Analisis de vulnerabilidad

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,457
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Analisis vulnera

  1. 1. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 1 Análisis de Vulnerabilidades Redes de datos y seguridad informática Trucos, tutoriales, consejos y manuales GRATIS http://totalred.blogspot.com 1 Introducción Palabras ClavesAnálisis de vulnerabilidades, vulnerabilidad, Internet ha facilitado y promovido el desarrolloNESSUS, SATAN, Security Analysis Tool for de las comunicaciones a nivel global en losAuditing Networks, N-STEALTH, NIKTO, últimos años. Este aumento en lalib-whisker, Internet Security Scanner. . comunicación, ha estado fuertemente ligado al desarrollo de nuevas redes y nuevas aplicaciones que permiten compartir másResumen información entre usuarios remotos.En el mercado existen diferentes herramientaspara analizar vulnerabilidades de un red. Estas Ha surgido en las empresas, la importanteherramientas son muy útiles, para los función de los administradores de red, losadministradores de red preocupados por al cuales deben promover un uso correcto de laseguridad e integridad de su red y la red y a su vez garantizar la seguridad yinforamción que en ella manejan. confidencialidad de la información que manejan.Entre los principales analizadores se puedeencontrar NESSUS y SATAN, los cuales Sin embargo, cada día aumentan los ataquesofrecen una amplia gama de reglas para contra redes y contra computadores conectadosevaluar las vulneabilidades y además permiten a la red. “La omnipresencia de Internet los estála incorporación de nuevas reglas para hacer [virus] volviendo pan de cada día y estánmpas riguroso y específico el análisis. aumentando su poder”1. El nivel de sofisticación de estos ataques es cada vezSin embargo, estas herramientas se convierten mayor, lo cual exige el desarrollo yen armas de doble filo, pues pueden ser usadas actualización de herramientas pertinentes.con el objetivo de mejorar la seguridad de lared o pueden ser usadas por hackers con el Se puede por tanto evidenciar, la granobjetivo de detectar vulnerabilidades y realizar importancia de desarrollar mecanismos deataques. autoprotección contra estos ataques, los cuales deben pasar por una fase de identificación de los potenciales riesgos a los que se está 1 EL TIEMPO. Sección 1. Página 18. Domingo 7 de marzo de 2004.http://totalred.blogspot.com http://totalred.blogspot.com
  2. 2. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 2expuesto, luego a una fase de análisis de las entre el servidor fingerprint y la forma en quedebilidades para posteriormente definir el sistema de archivos representa los links paraacciones de mejora y defensa así como planes acceder al directorio raíz de username. En elde mitigación ante sucesos indeseables. segundo caso el programa comsat supone que etc/utmp es correcto, el sistema de archivosEn las etapas de identificación y análisis, los configura este archivo para otorgar permisos yAnalizadores de Vulnerabilidades como los el programa de correo asume que todo estaque se desarrollan en el presente documento correcto [22]juegan un papel fundamental para una clara yeficaz detección de falencias en seguridad. Sin embargo, existen fuertes críticas sobre los analizadores de vulnerabilidades ya que funcionan bajo un esquema de reglas, que son2 Objetivos sólo generadas por expertos en el tema y que se configuran para vulnerabilidades. La Conocer que es una vulnerabilidad y como posibilidad de acceder a estas reglas y se hacen los análisis de vulnerabilidades. conocerlas, permite que personas Conocer cuales son las herramientas malintencionadas realicen ataques contra redes existentes para realizar análisis de no protegidas para estas vulnerabilidades. vulnerabilidades. Adicionalmente, la identificación y definición Para cada herramienta, entender como de reglas se deja en manos de expertos que funciona, cuales son sus características y puedan comprender las interacciones de las funcionalidades. cuales surgen las vulnerabilidades. Conocer como cada herramienta analizadora de vulnerabilidades genera Por otra parte, aunque existen diversas formas reportes o información importante para el de realizar auditorías de seguridad apoyadas en análisis de los riesgos de una red. las herramientas descritas anteriormente, en todos los casos se utilizan herramientas para la detección de las vulnerabilidades.3 Analizadores de Vulnerabilidades Estas herramientas que detectan fallas de seguridad pueden ser utilizadas de dos formas¿Qué son las vulnerabilidades? diferentes: interna o externamente a la maquinaLas vulnerabilidades de un sistema surgen a que se analiza. Cuando se aplicanpartir de errores individuales en un internamente, se realiza la auditoría desde elcomponente, sin embargo nuevas y complejas interior de la máquina (generalmentevulnerabilidades surgen de la interacción entre utilizando el superusuario), lo que otorgavarios componentes como el kernel del numerosas ventajas para la detección desistema, sistemas de archivos, servidores de vulnerabilidades ya que se tiene acceso a losprocesos, entre otros. Estas vulnerabilidades ficheros críticos del sistema. En el caso de lasgeneran problemas de seguridad para la red en auditorías externas, la detección decuestión. Entre las vulnerabilidades más vulnerabilidades se realiza desde una máquinaconocidas se encuentran el “finger username” diferente a la que está siendo analizada. Eny la notificación de mensajes de correo a través este tipo de auditorías se realizan ataques parade “comsat”. Para el primero de estos la verificar la existencia de vulnerabilidades. Devulnerabilidad es originada en la interacción la variedad y cantidad de ataques que algunahttp://totalred.blogspot.com http://totalred.blogspot.com
  3. 3. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 3de estas herramientas sea capaz de realizar, NESSUS. Cabe aclarar que se trabajará en ladependerá, en gran parte, el éxito en la última versión estable de NESSUS a la fechadetección de vulnerabilidades. Aunque este de publicación de este paper (versión 2.0.10).factor es, probablemente, el más importante, Sin embargo muchas de las cosas aquíconviene considerar otros aspectos como por expuestas aplican para otras versiones tantoejemplo la forma de realizar los ataques. Cabe anteriores como posteriores.anotar que las herramientas descritas en este A través de este paper se expondrán laspaper realizan un análisis de debilidades características principales de Nessus, losexternas del sistema. Es decir, las herramientas resultados de sus escaneos y la veracidad de sus reportes. Más que sus cualidades seque se instalan en una máquina para realizar intentará revelar sus defectos.ataques sobre otra diferente, y de este mododetectar sus vulnerabilidades; presentando, tal El paradigma de funcionamiento devez, el punto de vista más realista para analizar NESSUSvulnerabilidades, ya que asumen el papel de Esta herramienta es bastante diferente a lo quehacker externo que pretende comprometer una se expone en este paper para el análisis demáquina a través de la red. vulnerabilidades de una red en particular. Lo que se espera de un programa para efectuarEn las siguientes secciones se analizarán ataques es simplemente un comando comocuatro analizadores de vulnerabilidades con atacar-víctima (Figura 1). NESSUS arroja estadistintas características y se detallarán sus concepción por la borda y toma una formacaracterísticas y su funcionamiento. completamente distinta de hacer sus tareas. NESSUS fue diseñado para ser una herramienta distribuida (Figura 2) y de fácil4 PROYECTO NESSUS administración. De esta forma un administrador de red puede efectuar su análisisIntroducción de vulnerabilidades desde cualquier lugar delNESSUS es definido por su autor como un mundo pero desde el interior de su red. Esto seescaneador remoto de seguridad. Este término logra haciendo a NESSUS una herramientaaunque es muy adecuado, de ahora en adelante cliente/servidor. El servidor espera solicitudesserá referido como analizador de del cliente para llevar a cabo su análisis. Losvulnerabilidades para evitar confusiones con ataques son efectuados desde el servidor y losotros analizadores de vulnerabilidades dentro resultados son enviados directamente alde este paper. NESSUS[1] es un proyecto cliente. El cliente además es el responsable defundado por Renaud Deraison que intenta crear la configuración y de la administración delun analizador de vulnerabilidades gratuito, servidor.poderoso, actualizado y fácil de utilizar[1].Este programa además es extensible, robusto, nessus-user@attacker.org>$ atacar-victimaseguro, de propósito general (no está limitado 192.121.211.10 > resultados.loga un solo tipo de vulnerabilidades) y más Figura 1: Este estilo de comando es el que se espera utilizar para una herramienta convencional de análisisimportante que cualquier otra característica, es de vulnerabilidades. NESSUS no trabaja de estasu amplia aceptación por la comunidad. manera.También puede llegar a ser una herramientamortífera si se le da un mal uso, pero este no es Esta característica de administración ysu fin. A continuación se discutirá en detalle ejecución remota permite que no solo puedelas características y el funcionamiento de ejecutarse remotamente sin importar lahttp://totalred.blogspot.com http://totalred.blogspot.com
  4. 4. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 4plataforma en la que se ejecute el cliente, sino Manejo de usuariostambién hace a un lado la restricción del lugar Nessus se vale del modelo cliente/servidordesde donde se corra el cliente. Fácilmente el para su funcionamiento. El servidor se encargaadministrador de red puede correr NESSUS de llevar a cabo los ataques, y el cliente sedesde su casa, desde un avión, desde su encarga de decirle al servidor qué debe hacer ycelular, etc. Todo esto al costo de una cómo debe hacerlo. El servidor también seinstalación un poco compleja. Pero como todo encarga de enviar los resultados al cliente, paralo bueno en la vida, esta característica tiene sus que este provea el procesamiento necesario deproblemas y más adelante se expondrán los los mismos. Está bien, un administrador puedemismos. La instalación del servidor en ejecutar sus análisis desde cualquier parte delplataformas Unix es muy sencilla, mundo, pero a su vez un atacante puedesimplemente se necesita que libpcap esté realizar estos ataques desde cualquier parte delinstalado. La instalación de los clientes es aún mundo y sus análisis no serán atribuidos a él,más sencilla, ya que lo único que necesita la sino a la máquina que realizó los ataques, esmáquina en donde se instala es una conexión a decir, el servidor de Nessus. Por esta razónInternet. Nessus maneja sesiones de usuario independientes del sistema operativo en el que se ejecute (esto también lo hace más portable, ya que no se limita a un método de autenticación nativo). Un usuario puede ser Víctimas autenticado a través de una contraseña, o bien, a través de un certificado digital. Además de la Administración/ Configuración/ autenticación de la sesión, Nessus se vale de Ejecución SSL para la encriptación del flujo de datos entre el cliente y el servidor. Para este fin se debe crear un certificado para el servidor. Este certificado es presentado al usuario para la posterior encriptación del flujo de datos. Cliente Nessus Servidor Nessus Nessus provee al usuario con herramientas tanto para la creación del certificado como Reportes/ Resultados para la creación de usuarios: nessus-mkcert y nessus-adduser, respectivamente. Figura 2: Funcionamiento de NESSUS. El cliente (Cliente NESSUS) puede configurar, administrar y ejecutar el servidor de NESSUS (Servidor NESSUS). La herramienta nessus-mkcert genera una El servidor de NESSUS puede ejecutar su análisis de entidad de certificación dentro del servidor y vulnerabilidades sobre una o más víctimas un certificado para el servidor. Un cliente especificadas por el cliente. también puede hacer uso de un certificado para la encriptación de datos, en cuyo caso la encriptación se dará en doble vía y no soloCómo funciona servidor-cliente. Nessus provee la herramientaYa se sabe cómo se distribuye Nessus y cómo nessus-mkcert-client para la creación delse instala en una red. También se discutió certificado del cliente.sobre las ventajas de disponer a Nessus de estamanera. Ahora se discutirá cómo aprovecha Para que un usuario pueda llevar a cabo unesta disposición al máximo y qué es lo que análisis de vulnerabilidades, es necesario quepuede hacer. éste se autentique primero. Si el password o el certificado dado por el usuario no es válido, elhttp://totalred.blogspot.com http://totalred.blogspot.com
  5. 5. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 5servidor de Nessus responderá con un error de encriptado. Así todos los resultados enviadosautenticación, de lo contrario responderá con el por el servidor son mucho más difíciles decertificado generado con nessus-mkcert para la descifrar sin el conocimiento de la llaveposterior encriptación del flujo de datos entre utilizada en el algoritmo de encripción.servidor y cliente. A partir de este momento La Figura 3 ilustra el proceso de autenticacióntodo el tráfico entre servidor y cliente estará y comunicación entre servidor y usuario. 2) El servidor valida los datos del 1) Se conecta el cliente al servidor cliente. Si los datos son válidos este Y se le especifica al servidor la devuelve el certificado para utilizar SSL Combinación nombre de usuario/contraseña en la comunicación. De lo contrario se (o certificado) cierra la conexión. 3) El usuario hace todo lo que necesite Servidor Nessus con el servidor. 0.1) Se crea el certificado a usar en la Cliente Nessus comunicación entre servidor y cliente: nessus-mkcert nessus-mkcert nessus-adduser 0.2) Se crea un usuario: nessusd -D nessus-adduser 0.3) Se ejecuta el servidor: nessusd -D Figura 3: Proceso de configuración del servidor y de comunicación entre cliente y servidor. Antes de cualquier cosa el servidor debe conocer tanto el certificado que va a usar como algún usuario. No se puede utilizar Nessus si no existen usuarios. Por razones obvias es necesario que el servidor de Nessus esté en ejecución antes que el cliente pueda hacer uso del mismo. Los pasos 0.1, 0.2 y 0.3 son los pasos preparatorios y son necesarios en caso que no se hayan realizado. Si ya se han realizado pueden obviarse. Configuración del análisis herramientas para lograr este fin. La primera yUna vez el usuario ha sido autenticado, el más eficiente es el Ping. Esta simplementemismo tiene que indicarle al servidor qué envía un paquete ICMP Echo Request hacia laataques debe llevar a cabo y a cuáles máquinas víctima, y si esta responde en un intervalo deanalizar. También es necesario especificar tiempo límite significa que la máquina estácómo llevar a cabo este análisis. disponible. De lo contrario se deshabilitan los ataques para esa máquina en particular. ElPara llevar a cabo un análisis de problema con este método es que por lovulnerabilidades es necesario conocer las general ICMP es bloqueado por firewalls (si eldirecciones IP de las víctimas. Nessus no es análisis se está haciendo desde una red externaningún tipo de adivino ni tampoco está o desde Internet). Por lo tanto Ping es utilizadoprogramado para realizar magia negra para únicamente para una ejecución interna a la red.saber de antemano qué sistemas analizar. Nessus también provee la opción de TCP PingsPuede escanearse tanto un conjunto de que intentan establecer conexiones a puertoscomputadores, así como computadores en comunes como los son el puerto 80, el puertoparticular. Es decir, puede indicársele a Nessus 53, etc.si se desea escanear un conjunto decomputadores que cumplan con una dirección Una vez se ha establecido qué método utilizaráde red y máscara de red determinadas, o bien Nessus para verificar los hosts activos, es horase puede indicar la dirección IP exacta de la de verificar qué puertos tiene abiertos lavíctima. Puede también especificarse una lista víctima. Para este fin Nessus provee tresde direcciones IP a las cuales analizar. A la medios especiales: el método connect(), elhora del análisis Nessus se cerciorará que SYN scan y el escaneo de puertos por mediodichas víctimas en realidad se encuentran de la herramienta NMAP. El método connect()disponibles, ya que Nessus cuenta con varias intenta establecer una conexión (three wayhttp://totalred.blogspot.com http://totalred.blogspot.com
  6. 6. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 6handshake) con cada puerto escaneado. El se explicarán en más detalle los plugins). PorSYN scan envía un paquete TCP SYN a la ahora basta con resaltar que los plugins son losvíctima al puerto que se desea escanear. Si se ataques que se realizarán sobre las víctimas.recibe un paquete SYN+ACK correspondiente Nessus categoriza los ataques por familias, lasal paquete SYN previamente enviado, el puerto cuales simplemente caracterizan el tipo deestá vivo. A diferencia del método connect(), vulnerabilidad que un plugin en particularel método SYN scan no cierra las conexiones. explota, i.e. Ataque CGI, Ataque RPC, etc.Aunque el SYN scan es bastante silenciosopara el escaneo de un puerto, puede llegar a ser Además de las familias Nessus distingue tresbastante sospechoso para muchos puertos en tipos principales de plugins:muchos hosts. Por otro lado NMAP provee una Peligrosos: Los plugins peligrosos songran cantidad de opciones para llevar a cabo el en general ataques de denegación deescaneo de puertos. NMAP es la herramienta servicio que pueden hacer que unamás utilizada para este fin. Además de proveer máquina detenga su funcionamiento. Segran cantidad de métodos de escaneo de consideran peligrosos porquepuertos, NMAP permite establecer la precisión perjudican a las máquinas víctimasy velocidad a la que se quiere que se realice el Chequeos seguros (safe checks): Estánescaneo de puertos. Cabe anotar que a mayor simplemente basados en informaciónvelocidad, menor precisión y viceversa. Entre de la víctima y determinan si ésta es omás puertos se escaneen, más tiempo tomará. no vulnerable a un ataque de denegación de servicio. Sin embargo,Si se escanean únicamente los puertos aunque este tipo de plugins es seguro,necesarios, el análisis puede tardar menos y puede generar muchas falsas alarmashacer menos ruido (con ruido se hace ya que únicamente se determina lareferencia a lo evidente desde el punto de vista versión de un software y esto no esde un IDS del análisis de puertos). Nessus suficiente para saber si un servicio es oúnicamente llevará a cabo ataques para no vulnerable.aquellos puertos que estén abiertos. Otros.Una vez se han determinado qué hosts y qué Muchos plugins necesitan privilegiospuertos de los hosts están disponibles, Nessus especiales para ser ejecutados, por lo queejecuta un plugin especial denominado el Nessus también provee facilidades paraServices Plugin (expuesto en más detalle en especificar nombres de usuario y contraseñasuna sección siguiente). Este plugin tiene la para diversos servicios que puedan necesitarlostarea de determinar qué servicios se están (ataques SMB, FTP, POP3, etc.).ejecutando en cuáles puertos. Esta fase esnecesaria debido a que muchos servicios se La Tabla 1 muestra las característicasejecutan sobre puertos no estándar, i.e. Apache configurables de Nessus a través del cliente.sobre el puerto 8080. Este plugin essuficientemente preciso para determinar qué Característica Descripciónservicios se están ejecutando sobre qué puerto. Hosts víctimas Nessus necesita que el usuario especifique las víctimas a ser analizadas. Las víctimas se puedenUna vez configurados los métodos de especificar por su nombre de host,identificación de hosts y de análisis de puertos, por su dirección IP o por lase deben elegir los plugins (ataques) a ejecutar combinación dirección desobre las víctimas. Nessus provee una gran red/máscara. Nessus permite que los hosts se especifiquen dentro de uncantidad de plugins (en una sección siguientehttp://totalred.blogspot.com http://totalred.blogspot.com
  7. 7. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 7 archivo para que pueda ser reutilizado Con estas tres fases preparatorias Nessus posteriormente. proporciona la mayor precisión posible de su Ej.: análisis. Sin estos pasos preparatorios el ruido 127.0.0.1, 198.200.123.2, generado por Nessus sería exagerado, también chie.uniandes.edu.co, la precisión de sus resultados sería menor y 153.215.12.0/24 además la rapidez del análisis sería bastanteMétodo de Una vez especificados los hosts a reducida.identificación analizar, Nessus verificará cuáles dede hosts activos estos efectivamente están activos. Para este puede usar uno o ambos Una vez realizados estas tres fases de métodos. Estos métodos son Ping y reconocimiento, Nessus procede a ejecutar los TCP Ping. plugins convenientes. En la siguiente secciónMétodo de Una vez se identifican los hosts se explican los plugins en detalle.escaneo de activos, Nessus necesita verificar quépuertos puertos están abiertos para determinar qué ataques llevar a cabo. Nessus La Figura 4 ilustra el proceso de análisis de permite al usuario especificar qué vulnerabilidades realizado por Nessus. método de escaneo de puertos utilizar: connect(), SYN scan, o 3) Se determinan los hosts cualquiera de los métodos que utiliza activos NMAP.Selección de Una vez se sabe cómo hacer las 4) Se determinan losplugins cosas, Nessus necesita saber qué puertos abiertos de hacer. Para esto el usuario debe los hosts activos indicarle a Nessus que plugins Víctimas ejecutar sobre las víctimas. Todo Servidor Nessus ataque que necesite de un puerto que 5) Se determinan los servicios activos no esté abierto será descartado. 1) Se establece una en cada puerto Tabla 1: Las principales características conexión válida entre 6) Se ejecutan los plugins cliente y servidor configurables de Nessus. 2) Se configuran los diversos parámetros del servidor (método de escaneo de puertos, Proceso de análisis de vulnerabilidades plugins a ejecutar, etc.)Tal y como se expuso en la sección anterior,tres fases indispensables de preparación sonrealizadas para determinar qué plugins 8) Se muestra reporte(ataques) ejecutar sobre la(s) víctima(s). ClientePrimero se determina qué hosts estándisponibles (por medio de un Ping o por medio Figura 4: Proceso de ejecución del análisis de vulnerabilidades. Después del paso 2, todos losde un TCP Ping). Los hosts que no estén resultados del servidor son enviados al cliente. Losactivos son descartados y se remueven del datos que viajan del servidor al cliente estánanálisis. Una vez determinados los hosts encriptados. Para esto se utiliza SSL.activos, se realiza un escaneo de puertos sobrelos mismos. Los ataques dirigidos a los puertosque no estén disponibles son descartados. Knowledge BaseLuego se verifica qué servicios está ejecutando Aunque todo este proceso de reconocimientocada puerto, y de acuerdo a este análisis se suena sorprendente, aún hay más. Nessusasignan los ataques correspondientes a cada cuenta con una característica bastantepuerto. sofisticada para la reutilización de análisis previos. Esto quiere decir que Nessus puede basarse en ataques ya realizados para realizarhttp://totalred.blogspot.com http://totalred.blogspot.com
  8. 8. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 8nuevos ataques. Esta característica sedenomina Knowledge Base (KB). La KB no es Los plugins pueden ser creados en dosmás que una lista de toda la información lenguajes de programación (Figura 5): NASLrecopilada sobre un host analizado[7]. Esta (Nessus Attack Scripting Language) y C.característica tan sofisticada sirve a propósitos Nessus provee todas las herramientascomo evitar la redundancia de los análisis, así necesarias para la creación de plugins en estossi por ejemplo se determina una vulnerabilidad dos lenguajes. La documentación de Nessusen el servidor HTTP de una máquina, otro recomienda utilizar NASL debido a que es másanálisis puede basarse en esta información para portable, sin embargo, C puede llegar a serllevara a cabo sus ataques. La versión actual de necesario por razones de flexibilidad y deNessus únicamente permite la utilización de la capacidades. Todo lo que no se pueda hacerKB para el análisis actual. Una vez se termina con NASL se podrá hacer con C. Sin embargola ejecución del análisis, la KB es liberada de según [6] los plugins pueden ser escritos enmemoria. cualquier lenguaje de programación. Esto es cierto debido a que la gran mayoría de losEn la KB se almacenan todos los resultados del lenguajes de programación tiene interfaces conescaneo de puertos, el análisis de servicios y C. Sin embargo no son muchos los pluginslos hosts activos. A través de esta base de creados en otros lenguajes de programación.datos es que los plugins saben cómo realizar La gran mayoría está escrita en NASL [6].sus tareas más eficientemente. Es una forma deque tanto Nessus como los plugins tengan Primero se expondrá la estructura básica de uninteligencia y aprendan de los demás ataques. plugin escrito en C (y eventualmente se mostrará un ejemplo real) y sus características, Plugin Nessus y luego se discutirá la estructura y s características de un plugins escrito en NASL. Plugins en C Es cierto, si no lo puede hacer NASL, lo puede hacer C. Hay una gran cantidad de librerías creadas para C que no se encuentran en otros nasl gcc lenguajes de programación. Las propias librerías del sistema operacional están generalmente escritas en C. Si se escribe un plugin en C, se puede hacer todo lo que no seFigura 5: Los plugins de Nessus no hacen parte de su puede hacer en NASL. Sin embargo, C no es núcleo. Su naturaleza modular permite que se creen tan portable como se quiere. Pero no es leguajenuevos módulos. Nessus provee su propio lenguaje de en sí el que no es portable, sino sus librerías.script (nasl) para crear los plugins. C también puede No es lo mismo compilar bajo Solaris 8 que ser utilizado. compilar bajo AIX. NASL no tiene este problema de incompatibilidades. Más adelante se revisará NASL. PluginsLos ataques realizados por Nessus no están Para que los plugins escritos en C puedan serembebidos en su núcleo (hard-coded). Para utilizados, estos deben ser compilados enmayor extensibilidad y modularidad, éstos se librerías compartidas. Estas libreríasencuentran como porciones de software generalmente no son portables entre diferentesexterno llamados plugins [2]. plataformas. Nessus provee su propiahttp://totalred.blogspot.com http://totalred.blogspot.com
  9. 9. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 9herramienta para la compilación de plugins en plug_set_family() -> La familia del plugin.C: nessus-build [3]. Simplemente provee una forma de agrupar losPara escribir un plugin en C primero se hace diversos plugins por características comunes.necesario la inclusión de ciertas cabeceras Una familia no es más que un identificador. Unproveídas por Nessus: ejemplo de familia puede ser Windows, y se refiere a un ataque que afecta a plataformaincludes.h: Este archivo contiene todos los Windows. plug_set_description() -> La descripción detallada delincluyes necesarios para escribir un plugin pluginpara nessus. Es decir, todas las librerías y plug_set_summary() -> La descripción resumida deldemás que necesitan ser importadas, son pluginimportadas por includes.h. plug_set_copyright() -> Los derechos de autor y de copia.nessusraw.h: Si se quiere trabajar con int plugin_run(struct arglist *desc)manipulación directa de paquetes, Nessustambién provee todas las funciones necesarias Dentro de esta función se encuentra lapara este fin a través de la inclusión de este ejecución real del plugin. Toda la lógica delarchivo. Este archivo provee funciones para la ataque se encuentra dentro de esta función.manipulación directa de IP, UDP, TCP eICMP. Ataques como el teardrop se valen de Este es el esqueleto principal de un pluginlas funciones importadas por este archivo para escrito en C. Son muchas más las funcionessus fines macabros. La inclusión de este que provee Nessus, sin embargo no es el fin dearchivo es obligatoria si se va a utilizar este paper exponer a fondo la creación de unmanipulación de paquetes. De lo contrario no plugin en C. A medida que se encuentrenes necesaria. funciones no expuestas, éstas serán debidamente explicadas y analizadas.Una vez incluidas una o ambas de estascabeceras (y todas las demás que necesite) son Plugins en NASLindispensables dos funciones: NASL es un lenguaje de scripting con una sintaxis basada en C. Para mayor informaciónint plugin_init(struct arglist *desc) sobre la sintaxis de NASL y su especificación ver [4]. Este lenguaje contiene gradesEsta indispensable función cumple el papel de facilidades para la manipulación de cadenas deidentificación del plugin ante el motor de caracteres y también para la manipulación deNessus. Dentro de esta función se especifica la arreglos. Estos dos tipos de datos sonfunción del plugin, el autor y todas las fundamentales en el procesamiento de datos acaracterísticas que describen al plugin. Para los través de una red. En este paper se discutirá lafines de dicha identificación se vale de las segunda versión de este lenguaje (NASL2), yasiguientes funciones: que es el recomendado por el autor.plug_set_name() -> El nombre del plugin.plug_set_category() -> La categoría del plugin Los archivos de código en NASL no necesitanEspecifica qué forma de ataque realiza. Existen varias de una función main ni nada por el estilo,categorías: simplemente dentro de un mismo archivo serecopilación de información (ACT_GATHER_INFO),ataque remoto (ACT_ATTACK), encontrará todo el código necesario para denegación de servicio (ACT_DENIAL), ejecutar el plugin. Nessus provee todas las ataque pasivo (ACT_PASSIVE) y librerías y funciones necesarias para escribirescaneador de puertos (ACT_SCANNER). casi cualquier plugin. De no ser posible hacerhttp://totalred.blogspot.com http://totalred.blogspot.com
  10. 10. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 10 desc["english"] = "algo en NASL, C debe estar a la mano. Un The remote host does not discardarchivo de código NASL consta de una o más TCP SYN packets which have the FIN flag set.funciones. Depending on the kind of firewall you are using, an attacker may use thisSe tomará un ejemplo real simple de un plugin flaw to bypass its rules.de Nessus. Un buen ejemplo ya la vez simple See also:es el plugin que prueba una vulnerabilidad enla pila TCP/IP en la que un host responde http://archives.neohapsis.com/archives/bugtraq/ 2002-10/0266.htmlsatisfactoriamente a una petición SYN que a su http://www.kb.cert.org/vuls/id/464113vez contiene la bandera FIN. Este ataque es Solution : Contact your vendor for abastante anticuado, pero sirve para ilustrar la patchestructura de un plugin escrito en NASL. No se Risk factor : Medium";explicará paso a paso el funcionamiento delplugin, únicamente sus partes más relevantes. # Se establece la descripción del plugin. Esta es la descripción detalladaSe modificó sustancialmente la parte de # del plugin que Nessus mostrará alcomentarios, sin embargo su contenido es el cliente.mismo (dejando a un lado algunas partes del script_description(english:desc["englishcódigo que no se consideran relevantes en esta "]);explicación). Si se quiere saber más sobre este # Sigue algo de código no relevante.plugin (y todos los demás plugins) refiérase a # Se establece la categoría del plugin.[5]. En este caso es un plugin que # recopila información. script_category(ACT_GATHER_INFO);# Esto es un comentario # Más información sobre el plugin que# Se determina si la descripción ya no es relevante# fue especificada. De no ser así se provee# toda la información necesaria #Se sale de este boloque de códigoif(description) satisfactoriamente.{ exit(0); #El ID del plugin. Identificador único }del plugin script_id(11618); # # Identificador de la vulnerabilidad # The script code starts hereque analiza # script_bugtraq_id(7487); # La version del plugin. # do not test this bug locally script_version ("$Revision: 1.5 $"); # Se declara una variable (tipo if(islocalhost())exit(0);arreglo) que en # una de sus posiciones contiene el # Determina un Puerto TCP abierto en la víctimanombre port = get_host_open_port(); # del plugin en el idioma especificado if(!port)exit(0);por la llave #del arreglo, en este caso inglés # Se crea un datagrama IP personalizado.(english). # Por ahora nada extraño dentro name["english"] = "Remote host replies # de esta cebecera. Esta cabecerato SYN+FIN"; # servirá para un paquete TCP SYN. ip = forge_ip_packet(ip_hl:5, ip_v:4, ip_off:0, # Se establece el nombre del plugin. ip_id:9, ip_tos:0,Con este ip_p : IPPROTO_TCP, # nombre se desplegará el plugin ip_len : 20, # en la lista de plugins de Nessus. ip_src : this_host(), script_name(english:name["english"]); ip_ttl : 255); # Se crea una variable de la misma # Se crea el paquete TCP con la cabeceramanera en que se creó una variable # IP previamente creada. Puede # para el nombre del plugin, en donde # observarse cómo el parámetro th_flagsse provee la descripción detallada # toma el valor de la bandera SYN # del plugin.http://totalred.blogspot.com http://totalred.blogspot.com
  11. 11. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 11# (TH_SYN) y la bandera FIN (TH_FIN).# Es bien sabido que esto no puede ser pueden llevar a cabo sus ataques a los puertos# un paquete normal, ya que las banderas que de hecho contienen el servicio respectivo.# SYN y FIN en conjunción son contradictorias.# Es claro que es un paquete forjado.tcp = forge_tcp_packet(ip:ip, th_sport:10004, Este plugin se encuentra en la instalación del th_dport:port, th_win:4096,th_seq:rand(), th_ack:0, servidor de Nessus bajo el nombre de find- th_off:5, th_flags:TH_SYN|TH_FIN, services.nes. Según su autor (Renaud th_x2:0,th_urp:0); Deriason) [8]:# Crea un filtro que describe qué paquetes# se deben recibir, es decir, se ignoran “find-services.nes identifica# los paquetes que no cumplan con los servicios de forma no intrusiva.# criterios de este filtro. Este filtro# en últimas indica que únicamente se Existen varias herramientas que# tendrán en cuenta las respuestas de realizan el reconocimiento de# la máquina víctima que contengan las servicios, pero siempre causan# banderas SYN|ACK (tcp[13] = 18).# Esto significará que la máquina víctima daños en algunos dispositivos# procesó el paquete SYN|FIN enviado como (impresoras, antiguos# si fuera un paquete SYN normal. servidores unix), o bien, evitanfilter = string("tcp and src host ", esto realizando una adivinación get_host_ip(), " and dst host ", (i.e. únicamente buscan this_host(), servidores web en los puertos " and src port ", port, 79-82 y 8000-8080)… por esto " and dst port ", 10004, find-services.nes fue diseñado " and tcp[13]=18"); de una forma “simplista “….for(i=0;i<5;i++) (solo una conexión es{ establecida con el servidor # Se envía el paquete. r = send_packet(tcp, remoto, y solo una petición se pcap_active:TRUE, realiza por dicha conexión).” pcap_timeout:1, pcap_filter:filter); Cuando Deraison se refiere a simplista implica # Si se recibe una respuesta acorde con que la adivinación no debe ser algo complejo,el filtro, se # ha encontrado una vulnerabilidad simplemente el reconocimiento de servicios if(r) debería ser algo trivial, i.e. Si un puerto { # Se informa de la responde a una petición HTTP estándar (GET /vulnerabilidad. HTTP/1.0) es porque es un servidor web, de lo security_warning(0); exit(0); contrario no lo será y responderá con un } mensaje desconocido para el protocolo HTTP.} Este plugin realiza verificación de servicios para los siguientes servidores [9]: www, auth, Plugin Services echo, finger, ftp, smtp, ssh, http_proxy, imap,Este plugin es de gran importancia para el monitor, pop1, pop2, pop3, nntp y linuxconf.funcionamiento de Nessus. Esta porción decódigo se encarga de reconocer los servicios Plugin NMAPque se están ejecutando en los puertos Este plugin en particular se encarga de llevar areconocidos por el escaneo de puertos. Este cabo el escaneo de puertos a través de laplugin hace un sondeo a cada uno de los herramienta NMAP. No es mucha lapuertos identificados como activos y determina documentación sobre este plugin, sin embargoqué servicios está corriendo cada uno de los la interfaz del cliente provee todas las opcionesmismos. Una vez terminada esta tarea, los de configuración y ejecución del mismo. Esteresultados se almacenan en la Knowledge plugin está enteramente integrado a la interfazBase. De esta manera los demás plugins del cliente, y es crucial en la etapa de reconocimiento de puertos. NMAP provee unahttp://totalred.blogspot.com http://totalred.blogspot.com
  12. 12. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 12gran cantidad de opciones para el escaneo de determinar si se trata de un falso positivo (falsapuertos, sea a través de paquetes SYN, a través alarma) [16]. Con frecuencia los plugins conde paquetes FIN, etc. Para más información más incidencia de falsos positivos son lossobre NMAP, su funcionamiento y sus chequeos seguros, debido a que por lo generalopciones, refiérase a [10]. únicamente tienen en cuenta el número de versión de un servidor para llegar a Plugin NIDS Evasión conclusiones [16].Nessus es un analizador de vulnerabilidades, ycomo tal es susceptible a la detección de sus Nessus provee capabilidades de generación deataques por parte de sistemas de detección de reportes en varios formatos como por ejemplointrusos (NIDS) y también es susceptible a la CSV, NSR, XML, HTML, PDF, PostScriptfiltración de paquetes generados por sus entre otros. Esta característica de Nessus leataques. Para evitar estos inconvenientes, permite al usuario analizar los resultados de laNessus provee un plugin para la evasión de forma que crea más conveniente. Lossistemas de detección de intrusos. Este plugin resultados pueden ser exportados a un archivoprovee varias tácticas para la evasión de NIDS CSV que a su vez puede servir de entrada a[11]: tácticas HTTP (refiérase a [12] para una una base de datos para su posterior análisis.descripción detallada de todas las técnicas Una vez se tienen los resultados en el formatoutilizadas) y tácticas TCP (refiérase a [13] y deseado se deben revisar los mismos. ¿De qué[14] para una descripción detallada de todas las sirve un análisis de vulnerabilidades si no setécnicas utilizadas). Estas técnicas de evasión tienen en cuanta sus resultados? Entre lospueden configurarse a través del cliente de resultados pueden encontrarse falsos positivos.Nessus. Sin embargo esta tarea puede no ser trivial. Existen varias maneras también mencionadasCabe destacar que aunque estas técnicas en [17]. La inconsistencia de resultados es unaminimizan el riesgo de detección de los de las formas de detectar un falso positivo. Porataques, no significa que los ataques no serán ejemplo, supóngase que se está ejecutando undetectados. Las alertas de los NIDS sin duda análisis de vulnerabilidades a una máquina conalguna disminuirán en gran medida, sin Tomcat en el puerto 8080. Sin embargo Nessusembargo muy probablemente no cesarán. encuentra una vulnerabilidad para el OracleMuchos NIDS cuentan con mecanismos AS. Esto sin duda es una señal sospechosa desofisticados para la detección de ataques que inconsistencia de resultados. Otra forma deno pueden ser ocultados por las técnicas de identificar un falso positivo consiste enevasión de NIDS (para más información sobre identificar reportes de vulnerabilidades paratécnicas de detección de intrusos refiérase a puertos que no están habilitados dentro de una[15]). máquina. Post-escaneo Una vez analizados los resultados puedeDespués que se ha realizado el escaneo es recurrirse a la reconfiguración de la(s)necesario interpretar los resultados del mismo. máquina(s) víctima(s) para compensar lasUn programa no tiene la capacidad de vulnerabilidades. Nessus por lo generalrazonamiento de un humano, por lo que las además de indicar el problema, indica tambiénalertas mostradas pueden no ser precisas y la solución al problema.traducidas en falsas alarmas. Es por esto que latarea de análisis de vulnerabilidades no En el anexo 1 se mostrará un ejemplo de latermina con la simple generación de reportes. vida real con análisis de tráfico y análisis deEs indispensable analizar los resultados yhttp://totalred.blogspot.com http://totalred.blogspot.com
  13. 13. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 13reportes de Snort y también análisis de reportes La herramienta SATAN es de gran utilidadde Nessus. para los administradores de la red, los cuales la emplean para hacer un diagnóstico de la red e identificar las vulnerabilidades.5 SATAN Sin embargo, SATAN tiene como opción de¿Qué es? configuración un modo exploratorio a travésSATAN (Security Analysis Tool for Auditing del cual se pueden analizar hosts noNetworks, por sus siglas en inglés) es una especificados, lo cual ofrece la posibilidad deherramienta de prueba y análisis que recolecta detectar vulnerabilidades por fuera de la redinformación variada sobre una red y los hosts que se está administrando [18]. Además,que se encuentran en ella. permite la configuración de un conjunto de reglas, para examinar dependencias y “trust” 2,Esta herramienta recopila información a la vez que itera colecciones de datos conmediante un análisis de los servicios de la red, hosts secundarios. [21]como por ejemplo ftp, rexd, NIS y NFS entreotros. Después, elabora un reporte, con un Esta posibilidad abre la puerta para quesistema simple de reglas en el que evidencia hackers con malas intenciones utilicen lalas vulnerabilidades de la red [18]. herramienta para hacer un diagnóstico de la víctima previamente al ataque. La informaciónEntre la información que detecta SATAN se que obtienen sería la misma que elencuentra: administrador obtendría de su propia red. Topología de la red. Servicios de la red. Vulnerabilidades Tipo de hardware. Las vulnerabilidades que prueba SATAN Tipo de software (versión beta 0.51) son [18]: NFS export a programas sin privilegiosSatan consiste de varios sub-programas, cada NFS export via portmapperuno con un ejecutable que prueba un host para NFS export no restringido.una debilidad potencial. Se emplea fping para Acceso al archivo de passwords de NISdeterminar cuales son los hosts activos en la Acceso a rexdred. Para cada uno se examina un conjunto de Vulnerabilidades de sendmailtests y existe la posibilidad de agregar con Acceso remoto al shellfacilidad nuevas pruebas a SATAN, para que Acceso no restringido a X serverel programa controlador las ejecute sobre el Escritura en directorio raíz de FTPconjunto de hosts a revisar [20]. Vulnerabilidad en TFTP Modems (dial-up) no restringidos víaPosteriormente, cada test genera un registro de TCPdatos que incluye el nombre el host, el testejecutado y los resultados, entre otros. Estos Como detectar el uso de SATANregistros luego son manejados a través de una La forma más común de detectar el uso deinterfaz en HTML para una mejorcomprensión. [21] 2 Se emplea esta palabra cuando hay una situación en la que un servidor cuenta con un recurso local que pueda ser comprometido por un cliente sin o con autorización [4]. Es decir no se exige verificaciónAlcance de password.http://totalred.blogspot.com http://totalred.blogspot.com
  14. 14. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 14SATAN es a través de un fuerte escaneo de unrango de puertos y servicios en un periodocorto de tiempo [18]ProblemasSATAN en su versión 1.1.1. tiene un problemade revelado de password. Cada vez que seejecuta un proceso de SATAN, éste correcomo un servidor HTML. En cada sesión bajocliente HTML se genera un password únicoque garantiza acceso al dueño del proceso y alsúper usuario. En ocasiones este password se Figura 6. Interfaz de N-STEALTHfiltra por huecos de seguridad en el ambienteen el cual se ejecuta [19]. Como funciona6 N-STEALTHNStealth es una herramienta que escaneaservidores Web para identificar problemas ydebilidades que pueden permitir que unatacante obtenga acceso privilegiado. Según supágina Web3, n-Stealth viene con una base dedatos con más de 30.000 vulnerabilidades yexploits. La base de datos de NSealth esactualizada activamente y por ende contiene Figura 7. Opciones de N-STEALTHmás vulnerabilidades que una base normal. Ellema de este software es: “encuentre sus La versión libre es muy limitada y aunquevulnerabilidades antes que un hacker lo haga” permite tres tipos de escaneo (top10, top20 o estándar). Los reportes son poco detalladosEl programa corre bajo Windows como se puede ver a continuación:95/98/ME/NT/2K o XP, y algunos usuarioshan reportado éxito en WINE para Linux N-Stealth Security Reportaunque este no sea soportado. Hostname (URL): http://200.106.171.161 Server: KazaaClient Nov 3 2002 20:29:03Esta es la vista principal de N-Stealth, desde Date: Fri Mar 05 15:32:50 2004donde se pueden auditar servidores tanto Scanning Time 1003 second(s)locales como remotos. Simplemente hay que Scanning Method: Standard Scanintroducirle la dirección IP y dejarlo correr, en Number of Security Checks: 16025minutos, se obtiene un reporte con los huecos Total Scanned Signatures: 16025potenciales de seguridad. Total Vulnerabilities Found: 0 Notes Generated by N-Stealth HTTP Security Scanner Free Edition Allowed HTTP Methods 3 http://www.nstalker.com/nstealth/http://totalred.blogspot.com http://totalred.blogspot.com
  15. 15. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 15GET contra el servidor Web y ver losVulnerabilities List resultados como una salida html, textoNo Vulnerabilities Found plano o hexadecimal. La principal diferencia es que el usuario ahoraCon la compra de la versión entera se obtiene puede cambiar la solicitud, agregarun año de servicio inteligente, incluyendo las variables comunes HTTP, cabecerasactualizaciones de la base de datos y recientes HTTP y el contenido del métodoprotecciones Web.4 POST. Flexibilidad en el administrador deLa versión completa incluye [28]: reportes: Los usuarios pueden guardar Actualización automática los logs anteriores, haciendo más fácil Analizador de logs la administración de reportes. Ayuda con SSL y XML Opción para recibir alertas vía mail Análisis de Logs Esta libre de propaganda La herramienta viene con una analizador de logs incluido. Los archivos de logs tienden aCaracterísticas mas importantes [28]: repetir las llamadas a través del tiempo. El Soporte para HTTP y HTTPS (SSL) periodo de repetición está determinado por la Base de datos completa (más detalles y cantidad de objetos únicos (html, gifs, etc) que facilidad en la correlación): Hay un servidor específico guarda. La aplicación se disponible una descripción completa basa en el modelo de cache positivo cuyo para identificar la clase de objetivo es abolir múltiples ocurrencias en el vulnerabilidad, su impacto y el posible mismo log haciendo una firma digital de su cambio necesario para mitigar el contenido y guardando su estado. Aplicando riesgo. CVE y Bugtraq están esta técnica, algunos archivos grandes pueden disponibles para propósitos de ser analizados en minutos. correlación. Cambios en la metodología de Entre las principales características están: evaluación: Para evitar falsas alarmas, Capacidad Anti-evasión [28]: se introduce una nueva metodología de Habilitando estas capacidades, el analizador de inspección, que genera y guarda una logs puede detectar ataques no notados (en una firma digital de las paginas comunes perspectiva IDS). del servidor Web y las compara con las respuestas generadas en los reportes de Esta nueva característica provee algunas seguridad. capacidades para descubrir nuevas maneras de Nueva “Maquina IDS” (para reflejar pedir la misma fuente; Resolviendo cada las últimas técnicas): Las técnicas más llamada a una variable común, será capaz de usadas de evasión pueden ser detectar ataques comunes. .Esta característica combinadas para crear solicitudes al afectará el rendimiento pero valdrá la pena. servidor Web. Es ideal para probar las técnicas de prevención de intrusos y Capacidad de detección de Shell Code detectar la efectividad del sistema de Shell Code, puede confirmar si un intruso está detección. tratando de ejecutar instrucciones Nueva terminal de exploits: Los arbitrariamente para que sean ejecutadas consumidores pueden simular el ataque remotamente en el servidor. 4 http://www.nstalker.com/products/nstealth/notes.php http://totalred.blogspot.comhttp://totalred.blogspot.com
  16. 16. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 16El analizador de logs tratará de identificar estas busca malas configuraciones, software que nosecuencias de caracteres y alertar al esta al día con las actualizaciones, archivos yadministrador. scripts que están por default o inseguros, los cuales colocan en alto riesgo el servidor.[24]Reportes generadosLos formatos de los archivos de log son NIKTO es un script de perl, que maneja lassoportados por apache Apache, formato de Log pruebas de las diferentes vulnerabilidadescomún, Microsoft IIS, NCSA, PWS y servidor mediante plug-ins también escritos en perl. LaSamba Server. herramienta se compone de un paquete de pruebas básicas, pero también permite la escritura de pruebas adicionales para necesidades específicas. Estas pruebas básicas cubren una amplia gama de vulnerabilidades en diferentes servidores Web y sistemas operativos.[25] Pruebas básicas de NIKTO[23] nikto_realms. Busca en diferentes aplicaciones autenticaciones genéricas, según lo que esta en realms.db. Análisis de Logs nikto_outdated. Compara las versiones del software que esta en el servidor con las que tiene en el archivo outdated.db para detectar versiones obsoletas. nikto_msgs Revisa la versión del Servidor Web y revisa en la base de datos server_msgs.db si encuentra alguna vulnerabilidad específica. nikto_apacheusers Intenta hacer una enumeración de usuarios al Apache. Básicamente hace una petición HTTP GET para diferentes usuarios y mira el código de error que retorna el Servidor Web, ‘Forbidden’ para los usuarios que existen y Reporte de Análisis de Logs ‘Page Not Found’ para los que no. nikto_passfiles Busca los archivos de las contraseñas, en7 NIKTO - LibWhisker diferentes sitios. nikto_user_enum_apacheNIKTO es un analizador de vulnerabilidades Este plug-in trata de enumerar todos lospara servidores Web, basado en la usuarios y directorios del sistema. Hace unfuncionalidad de HTTP de la librería ataque de fuerza bruta que esta limitado porLibWhisker de Wiretrip5. Este analizador rangos dados, en este caso la longitud del nombre de usuario. 5 http://www.wiretrip.net/http://totalred.blogspot.com http://totalred.blogspot.com
  17. 17. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 17 nikto_user_enum_cgiwrapTambién trata de enumerar los usuarios del Prueba 1.- Se realizan desde UN1 a NT.sistema con base a los códigos de error que Se mide la capacidad de las herramientasdevuelva el servidor. que funcionan sobre Solaris 2.5 para detectar vulnerabilidades en máquina conComo funciona el sistema operativo Windows NT, unoEl analizador se ejecuta desde línea de de los más extendidos a lo largo de lacomandos con parámetros indicándole el IP y Internet.los puertos que debe probar. Las diferentes Prueba 2.- Este tipo de ataque es elpruebas de las vulnerabilidades se corren de opuesto al anterior. Midiendo laacuerdo al archivo nikto_plugin_order.txt y es capacidad que tienen las herramientasdonde se deben inscribir nuevas pruebas que se que funcionan sobre Windows NT parahallan desarrollado para que el NIKTO las localizar vulnerabilidades en un sistemaejecute.[23] operativo diferente al suyo, como ocurre con Solaris 2.5 que corre sobre UN2.8 ISS – INTERNET SECURITY Herramienta Prueba 1 Prueba 2 SCANNER ISS SI SIEs una aplicación cuyo objetivo es buscar N-STEALTH SI En Desarrollopuntos vulnerables de la red con relación a la SATAN SI NOseguridad. Es una herramienta comercial deanálisis de vulnerabilidades para Windows. En vista que las falencias de seguridadISS (Internet Security Scanner)[26]; siendo el pueden tener distintas consecuencias en elutilitario comercial más popular del mercado sistema, se pueden clasificar en : Graves.- Son vulnerabilidades que dejanSe basa en una herramienta denominada ISS claramente expuesto al sistema.que, al igual que SATAN, salió al mercado con Medias.- Son vulnerabilidades que podríancarácter gratuito. Actualmente la compañía que suponer un peligro para el sistema, pero enla realiza ha implementado numerosas la mayoría de los casos no suponen ningúnvariantes de la herramienta para ser aplicada exponente claro de compromiso directo delcon carácter interno (SSS - System Security sistema.Scanner). Leves.- No son vulnerabilidades como tales. Más que nada son advertencias sobreSe encuentra disponible para la mayoría de las potenciales peligros relativos a la seguridadplataformas UNIX y para Windows NT. La del sistema que corremos por la causa queversión más actual de ISS es la 5.2 para se nos indique (por ejemplo la activaciónWindows NT y la 4.3.3 para sistemas del demonio de un determinado servicio ooperativos UNIX. el banner que algunos servicios presentan cuando son solicitados, que puedenSe realizaron pruebas sobre estas herramientas proporcionar información para otros tiposcreando un cuadro comparativo, creando de ataques).diferentes opciones entre una máquina consistema operativo Solaris 2.5 (UN1) y una con Al ejecutar las herramientas se detectaron elsistema operativo Windows NT 4.0 (NT). siguiente tipo de vulnerabilidades:Creando dos tipos de pruebas. Admind.- El proceso de Admind está corriendo dehttp://totalred.blogspot.com http://totalred.blogspot.com
  18. 18. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 18 manera insegura. Se conoce que el uso de estas herramientas nos NFS Mountable.- Se pueden montar de forma puede ayudar a encontrar debilidades en remota algunos directorios compartidos a través de nuestros sistemas para reducir el riesgo de NFS. NFS Writable.- Se puede escribir de forma remota ataques, se debe tener en cuenta que estas algunos directorios compartidos a través de NFS. herramientas en pocas ocasiones detectan mas RPC statd file creation.- Se pueden vulnerar las del 50% de vulnerabilidades facilidades de recuperación proporcionadas para el caching de los ficheros de NFS. Netbios.- Vulnerabilidad en el Netbios que permite la compartición de ficheros con máquinas Windows 10 Referencias 95 o Windows NT a través del protocolo Samba. [1] The Nessus Project, Página Oficial. SATAN ISS N-STEALTH Recuperado el 25 de febrero de 2004 de Admin. X X http://www.nessus.org NFS Mountable X X X [2] The Nessus Project Datasheet, Nessus NFS Writable X X X Project Documentation. Recuperado el 25 RPC statd file X X X de febrero de 2004 decreation Netbios http://www.nessus.org/doc/datasheet.pdf [3] Nessus 0.99.0 C Plugins API, Sección 1, En el caso de ISS, existen evidencias de la Nessus Project Documentation. Recuperado el 25 de febrero de 2004 de realización de ataques (por ejemplo la http://www.nessus.org/doc/plugins_api.txt aparición del símbolo de ISS en la pantalla [4] The NASL Reference Manual, Nessus remota cuando se realizan ataques contra Project Documentation. Recuperado el 25 vulnerabilidades en X Windows); y en otras de febrero de 2004 de ocasiones el propio programa es el que pide al http://www.nessus.org/doc/nasl2_reference usuario que compruebe los datos de una serie .pdf de ficheros para ver si el ataque ha tenido éxito [5] Remote host replies to SYN+FIN, y por tanto la vulnerabilidad existe. Cabe Copyright (C) 2003 Tenable Network destacar que la presentación gráfica del análisis Security, Plugins, Nessus Project Plugin de seguridad que posee ISS es la mejor de las Documentation. Recuperado el 26 de tres. [27] febrero de 2004 de http://cvsweb.nessus.org/cgi- bin/cvsweb.cgi/~checkout~/nessus- plugins/scripts/tcpip_ambiguities.nasl?cont 9 Conclusiones ent-type=text/plain Los aspectos que se deben tener en cuenta [6] Introduction to Nessus, Sección 3.1 Update antes de utilizar estas herramientas son: la Plugins, SecurityFocus, por Harry forma de realizar los ataques, la variedad de Anderson. Recuperado el 26 de febrero de sistemas operativos existentes y la 2004 de disponibilidad que puede hacer de las mismas http://www.securityfocus.com/infocus/174 un potencial atacante. Aunque la fiabilidad de 1 estas herramientas es limitante debido a que [7] Saving the Knowledge Base, Introduction, operan sobre vulnerabilidades ya conocidas, Nessus Project Documentation. Recuperado el 26 de febrero de 2004 de confirmando estas falencias a través de la http://www.nessus.org/doc/kb_saving.html detección de indicios, pero no mediante la [8] Services, Plugins, Nessus Project Plugin realización de un ataque que comprometa el Documentation, User contributed notes. sistema remoto. Recuperado el 26 de febrero de 2004 de http://totalred.blogspot.com http://totalred.blogspot.com
  19. 19. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 19 http://cgi.nessus.org/plugins/dump.php3?id Networks (SATAN). Recuperado el 1 de =10330 marzo de 2004 de [9] Examples of the knowledge base items, http://www.cert.org/advisories/CA-1995- Página oficial de The Nessus Project. 06.html Recuperado el 26 de febrero de 2004 de [19] CERT Advisory CA-1995-07 SATAN http://www.nessus.org/pres/workshop_122 Vulnerability: Password Disclosure. 91999/3_3_1.html Recuperado el 2 de marzo de 2004 de [10] Nmap Documentation, Insecure.org, http://www.cert.org/advisories/CA-1995- Página official de la herramienta Nmap. 07.html Recuperado el 26 de febrero de 2004 de [20] FARMER, VENEMA. Improving the http://www.insecure.org/nmap/nmap_docu security of your site by breaking into it. mentation.html Sun Microsystems y Eindhoven University [11] Using Nessus’s NIDS Evasión Features, of Technology. Recuperado el 29 de The Nessus Project Documentation. febrero de 2004 de Recuperado el 26 de febrero de 2004 de http://www.fish.com/satan/admin-guide- http://www.nessus.org/doc/nids.html to-cracking.html [12] A look at Whisker’s anti-IDS tactics, por [21] FARMER, VENEMA. What is SATAN Rain Forest Puppy. Recuperado el 26 de about. Documentation. Recuperado el 1 de febrero de 2004 de marzo de 2004 de http://www.wiretrip.net/rfp/pages/whitepa http://www.fish.com/satan/demo/docs/intr pers/whiskerids.html o.html [13] Insertion, evasion and denial of service: [22] RAMAKRISHAN, SEKAR. Model-Based eluding network intrusion detection, por Vulnerability Analysis of Computer Thomas H. Ptacek y Timothy N. Systems. State University of New York y Newsham. Recuperado el 26 de febrero de Iowa State University 2004 de [23] NIKTO User Manual. Included with http://www.securityfocus.com/data/library/ NIKTO v 1.3.2. ids.ps [24] Rain Forest Puppy “A look at Whisker’s [14] Defeating Sniffers and Intrusion Detection Anti-IDS tactics” Recuperado el 2 de Systems, por horizon. Recuperado el 26 de marzo de 2004 de febrero de 2004 de http://www.wiretrip.net/rfp/txt/whiskerids. http://www.phrack.com/phrack/54/P54-10 html [15] Generic IDS Papers, Snort NIDS [25] Cirt.net “Nikto 1.3.2” Recuperado el 2 de Documentation. Recuperado el 27 de marzo de 2004 de febrero de 2004 de http://www.cirt.net/code/nikto.shtml http://www.snort.org/docs/#generic [26] ISS (Internet Security Systems). [16] Nessus, Part 2: Scanning, Sección 5.0 Recuperado el 2 de marzo de 2004 de Plug-in Selection, SecurityFocus, por http://www.iss.net Harry Anderson. Recuperado el 27 de [27] Asociación de Usuarios de Internet. febrero de 2004 de Recuperado el 2 de marzo de 2004 de http://www.securityfocus.com/infocus/175 http://www.aui.es/ 3 [28] N-Stealth Features, N-Stalker. [17] Nessus, Part 3: Analyzing Reports, http://www.nstalker.com/products/ SecurityFocus, por Harry Anderson. nstealth/notes.php Recuperado el 27 de febrero de 2004 de http://www.securityfocus.com/infocus/175 9 [18] CERT Advisory CA-1995-06 Security Administrador Tool for Analyzinghttp://totalred.blogspot.com http://totalred.blogspot.com
  20. 20. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 20 Anexo 1Se realizó un escaneo de vulnerabilidades sobre un host con Sistema Operativo Gentoo Linux 2004.0 corriendoApache WWW Server 2.0.48 y OpenSSH 3.7.1p2. Para este análisis fueron utilizados todos los plugins que proveeNessus, incluyendo los peligrosos. Esto para hacer el análisis más detallado y más profundo. El riesgo de hacer estosanálisis fue mínimo debido a las características de la máquina: últimos parches de kernel, últimas versiones desoftware estable y además la máquina no era una máquina en producción, por lo que no se corrían mayores riesgos alejecutar los análisis. El reporte obtenido luego de ejecutar Nessus fue el siguiente. El análisis se hizo sobre la mismamáquina sobre la que se estaba ejecutando el servidor de nessus: Nessus Scan ReportThis report gives details on hosts that were tested and issues that were found. Please follow the recommendedsteps and procedures to eradicate these threats. Scan DetailsHosts which were alive and responding 1during testNumber of security holes found 0Number of security warnings found 3 Host ListHost(s) Possible Issue200.106.164.123 Security warning(s) found Analysis of HostAddress of Port/Service Issue regarding PortHost200.106.164.123 ssh (22/tcp) Security notes found Security warning(s)200.106.164.123 www (80/tcp) found Security warning(s)200.106.164.123 nessus (1241/tcp) found Security Issues and Fixes: 200.106.164.123Type Port Issue and FixInformational ssh An ssh server is running on this port (22/tcp) Nessus ID : 10330Informational ssh Remote SSH version : SSH-2.0-OpenSSH_3.7.1p2 (22/tcp) Nessus ID : 10267Informational ssh The remote SSH daemon supports the following versions of the (22/tcp) SSH protocol :http://totalred.blogspot.com http://totalred.blogspot.com
  21. 21. TOTALRED | http://totalred.blogspot.com | Redes de datos y seguridad informática 21 . 1.99 . 2.0 Nessus ID : 10881Warning www The remote web server seems to have its default welcome page set. (80/tcp) It probably means that this server is not used at all. Solution : Disable this service, as you do not use it Risk factor : Low Nessus ID : 11422Warning www Your webserver supports the TRACE and/or TRACK methods. TRACE and (80/tcp) TRACK are HTTP methods which are used to debug web server connections. It has been shown that servers supporting this method are subject to cross-site-scripting attacks, dubbed XST for "Cross-Site-Tracing", when used in conjunction with various weaknesses in browsers. An attacker may use this flaw to trick your legitimate web users to give him their credentials. Solution: Disable these methods. If you are using Apache, add the following lines for each virtual host in your configuration file : RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] If you are using Microsoft IIS, use the URLScan tool to deny HTTP TRACE requests or to permit only the methods needed to meet site requirements and policy. If you are using Sun ONE Web Server releases 6.0 SP2 and later, add the following to the default object section in obj.conf: <Client method="TRACE"> AuthTrans fn="set-variable" remove-headers="transfer-encoding" set-headers="content-length: -1" error="501" </Client> If you are using Sun ONE Web Server releases 6.0 SP2 or below, compile the NSAPI plugin located at: http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603 See http://www.whitehatsec.com/press_releases/WH-PR-20030120.pdf http://archives.neohapsis.com/archives/vulnwatch/2003-q1/0035.html http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603 http://www.kb.cert.org/vuls/id/867593http://totalred.blogspot.com http://totalred.blogspot.com

×