A raíz del ataque que sufrió hace 2 domingos el sitio Web del Gobierno de San Juan, DIARIO DE CUYO recopiló en esta nota los ataques más frecuentes que puede experimentar un sitio Web clasificados por sus tipos y causas.

Ataques de Autenticación

Los sitios Web administrables cuentan con un micrositio privado de acceso para los usuarios administradores que cargan contenidos en ellos. Desde este micrositio, un pirata informático podría deducir u obtener la contraseña, o bien explotar alguna vulnerabilidad de programación para ganar acceso indebido a la plataforma de carga de contenidos del portal. Estos son algunos de los más comunes ataques de autenticación.

1. Fuerza bruta. Es un proceso automatizado de prueba y error utilizado para adivinar un nombre de usuario, contraseña, número de tarjeta de crédito o clave criptográfica.

2. Autenticación insuficiente. Es una vulnerabilidad de programación. Ocurre cuando un sitio web permite a un atacante acceder a contenido sensible o funcionalidades sin haberse autenticado.

3. Débil Validación en la recuperación de contraseñas. Se produce cuando un sitio web permite a un atacante obtener, modificar o recuperar de forma ilegal, la contraseña de otro usuario.

Ataques de Autorización

Son ataques que explotan los permisos o vulnerabilidades en los mismos respecto a las acciones que un usuario determinado (incluyendo los usuarios visitantes al sitio) está autorizado a realizar.

1. Predicción de credenciales/sesión. Método de secuestro/suplantación de un usuario del sitio.

2. Autorización insuficiente. Se produce cuando un sitio permite acceso a contenido sensible o funcionalidades que deberían requerir un incremento de las restricciones en el control de acceso.

3. Expiración de sesión insuficiente. Se produce cuando un sitio web permite a un atacante reutilizar credenciales de sesión o IDs de sesión antiguos para llevar a cabo la autorización. El hacker puede aprovechar un mal cierre de sesión de un usuario anterior, de modo que las cookies (archivos del navegador que contienen el registro de inicio de sesión) almacenadas automáticamente por ese usuario no fueron correctamente eliminadas al presionar el botón “Cerrar sesión” del sistema, de lo que el atacante toma provecho. Esto puede deberse a vulnerabilidades en el sitio, del navegador, problemas del sistema operativo (por algún virus u otro error, no elimina correctamente los archivos de sesión), o bien descuido del usuario.

4. Fijación de sesión. Técnica de ataque que fuerza al ID de sesión de un usuario a adoptar un valor determinado.

Ataques en la parte cliente

Son los ataques que ocurren del lado del usuario y explotan las vulnerabilidades de su PC, navegador, sistema operativo o desconocimiento del mismo.

1. Suplantación de contenido. Técnica de ataque utilizada para engañar al usuario haciéndole creer que cierto contenido que aparece en un sitio web es legítimo, cuando en realidad no lo es.

2. Cross-site scripting. XSS es una técnica de ataque que fuerza a un sitio web a repetir código ejecutable facilitado por el atacante, y que se cargará en el navegador del usuario.

Ataques de ejecución de comandos en el servidor

En este caso, el atacante explota una vulnerabilidad de seguridad o mala configuración en el sistema operativo del servidor Web que aloja la página. De este modo, logra introducir comandos de orden que ejecutan acciones o cambian atributos, permitiéndole ingresar ilegalmente al control del sitio.

1. Desbordamiento de buffer. Ataque que altera el flujo de una aplicación sobreescribiendo partes de la memoria.

2. Ataques de formato de cadena. Alteran el flujo de una aplicación utilizando las capacidades proporcionadas por las librerías de formato de cadenas para acceder a otro espacio de memoria. 3. Inyección LDAP. Técnica de ataque usada para explotar sitios web que construyen sentencias LDAP a partir de datos de entrada suministrados por el usuario.

4. Comandos de Sistema Operativo. Técnica de ataque utilizada para explotar sitios web mediante la ejecución de comandos de sistema operativo a través de la manipulación de las entradas a la aplicación.

