Quão rápido não deve encontrar a porta de trás ou arquivos maliciosos em servidores Linux. Algum tempo atrás eu notei um problema quando a escrita APT, descobri que a maioria da Internet é tudo sobre o Windows artigos de detecção de malware e tutoriais e informações sobre como encontrar o software malicioso em sistemas Linux, mas muito poucos. Portanto, este artigo é principalmente para informá-lo sobre alguns dos sistema Linux sobre a verificação de técnicas e métodos de malware. Delongas, vamos chegar ao ponto.
Verifique os arquivos binários
Uma coisa a verificar para certificar-se os binários que não está executando é modificado. Este tipo de software malicioso que pode ser usado para apoiar a versão do sshd para permitir o uso de uma senha específica para conectar ao sistema, ou até mesmo uma versão modificada de algum arquivo binário, que é executado como root, basta ouvir para pacotes dos conjuntos originais de flip-flops Sockets pode ser. Para este fim, vamos RedHat e Debian como um exemplo.
Procurando não binários parte do
encontrar / proc / * / exe -exec readlink {} + | xargs rpm -qf | grep "não possuía"
encontrar / proc / * / exe -exec readlink {} + | xargs dpkg -S | grep "no caminho"
Verifique se a binários executados coincidir com os arquivos no pacote
encontrar / proc / * / exe -exec readlink {} + | xargs rpm -qf | xargs rpm -V
encontrar / proc / * / exe -exec readlink {} + | xargs dpkg -S | cut -d: -f1 | xargs dpkg -V
Verifique todos os arquivos do pacote
Outra coisa a fazer é verificar se certificar de que tudo é parte dos binários do pacote não foram modificados. Este processo pode levar algum tempo para ser concluído, mas vale a pena. Nós pode configurar um agendador de tarefas, a fim de executá-lo em um determinado momento.
Verifique todos os arquivos do pacote
rpm -Va
dpkg -V
saída
A saída deve mostrar todos os pacotes que pertencem ao arquivo binário, o valor de hash binário é calculado, e salvo no momento da instalação ou atualização de valor do pacote. O que se segue é o sistema Red Hat saída. O uso dpkg sistema Debian não verifica a maior parte deles, por isso, se você modificar o arquivo binário, apenas as palavras "5."
S diferentes tamanhos de arquivo
-Mode M diferentes (incluindo permissões e tipo de arquivo)
5 Resumo (soma MD5 anterior) diferente
aparelhos D números principal / secundário não corresponderem
G READLINK (2) incompatibilidade Caminho
U propriedade de usuário diferente
Grupo G de propriedade diferente
Diferente T Mtime
P capacidades diferentes
Verifique a tomada do RAW
Muitas vezes vemos porta RAW soquete de volta. Eles escutam para pacotes de entrada e eventos de disparo, tais como a recente descoberta de porta de trás "Chaos", e um exemplo de um pop-up na busca de socket raw no github porta dos fundos. Para esta verificação, vamos apenas olhar para o processo de usar soquetes RAW. Eles usam procedimentos comuns não são muitos, para que possamos estreitar o escopo do processo que você deseja visualizar.
Usando sockets de escuta cheques binários
-lwp netstat ou ss -lwp
lsof | grep RAW
Verificar a possibilidade de implantação de memória
Pode haver circunstâncias em que uma variedade de falsos positivos. memória RWX (leitura e execução de gravação) é usado por muitos programas, a maioria dos quais é uma linguagem interpretada, por isso gostaria python e java e similares, ou o uso de qualquer cenário de análise biblioteca tal situação, é muito normal. Se você encontrar um número de entradas de memória RWX eo processo não é um python ou java, então você deve olhar com cuidado para cima. Esta memória comando lista ID do processo RWX. Você pode ver a seguinte lista de cron, o que obviamente não é um processo normal.
Encontrar pid comando
grep -r "rwx" / proc / * / mapas | cut -d / -f 3 | uniq -c | tipo NR
Verifique o módulo PAM modificado
Um módulo PAM porta de inserção de volta comum ou substituição para autenticação. Isso pode permitir o acesso remoto, e também permitir a um atacante obter privilégios de root de qualquer usuário. Este backdoor não se preocupam com modificações no / etc / passwd, então todo o código original e o código modificado ainda é válido. Devido ao tipo de acesso que oferece, na minha opinião, este é um tipo muito perigoso de porta de trás. Você pode usar o protocolo legal normal a entradas de log, por isso, aparentemente, parece que não há nada como a atividade maliciosa na rede.
Verificando módulo PAM
find / lib64 / security / | xargs rpm -qf | grep "não possuía"
find / lib64 / security / | xargs rpm -qf | grep -v "não" | xargs rpm -V
acesso SSH
Mantendo os direitos de acesso não precisa excluir os arquivos binários de uma forma muito simples é simplesmente adicionar a chave ssh para o arquivo authorized_keys um usuário específico e permite aos crackers como como um usuário normal para entrar ssh. Esta é também uma das maneiras as mais difíceis de detectar, porque você precisa para determinar a chave ssh é legítimo ou malicioso, que só exige que os usuários para verificar as suas chaves no arquivo. Um invasor também pode roubar a chave do usuário, em caso de roubo, e depois usou-los antes.
Lista de pastas todos os usuários .ssh
. Cat / etc / passwd | cut -d: -f 6 | xargs -I @ / bin / sh -c "echo @; ls -al @ / ssh / 2 > / Dev / null "
sumário
Há muitas maneiras diferentes para manter os direitos sobre o acesso ao servidor Linux. Encontrar lista acima não está completa, mas eles são alguns dos métodos mais comuns para encontrar a porta dos fundos, incluindo Meterpreter github e encontrou outro backdoor comum.