métodos vulnerabilidad activos

43
TÉCNICAS PARA DETECTAR LAS VULNERABILIDADES DE ACTIVOS Seguridad en Computación e Informática Universidad Nacional Federico Villarreal Facultad de Ingeniería Industrial y de Sistemas Escuela de Ingeniería de Sistemas

Upload: alexander-velasque

Post on 30-Nov-2014

1.008 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Métodos vulnerabilidad activos

TÉCNICAS PARA DETECTAR LAS VULNERABILIDADES  DE ACTIVOS

Seguridad en Computación e Informática

Universidad Nacional Federico VillarrealFacultad de Ingeniería Industrial y de Sistemas Escuela de Ingeniería de Sistemas

Page 2: Métodos vulnerabilidad activos

Integrantes

CASACHAHUA MEDINA, JOSÉ

RODOLFO ALBERTO

FLORIAN ARTEAGA, EDUARDO MIGUEL

GONZALES BERNAL, JAIR

ANTONIO

GARCÍA MORAUSKY,

CESAR RICARDO

BENITEZ PEREYRA, PAUL FRANCISCO E.

Page 3: Métodos vulnerabilidad activos

INTRODUCCIÓN

En la actualidad todas las empresas en sus distintos rubros cuentan con una gran gama de activos de información, entre ellos podemos mencionar: aplicativos, servidores ya sean web, de correo o de aplicaciones, páginas web, etc. Todos ellos enlazados con la información o data de la organización y que constituye el principal activo de toda organización, ya que en ella se encuentra todo el know how que marca la diferencia en el mercado de vanguardia.Entonces las organizaciones deben tomar en cuenta medidas o técnicas representadas en programas, métodos que nos sirven para detectar estas vulnerabilidades o debilidades y no caer en un futuro cercano en una pérdida lamentable o robo inescrupuloso de nuestros activos de información.

Page 4: Métodos vulnerabilidad activos

1 CASO:

Toda empresa posee activos de TI ya sea servidores, aplicaciones o elementos de red de una infraestructura de TI, lo cual se tiene que identificar las vulnerabilidades que poseen estas como también saber gestionarlas para así evitar conflictos de riesgos que afecten mis procesos de negocio.

Page 5: Métodos vulnerabilidad activos

¿Qué técnica debo de implementar para detectar las vulnerabilidades?

Existe una herramienta de SW que me permite escanear, detectar, evaluar y remediar cualquier vulnerabilidad, la cual es:

GFI LANguard N.S.S (Network Security Scanner)

Es una solución empresarial para salvaguardar los sistemas y redes de ataques hacker y brechas de seguridad mediante:

Análisis de vulnerabilidad Administración de parches. Auditoria de red y software.

Page 6: Métodos vulnerabilidad activos

Proceso de escaneo de elementos de red

Page 7: Métodos vulnerabilidad activos

Vistas del desempeño del GFI LANguard N.S.S.

Page 8: Métodos vulnerabilidad activos

Beneficios del GFI LANguard N.S.S.

Previene caídas de TI que puedan afectar los procesos de negocio, debido a la exposición por vulnerabilidad.

Ayuda a los administradores de TI a asegurar sus redes más rápido y más eficientemente.

  Proporciona informes adaptables de escaneos realizados a

través de toda la red incluyendo aplicaciones y recursos.

Page 9: Métodos vulnerabilidad activos

2 CASO:¿Qué es el Google Hacking?

El Google Hacking consiste en explotar la gran capacidad de almacenamiento de información de Google, buscando información específica que ha sido añadida a las bases de datos del buscador.

Page 10: Métodos vulnerabilidad activos
Page 11: Métodos vulnerabilidad activos

Búsquedas las orientamos a ciertas palabras clave

Nos ayuden a encontrar información sensible.

Puntos de entrada sensibles a posibles ataques.

Cualquier tipo de información que tuviera carácter de sensibilidad, estaremos ejecutando un Google hack.

Page 12: Métodos vulnerabilidad activos
Page 13: Métodos vulnerabilidad activos
Page 14: Métodos vulnerabilidad activos
Page 15: Métodos vulnerabilidad activos
Page 16: Métodos vulnerabilidad activos
Page 17: Métodos vulnerabilidad activos
Page 18: Métodos vulnerabilidad activos

Ver cámaras privadas desde Google

Page 19: Métodos vulnerabilidad activos
Page 20: Métodos vulnerabilidad activos

Metadatos

METADATOS

Page 21: Métodos vulnerabilidad activos

FIIS – WEB METADATOS

Page 22: Métodos vulnerabilidad activos

METADATOS

Page 23: Métodos vulnerabilidad activos

3 CASO:

Detección de Vulnerabilidades en una Red

Infiltrator

