Está en la página 1de 33
ANÁLISIS DE VULNERABILIDADES Ing. Francisco Alvarez Pineda fraalvarez@Gmail.com
ANÁLISIS DE VULNERABILIDADES Ing. Francisco Alvarez Pineda fraalvarez@Gmail.com

ANÁLISIS DE VULNERABILIDADES

Ing. Francisco Alvarez Pineda

fraalvarez@Gmail.com

Análisis de vulnerabilidades

Contenido

- Conceptos generales

de vulnerabilidades Contenido - Conceptos generales - Análisis de vulnerabilidades - Tipos de

- Análisis de vulnerabilidades

- Tipos de vulnerabilidades

- Detección de vulnerabilidades

- Vulnerabilidades web

Encontrar vulnerabilidad

Ingeniería social.

Encontrar vulnerabilidad Ingeniería social. - Según aprovechan una falla en el software, sino que usan técnicas
Encontrar vulnerabilidad Ingeniería social. - Según aprovechan una falla en el software, sino que usan técnicas

-

Según

aprovechan una falla en el software, sino que usan técnicas de ingeniería social para conseguir las credenciales necesarias para vulnerar la seguridad informática.

no

el

97%

de

los

ataques

informáticos

Encontrar vulnerabilidad

Ingeniería social.

Encontrar vulnerabilidad Ingeniería social. - Trata información útil y significativa de su víctima, que puede ser

-

Trata

información útil y significativa de su víctima, que puede ser desde un pequeño usuario que lee un correo y al ejecutar el archivo adjuntado tiene que revelar datos personales o contraseñas, hasta una empresa o gran organización escogida con ánimo de causar el mal.

de

engañar

persuadir,

con

la

pretensión

y

de

conseguir

- También puede lograr que un individuo logre convencer a otro para introducir sus datos en un determinado lugar que cree seguro y que

luego no es así, por ejemplo a través de llamadas telefónicas. Tiene por

tanto la intención de hacer que el individuo actúe como el delincuente

quiere que lo haga, bien haciendo clic en un enlace, o respondiendo un correo fraudulento, etc.

- Intenta aprovecharse de los fallos que cometen las personas a la Hora

de divulgar la información, lo cual es muy peligroso tanto para un individuo como para una organización.

Encontrar vulnerabilidad

Ingeniería social.

Encontrar vulnerabilidad Ingeniería social. - Lo más común es que la ingeniería social se lleve a

- Lo más común es que la ingeniería social se lleve a cabo a través de canales tecnológicos como por ejemplo Internet o el teléfono, aunque también se produce cara a cara, siendo menos habitual, ya que implica un mayor riesgo y osadía del individuo que comete el delito.

A quien va dirigido: • Organizaciones escogidas al azar o como objetivo. • Determinado empleado
A quien va dirigido:
• Organizaciones
escogidas al azar
o como objetivo.
• Determinado
empleado o
grupo de
empleados.
• Un usuario.
El contacto lo realiza: • Conocido, amigo o pariente. • Prestador de servicios. • Autoridad.
El contacto lo
realiza:
• Conocido, amigo
o pariente.
• Prestador de
servicios.
• Autoridad.

Encontrar vulnerabilidad

Ingeniería social en la red.

Encontrar vulnerabilidad Ingeniería social en la red. - La ingeniería social se hace más importante ante

- La ingeniería social se hace más importante ante la dificultad que tienen los hackers para saltarse la seguridad de la red, protegida mediante firewalls, control de accesos, etc; ya que facilita la intrusión a través de la recolección de datos internos sobre procedimientos, códigos, datos personales, etc.

Por ello es conveniente desconfiar de los correos, llamadas y demás interacciones con desconocidos.

El factor determinante de la seguridad de las empresas es la capacidad de los usuarios de interpretar correctamente las políticas de seguridad y hacerlas cumplir” – Kevin Mitnick, consultor de seguridad informática, ingeniero social y ex

hacker.

Encontrar vulnerabilidad

