keylogger do Linux sem raiz ou sudo! É real?

29

Alguém no Youtube alega ter um keylogger no Ubuntu que não foi executado nem instalado como root. O link abaixo mostra uma demonstração dele funcionando.

link

Apesar das afirmações em contrário, essa pessoa poderia tê-lo instalado como root antes de se manifestar para o vídeo. Existe alguma outra evidência semi credível de que isso é realmente possível sem raiz para instalação ou execução?

ATUALIZAÇÃO: O software mencionado na resposta de 24 de junho não pode ser instalado sem o sudo / root. Eu adicionei uma recompensa para quem dá um link para um software de keylogger Linux que pode ser instalado e executado com privilégios regulares de usuário.

    
por Mike Rowave 24.06.2011 / 14:44

8 respostas

28

Sim, é real. Se você tiver sido explorado através de um navegador e um invasor puder executar código com seus privilégios de usuário, ele poderá registrar um programa por meio das instalações de início automático do GNOME ou do KDE, que executam programas no login. Qualquer programa pode obter códigos de varredura de teclas pressionadas no X Window System. É facilmente demonstrado com o comando xinput. Consulte a postagem no blog sobre o isolamento da GUI para obter detalhes.

    
por 11.09.2011 / 20:27
11

O conceito nesse vídeo é 100% real e o código é muito simples.

Identifique seu ID de teclado com: xinput --list

Registrar pressionamentos de tecla com: xinput --test $id

Corresponder números a chaves com: xmodmap -pke

    
por 24.04.2013 / 12:09
10

Sim, é possível.
Você pode experimentá-lo em sua própria máquina com um software similar lkl .

    
por 24.06.2011 / 16:51
8

Eu não assisti ao vídeo, então estou respondendo à impressão que tenho sobre o que ele afirma do segmento SU, em vez do vídeo que você cita.

Se um invasor puder executar o código em sua máquina como seu usuário, ele poderá registrar suas teclas pressionadas.

Bem, duh. Todos os aplicativos que você está executando têm acesso às teclas pressionadas. Se você está digitando coisas no seu navegador da Web, seu navegador da Web tem acesso às teclas pressionadas.

Ah, você diz, mas e quanto ao registro de pressionamentos de tecla em outro aplicativo? Enquanto o outro aplicativo estiver sendo executado no mesmo servidor X, eles ainda poderão ser registrados. O X11 não tenta isolar aplicativos - esse não é o seu trabalho. O X11 permite que os programas definam atalhos globais, o que é útil para métodos de entrada, para definir macros, etc.

Se o invasor puder executar o código como seu usuário, ele também poderá ler e modificar seus arquivos e causar todos os tipos de outros danos.

Isso não é uma ameaça. Faz parte das expectativas normais de um sistema de trabalho. Se você permitir que um invasor execute código em sua máquina, sua máquina não será mais segura. É como se você abrisse a porta da frente e permitisse que um machado matasse: se você fosse clivado em dois, não é porque a porta da frente é insegura.

O keylogger só pode registrar chaves pressionadas pelo usuário infectado. (Pelo menos enquanto o usuário infectado não digitar a senha do sudo.)

    
por 19.11.2013 / 00:33
3

É 100% possível. Para ttys / ptys (modo de texto), a maneira mais fácil é adicionar uma correção a / bin / {ba, da, a} sh (por exemplo, um segundo segmento de código, RX) e alterar o ponto de entrada (como um ELF). vírus). Bloqueando o acesso a este 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 do perfil, mas ocultar a linha. E / ou ocultar o programa.)

Pode-se então usar o sistema UNIX98 pty (7) ou simplesmente pipe (2) para registrar todas as entradas em um shell bifurcado, assumindo que o fd não está marcado como FD_CLOEXEC e até mesmo alterar a entrada do usuário no shell.

No X11, embora kdm / gdm / xdm seja executado como root setuid (ou o equivalente em recursos [ver setcap (8)] ou qualquer modelo de segurança que você esteja usando se não padrão), as coisas se tornam mais complicadas, obviamente. Se alguém pode elevar privilégios? iopl (2) ou ioperm (2) facilita bastante a vida com acesso direto a portas de teclado 0x60 / 0x64 no x86. Já que estamos assumindo que você não pode, devemos procurar uma rota alternativa. Eu conheço vários, mas não tenho certeza se você quer uma dissertação sobre como é possível e as interfaces envolvidas.

Basta dizer, anel 3, trojans não-superusuários são perfeitamente possíveis no * nix, apesar do isolamento do processo, como resultado de vários problemas (particularmente com o X) que adicionou recursos para que os daemons do modo de usuário forneçam, por exemplo, suporte a texto para voz para todos os aplicativos sem comprometer a segurança do sistema. Eu já delineei um que funciona de maneira análoga ao ttysnoops (que já passou da data de expiração), e não requer raiz. Eu tenho código de exemplo para este caso (que incluiria terminais internos no X), mas ainda não o publiquei. Se você quiser mais informações, não hesite em contactar-me.

    
por 18.10.2012 / 15:59
0

Sim, é possível instalar software sem privilégios su ou sudo; no entanto, isso geralmente é feito através de uma exploração de escalonamento de privilégios. Esse vídeo faz um bom trabalho das capacidades desse keylogger, mas deixa de fora um pouco de detalhes na instalação do keylogger. Pode haver alguns truques aqui, mas é difícil dizer apenas pelo vídeo.

    
por 06.09.2011 / 16:57
0

Para fins de teste, eu criei um keylogger TTY que pode ser anexado dinamicamente ao tty de um usuário e o programa não precisa ser instalado pelo root e pode ser usado por qualquer conta. Uma vez conectado, ele registrará as entradas que correspondem ao padrão dado na linha de comando quando o programa for iniciado.

    
por 16.03.2015 / 11:11
-3

É possível com sistemas como Crunchbang (distribuição baseada em Debian) apenas adicione permissões ao arquivo sudoers usando nano visudo no terminal e adicione keylogger para iniciar automaticamente como teclas de log para Linux por exemplo logkeys --start --output /home/user/.secret/log

Boa sorte

    
por 12.03.2012 / 12:45