¿Por qué el bit NX no pudo detener WannaCry?

4

Estoy trabajando en una presentación para dar a los estudiantes de ciencias de la computación de la escuela secundaria donde trabajo como voluntario. Parte de la presentación es sobre exploits locales y de red. Estoy planeando hablar sobre una historia en la que hace años pude obtener acceso a la raíz creando un programa con un desbordamiento de búfer intencional, configurando el bit setuid y ejecutando una diapositiva NOP para ejecutar shellcode. Cuando se ejecuta este programa en un sistema operativo moderno o en un hardware moderno, la vulnerabilidad ya no funciona debido al bit NX. (Obtuve esta técnica del libro "Hacking, el arte de la explotación").

También planeo hablar sobre el ransomware WannaCry. Haciendo referencia a este enlace de FireEye en WannaCry , comentan que después de que el paquete con formato incorrecto se envió a SMBv1 en el puerto 445, el software pudo ejecutar una diapositiva NOP y luego ejecutar Shellcode.

Mi pregunta es, ¿por qué el bit NX (ya sea del sistema operativo o de la CPU) no pudo impedir que WannaCry funcione?

    
pregunta Shaun Miller 28.05.2018 - 00:55
fuente

1 respuesta

2

WannaCry primero activó transacciones SMB secundarias y luego usó errores (buffers de paquetes sin inicializar) de srv2.dll para invocar sobrecargas de búfer.

NetApi32.dll es capaz de eludir NX en algunas versiones de SO y paquetes de servicio ( ref , exploit ).

    
respondido por el peterh 28.05.2018 - 01:55
fuente

Lea otras preguntas en las etiquetas