[Redacción de herramientas][Investigación de vulnerabilidades] Análisis MS17-010 - Parte 1
win7 sp1 32bits srv.sys 6.1.7601.17514
srvnet.sys 6.1.7601.17514
PD: Estos dos archivos se encuentran en C:\Windows\System32 \ Bajo controladores
Depuración de arranque dual de Windbg
Esta vulnerabilidad se debe principalmente a un desbordamiento causado por smb1 al calcular mal el tamaño de la estructura que se procesa durante el proceso de conversión de estructura en estructura. El conjunto de herramientas de la NASA, EternalBlue, explota este desbordamiento y posteriormente sobrescribe el grupo de memoria conectado a él, utilizando técnicas de inyección de montón para sobrescribir exactamente 0xffdff000 de memoria ejecutable, que el sistema reserva para almacenar ciertas configuraciones.
Cadena de funciones de desbordamiento:
srv!SrvSmbOpen2 -> srv!SrvOs2FeaListToNt -> srv!SrvOs2FeaListSizeToNt -> srv!SrvOs2FeaToNt
3. En el siguiente punto de interrupción
bu srv!SrvOs2FeaListSizeToNt error de cálculo de la longitud de la memoria de la función
bu srv.SrvOs2FeaListSizeToNt -> srv!SrvOs2FeaToNt función de desbordamiento de memoria real
bu srv!SrvSmbOpen2 recibir datos p>
10. El análisis de funciones de SrvOs2FeaListSizeToNt es el siguiente
El punto clave es la declaración de ensamblaje mov word ptr [eax], si, que solo asigna datos de bajo orden:
11. Coloque puntos de interrupción y observe la distribución estructural de poc.
Originalmente quería estudiar cómo implementa el diseño del montón, qué estructura cubre esta parte de la memoria y qué parte del paquete. el shellcode está escrito. Descubrí que estaba un poco inseguro y me tomó unos días recordarlo después de mirar el recuerdo.
Antes de analizar wanacry, pensé que analizar el núcleo era bastante simple. Se sentía como un ciego tocando un elefante. Puedes ver cosas nuevas cada vez que observas, pero no puedes verlas con claridad. una mirada.
El código fuente de Windows de una buena persona
/Hengle/windows_nt_3_5_source_code
A través del análisis, puede descubrir los principios generales en el tercer anillo
/post/id/86270