Ingeniería social (técnicas).

Encontrar vulnerabilidad Ingeniería social (técnicas). - Usb tentadora - Acceso no autorizado Página 7
Encontrar vulnerabilidad Ingeniería social (técnicas). - Usb tentadora - Acceso no autorizado Página 7
Encontrar vulnerabilidad Ingeniería social (técnicas). - Usb tentadora - Acceso no autorizado Página 7

- Usb tentadora

Encontrar vulnerabilidad Ingeniería social (técnicas). - Usb tentadora - Acceso no autorizado Página 7

-

Acceso no autorizado

Encontrar vulnerabilidad

Ingeniería social.

Casos.

Encontrar vulnerabilidad Ingeniería social. Casos . - Intento de suplantación de identidad o “ phishing ”

- Intento de suplantación de identidad o phishingcuyo ejemplo más claro suele ser la recepción por parte del usuario de un correo electrónico de su banco, en el que nos envían un formulario donde

tenemos que introducir los datos personales o login, lo cual permitirá al

delincuente informático tener acceso a nuestra cuenta bancaria o vender los datos obtenidos.

- La recepción por parte del usuario en su cuenta de correo de postales

con invitaciones o con felicitación de fiestas navideñas de algún amigo

y que te obligan a introducir nuevamente el login, enviando los datos obtenidos a páginas web.

Encontrar vulnerabilidad

Ingeniería social.

Encontrar vulnerabilidad Ingeniería social. Medidas contra el engaño . - Concienciar a todas las personas de

Medidas contra el engaño.

- Concienciar a todas las personas de la organización, especialmente aquellas que vas a transmitir información como por ejemplo las telefonistas, secretarias y ejecutivos. Esto se puede hacer mediante

charlas informativas sobre la posible extracción de datos por parte del

intruso o ingeniero social.

- También es muy importante tener muy bien organizada la descentralización de la empresa, es decir, tener bien definidos los

segmentos a través de los cuales va a ser trasmitida la información hasta

llegar al ejecutivo.

- Tener un servidor de correo electrónico interno que pueda filtrar el spam y no mezclar así correo personal con correo de trabajo.

- Se pueden hacer también pruebas de seguridad en los distintos medios

utilizados para la trasmisión de la información.

Encontrar vulnerabilidad

Encontrar vulnerabilidad Ingeniería social. Clasificación : - Los diferentes métodos de ingeniería social

Ingeniería social.

Clasificación:

-

Los

diferentes

métodos

de

ingeniería social se pueden clasificar

en:

Clasificación Detalle Pasivas - Observación No - Correo electrónico. presenciales - Teléfono. - Correo
Clasificación
Detalle
Pasivas
- Observación
No
- Correo electrónico.
presenciales
- Teléfono.
- Correo ordinario y fax.
Presenciales
no agresivas
- Hablar con la gente.
- Vigilancia.
- Seguimiento.
- Acreditaciones falsas.
- Desinformación.
Presenciales
- Suplantación de identidad.
agresivas
- Chantaje o extorsión.
- Despersonalización
(alcohol,
drogas
).
- Presión psicológica.

Encontrar vulnerabilidad

Encontrar vulnerabilidad Ingeniería social. Página 11

Ingeniería social.

Encontrar vulnerabilidad Ingeniería social. Página 11

Encontrar vulnerabilidad

Ingeniería social.

Ejemplo:

- Lectura pagina 11.

Video:

Ingeniería social. Ejemplo: - Lectura pagina 11. Video: - https://www.youtube.com/watch?v=nxfWA1PC_U0 -

Encontrar vulnerabilidad

Footprinting.

Encontrar vulnerabilidad Footprinting. - El proceso de Footprinting consiste en la búsqueda de toda la información

- El proceso de Footprinting consiste en la búsqueda de toda la información pública, bien porque haya sido publicada a propósito o bien porque haya sido publicada por desconocimiento que pueda haber sobre el sistema que se va a auditar, es decir, buscaremos todas las huellas posibles, como:

