¿Cómo obtiene Client-Side-Exploitation la shell de nivel de sistema en Metasploit?

1

Por ejemplo, si mi cliente está utilizando un Internet Explorer vulnerable que era vulnerable a la vulnerabilidad de Aurora (sé que es antiguo y parche, pero por ahora, supongamos), entonces uso la carga útil de explotación del lado del Cliente Metasploit.

Pasos de la siguiente manera: -

  1. Ejecutar metasploit

  2. Establecer Exploit "aurora exploit"

  3. Establezca la carga útil "payload / windows / reverse_tcp"

  4. establece srvhost, srvport

  5. ejecutar

Ahora nos dará una URL a través de la cual, si algún navegador web Vulnerable solicitó esa URL con su navegador y si el navegador es vulnerable a ella, explotará esa vulnerabilidad y nos dará el shell de ese sistema (ahora estamos en ese sistema).

¿Pero cómo? Me refiero a que mi vulnerabilidad solo funciona en el nivel del navegador , y cómo se conecta al nivel del sistema para darnos el shell del sistema.

¿Me estoy perdiendo algo?

    
pregunta Utkarsh Agrawal 28.06.2018 - 08:56
fuente

1 respuesta

1

Para comprender cómo funcionan las vulnerabilidades basadas en el navegador, debe comprender cómo funcionan los navegadores. He encontrado un buen artículo detallado al respecto. Cómo funcionan los navegadores .

El punto de resumen que puede obtener del artículo relacionado con las vulnerabilidades del navegador es que los navegadores tienen motores de javascript que traducen los instructores de javascript en código de máquina. Por lo tanto, los motores del navegador son traductores entre el navegador y su máquina. SpiderMonkey de Firefox es un ejemplo de eso. Está escrito en C / C ++ como casi todos los motores de navegador. Dado que cada navegador tiene sus propios motores, las vulnerabilidades basadas en el navegador son específicas para el navegador (también para el sistema operativo). Un código de vulnerabilidad para Internet Explorer 6 probablemente no funcione para Google Chrome, por ejemplo. Además, si busca más vulnerabilidades en el navegador, descubrirá que las plataformas de vulnerabilidad están cambiando. Hay exploits que funcionan solo en algunas versiones de Android, por ejemplo. Puedes ver varias vulnerabilidades de Google Chrome como ejemplo; Lista de vulnerabilidades de Google Chrome .

La mayoría de las vulnerabilidades del navegador se basan en los ataques de desbordamiento de búfer clásicos que también se utilizan en la explotación Aurora. Por lo tanto, cualquier vulnerabilidad en estos motores podría ser explotada causando un desbordamiento de búfer mediante el uso de objetos javascript o html dom.

En resumen, Javascript o html no pueden llevar a la "Ejecución remota de código" por ningún ataque de desbordamiento de búfer. sí mismo. Sin embargo, la vulnerabilidad se explota en el motor del navegador, no en el propio navegador. Javascript o HTML solo se utilizan como una herramienta para explotar la vulnerabilidad en los motores. Puedes leer más sobre la vulnerabilidad de Auroa: Rapid7 MS10-002 Microsoft Internet Explorer "Aurora" Corrupción de la memoria y también desde aquí: CVE-2010-0249

EDITAR: He descubierto un artículo sobre el motor de Javascript de Microsoft Edge, que también describe bien los principios del flujo de trabajo de los navegadores; El motor de JavaScript de Microsoft Edge para ir a código abierto

Lectura adicional: Cómo entender cómo funciona el motor Chrome V8 Traduce JavaScript en Código de Máquina

    
respondido por el Pilfility 28.06.2018 - 09:47
fuente

Lea otras preguntas en las etiquetas