nitrous@lsd:~/research/hidereverse$ su
Password:
root@lsd:/home/nitrous/research/hidereverse# ltrace -f -s 128 ./hide -s "fuck you -D" -d -u sys:games ./a.out 30
__libc_start_main(0x8048e60, 8, 0xbfcc8d34, 0x80487d4, 0x80493b0 <unfinished ...>
__register_frame_info(0x804a604, 0x804a754, 0xbfcc8ca8, 0x8048a4e, 0)                                  = 0
memset(0xbfcc8a30, '\000', 256)                                                                        = 0xbfcc8a30
strncpy(0xbfcc8a30, "sys:games", 256)                                                                  = 0xbfcc8a30
getpwnam("sys")                                                                                        = 0xb7fa6158
getgrnam("games")                                                                                      = 0xb7fa60d8
setgid(60)                                                                                             = 0
setuid(3)                                                                                              = 0
malloc(9)                                                                                              = 0x804cc28
malloc(256)                                                                                            = 0x804cc38
getcwd(0x804cc38, 255)                                                                                 = "/home/nitrous/research/hidereverse"
strcat("/home/nitrous/research/hidereverse", "/")                                                      = "/home/nitrous/research/hidereverse/"
strcat("/home/nitrous/research/hidereverse/", "./a.out")                                               = "/home/nitrous/research/hidereverse/./a.out"
memset(0xbfcc8b90, ' ', 255)                                                                           = 0xbfcc8b90
strlen("fuck you -D")                                                                                  = 11
strncpy(0xbfcc8b90, "fuck you -D", 11)                                                                 = 0xbfcc8b90
open("/dev/null", 2, 013)                                                                              = 3
fork(Cannot attach to pid 8593: Operation not permitted
 <unfinished ...>
--- SIGCHLD (Child exited) ---
<... fork resumed> )                                                                                   = 8593
__deregister_frame_info(0x804a604, 0x20202020, 0x20202020, 0x20202020, 0x20202020)                     = 0
+++ exited (status 0) +++

HACEMOS ESTO PARA VER QUE HACE INTERNAMENTE A TRAVES DE LAS FUNCIONES DE LIBRERIA,
VEMOS QUE RESERVA VARIABLES (malloc), OBTIENE UID POR MEDIO DE getpwnam() Y CON
ESTO SE CAMBIA DE UID (setuid). VEMOS QUE LLENA DE ESPACIOS (memset) CIERTO BUFFER
Y COPIA EL NOMBRE FALSO A ESE BUFFER.
AL DECIRLE QUE CORRA COMO DEMONIO NO ES MAS QUE UN HIJO CREADO CON fork().