Direcciones IP, servidores internos, cuentas de correo de los usuarios, nombres de máquinas, información del registrador del dominio, tipos de servidores, ficheros con cuentas y/o credenciales de usuarios,

impresoras, cámaras IP, metadatos, etc.

- Es decir, cualquier dato que nos pueda ser de utilidad para lanzar distintos ataques en las fases posteriores de la auditoría.

Encontrar vulnerabilidad

Footprinting.

Encontrar vulnerabilidad Footprinting. - El primer paso es seleccionar un objetivo. - Una vez elegido, debemos

- El primer paso es seleccionar un objetivo.

- Una vez elegido, debemos navegar por toda la página web de la organización y sus aplicaciones, en busca de errores.

- Es habitual, sobretodo en sitios web muy grandes, que se dejen

olvidados enlaces a sitios que no deberían estar, o algún error en una

llamada a BBDD (algo más común de lo que se piensa).

- Debemos descargarnos el sitio web entero, con alguna herramienta

como Httrack (WinHTTrack ) y hacer búsquedas directamente sobre la carpeta donde esté el sitio web descargado, para buscar comentarios como por ejemplo:

<!Comentario del Diseñador al Programador, el usuario para conectarse a la BBDD es XXX y la clave XXX-->

Encontrar vulnerabilidad

Footprinting.

Buscadores

Encontrar vulnerabilidad Footprinting. Buscadores - El segundo paso de cualquier proceso de Footprinting es preguntar a

- El segundo paso de cualquier proceso de Footprinting es preguntar a Google, Bing, etc. por el dominio del que queremos obtener información.

- Los buscadores son una fuente de clasificación, análisis y búsqueda de información, confidencial o no, sobre un objetivo. Altavista fue el buscador preferido en los años 90, Yahoo lo fue más cerca del año 2000 y hoy lo es el excelente Google.

- Los buscadores utilizan crawlers para indexar webs que en ocasiones

ciertas páginas que no deberían haberse publicado pero que han estado cierto tiempo visibles desde Internet mientras se estaban probando, y han quedado cacheadas en Google. Por tanto, podríamos

verlas mirando la caché o con algún servicio como “archive.org”.

Encontrar vulnerabilidad

Footprinting.

Buscadores

Encontrar vulnerabilidad Footprinting. Buscadores - Recurriremos a los motores de búsqueda como Google o Bing utilizando

- Recurriremos a los motores de búsqueda como Google o Bing utilizando diferentes verbos para obtener mejores resultados en las búsquedas.

- Bing

- Cmd /nslookup / set type=ns/ dominio/ server nombre/ ls dominio

Encontrar vulnerabilidad

Fingerprinting.

Encontrar vulnerabilidad Fingerprinting. - “Tras dar una vuelta al edificio observando de lejos si hay alguna

- “Tras dar una vuelta al edificio observando de lejos si hay alguna puerta o ventana abierta, algún agujero en la paredel footprinting. Vamos a acercarnos e intentaremos dar golpes en las puertas, por si alguna se abre, para ver si aparecen guardiasel fingerprinting.

- El fingerprinting es el proceso de recolección de información en el que

se interactúa directamente con los sistemas para aprender más sobre su configuración y comportamiento.

Encontrar vulnerabilidad

Fingerprinting.

Encontrar vulnerabilidad Fingerprinting. - Técnica utilizada para obtener información de lo que tienen las máquinas

- Técnica utilizada para obtener información de lo que tienen las máquinas de un objetivo.

- Recopilación de información sobre:

- Puertos abiertos

- Host en la red

- Sistema operativo utilizado

- Software detrás de los puertos

- Sistemas de protección que pueda haber delante de las máquinas

Encontrar vulnerabilidad

Fingerprinting.

Encontrar vulnerabilidad Fingerprinting. - Lo más típico para realizar esta tarea es el escaneo de puertos

