1. 介绍
1.1应用
在工作中很多时候需要自己对一些可以程序,可执行文件进行检测,当然我们可以通过VT,微步,等一些开源的平台进行检测。现在我们通过自己搭建的开源的沙箱进行检测。所谓沙箱,是分离运行程序的一种安全机制。他通常用于执行未经测试的代码,或来自第三方、供应商、不可信网站等的不可信程序。我们可以通过沙箱在一个隔离的环境运行,不可信程序,并且获取他做的信息。
恶意软件分析一般分为两种:静态分析和动态分析。沙箱是动态分析的应用,它不静态分析二进制文件,实时执行并且监控恶意软件。这可以帮助安全分析人员获取不可信软件的细节,比如网络行为等,静态和动态分析不可信程序。生成的结果可以更快帮助我们对恶意软件进行分析。
1.2关于Cuckoo
Cuckoo是一个开源的自动恶意软件分析系统,我们可以用它来自动运行和分析文件,并可以获取到全面的分析结果,
Cuckoo 可以获取以下类型结果:
1.追踪由恶意软件产生的所有进程执行的调用
2.恶意软件在执行中增删改查情况
3.恶意软件进程的内存输出
4.PCAP包格式的网络流量跟踪
5.在执行软件关键截图
6.机器全部内存输出
1.3Cuckoo模块和可分析样本类型:
•Generic Windows executables
•DLL files
•PDF documents
•Microsoft Office documents
•URLs and HTML files
•PHP scripts
•CPL files
•Visual Basic (VB) scripts
•ZIP files
•Java JAR
•Python files
•Almost anything else
1.4体系结构
Cuckoo沙箱是由一个中心管理软件组成,处理样本执行和分析。每一个分析都在一个独立的虚拟或者物理机器中启动,Cuckoo主要组件时主机(用于管理软件)和一些客户机(虚拟机或者物理机进行分析)。
在主机中运行沙箱的核心组件,管理分析过程,客户机是隔离环境,恶意样本在其中隔离分析。Cockoo架构如下:
2.部署
本篇采取docker 的部署方案(有时间下一篇用几台云主机测试)
2.1 依赖环境
• blacktop/yara:3.7
•blacktop/volatility:2.6
•Docker
•Docker-compose
•Ubuntu 16 STL 云主机
2.2 在Ubuntu16 TSL 云主机
安装 Homebrew
开始安装
git clone https://github.com/blacktop/docker-cuckoo cd docker-cuckoo docker-compose up -d For docker-machine curl $(docker-machine ip):8000/cuckoo/status For Docker for Mac curl localhost:8000/cuckoo/status
2.3 开始进入
浏览器中输入 http://ip
3.使用介绍
3.1安装沙箱后,我们应该问自己要达到什么样的目标:
1.这是什么样的文件
2.希望处理多少分析
3.结合那些平台进行分析,各个分析平台各有优势,结合起来更加全面准确
4.对于本文件,预期要得到什么样的信息
4.使用
5.参考
https://github.com/cuckoosandbox/cuckoo
https://github.com/blacktop/docker-cuckoo#dependencies