Sto lavorando a una presentazione da dare agli studenti di informatica delle scuole superiori dove lavoro come volontario. Parte della presentazione è sugli exploit locali e di rete. Sto pianificando di parlare di una storia in cui anni fa potevo ottenere l'accesso come root creando un programma con un buffer overflow intenzionale, impostando il bit setuid e eseguendo una diapositiva NOP per eseguire shellcode. Quando si esegue questo programma su un sistema operativo moderno o hardware moderno, l'exploit non funziona più a causa del bit NX. (Ho preso questa tecnica dal libro "Hacking, l'arte dello sfruttamento").
Ho anche intenzione di parlare di WannaCry ransomware. Fare riferimento a questo collegamento FireEye su WannaCry , ne parlano dopo che il pacchetto malformato è stato inviato a SMBv1 sulla porta 445, il software è stato in grado di eseguire una diapositiva NOP e quindi eseguire shellcode.
Quindi la mia domanda è: perché il bit NX (dal sistema operativo o dalla CPU) non è stato in grado di impedire a WannaCry di funzionare?