文档章节

记一次docker 容器被黑总结

Cnlouds
 Cnlouds
发布于 2017/08/03 11:31
字数 651
阅读 69
收藏 0

前记

很久没写文章了,一是因为自己的知识较为零散,另一个就是比较懒了,大多都零碎记录在了本地。

很久没有登录osc,登录的时候发现账号被冻结了,激活才能使用,这个安全功能给个赞,不过貌似存在邮件轰炸功能,可测,不表于此。

今天就简单说下最近遇到的一次业务jenknis docker容器被黑后排查的故事。

初步分析

1. 进入主机,排查history文件,进程,系统命令,常见文件,网络通信等基本方面。
2. ps/netstat/psof等系统命令文件被替换、存在异常进程名、存在大量异常端口通信、/tmp、/etc等目录存在可疑文件。
3. 从以上等特征初步分析为gates系列木马变种,含挖矿与ddos功能。
4. 根据业务已有对外网开放的服务及其他方面确认,此次被黑是因为5月份出现的jenknis反序列化漏洞导致,所以在history文件也就没有找到太多有价值的东西。

专向docker

既然系统本身没有太多日志,而且鉴于漏洞的利用方式,转向排查docker jenknis容器的日志或系统的syslog日志(syslog日志不排除被删)。

docker logs

# 查看容器2eb09877d1b0的运行日志,默认来自系统的/dev/stderr和/dev/stdout
docker logs 2eb09877d1b0

# 查看容器2eb09877d1b0 2017-06-17日开始的100条日志
docker logs -f -t --since="2017-06-17" --tail 100  2eb09877d1b0 

# 上面语句可能存在一个问题,无法导出含stderr的docker logs、无法grep查看docker logs日志
# grep查看含有特定字符的日志行
docker logs 2>&1 | grep hello
docker logs 2>/dev/null | grep hello

# 导出docker logs,查找docker 容器日志存放目录
docker inspect --format='{{.LogPath}}' 2eb09877d1b0

调查结果

从docker容器日志里可以详细看到每一次jenknis报错信息中含有的攻击者执行的命令字符串,至此基本确定了最早的攻击时间和攻击流程。

未完成的遗憾

一次完美的溯源应该是查清谁于什么时间通过什么方式黑进来,做了什么事情。
而此次溯源中出现了一点不完美是因为docker logs没有记录源ip。

后来查询官方文档后,自定义了docker logs记录的数据来源与日志格式,详细参考:
https://github.com/nginxinc/docker-nginx/blob/8921999083def7ba43a06fabd5f80e4406651353/mainline/jessie/Dockerfile#L21-L23
https://docs.docker.com/engine/admin/logging/view_container_logs/

© 著作权归作者所有

共有 人打赏支持
Cnlouds
粉丝 13
博文 95
码字总数 56136
作品 0
海淀
程序员
私信 提问
【转载】Docker+Kubernetes 干货文章精选

主要涉及到以下关键字: K8S、Docker、微服务、安装、教程、网络、日志、存储、安全、工具、CI/CD、分布式、实践、架构等; 以下盘点2018年一些精选优质文章! 漫画形式: 漫画:小黄人学 Se...

泡枸杞的IT人
02/18
0
0
记一次Kubernetes/Docker网络排障

昨天周五晚上,临下班的时候,用户给我们报了一个比较怪异的Kubernetes集群下的网络不能正常访问的问题,让我们帮助查看一下,我们从下午5点半左右一直跟进到晚上十点左右,在远程不能访问用...

陈皓
2018/12/08
0
0
技术讨论 通过SSRF漏洞攻击Docker远程API获取服务器Root权限

  *本文原创作者:差池其羽,本文属FreeBuf原创奖励计划,未经许可禁止转载   严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。   前言   这几天笔者在做关于自动化部署Docke...

FreeBuf
2018/08/15
0
0
Docker命令小记。

记录一下Docker中的命令,容器名称以:leafage 为例,不定时更新。 启动docker:systemctl start docker( RHEL7 红帽企业版”(Red Hat Enterprise Linux)) / service docker start (Linux...

Leafage_M
2017/11/17
0
0
Docker EE/Docker CE简介与版本规划

近日,Docker发布了Docker 17.03。进入Docker 17时代后,Docker分成了两个版本:Docker EE和Docker CE,即:企业版(EE)和社区版(CE)。那么这两个版本有什么区别呢?不仅如此,Docker进入17....

盖世英雄iii
2018/06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装数据库 常见问题

数据库重置密码 如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。 提示需要重置密码: ERROR 1820 (HY000): You must reset your passwo...

狼王黄师傅
16分钟前
0
0
三种方式拿到反射的入口

public class a_1 { public static void main(String args[]) throws ClassNotFoundException { //三种方式拿到反射的入口 System.out.println(Class.forName("reflect.com.Son")); System.o......

南桥北木
28分钟前
1
0
Macbook 安装PhotoShop 总提示安装包损坏的问题

问题描述 今天在给Mac10.12安装Adobe Photoshop的时候一直提示Error The installation cannot continue as the installer file may be damaged. Download the installer file again.起初以为......

Carlyle_Lee
34分钟前
1
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
14
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部