Como limpar a conta de usuário hackeada (não raiz)?

3

Então eu configurei um servidor linux e esqueci de desabilitar a senha ssh em texto puro ou instalar o denyhosts ou ativar qualquer tipo de política de senha. Normalmente eu tenho negar hosts e funciona bem. Como resultado da falta desse passo vital (sim, eu deveria automatizar o processo) um usuário com uma senha fraca foi hackeado. Agora, no pressuposto de que as permissões gerais são boas, o que posso fazer para descobrir o que elas fizeram e removê-las?

A propósito, eu sou um programador por natureza e não um administrador do sistema, então seja gentil!

    
por Kris 28.05.2009 / 20:01

5 respostas

5

Você nunca pode ter certeza absoluta do que eles fizeram na conta do usuário. Mas os lugares para começar são os arquivos de histórico. * No diretório inicial.

Meu conselho seria copiar os dados bons / importantes conhecidos e, em seguida, apagar o resto. O intruso poderia ter deixado qualquer tipo de surpresa desagradável nos arquivos de configuração, .bashrc, etc.

Você também deve verificar se algum arquivo de propriedade do usuário está no sistema e procurar processos em execução:

# find / -user USERNAME
# ps -a -u USERNAME

Para o futuro, aconselho ativar a contabilidade do processo. Você pode então verificar os comandos executados anteriormente usando 'lastcomm'.

    
por 28.05.2009 / 20:09
2

Se você tiver um backup à mão, você poderá compará-lo ao sistema de arquivos atual para ver o que mudou. Preste especial atenção aos diretórios que normalmente estariam no caminho, como / bin, / usr / bin, / usr / local / bin, / sbin, / usr / sbin, / usr / local / sbin, / opt / bin, etc.

Procure também um rootkit: Uma lista de rootkit do Windows ferramentas de detecção e remoção

Mas você não pode saber que encontrou tudo o que eles fizeram. É melhor voltar a um bom estado conhecido (por exemplo, último backup) e trazer os dados cuidadosamente verificados que mudaram desde então com você. Melhor ainda seria limpar o sistema e instalar um IDS antes de ligá-lo à rede.

A menos que você esteja executando um assistente ou um tripwire ou algo semelhante, você não tem muitas outras opções.

    
por 28.05.2009 / 20:11
1

Você deve verificar o histórico de usuários e histórico de raízes.
Procure em / tmp por arquivos suspeitos (código-fonte, executáveis, arquivos pertencentes a esse usuário). Use o link e / ou o link para verificar sistema.
pstree / top / ps aux para verificar processos em execução.
Olhe para os arquivos de log em / var / log para o horário específico do hack, se você tiver.

    
por 28.05.2009 / 21:32
1

Se a conta suspeita de comprometimento não for privilegiada, há apenas alguns lugares onde o invasor pode ocultar um malware persistente. Limpe esses lugares adequadamente e não há necessidade de explodir completamente a conta.

  1. Ela enviará os arquivos de inicialização: .bashrc , .bash_profile , .profile , .bash_login , etc. Para as não-bash shells, verifique a man page correspondente.

  2. Se o sistema usa systemD, então existe outro vetor via systemd - instância do usuário. As unidades systemD definidas pelo usuário entram em ~/.config e ~/.local [1] .

  3. Tarefas Cron. Depende do seu sabor de cron, mas normalmente em algum lugar em /var/lib/...

  4. Arquivo de configuração da área de trabalho. Geralmente em ~/.config e ~/.local . Por segurança, remova esses diretórios.

  5. Pam_env config em ~/.pam_environment .

Observe também que NÃO é seguro fazer a limpeza a partir de um sistema em execução porque o systemD permite a demora dos usuários através do login, o que significa que as unidades do usuário podem ser iniciadas a cada inicialização. Felizmente, é necessário que o polkit seja instalado para que o atacante possa demorar o usuário comprometido ... se você tem o polkit, você está em um mundo de dor:)

Portanto, é melhor fazer a limpeza a partir do initramfs passando init = / bin / bash para a linha de comando do kernel.

[1] link

    
por 08.06.2017 / 21:31
0

Limpe a conta do usuário movendo dados importantes, se houver. Verifique o histórico de comandos dos usuários para ver se algum script foi executado ou se qualquer comando não obrigatório foi executado. Exclua o usuário do sistema e remova o diretório inicial. Verifique se algum cronjobs foi definido. Verifique todos os processos detalhadamente para ver se houve algum processo em segundo plano definido pela conta comprometida.

Espero que ajude.

    
por 29.05.2009 / 07:44