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):/cuckoo/status
For Docker for Mac
curl localhost:/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

开源沙箱CuckooSandbox 介绍与部署的更多相关文章

  1. SonarQube介绍及部署

    SonarQube介绍及部署 编写人:罗旭成 编写时间:2014-5-28 SonarQube简介 SonarQube是一个用于代码质量管理的开源平台(Java开发),用于管理源代码的质量,可以从七个 ...

  2. 开源项目renren-fast-vue开发环境部署(前端部分)

    开源项目renren-fast-vue开发环境部署(前端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部 ...

  3. 开源项目renren-fast开发环境部署(后端部分)

    开源项目renren-fast开发环境部署(后端部分) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 开发文档需要付费,官方的开发环境部署介绍相 ...

  4. Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  5. 首发福利!全球第一开源ERP Odoo系统架构部署指南 电子书分享

    引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...

  6. Redis介绍及部署在CentOS7上(一)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  7. [转]基于C#的开源GIS项目介绍之SharpMap篇

    我是一个刚毕业的GIS本科毕业生,目前在杭州从事GIS软件应用开发.在项目开发中总感觉自己的编程水平还不够,于是想找些开源GIS小项目来研究研究,借以提高自己的编程能力和项目开发能力.在网上搜了一下“ ...

  8. .NET 开源项目 StreamJsonRpc 介绍[下篇]

    阅读本文大概需要 9 分钟. 大家好,这是 .NET 开源项目 StreamJsonRpc 介绍的最后一篇.上篇介绍了一些预备知识,包括 JSON-RPC 协议介绍,StreamJsonRpc 是一个 ...

  9. 手写开源ORM框架介绍

    手写开源ORM框架介绍 简介 前段时间利用空闲时间,参照mybatis的基本思路手写了一个ORM框架.一直没有时间去补充相应的文档,现在正好抽时间去整理下.通过思路历程和代码注释,一方面重温下知识,另 ...

随机推荐

  1. SpringBoot自学的第1天——寻找模板引擎Thymeleaf

    第一步:先进入spring官网 https://spring.io/ 第二步:进入spring官网后找到导航栏上的Projects——>SpringBoot点击进去 第三步:点击——>LE ...

  2. 【C语言】利用递归函数求n的阶乘

    递归实现n的阶乘     什么是阶乘:0!= 1,n!=n * (n - 1) * (n - 2)......3 * 2 * 1: 解题思路: 1> 分析题意,很明显0是递归出口:        ...

  3. 动态设置微信小程序 navigationBarTitle 的值

    wx.setNavigationBarTitle({ title:' 动态值 ' })

  4. 搭建 Kubernetes 高可用集群

    使用 3 台阿里云服务器(k8s-master0, k8s-master1, k8s-master2)作为 master 节点搭建高可用集群,负载均衡用的是阿里云 SLB ,需要注意的是由于阿里云负载 ...

  5. 2.2 selenium:org.openqa.selenium.WebDriverException: f.QueryInterface is not a function

    来源: http://blog.csdn.net/qiyueqinglian/article/details/47813271 URL中地址写不全的时候,就会报如题错误. url必须是完整的,比如ht ...

  6. js获取用户当前地理位置(省、市、经纬度)

    在很多情况下,我们需要用到定位功能,来获取用户当前位置.当前比较流行的定位API有腾讯地图.百度地图.高德地图.搜狗地图等等,在这里我使用的是腾讯地图定位API,根据用户IP获取用户当前位置,API返 ...

  7. snowflake 雪花算法 分布式实现全局id生成

    snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID. 这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案 ...

  8. Docker - 容器的 连接 与 退出

    概述 连接容器, 退出容器 命令 run exec attach 退出 选项 -i -t -d 1. docker run 概述 docker run 通常用来创建新容器 docker run 的 三 ...

  9. 设备驱动基础学习--/proc下增加节点

    在需要创建一个由一系列数据顺序组合而成的/proc虚拟文件或一个较大的/proc虚拟文件时,推荐使用seq_file接口. 数据结构struct seq_fille定义在include/linux/s ...

  10. python连接Oracle的方式以及过程中遇到的问题

    一.库连接步骤 1.下载cx_Oracle模块 下载步骤 工具 pycharm :File--->右键setting--->找到Project Interpreter  -----> ...