Un buen ejemplo de un gusano autopropulsado que se dirigió a una vulnerabilidad específica fue Sasser que explotó una vulnerabilidad en Windows para propagar.
El autor del gusano Sasser estaba monitoreando las actualizaciones de Microsoft para Windows. Uno de ellos estaba corrigiendo algo que Microsoft denominó una "vulnerabilidad crítica de ejecución remota de código", que para una el autor del malware lee "$$$ JACKPOT! $$$". Al descargar y examinar la actualización, descubrió cómo funcionaba exactamente el error.
Cada instalación de Windows tiene un programa en segundo plano llamado "Servicio de subsistema de autoridad de seguridad local" (lsass.exe) que comienza con el sistema y escucha el puerto 445. Cualquier otro sistema en Internet puede conectarse a este servicio. Sin embargo, no pueden hacer nada a menos que envíen las credenciales de inicio de sesión correctas, por lo que este servicio suele ser inofensivo. Pero Microsoft encontró y corrigió un error en este programa: cuando le envías un mensaje específicamente diseñado, se producirá un desbordamiento de búfer y partes de este mensaje serán ejecutadas como un programa.
Así que el autor escribió un programa que (muy simplificado):
- se conecta a direcciones IP aleatorias, puerto 445
- envía el mensaje malicioso con su propio código
Cuando el sistema aún no instaló la actualización, también ejecutaría este programa que luego haría lo mismo allí.
Esto es básicamente cómo funcionan todos los gusanos de Internet. El autor encuentra una vulnerabilidad que permite ejecutar código arbitrario. Escriben un programa que busca automáticamente los sistemas vulnerables y luego utiliza la vulnerabilidad para contrabandear una copia de sí mismo en el sistema y ejecutarla.
¿Qué aprendemos de esto? Instale las actualizaciones publicadas rápidamente, porque en el momento en que un proveedor de software lanza una actualización, se conoce la vulnerabilidad y Black Hat comenzará a escribir malware que lo explota. ¡Debes instalar el parche antes de que se termine!