SSH estranho, segurança do servidor, eu poderia ter sido hackeado

30

Não tenho certeza se fui invadido ou não.

Tentei fazer login através do SSH e ele não aceitaria minha senha. O login raiz está desativado, então fui resgatar e ativei o login root e consegui efetuar login como root. Como root, tentei alterar a senha da conta afetada com a mesma senha com a qual havia tentado fazer login antes, passwdrespondi com "senha inalterada". Alterei a senha para outra coisa e consegui efetuar login, alterei a senha novamente para a senha original e consegui novamente.

Eu verifiquei as auth.logalterações de senha, mas não encontrei nada útil.

Também verifiquei vírus e rootkits e o servidor retornou isso:

ClamAV:

"/bin/busybox Unix.Trojan.Mirai-5607459-1 FOUND"

RKHunter:

"/usr/bin/lwp-request Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: a /usr/bin/perl -w script, ASCII text executable

Warning: Suspicious file types found in /dev:"

Note-se que meu servidor não é amplamente conhecido. Também alterei a porta SSH e ativei a verificação em duas etapas.

Estou preocupado que tenha sido hackeado e alguém esteja tentando me enganar: "está tudo bem, não se preocupe".

PhysiOS
fonte
10
Concordo com Michael. Parece que o Mirai usa a senha de força bruta para comprometer hosts Linux - incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html . Usar autenticação de chave pública seria melhor do que alterar a porta SSH para fins de segurança IMHO.
Josh Morel
3
@ JoshMorel Eu diria que a alteração da porta SSH é prejudicial à segurança. Isso não ajuda a proteger nada, mas as pessoas que fazem isso erroneamente se sentem mais seguras. Então, ao se sentirem mais seguros sem estarem realmente mais seguros, estão em pior situação do que antes. Além disso, eu diria que o pubkey auth não é simplesmente melhor, mas obrigatório.
marcelm
10
"... ele não aceitou minha senha ... respondeu" senha inalterada "... depois de alterar a senha para outra coisa que consegui acessar, alterei a senha novamente para o que era e ainda era possível Entrar." - Tudo isso pode ser explicado por você digitando sua senha (ou com o caps lock ativado) antes de ir para o usuário de resgate.
marcelm
2
a detecção de trojan do busybox por clamav aconteceu comigo também, esta manhã pela primeira vez, em mais de 100 sistemas; Eu estou votando falso positivo. Eu acho ClamAV atualiza o seu banco de dados SIG para ter este início falso positivo mostrando-se durante a noite última noite
JDS
2
Aliás, o hashsum sha256 do meu busybox nesses sistemas é 7fa3a176871de12832ca8a78b646bc6be92f7f528ee81d1c35bf12aa99292b1c. Estes são os sistemas ubuntu 14.04, e o mtime no bin do busybox é 14/11/2013
JDS

Respostas:

30

Como J Rock, acho que isso é um falso positivo. Eu tive a mesma experiência.

Recebi um alarme de 6 servidores diferentes, diferentes e geograficamente separados em um curto espaço de tempo. Quatro desses servidores existiam apenas em uma rede privada. A única coisa que eles tinham em comum era uma recente atualização daily.cld.

Assim, depois de verificar algumas das heurísticas típicas deste cavalo de Troia sem sucesso, eu carreguei uma caixa de vagabundo com minha linha de base limpa conhecida e executei freshclam. Isso pegou

"daily.cld está atualizado (versão: 22950, ​​sigs: 1465879, nível f: 63, construtor: neo)"

Um subsequente clamav /bin/busyboxretornou o mesmo alerta "/ bin / busybox Unix.Trojan.Mirai-5607459-1 FOUND" nos servidores originais.

Finalmente, para uma boa medida, eu também fiz uma caixa vagabundo do oficial do Ubuntu box e também tem o mesmo "/ bin / busybox Unix.Trojan.Mirai-5607459-1 encontrado" (Nota, eu tive que a memória nesta caixa vagabundo 512MB padrão ou falha no clams com 'morto')

Saída completa da nova caixa vagabunda do Ubuntu 14.04.5.

root@vagrant-ubuntu-trusty-64:~# freshclam
ClamAV update process started at Fri Jan 27 03:28:30 2017
main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
daily.cvd is up to date (version: 22950, sigs: 1465879, f-level: 63, builder: neo)
bytecode.cvd is up to date (version: 290, sigs: 55, f-level: 63, builder: neo)
root@vagrant-ubuntu-trusty-64:~# clamscan /bin/busybox
/bin/busybox: Unix.Trojan.Mirai-5607459-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 5679215
Engine version: 0.99.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 1.84 MB
Data read: 1.83 MB (ratio 1.01:1)
Time: 7.556 sec (0 m 7 s)
root@vagrant-ubuntu-trusty-64:~#