5. Inyección de código SQL. Técnica de ataque usada para explotar sitios web que construyen sentencias SQL a partir de entradas facilitadas por el usuario. El usuario que interactúa o trabaja en el sitio, sin saberlo, envía sentencias de modificación de la base de datos que almacena los contenidos visibles en la página. Estos ataques aprovechan ese código enviado, para incrustar código malicioso y “reventar” agujeros de seguridad en el servidor.

6. Inyección de código SSI (Server-side Include) es una técnica de explotación en la parte servidora que permite a un atacante enviar código a una aplicación web, que posteriormente será ejecutado localmente por el servidor web.

7. Inyección XPath. Utilizada para explotar sitios web que construyen consultas Xpath con datos de entrada facilitados por el usuario.

Revelación de información

Muchas veces la vulnerabilidad surge de información que se pone en evidencia por parte del servidor, la aplicación que administra el sitio Web o el acceso del usuario. Aprovechando esta información, pueden ganarse niveles de acceso superiores al sitio.

1. Indexación de directorio. Es el listado de directorio, una función del servidor web que lista los ficheros del directorio solicitado si no se encuentra presente el fichero de inicio habitual. Mostrar “Parent Directory” desde el navegador, puede aprovecharse para descargar los archivos de código fuente del sitio y conocer como está programado para explotar alguna vulnerabilidad. Los sitios que no tienen bloqueado el acceso a sus directorios son susceptibles a este tipo de ataques.

2. Fuga de información. Se produce cuando un sitio web revela accidentalmente información sensible, como comentarios de los desarrolladores o mensajes de error, que puede ayudar a un atacante para explotar el sistema.

3. Path Traversal. La técnica de ataque fuerza el acceso a ficheros, directorios y comandos que potencialmente residen fuera del directorio raíz (“document root”) del servidor web. Esto permite al atacante examinar archivos no públicos del servidor y explotarlos para birlar el sitio.

4. Localización de recursos predecibles. Técnica de ataque usada para descubrir contenido y funcionalidades ocultas en el sitio web.

Ataques lógicos

1. Abuso de funcionalidad. Técnica de ataque que usa las propias capacidades y funcionalidades de un sitio web para consumir, estafar o evadir mecanismos de control de acceso.

2. Denegación de servicio (Denial of Service, DoS) es una técnica de ataque cuyo objetivo es evitar que un sitio web permita la actividad habitual de los usuarios.

3. Anti-automatización insuficiente. Se produce cuando un sitio web permite a un atacante automatizar un proceso que sólo debe ser llevado a cabo manualmente.

4. Validación de proceso insuficiente. Se produce cuando un sitio web permite a un atacante evadir o engañar el flujo de control esperado por la aplicación.

Otros ataques de explotación de confianza

1. HTTP Parameter Pollution: Técnica que intenta sobrescribir parámetros que envía el protocolo Web (HTTP) desde el cliente al servidor, para “contaminarlos” y destruir la seguridad del mismo.

2. Desbordamientos de montículo. Obtener el acceso al procesador de comandos (Shell) de un servidor HTTP. Desde aquí el atacante puede transferir un troyano y tomar todo su control.

3. Desvío de DNS ("spoofing"): Los servidores de nombres de dominio (DNS), almacenan las direcciones web como DIARIODECUYO.com.ar e indican en que servidor se encuentra almacenada dicha página. Un atacante podría alterar este parámetro y redirigir al usuario otro sitio.

4. Ataques de Nivel de Aplicación. Son aquellos que se realizan explotando vulnerabilidades de aplicaciones que permitan modificar los datos que la propia aplicación manipula, pero sin la posibilidad de ejecución de comandos sobre el sistema operativo.

5. Vulnerabilidades del servidor Web. En este caso se intenta hackear el programa que activa el servicio Web en algún servidor, para permitir al usuario ver las páginas guardadas en el mismo.

6. Manipulación de URL. Ciertas aplicaciones de sitios Web dinámicos, envían los parámetros de petición Web del usuario por la misma dirección (URL). Un atacante puede modificarlos desde la barra de dirección para explotar alguna vulnerabilidad. La modificación manual de parámetros de URL modificará el comportamiento esperado del servidor Web;

7. Inyección de código HTML y Secuencia de comandos entre sitios.