domingo, 19 de agosto de 2012

fake script "su"

Este "truquito" me valió en una ocasión para conseguir escalar privilegios a root en un sistema al cual ya tenía acceso con las credenciales de otro usuario no privilegiado. Cómo obtuve esas credenciales es otra historia que quizá algún día cuente... xD Pero ahora vamos a lo que vamos...

Se trata de hacer un script bash que simule ser el comando "su" para robarle el password de root al administrador cuando intente elevar privilegios. Como verán nada complejo en realidad y sin mucha magia ni glamour pero realmente efectivo. De hecho está inspirado en el mecanismo usado por un troyano descrito en el libro "El Huevo Del Cuco" de Clifford Stoll.

domingo, 12 de agosto de 2012

Algo más que ' OR ''='

Esto me sucedió hace poco. Encontré un SQLi en el formulario de login de una app que estaba auditando y decidí hacer un bypass del login solo por probar... Ya podía usar el SQLi para extraer información de la base de datos... pero también quería probar el login bypass. Entonces probé el clásico ' OR ''=' en su forma original y en algunas variantes en el campo de usuario y en el de password... pero no hubo éxito, cada vez se mostraba el mismo mensaje de error: "password incorrecto".

Curiosamente, luego de algunas pruebas más, llegué a concluir que el campo del password no era en realidad inyectable. Solo lo era el campo de usuario ¿Qué clase de programador valida correctamente el campo del password pero se olvida totalmente del campo de usuario? Seguramente no muchos. Supuse entonces que estaba frente a una implementación ligeramente distinta de un login; una, en la que el password no se inserta en la consulta SQL (y por tanto nunca será "inyectable").