1. 介绍
1.1应用
在工作中很多时候需要自己对一些可以程序,可执行文件进行检测,当然我们可以通过VT,微步,等一些开源的平台进行检测。现在我们通过自己搭建的开源的沙箱进行检测。所谓沙箱,是分离运行程序的一种安全机制。他通常用于执行未经测试的代码,或来自第三方、供应商、不可信网站等的不可信程序。我们可以通过沙箱在一个隔离的环境运行,不可信程序,并且获取他做的信息。
恶意软件分析一般分为两种:静态分析和动态分析。沙箱是动态分析的应用,它不静态分析二进制文件,实时执行并且监控恶意软件。这可以帮助安全分析人员获取不可信软件的细节,比如网络行为等,静态和动态分析不可信程序。生成的结果可以更快帮助我们对恶意软件进行分析。
1.2 关于Cuckoo
Cuckoo是一个开源的自动恶意软件分析系统,我们可以用它来自动运行和分析文件,并可以获取到全面的分析结果,
Cuckoo 可以获取以下类型结果:
1.追踪由恶意软件产生的所有进程执行的调用
2.恶意软件在执行中增删改查情况
3.恶意软件进程的内存输出
4.PCAP包格式的网络流量跟踪
5.在执行软件关键截图
6.机器全部内存输出
1.3 Cuckoo模块和可分析样本类型:
• 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://cuckoo.sh/docs/
https://github.com/blacktop/docker-cuckoo#dependencies
https://cuckoo.sh/docs/installation/host/
https://cuckoo.sh/docs/installation/index.html