- Lo más típico para realizar esta tarea es el escaneo de puertos. Buscaremos los puertos abiertos en los servidores de la entidad e intentaremos identificar que hay detrás de esos puertos.

- Herramientas mas utilizadas:

- Nmap

- Zenmap

- Como saber cual es la ip

- Cmd

- Nslookup www.

- ping

Encontrar vulnerabilidad

Fingerprinting.

Encontrar vulnerabilidad Fingerprinting. - Hay dos principales problemas con la técnica del escaneo de puertos: -

- Hay dos principales problemas con la técnica del escaneo de puertos:

- Hace mucho ruido, ya que esta técnica consiste en ir enviando paquetes a todos los puertos de los servidores. Si se hace todo de golpe puede levantar sospechas por parte del administrador de seguridad

- Hay mecanismos para bloquear estos escaneos y sistemas para alertar de ellos. Los firewall o cortafuegos pueden ser dispositivos hardware o programas software que mitigan estos escaneos de puertos, filtrando los

paquetes de IP’s externas o filtrando el tipo de paquetes (sobre todo los

de tipo ICMP o ping).

Análisis de vulnerabilidades

Contenido

- Conceptos generales

- Análisis de vulnerabilidades

- Conceptos generales - Análisis de vulnerabilidades - Tipos de vulnerabilidades - Detección de

- Tipos de vulnerabilidades

- Detección de vulnerabilidades

- Vulnerabilidades web

Tipos de vulnerabilidades

Tipos:

-

de

vulnerabilidades, algunas más

peligrosas que otras. Unas pueden llegar a causar denegación de servicio y otras ejecución de

código remoto, pero que pueden

comprometer el sistema de una forma u otra.

Hay

diversos

tipos

ejecución de código remoto , pero que pueden comprometer el sistema de una forma u otra.
ejecución de código remoto , pero que pueden comprometer el sistema de una forma u otra.

Tipos de vulnerabilidades

Heap Overflow

Tipos de vulnerabilidades Heap Overflow - Este tipo de vulnerabilidades es causado por un mal uso

- Este tipo de vulnerabilidades es causado por un mal uso de la memoria dinámica de un programa y las funciones que operan sobre ella, reservándola y liberándola, como malloc o free (C/C++).

- Ejemplo:

Ocurre cuando un programa continúa utilizando un puntero después de que este haya sido liberado. Al liberar un puntero, lo único que se hace es

desasignar la memoria previamente asignada en un bloque, pero no

cambia la dirección a la que apunta.

Tipos de vulnerabilidades

Off-By-One

Tipos de vulnerabilidades Off-By-One ● Este tipo de vulnerabilidades tienen su origen en el cálculo o

Este tipo de vulnerabilidades tienen su origen en el cálculo o en el uso

incorrecto de un valor que realmente es inferior o superior en 1 al valor esperado. Normalmente, por una mala interpretación del programador a la hora de contar o acceder a secuencias de datos, por ejemplo, cuando no se considera el valor de posición 0 (cero) en un array o

cuando se itera en un bucle más allá del número esperado de veces.

Generalmente, las consecuencias de este tipo de error acaban en un crash de la aplicación, aunque pueden ser aprovechadas para

ejecutar código o eludir restricciones de seguridad en el equipo

vulnerable.

Tipos de vulnerabilidades

Race condition

Tipos de vulnerabilidades Race condition - Los errores generados por una condición de carrera son producidos

- Los errores generados por una condición de carrera son producidos por el cambio que experimenta el estado de un recurso (fichero, memoria,

registros) desde que se comprueba su valor hasta que el recurso es utilizado. Se convierten en una vulnerabilidad si el atacante puede influir en este cambio de estado entre la comprobación y uso. Generalmente,

este tipo de problemas suelen darse bien por la interacción entre hilos

en un proceso multihilo o bien por la concurrencia de otros procesos ajenos al proceso vulnerable.

Tipos de vulnerabilidades

Integer Overflow

Tipos de vulnerabilidades Integer Overflow - Los desbordamientos de entero suceden cuando se intenta almacenar un

