Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + Tecnología especializada
DXST - SAST - IAST - SCA - DevSecOps
Caja blanca - Caja gris - Caja negra
Atacando Aplicaciones Web, APIs, Apps Móviles,
Cliente Servidor, Servidores, Redes, Dispositivos IoT
IoT SCI: Sistemas de Control Industrial

Desactivar Método HTTP TRACE

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la configuración segura en Apache al desactivar el método HTTP Trace. Un atacante puede aprovecharse de éste método para realizar un ataque de tipo cross site scripting (XSS).

Necesidad

Se busca desactivar el método HTTP TRACE en un servidor Web Apache.

Contexto

A continuación se describen las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se cuenta con una instalación funcional de Apache versión 2.2.22 o superior.

Solución

El Protocolo de transferencia de hipertexto (en inglés: Hypertext Transfer Protocol o HTTP) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web (WWW). HTTP es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. El cliente realiza una petición enviando un mensaje, con cierto formato al servidor. El servidor le envía un mensaje de respuesta.[1]

Para realizar estas peticiones HTTP define un conjunto de métodos de petición para indicar la acción que se desea realizar para un recurso determinado.

Algunos de los métodos más usados son:

  • GET: El método GET solicita una representación de un recurso específico. Las peticiones que usan el método GET sólo deben recuperar datos.

  • HEAD: El método HEAD pide una respuesta idéntica a la de una petición GET, pero sin el cuerpo de la respuesta.

  • POST: El método POST se utiliza para enviar una entidad a un recurso en específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor.

  • PUT: El método PUT reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.

  • DELETE: El método DELETE borra un recurso en específico.

  • CONNECT: El método CONNECT establece un tunel hacia el servidor identificado por el recurso.

  • OPTIONS: El método OPTIONS es utilizado para describir as opciones de comunicación para el recurso de destino.

  • TRACE: El método TRACE realiza una prueba de bucle de retorno de mensaje a lo largo de la ruta al recurso de destino.[2]

    1. El metodo Trace, en principio inofensivo, devuelve como cuerpo las cabeceras de la petición del cliente incluyendo las cookies. Entonces, la combinación de este método HTTP con un fallo Cross Site Scripting (XSS) en la aplicación web puede acabar en un robo de sesión de usuario. Por tal motivo, en esta solución se explicará como desactivar dicho método en un servidor Apache.

    2. Se abre el archivo de configuración de Apache, ubicado generalmente en /etc/apache2/conf.d/security y se edita la siguiente línea:

      configuracion.shell
      1
      TraceEnable off
      
    3. Se reinicia el servidor web con el comando: apache2ctl restart.

    4. Para evitar un Cross-Site-Tracing attack se habilita el módulo rewrite de Apache2

      1
      a2enmod rewrite
      
    5. Y se edita el archivo de configuración de cada virtualhost o del archivo /etc/apache2/sitesavailable/default.

      1
      2
      3
      4
      5
      6
      <VirtualHost :80>
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
      RewriteRule .* - [F]
      </IfModule>
      



Haz un comentario

Estado de los servicios - Términos de Uso