我有一个远程服务器,我收到电子邮件大约消耗了 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、iptraf-ng、nload 但没有帮助。有人可以帮助我使用一些工具或如何找到此问题的根源吗?
答案1
您在自己的答案中描述了已知的恶意软件签名。
您的服务器被人类或机器人入侵。那是留下的恶意软件。
ps
他们肯定有 rootkit,除了一些命令之外,你甚至可能看不到他们正在运行什么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
放置在那里。帮助我的人说,最有可能发生的是 root 用户可能会以某种方式被黑客攻击。我已禁用ssh
root 身份验证并且sudo
现在仅使用用户。