- Los desbordamientos de entero suceden cuando se intenta almacenar un valor numérico demasiado grande en una variable en la que no quepa (suelen ser int o unsigned int), generando valores negativos, valores menoresEl problema se da cuando este valor es resultado de

algún valor introducido por el usuario y se utiliza para tomar decisiones

de seguridad.

- Normalmente, genera denegación de servicio en las aplicaciones o servicios que lleven esta vulnerabilidad.

Tipos de vulnerabilidades

Format String

Tipos de vulnerabilidades Format String - En algunos lenguajes como C, es necesario para las funciones

- En algunos lenguajes como C, es necesario para las funciones que imprimen por pantalla que se indique el tipo de dato que se quiere imprimir (mediante %d’, ‘%c’). Este tipo de vulnerabilidad se da cuando el programador no define el formato de los datos que se van a imprimir, permitiendo al atacante dar el formato a su antojo.

- Además con la secuencia %n’ se puede sobrescribir cualquier posición de memoria. Por ello este tipo de vulnerabilidad puede provocar tanto fugas de información, como denegación de servicio, como ejecución

de código arbitrario.

Tipos de vulnerabilidades

Buffer Overflow

Tipos de vulnerabilidades Buffer Overflow - Este tipo de vulnerabilidad se produce cuando se copia cierta

- Este tipo de vulnerabilidad se produce cuando se copia cierta cantidad de datos sobre un área que no es lo suficientemente grande para contenerlos, sobrescribiendo de esta manera otras zonas de memoria.

no es lo suficientemente grande para contenerlos , sobrescribiendo de esta manera otras zonas de memoria.

Análisis de vulnerabilidades

Contenido

- Conceptos generales

- Análisis de vulnerabilidades

- Tipos de vulnerabilidades

Análisis de vulnerabilidades - Tipos de vulnerabilidades - Detección de vulnerabilidades - Vulnerabilidades web

- Detección de vulnerabilidades

- Vulnerabilidades web

Detección de vulnerabilidades

Metodología

Detección de vulnerabilidades Metodología - La metodología para la detección de vulnerabilidades en redes de datos,

- La metodología para la detección de vulnerabilidades en redes de datos, consta de tres fases mediante las cuales se busca obtener las vulnerabilidades en los equipos de red y servidores en las redes de datos objeto de estudio.

Objetivo: ampliar información sobre la red objetivo. Fases: Escaneo de puertos y enumeración de servicios
Objetivo:
ampliar información
sobre la red objetivo.
Fases:
Escaneo de puertos
y enumeración de
servicios
Objetivo:
- Búsqueda de dominios
a la inversa, a nivel
superior, mediante
fuerza bruta.
Objetivo:
La detección de los
puertos y servicios que se
ejecutan en los equipos
que pertenecen a un
rango de red específico.
Detectar las
vulnerabilidades
presentes en cada uno
de los equipos objetivo
- Transferencias de
zona.
- Descubrimiento de
topología de red.
Escaneo de
vulnerabilidades
Reconocimiento

Análisis de vulnerabilidades

Contenido

- Conceptos generales

- Análisis de vulnerabilidades

- Tipos de vulnerabilidades

- Detección de vulnerabilidades

de vulnerabilidades - Tipos de vulnerabilidades - Detección de vulnerabilidades - Vulnerabilidades web Página 31

- Vulnerabilidades web

Vulnerabilidades web

Deber:

Vulnerabilidades web Deber: - Inyección - Secuencias de comandos en sitios cruzados - Autenticación rota. -

- Inyección

- Secuencias de comandos en sitios cruzados

- Autenticación rota.

- Solicitudes falsificadas en sitios cruzados.

- Referencias directas e inseguras a objetos.

- Configuración errónea de seguridad.

- Almacenamiento inseguro:

- Fallas al restringir acceso URL.

- Insuficiente protección en la capa de transporte.

- Forwards y Redirects no validados.