Cómo encontrar exploits para cualquier vulnerabilidad
Durante los trabajos de pruebas de penetración (pentesting), necesitamos exploits para penetrar en algún sistema. Escribir un exploit es realmente un trabajo que requiere mucho tiempo. También es difícil encontrar un exploit disponible públicamente para nuestra necesidad exacta. Entonces, la forma más fácil es modificar el exploit disponible públicamente para nuestro trabajo específico.
En el caso de vulnerabilidades de corrupción de memoria (como desbordamientos de búfer), necesitamos modificar algunos parámetros básicos de destino. Por ejemplo, información de destino, dirección IP de retorno, payload, etc.
Pero esto no funcionará en todas las situaciones. Por ejemplo, supongamos que nuestro objetivo está ejecutando Windows Server 2012 y estamos tratando de ejecutar un exploit que fue creado para Windows Server 2008. Será divertido porque las cosas han cambiado, los parches más nuevos se actualizan, deberíamos evitar hacer eso.
Siempre debemos elegir la versión correcta del exploit y, si es posible, revisamos el código y lo probamos en un sistema sandbox. Es decir, el mismo sistema que el objetivo en nuestra máquina virtual. Entonces necesitamos usar ese exploit.
Si conocemos el sistema de destino, podemos buscar los exploits que se pueden ejecutar en él. Aquí estamos hablando de exploits disponibles públicamente. Podemos buscar exploits en entornos tanto en línea como sin conexión.