Então, eu também acredito que isso provavelmente será um falso positivo.

Eu direi que o rkhunter não me deu a referência: "/ usr / bin / lwp-request Warning", então talvez o PhysiOS Quantum esteja tendo mais de um problema.

Edição: acabei de notar que eu nunca disse explicitamente que todos esses servidores são Ubuntu 14.04. Outras versões podem variar?

cayleaf
fonte
11
Vou alterar minha autenticação SSH para uma pubkey e tentarei monitorar as conexões de rede, mas honestamente é muito estranho porque eu até copio e colo a senha e ela ainda a rejeita. O que devo fazer com a solicitação / usr / bin / lwp?
PhysiOS 27/01
11
Eu também recebi esta notificação esta manhã em um servidor Ubuntu 14.04. Comparei ( sha1sum) o /bin/busyboxarquivo do meu servidor com o mesmo arquivo em uma VM local criada a partir de uma imagem do Ubuntu e eles são idênticos. Então, também voto falso positivo.
precisa saber é
3
@PhysiOSQuantum Nothing. Isso também é um falso positivo - lwp-request é uma ferramenta relacionada a um módulo Perl ( metacpan.org/pod/LWP ), por isso é perfeitamente normal que seja um script.
duskwuff
45

A assinatura do ClamAV para o Unix.Trojan.Mirai-5607459-1 é definitivamente muito ampla, então é provável que seja um falso positivo, conforme observado por J Rock e cayleaf.

Por exemplo, qualquer arquivo que possua todas as seguintes propriedades corresponderá à assinatura:

  • é um arquivo ELF;
  • ele contém a string "watchdog" exatamente duas vezes;
  • ele contém a string "/ proc / self" pelo menos uma vez;
  • ele contém a sequência "busybox" pelo menos uma vez.

(A assinatura inteira é um pouco mais complicada, mas as condições acima são suficientes para uma correspondência.)

Por exemplo, você pode criar um arquivo com:

$ echo 'main() {printf("watchdog watchdog /proc/self busybox");}' > innocent.c
$ gcc -o innocent innocent.c
$ clamscan --no-summary innocent
innocent: Unix.Trojan.Mirai-5607459-1 FOUND

Qualquer build do busybox (no Linux) geralmente corresponderá às quatro propriedades listadas acima. Obviamente, é um arquivo ELF e definitivamente conterá a string "busybox" muitas vezes. Ele executa "/ proc / self / exe" para executar certos applets. Por fim, "watchdog" ocorre duas vezes: uma vez como nome do applet e uma vez dentro da string "/var/run/watchdog.pid".

nomadictype
fonte
20
Onde posso ler essa assinatura, e outras do ClamAV, por curiosidade?
Délisson Junio ​​27/01
2
Eu sabia que alguém mais esperto do que eu seria capaz de explicar por que era um falso positivo. Obrigado!
precisa saber é
3
@ Délisson Junio: Crie um diretório vazio, insira um CD nele e execute-o sigtool --unpack-current dailypara descompactar daily.cvd (ou sigtool --unpack-current maindescompactar main.cvd). Se você grep os arquivos resultantes para "Unix.Trojan.Mirai-5607459-1", você deve encontrar a assinatura, que está no daily.ldb. O formato da assinatura é explicado em signatures.pdf (vem com o pacote clamav-docs no Ubuntu).
Nomadictype
6

Isso apareceu hoje para mim também na minha verificação do ClamAV para / bin / busybox. Gostaria de saber se o banco de dados atualizado tem um erro.

J Rock
fonte
2
Digitalize / bin / busybox em qualquer Ubuntu 14.04 LTS com o mais recente banco de dados ClamAV. Retorna infectado. Este é um falso positivo, IMO.
J Rocha
2
Enviei um relatório falso positivo ao ClamAV. Também descobri que os binários do player vmware aparecem infectados com o mesmo cavalo de Troia. É provável que eles tenham incluído o código do busybox.
J Rocha
4

Tentei fazer login através do SSH e ele não aceitaria minha senha. O login raiz está desativado, então fui resgatar e ativei o login root e consegui efetuar login como root. Como root, tentei alterar a senha da conta afetada com a mesma senha com a qual havia tentado efetuar o login antes, o passwd respondeu com "a senha inalterada". Alterei a senha para outra coisa e consegui efetuar login, alterei a senha novamente para a senha original e consegui novamente.

Parece senha expirada. Definir a senha (com sucesso) pela raiz redefine o relógio de expiração da senha. Você pode verificar / var / log / secure (ou qualquer outro equivalente do Ubuntu) e descobrir por que sua senha foi rejeitada.

Xalorous
fonte