答案1
我发现服务器上正在运行 wipefs,结果发现它是一个通过过时的 glassfish 服务传入的脚本。请运行 dpkg --verify 以查看您的软件包是否已被破解。您需要获取原始 wipefs 的副本才能放回正确的文件。检查您的系统是否未被破解,并删除它创建的所有 /etc/rc* 脚本。
答案2
/etc/rc.d/init.d/wipefs
我通过重命名来修复它建议作者:@Ziazis
查看正在运行的脚本,它不是默认路径,也不使用默认参数。所以
cat /etc/rc.d/init.d/wipefs
。如果它没有运行您想要的任何内容,并且您不想让它在系统启动时运行,只需将其移出/etc/rc.d
或完全删除即可。
答案3
我在运行 java/glassfish 的服务器上也遇到过类似的情况。在我的案例中,wipefs 由 /bin/wipefs 运行,并且也占用了 100% 的 CPU。我发现这个系统受到了攻击。以下是我调查中最重要的部分。
进行典型调查以确定这是否是恶意代码
# man wipefs
根据手册页上的描述,这个可执行文件没有理由运行——尤其是运行很长时间并消耗大量 CPU。
# locate wipefs | grep '/wipefs$' | xargs md5sum
f3798d1cdea6d4e6d18219c6d4380b4d /bin/wipefs
f3798d1cdea6d4e6d18219c6d4380b4d /etc/init.d/wipefs
c23a54b144df0e4cb7a2f5c2b87dec4c /sbin/wipefs
另外,在不同的地方有 3 个副本也是不正常的。在 /etc 中有一个可执行文件也是不正常的。
使用 Google 搜索可疑的 /bin/wipefs 的 md5,您会得到暗示黑客/病毒的搜索结果。
但是让我们继续:
# dpkg --verify
??5?????? /bin/ss
??5?????? c /etc/sudoers
??5?????? c /etc/mysql/my.cnf
??5?????? /bin/netstat
??5?????? c /etc/crontab
dpkg --verify
列出了自安装以来已更改的几个文件。这肯定是可执行文件(如 /bin/ss 和 netstat)被攻陷的迹象。根据 ss 和 netstat 的描述(man ss、man netstat),显然这里有恶意代码试图隐藏自己。这里需要注意的是:如果 dpkg -V 没有报告任何内容,请不要放松警惕,因为病毒/黑客很可能已经采取措施来欺骗它。
在我的例子中,crontab 中有一行每 12 分钟运行一次 /bin/wipefs。同样完全不正常。
我们来看一下wipefs中的字符串:
strings /bin/wipefs
...
$stratum+tcp://pool.minexmr.cn:8888
...
Try "xmrminer" --help' for more information.
所以这里有“挖掘各种加密货币”的代码。
在关闭机器之前,最好使用 strace 查看进程(如果您习惯的话)或查看 /proc/ 中的文件——至少使用 cat cmdline 和 ls -la fd。在我的情况下,后者指向一个打开的日志文件,内容如下:
# head /tmp/mcalog
CMD: /bin/wipefs -B -o stratum+tcp://pool.minexmr.cn:8888 -u 49ijJ3HJUg1b2MGnDmnEDJWdphGzWXgtbbBENx43NJiAUZWf8cSGryiZtYVZz3dgRcZH3Leokoqqi8SfRexMW32aFfvoHBp -p x -k
[2018-03-05 12:00:02] huge pages: available, enabled
[2018-03-05 12:00:02] cpu: ...
[2018-03-05 12:00:02] stratum url: stratum+tcp://pool.minexmr.cn:8888
[2018-03-05 12:00:02] backup url: none
[2018-03-05 12:00:02] Pool set diff to 80000.1
[2018-03-05 12:00:02] Stratum detected new block
因此再次引用矿池网。让我们使用这些信息来扫描我们的系统,查找可能与此恶意代码相关的其他文件:
find / -mount -type f -exec sh -c 'grep -q "\.minexmr\.\|wipefs" "{}"' \; -print ; find /tmp -mount -type f -exec sh -c 'grep -q "\.minexmr\.\|wipefs" "{}"' \; -print ; find /opt -mount -type f -exec sh -c 'grep -q "\.minexmr\.\|wipefs" "{}"' \; -print
--most likely malicious--
/etc/crontab
/var/tmp/gety
/bin/wipefs
/tmp/mcalog
/opt/glassfish3/glassfish/domains/domain1/applications/Sarketsdr/gety
--maybe malicious maybe not--
/sbin/swaplabel
/sbin/blkid
/sbin/wipefs
/usr/share/locale-langpack/en_GB/LC_MESSAGES/util-linux.mo
/usr/share/command-not-found/programs.d/amd64-main.db
/bin/mount
--probably no problem--
/var/cache/man/index.db
/var/lib/dpkg/info/util-linux.list
/var/lib/dpkg/info/util-linux.md5sums
/var/lib/mlocate/mlocate.db
/var/log/syslog
/var/log/syslog.1
/var/log/apport.log.1
/usr/lib/udisks2/udisksd
请注意这个文件/opt/glassfish3/glassfish/domains/domain1/applications/Sarketsdr/gety
。它很可能表明我们的系统大门敞开。
所以现在我们 100% 确定我们被黑客入侵了,我们要做的事情如下:1)如果可能的话,保留该系统的备份以供调查,如果不行的话,保留尽可能多的文件副本和命令输出 2)恢复备份并检查它是否干净 - 或者 - 重新安装操作系统 3)找出我们可以做些什么来避免再次遭受黑客攻击(至少不要以同样的方式:-)。