Page 24: Métodos vulnerabilidad activos

INFILTRATOR

Infiltrator es una herramienta que permite escanear redes para poder auditar la red en buscar de vulnerabilidades.

Tiene la capacidad de revelar y catalogar un gran número de información de las computadoras que ha escaneado como: Software instalado, usuarios, discos, información sobre SNMP, puertos abiertos entre otros.

Page 25: Métodos vulnerabilidad activos

INFILTRATOR

Búsqueda de información y escaneo:Obtiene información como: Registros, políticas de contraseñas,

usuarios y grupos, trabajos y sesiones, puertos TCP y UDP que se encuentre abiertos, datos sobre Servidores web, y muchos otros.

Page 26: Métodos vulnerabilidad activos

INFILTRATORAuditoria de seguridad Infiltrator tiene la capacidad de alertar sobre eventos peligrosos, gracias a la

BD de auditoria con la que viene integrada.

Page 27: Métodos vulnerabilidad activos

Técnica para la detección estática de Vulnerabilidades

Pattern Matching

Page 28: Métodos vulnerabilidad activos

Pattern Matching

Técnica para detección de vulnerabilidades de Software

Funciona comparando una secuencia de códigos, que contengan cierto token, con un patrón.

Los patrones que generalmente intenta comparar son String.

Es muy útil para encontrar y remover algunos problemas potenciales de seguridad antes que el programa sea lanzado al público

Page 29: Métodos vulnerabilidad activos

Pattern Matching

Herramientas: FlawfinderTrabaja usando una BD con funciones de C/C++ conocidas por

presentar diversos problemas tales como: Sobrecarga de Buffer, problemas de formateo de String, uso de metacaracteres entre otros.

Luego se toma el codigo fuente y se compara con los códigos existentes en la BD, ignorando los comentarios y los strings.

Flawfinder genera una lista de Hits (fallas de seguridad en potencia) y las ordena por nivel de riesgo, siendo las mas riesgosas mostradas primero

Page 30: Métodos vulnerabilidad activos

Pattern Matching

Page 31: Métodos vulnerabilidad activos

4 CASO: DETECCIÓN DE VULNERABILIDADES EN

SERVICIOS DE RED MEDIANTE FUZZING

 

Page 32: Métodos vulnerabilidad activos

•Consiste en probar, de forma más o menos inteligente, el comportamiento de una aplicación frente a unos datos generados específicamente para hacer que un programa falle, ya sea generando datos en una codificación diferente, enviando cadenas largas o probando a desbordar valores numéricos.

•Una de las partes más importantes del fuzzing es la automatización y la instrumentalización.

•Suelen incorporar monitores para detectar la caída de la aplicación que se esté probando. Además, permiten grabar la sesión y datos relativos a la caída, como volcado de memoria, captura de red o desensamblado de la función afectada.

•Existe una herramienta llamada Sulley que posibilita generar un fuzzer específico para cada aplicación. Está programada en python por el creador de Paimei y es mantenida con regularidad.

Page 33: Métodos vulnerabilidad activos

• Un ejemplo sencillo para fuzzear un servidor web:

View sourceprint

01.from sulley import *02. 03.# Inicializamos el bloque de datos04.s_initialize("HTTP Simple Request Fuzz")05. 06.# Definición  "GET[espacio]/petición[espacio]HTTP/1.0[nueva línea][nueva línea]"07.s_static("GET")08.s_delim(" ")09.s_delim("/")10.s_string("peticion")11.s_static(" HTTP/1.0")12.s_static("\r\n\r\n")13. 14.sess = sessions.session()15.target = sessions.target("127.0.0.1",80)16.sess.add_target(target)17.sess.connect(s_get("HTTP Simple Request Fuzz"))18.sess.fuzz()

Page 34: Métodos vulnerabilidad activos

• El primer paso es definir el nombre del bloque con s_initialize:

View sourceprint

 s_initialize("HTTP Simple Request Fuzz")

Desde aquí y hasta la siguiente llamada a s_initialize, definirá modelos de datos. Luego, dependiendo del tipo de dato, elegirá la forma más lógica de fuzzearlo. Acto seguido, se define la petición que Sulley enviará al servidor. En este caso, sólo nos interesa fuzzear los delimitadores y la petición:1.s_static("GET")2.s_delim(" ")3.s_delim("/")4.s_string("peticion")5.s_static(" HTTP/1.0")6.s_static("\r\n\r\n")

Page 35: Métodos vulnerabilidad activos

Sulley nos provee de un conjunto de primitivas suficientes para definir un protocolo tanto textual como binario. La lista de primitivas es la siguiente:

