【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

在Kali Linux 2020系统中安装、配置和使用cuckoo沙箱

放大字体  缩小字体 发布日期:2020-05-01 16:22:46    浏览次数:35
导读

  今天为大家介绍在kalilinux2020系统中cuckoo软件及沙箱的安装、配置和使用方法。  工作中很多时候需要自己对一些可疑程序进行检测,可以选择VT等在线检测平台,也可以使用自己搭建的开源沙箱进行检测。所谓沙箱(sandbox),是一种将未知、不可信的软件隔离执行的安全机制,一般用来将不可信软件放在隔离环境中自动地

  今天为大家介绍在kalilinux2020系统中cuckoo软件及沙箱的安装、配置和使用方法。

  工作中很多时候需要自己对一些可疑程序进行检测,可以选择VT等在线检测平台,也可以使用自己搭建的开源沙箱进行检测。所谓沙箱(sandbox),是一种将未知、不可信的软件隔离执行的安全机制,一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为、网络行为、文件行为等动态行为,安全研究员可以根据这些行为分析结果对恶意软件进行更深入地分析。

  (2)恶意软件文件行为:恶意软件执行过程中创建新文件、修改文件、删除文件、读取文件或下载文件的行为;

  Cuckoo的架构也比较简单,在Host机上运行Cuckoo主程序,多个Guest机通过虚拟网络与Host机相连,每个Guest机上有一个CuckooAgent程序,用来做Cuckoo的监控代理,结构图如下:

  为了使用基于djangle的web接口,需要安装mongodb。但是kalilinux更新源中没有mongodb,需要引用ubuntu的更新源才能安装,具体方法如下:

  从cuckoo2.0.0开始有了CWD的概念。CWD所对应的目录包含了配置组件、生成的数据、cuckoo的检测结果等数据。包括但不限于如下内容:

  如果以user1身份运行cuckoo,则不必指定CWD,默认使用/home/user1/.cuckoo/。那么为什么还要需要CWD的概念呢?原因是这样的,我们可以通过指定不同的CWD,在同一台主机上使用不同的配置同时运行多个cuckoo实例。例如想同时进行windows和安卓分析,可以指定不同的CWD,就不必再反复修改配置了。

  cuckoo.conf:主要的配置文件,最主要的是machinery,用于指定我们使用的虚拟机配置文件,默认是virtualbox。该文件同样位于conf目录下,名字是virtualbox.conf。另外一个比较重要的配置项是[resultserver]的ip和port,用于指定接收分析结果的服务器。该地址必须能够让虚拟机访问到,一般设置为虚拟网卡的地址,比如前面说过的Host-only虚拟网卡vboxnet0的IP地址192.168.56.1(也可以自己改成其他的),端口默认即可;

  processing.conf:核心处理组件配置文件,可以开启/关闭行为分析、缓冲区分析、内存分析、截屏、Snort、字符串提取、VirusTotal辅助分析等等功能;

  .conf:虚拟化配置文件,包括virtualbox/vmware/kvm/qume等。在实际的配置当中,根据自己使用的虚拟化环境,配置其中一个即可,同时,采用的这个配置文件也必须在cuckoo.conf的machinery字段指定。这里的配置选项都是针对特定虚拟化平台的,很多选项只适用于某些平台。前面我们用的是virtualbox.conf,其中mode指定virtualbox的运行模式,path指定VBoxManage的绝对路径,machines指定我们使用的虚拟机的名字(多个虚拟机需要用半角逗号隔开),platform指定虚拟客户机的系统类型,ip指定虚拟机的ip地址;

  auxiliary模块是持续进行恶意样本分析的脚本,这个配置文件定义它们的选项。保持默认即可。

  ip=192.168.56.101//与虚拟机中的IP地址配置相同(虚拟机需要设置固定IP地址)

  为了让恶意软件不对工作环境造成负面影响,并且虚拟机可以被分析者访问,应使虚拟机工作在host-only模式。但是这种网络模式无法满足正常的自动化恶意软件分析的要求,因为处于Host-only模式的虚拟机无法访问互联网,而很多恶意软件都需要访问网络才可以正常运行。所以还需要vboxnet0这块网卡具有代理上网的功能,使host-only网络中的虚拟机可以通过这块虚拟网卡访问互联网。如果要满足这个需求,需要在UbuntuHost机上做两个操作:开启流量转发、用iptables做地址转换(NAT)规则。

  但是iptables这样设置也只是临时的,系统重启之后这些规则就会失效,如果想系统重启这些规则仍然可用,可以做以下处理:

  下载安装2.7版本的python。安装后可能需要将python可执行文件的路径手工写入PATH环境变量。如果python2.7安装在系统盘,使用下面的方法将可执行文件路径加入PATH:

  系统属性—高级—环境变量—系统变量,选择path变量,点击“编辑”按钮。在原有内容之后加入下面的信息(注意使用分号作为分隔符):

  windows7系统安装时创建了一个账户,而administrator账户是禁用的。沙箱工作时应使用最高权限账户,避免应用程序因权限不足造成其恶意行为无法表达。

  接下来需要对配置好的客户机建立一个快照。每次Cuckoo调用客户机分析完一个恶意样本之后,会把虚拟机恢复到这个快照的状态。

  保存系统快照的时候有一点需要注意:确保在系统正常运行、且agent.pyw无界面运行的时候,执行系统快照。

  通过命令行或者网页方式向cuckoo提交一个URL,如果能得到合理的结果,则说明cuckoo运行正常。

  注意IP地址不要与其它虚拟机有冲突(前面的windows虚拟机配置为192.168.56.101)。

  接下来需要对配置好的客户机建立一个快照。每次Cuckoo调用客户机分析完一个恶意样本之后,会把虚拟机恢复到这个快照的状态。

  通过命令行或者网页方式向cuckoo提交一个可执行文件,如果能得到合理的结果,则说明cuckoo运行正常。

  以网页方式提交,cuckoo会自动判断文件类型,交给对应的虚拟机执行。例如提交自制的linux程序,名为linux.elf,会看到linux沙箱被启动:

  //提交本地文件并指定分析包(analysispackage)。所谓的分析包是关于样本的类型以及传递给样本的参数等,后面会详述分析包的概念。

  //提交本地文件并指定运行该文件的虚拟机(虚拟机名称对应virtualbox.conf文件中的machines的值,而不对应label参数的值)

  //提交本地文件并设置虚拟机时钟,格式为%m-%d-%Y%H:%M:%S。不指定时钟则使用当前时间。例如让样本运行在2001年一月24日14点41分20秒

  //提交样本,进行Volatility分析(使用free=yes选项来关闭cuckoo的hook机制,减少其产生的负面影响)

  loader:指定一个除rundll32.exe之外的伪造的DLL启动器名称,用于对抗某些恶意软件使用的反沙箱技术。

  class:指定被执行的类的路径。如果未指定,cuckoo会尝试运行jar包中MANIFEST文件里的主函数。

  file:指定压缩包中某文件的名称,将其作为分析对象。如果未指定,cuckoo会尝试运行sample.exe。

  password:指定打开压缩文件的密码。如果未指定,cuckoo将尝试不使用解压密码,或者使用“infected”作为密码打开压缩文件。

  ①本网所有内容均来自互联网或网友投稿,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。

  ②如相关内容涉及版权等问题,请在作品发表之日起一周内与本网联系,我们将在您联系我们之后24小时内予以删除,否则视为放弃相关权利,读者热线 。

 
关键词: linux虚拟机
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-190290.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4