首页 运维干货Docker化自动采集&模拟恶意软件环境

Docker化自动采集&模拟恶意软件环境

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

概述

一个真实的Linux恶意软件入侵环境,往往包含有病毒文件、病毒进程、恶意启动项、网络通信流量等病毒项,若我们只获得单一的病毒文件,很难还原出恶意软件的整个攻击环境,从而不便于对攻击链进行全面的研究分析,以及产品安全能力测试。下面,介绍一种基于Docker的方法,可以自动化地采集及还原恶意软件的整个攻击场景,以最大程度地模拟主机中毒的环境,方便后续对恶意软件进行研究与分析。

该方法的原理是,使用bash脚本自动化收集中毒主机上的病毒项,然后打包成容器环境,最后通过Docker在本地模拟运行,这时生成的Docker容器就包含了完整的恶意软件环境。

Docker化自动采集&模拟恶意软件环境插图

详细步骤

如下,以StartMiner(8220挖矿家族)的中毒环境作为演示,通过命令可以看到主机中包含有恶意定时任务、病毒文件、病毒进程等信息。

Docker化自动采集&模拟恶意软件环境插图(1)

采集脚本具体的代码如下,主要采集以下目录的文件:

  • /tmp/、/root/、/opt/ 病毒文件常见目录
  • 定时任务文件
  • ssh缓存文件
  • syslog和audit安全日志
  • 进程信息
  • 网络信息

Docker化自动采集&模拟恶意软件环境插图(2)

然后自动化生产docker-compose.yml文件,用于一键创建docker容器。

Docker化自动采集&模拟恶意软件环境插图(3)

malbox.sh脚本运行数秒后,即可打包好所有病毒项,生成文件malbox.tar.gz。

Docker化自动采集&模拟恶意软件环境插图(4)

将malbox.tar.gz在本地解压缩,malbox目录便包含Docker环境的所需的文件系统和配置文件,docker-compose.yml的功能为映射关键目录,及模拟执行恶意命令。在运行之前需要自定义下docker-compose.yml的信息,填上病毒家族名,以及启动时要运行的命令(可以参考ps.txt及netstat.txt填上需要模拟的病毒进程命令)。

Docker化自动采集&模拟恶意软件环境插图(5)

修改完后,使用命令docker-compose up -d即可一键部署容器,查看容器列表,若出现了startmienr_2010便说明容器运行成功了。

Docker化自动采集&模拟恶意软件环境插图(6)

恶意软件容器所使用的基础镜像为malbox,该镜像在ubuntu镜像基础上新增了恶意软件常用到的一些命令及服务(wget、curl、ssh、crontab等),以达到更好的模拟效果。

Docker化自动采集&模拟恶意软件环境插图(7)

使用docker exec -it startminer_2010 /bin/bash命令,就能进入到容器,此时的环境就跟中毒主机的环境几乎一样了,可以在该环境中进行排查分析。

Docker化自动采集&模拟恶意软件环境插图(8)

查看进程,也能清晰地看到恶意的下载进程,以及CPU占用率极高的挖矿进程。

Docker化自动采集&模拟恶意软件环境插图(9)

容器中的syslog日志和audit.log日志,也有助于研究员对整个恶意软件的攻击链进行溯源。

Docker化自动采集&模拟恶意软件环境插图(10)

audit可以使用自定义规则进行监控,将可疑行为按照ATT\&CK矩阵进行分类。

Docker化自动采集&模拟恶意软件环境插图(11)

总结

模拟出来的恶意软件容器,方便搭建及部署,若有蜜网或EDR环境,还可以将容器接入到其中以更好地检测收集恶意软件的恶意流量、恶意行为。

参考链接

  • https://github.com/vulhub/vulhub/

原文链接:https://www.freebuf.com/articles/system/255918.html

本文链接:http://www.yunweipai.com/39362.html

网友评论comments

发表评论

邮箱地址不会被公开。

暂无评论

Copyright © 2012-2021 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部