s_binary: Acepta valores binario en varios formatos (0xc0 0xff ee ea \x00 fe 00 01 02 0xc50xc2 f0 0d).s_static: Valor que no cambia.s_dunno, s_raw and s_unknown: alias de s_static.s_byte, s_char: 1 byte.s_word, s_short: 2 bytes.

Con el protocolo definido, pasemos a la sesión. Cada sesión puede ser guardada en un fichero serializado para tener la posibilidad de pausar el proceso y retomarlo. También creamos el objeto que albergará la información del objetivo:

1.sess = sessions.session()2.target = sessions.target("127.0.0.1",80)3.sess.add_target(target)4.sess.connect(s_get("HTTP Simple Request Fuzz"))5.sess.fuzz()

Dentro de target, se indicará el host y el puerto al que deberá conectar Sulley para las pruebas. Aquí también deberíamos definir las opciones de los monitores, aunque no se aplique a este caso. El objetivo se añade a la sesión (sess.add_target(target)) y creamos el árbol de pruebas. Internamente, Sulley mantiene un grafo con cada una de las fases por las que tiene que pasar:

Page 36: Métodos vulnerabilidad activos

View sourceprint 

1.sess.connect(s_get("sess.connect(s_get("HTTP Simple Request Fuzz"))"))

• Con esto ya estamos preparados para lanzar el proceso. Esta última línea, crea un nuevo nodo en el árbol (previamente definimos “HTTP Simple Request Fuzz” con la llamada a s_initialize). Para terminar, la llamada sess.fuzz() comienza el proceso:

Page 37: Métodos vulnerabilidad activos

5 CASO: VULNERABILIDAD EN WINDOWS – VIRUS EN BATCH

Page 38: Métodos vulnerabilidad activos

¿Batch… que és?

Es un archivo de procesamiento por lotes

Se trata de archivos de texto sin formato, guardados con la extensión BAT 

Contienen un conjunto de comandos MS-DOS.

Page 39: Métodos vulnerabilidad activos

Variables del Sistema

VARIABLES DEL SISTEMA• %COMPUTERNAME% = Nombre de host. • %SYSTEMROOT% = Carpeta de administración Normalmente

c:\windows • %TEMP% = directorio donde se encuentran los archivos

temporales • %WINDIR% = directorio de windows. • %USERNAME% = usuario con el que se inicio sesión

%USERPROFILE% = directorio donde se encuentran los archivos del usuario que inicio sesión %PROGRAMFILE% = directorio donde se encuentran los archivos de programas

• %OS% = muestra el sistema operativo que estamos ejecutando %LOGONSERVER% = nombre de nuestro server (\\mihost)

Page 40: Métodos vulnerabilidad activos

Implementación Práctica

CODIFICACION

PRUEBA

ENCRIPTACION

EMPAQUETADO

INGENIERIA SOCIAL - 

DISTRIBUCION

Page 41: Métodos vulnerabilidad activos

CONCLUSIONES

• Las vulnerabilidades de activos de información siempre existirán en todas las organizaciones amenazando la integridad, la consistencia y la confidencialidad de los datos, ocasionando grandes pérdidas de información en muchos casos irreparables.

1º Conclusión

• La detección de vulnerabilidades es un trabajo arduo, al que debe prestarse mucha atención para reforzar las debilidades y reducir al máximo las posibilidades de intrusión de terceros.

2º Conclusión

• Las vulnerabilidades se descubren muy seguido en grandes sistemas, y el hecho de que se publiquen rápidamente por todo internet (mucho antes de que exista una solución al problema), es motivo de debate. Mientras más conocida se haga una vulnerabilidad, más probabilidades de que existan piratas informáticos que quieren aprovecharse de ellas.

3º Conclusión

• Tan importante es tener presencia Web, como conocer sus peligros potenciales.

4º Conclusión

Page 42: Métodos vulnerabilidad activos

RECOMENDACIONES

Toda organización debe estar lista con un plan de prevención antes las vulnerabilidades presentes en cada activo informático, aplicando los métodos y técnicas acertadas que aseguren la solidez, disponibilidad y privacidad de la información.

Para cada proyecto, es importante identificar los activos afectados en situaciones de riesgo, para así determinar qué tipo de estimación (Cualitativa o cuantitativa) es pertinente de realizar para entender el impacto que los desastres tienen sobre estos.

Hacer un seguimiento de los documentos indexados por los robots de los buscadores con el fin de tener un panorama de lo que está disponible para el público y lo que no debería de estarlo.

A pesar de ser prácticamente imposible detectar todas las posibles vulnerabilidades que puede presentar una red o un software, se recomienda usar diversas herramientas, de distintos fabricantes, para poder aumentar el rango de detección de los puntos vulnerables.

Page 43: Métodos vulnerabilidad activos

MUCHAS GRACIAS