¿Pruebas de vulnerabilidad sin el uso de exploits?

5

Estaba haciendo algunas pruebas en un servidor para ver si era vulnerable a un exploit local de 0 días (el exploit era para obtener privilegios de root usando un error en el kernel de Linux). No había información real todavía sobre cómo saber si eres vulnerable o no, excepto ejecutando el exploit. Lo que hice y terminé teniendo un montón de problemas en el centro de datos por hacerlo. Siendo este el caso, ¿cuál es la mejor manera de verificar si es vulnerable? ¿Se puede suponer que se lanzará una solución para la vulnerabilidad antes de que sean pirateados utilizando el exploit (incluso con un servidor reforzado)?

    
pregunta ub3rst4r 16.05.2013 - 18:59
fuente

2 respuestas

5

Consideraría 2 posibles enfoques. Observo que está tratando de verificar un exploit para la escalada de privilegios explotando un error en el kernel. Por el bien del experimento, ignoraría el software de espacio de usuario, aunque probablemente sea una mala idea.

Enfoque # 1 asumiendo que es posible que necesite acceder a los datos en el servidor en cuestión, instalaría una máquina virtual con la versión exacta de la distribución de Linux y el kernel en cuestión y probaría su vulnerabilidad. La máquina virtual realizará de forma efectiva el servidor de arena desde el host real y, si lo logra, bloqueará la máquina virtual, sin causar daños.

Enfoque # 2 suponiendo que no hay dependencias de datos: instalaría una VM con la misma distribución y kernel en cualquier otra caja de Linux que tenga en la tienda y probaría su exploit.

Si esta es una máquina importante y su organización tiene activos que vale la pena atacar, no haría ninguna suposición sobre la disponibilidad y aplicación de parches antes de que lo atacaran.

OTOH: si la máquina no es de misión crítica y el estado general de las medidas de seguridad de la granja de servidores es bueno (las máquinas están parchadas regularmente, los firewalls se mantienen adecuadamente) - Reduciría su nivel de preocupación y me tomaría el tiempo en el laboratorio

    
respondido por el Danny Lieberman 16.05.2013 - 19:17
fuente
1

Encuentra lo que el exploit aprovecha. ¿Es tu kernel de Linux (versión)? Entonces todos los sistemas con ese número de versión pueden ser afectados.

Suponiendo que tiene una vulnerabilidad, debe saber qué ataca. Si, por algún motivo, no sabe qué hace el exploit, no lo pruebe en servidores de producción. Si el exploit es una secuencia de comandos, puede simplemente hacer un pico y ver lo que hace. Si el exploit está compilado en un código de máquina, tendrá que intentar realizar ingeniería inversa para entender lo que hace o contratar a alguien que pueda hacerlo.

No puedes asumir que habrá una solución antes de que alguien se haga cargo de la vulnerabilidad, a menos que la única persona que la tenga sea el desarrollador. Los desarrolladores solo podrán solucionarlos si lo saben. Pueden aprender sobre nuevas vulnerabilidades en su software si se distribuye al público, se les vende o se las encuentra.

    
respondido por el ponsfonze 17.05.2013 - 10:04
fuente

Lea otras preguntas en las etiquetas