Pasos a seguir para comprometer un sistema Unix/Linux.

Iniciado por 0xDani, 23 Noviembre 2013, 20:09 PM

0 Miembros y 3 Visitantes están viendo este tema.

0xDani

Bien, pongámonos en situación: imagina que te sientas delante de tu ordenador, con un SO Unix/Linux, y te dispones a comprometerlo (entiéndase obtener privilegios root, contraseñas, incluso instalar rootkits o backdoors, etc...). Tienes todo el tiempo y el café del que quieras disponer.

¿Qué métodos se te ocurren probar teniendo acceso local como un usuario normal?

Gracias de antemano.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

topomanuel

Aquí hay muchas herramientas que te pueden ser útiles para lo que buscas hacer: http://www.pablin.com.ar/computer/info/varios/hacklnx.htm

Saludos.

0xDani

Cita de: topomanuel en 23 Noviembre 2013, 20:31 PM
Aquí hay muchas herramientas que te pueden ser útiles para lo que buscas hacer: http://www.pablin.com.ar/computer/info/varios/hacklnx.htm

Saludos.

No está mal, pero un poco anticuado. Por ejemplo, en mi sistema, el "truco" para acceder al /etc/shadow no funciona.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

cpu2

Pues algun modulo en el kernel, no puedo darte muchas ideas porque estoy verde la verdad, pero dejo unas preguntas en el aire, se podria implementar un keylogger interceptando el puerto del teclado en este caso el 0x60? Haciendo pruebas intercepte las pulsaciones del teclado, refinandolo se podria hacer un modulo de esa forma no?

Y tambien recuerdo de que linux cuando hace una interrupcion al vector 0x80, en ese vector estaban las direcciones de las funciones no? tambien se podrian cambiar no?

Si haces algo Dani, cuenta conmigo. Creo que ya sabes que me encantan las shellcodes y ASM, ahora estoy con el cifrado AES y Ring0.

Un saludo.


0xDani

@cpu2: en efecto, los rootkits en Unix están mayormente implementados como módulos del kernel del sistema operativo en cuestión; y existen un par de keyloggers que registran leen los datos del puerto 0x60 (eso se puede hacer cómodamente desde el userspace); y con lo último creo que te refieres a interceptar las system calls.

Para todo lo anterior hace falta tener permisos root previamente.

He creado este tema porque hace tiempo que me di cuenta de lo difícil que es obtener privilegios en un sistema Unix si no tienes un exploit. Lo más útil que he encontrado es un keylogger que no necesita privilegios. Sin embargo esto no es fácil de automatizar para escalar privilegios.

Estaría genial tu ayuda cuando encuentre algo viable que hacer.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

cpu2

#5
Si, para cargar modulos tienes que tener privilegios, pero una vez que estas en el nucleo haces lo que quieras.

Ese codigo no me gusto, eso se hace mejor en ring0 y sin llamar a todas esas funciones. Lo que me refiero es que con unas cuantas lineas en ASM hice algo parecido a un keylogger, imaginate si me tomo el tiempo en hacer algo con eso, estaria mejor que ese code en C. No es que este interesado en los keyloggers simplemente era un ejemplo.

Bueno si haces algo ya sabes.

Un saludo.

0xDani

@cpu2: claro, eso se hace mejor en ring0, pero en la situación que he planteado, tienes acceso local como un usuario sin privilegios, y no puedes un cargar un módulo del kernel ni nada. Ahí está la gran barrera para comprometer un sistema de este tipo.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

cpu2

Bueno, cuando sepas escalar esos privilegios cuenta con migo, pero yo ese tipos de codigos y programacion no me gustan ni un poco.

Un saludo.

P.D: Cualquier cosa por MP, que estoy desviando el hilo.

ThinkByYourself

#8
Es ruín, pero puede funcionar:


//Quite este script porque me ofende como linuxero
//Pero para el que aun no lo haya visto, que siga leyendo
//La verdad es que es bastante triste...


¿Cómo lo ven? No me parece nada guay usarlo, para pocos que usamos Linux andarse con estas es muy ruín... Pero bueno, ¿quién no picaría? Y si además sabes poner el nombre del usuario, clavaito. Ahora, repito, es ruín, patético, zafio, burdo e insultante para cualquier linuxero (encima que somos pocos, con estas...). Sin embargo, lo posteo porque creo que el conocimiento es y debe ser libre (y gratuito).
No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.

0xDani

Sí, ya, se puede emular sudo y poniendo el nombre del usuario fácilmente; y poner ese programa como un alias de sudo en el .bashrc. Es una opción, y por qué no iba a picar alguien?

En fin, no es descartable del todo.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM