【网络法医】Docker取证
【网络法医】Docker取证
- 1.docker变更记录取证
- 2.docker镜像取证
- 3.工具取证
1.docker变更记录取证
如果怀疑docker容器被破坏。例如如下wordpress容器:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
可以通过docker diff wordpress
命令来查看容器的变更记录(记录的开头部分,C 代表 Changed,而 A 代表 Added):
docker diff wordpress
C /var
C /var/lib
C /var/lib/mysql
A /var/lib/mysql/ib_logfile0
A /var/lib/mysql/ib_logfile1
A /var/lib/mysql/ibdata1
A /var/lib/mysql/mysql
A /var/lib/mysql/mysql/time_zone_leap_second.MYI
A /var/lib/mysql/mysql/general_log.CSV
如果你发现某个文件,比如 /etc/shadow
被修改了,可以使用以下命令从容器中下载它,检查恶意活动:
docker cp wordpress:/etc/shadow.
也可以访问容器并检查:
docker exec -it wordpress bash
2.docker镜像取证
当我们只有一个导出的 docker 映像(可能是 .tar
格式)时,可以使用 container-diff
来提取修改记录:
container-diff analyze -t sizelayer image.tar
container-diff analyze -t history image.tar
container-diff analyze -t metadata image.tar
然后,可以解压缩映像并访问 blobs 以搜索可能在更改历史中发现的可疑文件:
tar -xf image.tar
3.工具取证
为了在docker镜像中查找添加/修改的文件,可以使用 dive 开源工具:
dive取证工具
使用命令:
sudo dive flask:latest
此工具能够浏览不同的 Docker 镜像块并检查哪些文件被修改/添加。红色表示添加,黄色表示修改。使用tab键切换到其他视图,使用space键折叠/打开文件夹