É 100% possível. Para ttys / ptys (modo de texto), a maneira mais fácil é adicionar um calço a / bin / {ba, da, a} sh (por exemplo, um segundo segmento .code, RX) e alterar o ponto de entrada (como um ELF vírus faria). Exceto o acesso a isso, neste caso, pode-se modificar ~ / .profile ou ~ / .bashrc (etc.) para, como um modelo hipotético muito simples:
exec ~ / .malicious_programme
que pode carregar código de objeto compartilhado dinâmico para ocultar o programa malicioso em questão (exemplo: permitir leitura e modificação .profile, mas ocultar a linha. E / ou ocultar o programa).
Pode-se então usar o sistema UNIX98 pty (7) ou até simplesmente canalizar (2) para gravar todas as entradas em um shell bifurcado, assumindo que o fd não esteja marcado como FD_CLOEXEC e até mesmo alterar a entrada do usuário para o shell.
No X11, embora o kdm / gdm / xdm seja executado como root setuid (ou o equivalente em recursos [veja setcap (8)] ou qualquer modelo de segurança que você esteja usando, se não for o padrão), as coisas ficam mais complicadas, obviamente. Se alguém pode elevar privilégios? O iopl (2) ou o ioperm (2) facilita bastante a vida com acesso direto às portas do teclado 0x60 / 0x64 no x86. Como supomos que você não pode, devemos procurar uma rota alternativa. Conheço várias, mas não tenho certeza absoluta de que você queira uma dissertação sobre como isso é possível e as interfaces envolvidas.
Basta dizer que os trojans não superusuário do anel 3 são bastante possíveis no * nix, apesar do isolamento do processo, como resultado de vários problemas (principalmente no X) que adicionaram recursos para os daemons no modo de usuário fornecerem, por exemplo, texto - suporte de voz para todos os aplicativos sem comprometer a segurança do sistema. Eu já descrevi um que funciona de forma análoga a ttysnoops (que já passou da data de validade) e não requer raiz. Eu tenho um código de exemplo para este caso (que incluiria terminais internos no X), mas ainda não o publiquei. Se você quiser obter mais informações, entre em contato comigo.