서버에서 의심스러운 활동이 있습니까?

서버에서 의심스러운 활동이 있습니까?

원격 서버가 있고 수신하는 이메일은 대역폭 사용량의 약 90%를 소비합니다. 그래서 서버에 로그인해서 확인해 보니 gnome-terminal서버에서 실행되고 있는 걸 확인했는데 아직 설치를 안 한 상태였습니다. 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            

이것은 새 서버이고 sendmail과 sshd(이미 실행 중)를 제외한 어떤 응용 프로그램도 시작하지 않았지만 몇 가지 필수 응용 프로그램을 설치했습니다. 결과 에 ps일부 활동(예: 명령 실행)도 표시되는데 이를 해결하는 방법을 모르겠습니다.

[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

마지막 몇 줄의 결과를 확인하세요! 다시 실행 하면 ps마지막 몇 줄에 대해 다른 결과가 나타납니다.

[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

나는 내가 얻은 것을 죽 PID였지만 sh일부 프로세스가 시작되었습니다(이제 나도 죽입니다).

[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            

범인 스크립트/IP(netstat의 스크립트/IP 제외)를 찾는 방법을 모르겠습니다. iftop, itraf-ng, nload 설치를 시도했지만 도움이 되지 않았습니다. 누구든지 몇 가지 도구를 사용하거나 이 문제의 원인을 찾는 방법을 도와줄 수 있습니까?

답변1

답변에서 알려진 맬웨어 서명을 설명하셨습니다.

귀하의 서버가 인간이나 봇에 의해 해킹당했습니다. 그것이 남겨진 악성코드입니다.

ps그들은 분명히 루트킷을 가지고 있으며 몇 가지 명령을 제외하고는 그들이 무엇을 실행하고 있는지조차 볼 수 없을 수도 있습니다 who. Rootiks는 명령줄에서 감염된 시스템을 조사하는 동안 열려 있는 프로세스와 포트를 숨길 수 있습니다.

처음부터 다시 설치하면 변경된 내용이 보장되지 않습니다. 해당 서버에 있는 사용자의 비밀번호를 변경하면 최소한 비밀번호 해시가 손상되었으며 직장에서 일부 사용자의 일반 비밀번호가 손상되었습니다.

답변2

도움을 받아 문제를 해결할 수 있었습니다. 파일에 다음 항목이 있으며 /etc/crontab스크립트가 문제의 원인입니다.

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

/usr/bin와이어 이름을 가진 바이너리 생성을 담당하는 일부 바이너리(암호화됨)를 실행 중입니다 .ipjihmyzuh,fdmhhxthxy,fojoouuupy,fgqzvgtjan,bsitumzdkd,jrddsxyemy,nmwgbaforc,cuveaysdzg.

이 작업을 수행하는 방법을 간략하게 설명하겠습니다.

netstat에서 얻을 수 있었습니다 PID(위의 경우1126/주, 그러나 이름은 PID지속적으로 변경됩니다).

lsof위와 같은 이름의 바이너리 파일이 보입니다 .

lsof -p 1126 

생성된 바이너리를 삭제한 후 계속해서 다른 이름으로 생성되었습니다. 그래서 우리는 블라인드 샷으로 cron 관련 파일을 확인하고 cron을 중지하고 의심스러운 각 프로세스를 종료하고 바이너리를 다시 삭제하려고 시도했습니다. 바이너리 생성이 중지되었으며 이제 아무 일도 일어나지 않습니다.

cron을 다시 시작하면 모든 것이 복원됩니다. 항목을 제거하고 /etc/crontab새로 생성된 모든 바이너리를 삭제하고 의심스러운 프로세스를 모두 종료했으며 이제 모든 것이 정상입니다.

/etc/crontab편집하거나 /etc/cron.hourly/gcc.sh거기에 넣는 방법을 잘 모르겠습니다 . 나를 도와준 사람은 일어날 가능성이 가장 높은 일은 루트 사용자가 어떤 식으로든 해킹당했을 수 있다는 것이라고 말했습니다. ssh루트 인증을 비활성화 하고 sudo이제 사용자만 사용합니다.

관련 정보