ActiveMQ FileServer漏洞(详细)

半个月前,巡检时发现服务器出现不明进程,对其进行了处理,由于当时没有做详细记录,在这里把大致过程描述一下.

症状:

ps命令发现出现几个不明进程,

  1.于/tmp下运行的,名称随机的进程.占用CPU高达100%,确认为挖矿机

  2.于activemq下运行的不明进程,占用CPU很低,kill -9 杀死进程后会自动重启(当时以为是activemq的正常进程,后核对后发现该进程不属于activemq)

crontab -l,发现5分钟一次的计划任务,于某IP下载shell脚本

处理过程:

1.直接杀死/tmp下运行的程序

2.该服务器运行了redis和activemq,因为redis曾报过一次漏洞,所以第一怀疑是redis.

3.google后发现redis的可能性比较,于是查了一下activemq的漏洞

4.确认为activemq管理存在弱口令,而activemq的fileserver存在远程执行命令漏洞,导致出现该问题,官方:http://activemq.apache.org/security-advisories.data/CVE-2016-3088-announcement.txt

见http://www.2cto.com/article/201607/522259.html

处理方法:

依照官方处理意见,关闭fileserver功能,重启activemq

更详细的安全策略,请参见阿里云帮助文档https://help.aliyun.com/knowledge_detail/50436.html


time:2017年7月6日10:26:33

今天巡检服务器时,发现activemq被入侵,与上述情况完全相同,现提供完整现场.(怪我当时没把其他服务器的漏洞也堵上)

# ps axuf 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      3700  0.1  7.1 4716220 573796 ?      Sl   Apr27 192:18 /root/jdk1.8.0_121/bin/java -Xms1G -Xmx1G -Djava.util.logging.....省略后面
root     21062  299  0.5 492564 48000 ?        Sl   00:15 1826:58  \_ ./avx2 -a lyra2z -o stratum+tcp://

可以看出,该挖矿程序是利用activemq运行的,并置于activemq目录下

# ll
总用量 1280
-rwxr-xr-x 1 mysql games   22287 10月 15 2013 activemq
-rwxr-xr-x 1 mysql games    5748 10月 15 2013 activemq-admin
-rw-r--r-- 1 mysql games   16110 10月 15 2013 activemq.jar
-rwxrwxrwx 1 root  root  1152776 7月   4 12:50 avx2
-rwxr-xr-x 1 mysql games    6189 10月 15 2013 diag
drwxr-xr-x 2 root  root     4096 4月  27 17:16 linux-x86-32
drwxr-xr-x 2 root  root     4096 4月  27 17:16 linux-x86-64
drwxr-xr-x 2 root  root     4096 4月  27 17:16 macosx
-rwxr-xr-x 1 mysql games   83820 10月 15 2013 wrapper.jar
# file avx2
avx2: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, stripped
# stat avx2
  File: "avx2"
  Size: 1152776       Blocks: 2256       IO Block: 4096   普通文件
Device: fc01h/64513d    Inode: 665319      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-06 00:15:59.578818060 +0800
Modify: 2017-07-04 12:50:18.000000000 +0800
Change: 2017-07-06 00:15:55.004817830 +0800

# uptime
10:33:58 up 69 days, 17:42, 1 user, load average: 3.00, 3.00, 2.98

负载已经成功彪上了3

线杀死该挖矿机

# kill -9 21062
# ps axuf | grep avx2
root     21638  0.0  0.0 103332   832 pts/0    S+   10:35   0:00          \_ grep avx2
# uptime
 10:35:30 up 69 days, 17:43,  1 user,  load average: 1.41, 2.58, 2.84

负载已经在回落.

进入activemq的配置目录,备份原文件

# cd /opt/apache-activemq-5.9.0/conf/
# cp jetty.xml jetty.xml.bak

删除fileserver配置项

# vim jetty.xml
              <bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/admin" /> <property name="resourceBase" value="${activemq.home}/webapps/admin" /> <property name="logUrlOnStart" value="true" /> </bean>
<!--删除下面选项
<bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/fileserver" /> <property name="resourceBase" value="${activemq.home}/webapps/fileserver" /> <property name="logUrlOnStart" value="true" /> <property name="parentLoaderPriority" value="true" /> </bean>
-->
<bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/api" /> <property name="resourceBase" value="${activemq.home}/webapps/api" /> <property name="logUrlOnStart" value="true" /> </bean>

修改控制台密码

# vim jetty-realm.properties

admin: NEW_PASSWORD, admin
user: NEW_PASSWORD, user

重启activemq,将端口加入防火墙.

后期将使用单独的用户启动activemq.

原文地址:https://www.cnblogs.com/redheat/p/7069371.html