atividade suspeita no servidor?

0

Eu tenho um servidor remoto e recebi um e-mail com cerca de 90% de consumo de uso de largura de banda. Então eu entrei no servidor e verifiquei e notei que gnome-terminal estava rodando no servidor, o qual eu não instalei. Eu peguei da saída netstat .

    [root@ser ~]# netstat -tunlpa
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      118/sshd            
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      223/sendmail: accep 
    tcp        0     28 xx.xx.xx.xx:22       MYIP:42584     ESTABLISHED 750/sshd: givi [p 
    tcp        0      0 xx.xx.xx.xx:55920    204.44.101.130:21       ESTABLISHED 379/gnome-terminal  
    tcp6       0      0 :::22                   :::*                    LISTEN      118/sshd            

Este é um novo servidor e eu não iniciei nenhum aplicativo, exceto o sendmail e o sshd (já ruuning), mas instalei alguns aplicativos obrigatórios. No resultado ps , também estou vendo alguma atividade (como comandos estão sendo executados) que não consigo descobrir como resolver?

[root@ser ~]# ps auxxwwffff
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3  40892  3268 ?        Ss   05:03   0:00 init -z       
root         2  0.0  0.0      0     0 ?        S    05:03   0:00 [kthreadd/5227]
root         3  0.0  0.0      0     0 ?        S    05:03   0:00  \_ [khelper/5227]
root        60  0.0  0.1  41452  1684 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-udevd
root        67  0.0  0.4 148056  5144 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-journald
dbus        97  0.0  0.1  26400  1604 ?        Ss   05:03   0:00 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root       104  0.0  0.1  26332  1628 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-logind
root       118  0.0  0.3  82788  3556 ?        Ss   05:03   0:00 /usr/sbin/sshd -D
root       750  0.0  0.4 132876  5080 ?        Ss   05:05   0:00  \_ sshd: givi [priv]
givinv     752  0.0  0.2 132876  2236 ?        S    05:05   0:00      \_ sshd: givi@pts/0
givi     753  0.0  0.1 115336  2024 pts/0    Ss   05:05   0:00          \_ -bash
root       790  0.0  0.2 187644  2744 pts/0    S    05:05   0:00              \_ sudo -i
root       791  0.0  0.1 115336  2064 pts/0    S    05:05   0:00                  \_ -bash
root      2276  0.0  0.1 139444  1600 pts/0    R+   05:12   0:00                      \_ ps auxxwwffff
root       127  0.0  0.0   6400   804 tty1     Ss+  05:03   0:00 /sbin/agetty --noclear --keep-baud console 115200 38400 9600 vt220
root       128  0.0  0.0   6400   804 tty2     Ss+  05:03   0:00 /sbin/agetty --noclear tty2 linux
root       129  0.0  0.1  22772  1560 ?        Ss   05:03   0:00 /usr/sbin/crond -n
root      1126  0.0  0.0  31520   300 ?        Ssl  05:07   0:00 sh
root      2248  0.0  0.0   1408   932 ?        Ss   05:12   0:00 cat resolv.conf
root      2251  0.0  0.0   1408   928 ?        Ss   05:12   0:00 cd /etc
root      2254  0.0  0.0   1408   932 ?        Ss   05:12   0:00 sleep 1
root      2256  0.0  0.0   1408   932 ?        Ss   05:12   0:00 ls
root      2257  0.0  0.0   1408   932 ?        Ss   05:12   0:00 netstat -antop
root      2266  0.0  0.0   1408   932 ?        Ss   05:12   0:00 uptime
root      2267  0.0  0.0   1408   932 ?        Ss   05:12   0:00 whoami
root      2272  0.0  0.0   1408   928 ?        Ss   05:12   0:00 who
root      2274  0.0  0.0   1408   932 ?        Ss   05:12   0:00 id
root      2275  0.0  0.0   1408   932 ?        Ss   05:12   0:00 sleep 1

Veja as últimas linhas do resultado! Se eu executar ps novamente, terei resultados diferentes para as últimas linhas.

[root@ser ~]# ps auxxwwffff
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3  40892  3268 ?        Ss   05:03   0:00 init -z       
root         2  0.0  0.0      0     0 ?        S    05:03   0:00 [kthreadd/5227]
root         3  0.0  0.0      0     0 ?        S    05:03   0:00  \_ [khelper/5227]
root        60  0.0  0.1  41452  1684 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-udevd
root        67  0.0  0.4 148056  5156 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-journald
dbus        97  0.0  0.1  26400  1604 ?        Ss   05:03   0:00 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root       104  0.0  0.1  26332  1628 ?        Ss   05:03   0:00 /usr/lib/systemd/systemd-logind
root       118  0.0  0.3  82788  3556 ?        Ss   05:03   0:00 /usr/sbin/sshd -D
root       750  0.0  0.4 132876  5080 ?        Ss   05:05   0:00  \_ sshd: givi [priv]
givi     752  0.0  0.2 132876  2236 ?        S    05:05   0:00  |   \_ sshd: givi@pts/0
givi     753  0.0  0.1 115336  2024 pts/0    Ss   05:05   0:00  |       \_ -bash
root       790  0.0  0.2 187644  2744 pts/0    S    05:05   0:00  |           \_ sudo -i
root       791  0.0  0.1 115336  2064 pts/0    S    05:05   0:00  |               \_ -bash
root      2461  0.0  0.1 139444  1604 pts/0    R+   05:13   0:00  |                   \_ ps auxxwwffff
root      2459  0.0  0.3  84132  3636 ?        Ss   05:13   0:00  \_ sshd: [accepted]
sshd      2460  0.0  0.1  84132  1620 ?        S    05:13   0:00      \_ sshd: [net]
root       127  0.0  0.0   6400   804 tty1     Ss+  05:03   0:00 /sbin/agetty --noclear --keep-baud console 115200 38400 9600 vt220
root       128  0.0  0.0   6400   804 tty2     Ss+  05:03   0:00 /sbin/agetty --noclear tty2 linux
root       129  0.0  0.1  22772  1560 ?        Ss   05:03   0:00 /usr/sbin/crond -n
root      1126  0.0  0.0  31520   300 ?        Ssl  05:07   0:00 sh
root      2449  0.0  0.0   1408   932 ?        Ss   05:13   0:00 ls -la
root      2452  0.0  0.0   1408   936 ?        Ss   05:13   0:00 ls -la
root      2455  0.0  0.0   1408   928 ?        Ss   05:13   0:00 sleep 1
root      2457  0.0  0.0   1408   932 ?        Ss   05:13   0:00 who
root      2458  0.0  0.0   1408   932 ?        Ss   05:13   0:00 cat resolv.conf

Eu matei o PID que recebi mas algum processo sh começou depois (agora eu matei isso também).

[root@ser ~]# netstat -tunlpa
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      118/sshd            
tcp        0      0 xx.xx.xx.xx:34784    204.44.101.130:21       ESTABLISHED 1126/sh             
tcp        0     60 xx.xx.xx.xx:22       MYIP:42584     ESTABLISHED 750/sshd: givi [p 
tcp6       0      0 :::22                   :::*                    LISTEN      118/sshd            

Não sei como encontrar o script culpado / IP (exceto o do netstat). Eu tentei instalar iftop, iptraf-ng, nload mas não ajudou. Alguém pode me ajudar com alguma ferramenta ou como encontrar a fonte desse problema?

    
por prado 19.03.2017 / 10:20

2 respostas

1

Eu tive alguma ajuda e consegui resolver esse problema. Havia uma entrada no arquivo /etc/crontab , como abaixo, e o script foi o que causou o problema.

*/3 * * * * root /etc/cron.hourly/gcc.sh

Ele estava executando algum binário (criptografado) que era responsável por criar binários em /usr/bin com nomes com fio como ipjihmyzuh, fdmhhxthxy, fojoouuupy, fgqzvgtjan, bsitumzdkd, jrddsxyemy, nmwgbaforc, cuveaysdzg .

Deixe-me explicar brevemente como conseguimos isso.

Do netstat, eu consegui o PID disso (acima do caso era 1126 / sh , mas o nome e PID continuam mudando).

Com lsof , consegui ver os binários com nomes acima.

lsof -p 1126 

Nós removemos os binários criados e eles continuam criando depois disso com um nome diferente. Então, como um tiro cego, nós então checamos os arquivos relacionados ao cron e apenas como uma tentativa parou o cron e matou todos os processos suspeitos e removeu binários novamente. A criação binária parou e nada está acontecendo agora.

Começou o cron novamente e as coisas voltaram. Removeu essa entrada de /etc/crontab , removeu todos os binários recém-criados, matou todos os processos suspeitos e agora tudo está normal.

Não sei como /etc/crontab foi editado ou /etc/cron.hourly/gcc.sh foi colocado lá. O cara que me ajudou disse que provavelmente aconteceu como o usuário root pode ter sido hackeado de alguma forma. Eu desabilitei a autenticação ssh root e usei apenas sudo user agora.

    
por 19.03.2017 / 12:10
3

Você está descrevendo assinaturas conhecidas de malware em sua própria resposta.

Seu servidor foi invadido por um ser humano ou por um bot. Isso é malware deixado para trás.

Eles certamente têm rootkits onde você pode até não ver o que eles estão executando, além do comando ps of who . Os rootiks são capazes de esconder processos e portas abertas ao investigar o sistema comprometido na linha de comando.

Reinstale do zero, você não tem garantias para o que foi alterado. Altere todas as senhas dos usuários que estão nesse servidor, pelo menos seus hashes de senha foram comprometidos, no trabalho, alguns deles já tiveram suas senhas simples comprometidas.

    
por 19.03.2017 / 12:56