这是个github上开源前十的项目之一,笔者只完成学习了部分功能,前来分享点经验

  整个工程 连接地址 :https://github.com/cuckoosandbox/cuckoo

0x01调试运行 学习代码很关键的就是调试了 所以首先奉上点调试小技巧

一个编译器最基本的就是调试了,所以先介绍下基本的调试啊

F9:调试运行,调试运行的过程中按F9,会直接走到下一个断点。

F8:单步运行,相当于VS的F10

F7:也是单步运行,不过近函数,相当于VS的F11

Ctrl+Alt+B:进函数 查看函数的具体内荣,相当实用,必备

Ctrl+F:搜索关键的变量函数,查看函数或者变量之间拖拽到watches里面进去就行了

0x02 函数讲解篇

首先是读配置文件的信息

第一箭头,合成的绝对路径

读的过程很明细了 调试结合配置文件信息

Section = config(文件名),Key = hello_world此类的 keyvalue=on

这样变历就可以把配置文件关键信息一一读取出来

然后设置Server的信息 定了个类,配置Server类的相关信息,端口,IP,注入文件的路径,分析包的类型什么的

然后判断是否PE文件 exe.sys.dll中一个,这是属于分析PE文件那一块儿的

接下就是同样相似的步骤配置我们的虚拟机的相关信息,过程差不多,这里就不贴代码讲解了

然后是利用TCP 绑定端口,开启线程监听

对端口进行监听,然后就可以开启我们的XML-RPC构建主机方面的连接了  url = http://192.168.1.10:8000

既然你要连接人家,构建好了好之后当然要进行连接,下面是等待虚拟机的连接

用了个延迟等待的函数,然后判断GetSatutau()得到链接状态,一旦连接上 退出等待 开始分析

然后构建需要传输文件的路径,遍历,压缩 ,使用xmlrpclib.Binary(zip_Data.getvalue())

传送压缩包.os_walk遍历路径,压缩传送分析目录的所有文件

虚拟机进行解压

虚拟机接受到相应需要分析的文件后就可以开始注入分析了

接下来就可以构建分析线程文件的路径,subprocess.Popen.开启线程,启动分析

而客户端主要是这几句,使用SimpleXMLRPCServer,构建RPC连接  函数的调用都在服务端

Analyzer.py分析过程不是很难,提权,创建管道,进程间通信,然后调用写好的,LoadExe.exe,Target.exe,Dll,进行注入就OK了 ,大部分注入的功能都实现在C++里面,主要有远程注入和APC注入;

最后附上 成功运行结果  希望对学习 这款恶意分析系统的人有所帮助

【杜鹃沙盒】Cuckoo SandBox学习笔记的更多相关文章

  1. iOS 沙盒(sandbox)结构 使用 实例

    声明:该文档是经过自己查找网上的资料以及自己多年的经验后而总结出来的,希望对大家有所帮助,有什么不恰当支出还请大家多指点! iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为 ...

  2. 【计算机】基本概念的理解 —— 沙盒(sandbox)、交互式计算/编程/应用

    web scraper:网络铲: scraper:n. 刮刀:铲土机:守财奴: 1. 交互式计算/编程/应用(interactive computing/application/programming ...

  3. 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】

    转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成 ...

  4. iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)

    版权声明:本文为博主原创文章,转载请声明出处:http://blog.csdn.net/jinnchang 1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系.每个 iOS 应用程 ...

  5. Swift iOS 文件操作:沙盒(SandBox)、程序包(NSBundle)

    1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系.每个 iOS 应用程序都有一个单独的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒.所有的非代码文件 ...

  6. 【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)

    1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系. 每一个 iOS 应用程序都有一个单独的文件系统(存储空间).并且仅仅能在相应的文件系统中进行操作,此区域被称为沙盒. 全部的非 ...

  7. iOS沙盒(sandbox)

    iOS沙盒 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,默认下iOS应用只能访问自己的沙盒 extenaion是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定程度上弥补 ...

  8. <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!

    原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0 ...

  9. 【转】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程

    http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0这个问题& ...

随机推荐

  1. 解决“System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本”的问题

    以server2008为例: 首先确保使用sqlplus能访问数据库. 1.管理工具->计算机管理->本地用户和组->组->administrators属性,添加,高级,立即查 ...

  2. P1987 摇钱树

    题意:有n棵摇钱树,k天,每天可砍一棵并获得其金币    每棵树初始有$a_i$个金币,每天减少$b_i$个 问k天得到的最多金币数 这题很明显是DP(锻炼自己的机会来了QAQ) 设$f[i][j]$ ...

  3. 数据结构1:数据结构与算法C语言版分析概述

    本节开始将带领大家系统地学习数据结构,作为一门计算机专业大二学生的必修课程,该课程面对的目标人群为初步具备基本编程能力和编程思想的程序员(大一接触了 C 语言或者 C++).通过系统地学习数据结构,可 ...

  4. 【笔记】MySQL的基础学习

    [笔记]MySQL的基础学习 老男孩 MySQL  一 安装与配置 1 下载安装 官网:http://dev.mysql.com/downloads/mysql/ 下载相应版本的压缩包 解压压缩包至任 ...

  5. SQL 十分位

    -- 十分位,这个算法不是很准确 select family_agreement_cnt -- 字段 ,dt -- 分区 ,rn -- 排序 ,cnt -- 总行数 ,percent2 -- 分位值 ...

  6. vue(2)创建项目

    1.创建项目 cmd到自己指定目录下,执行 vue init webpack-simple hello-vue 2.安装项目依赖 cd hello-vue cnpm install 3.运行该项目,测 ...

  7. java——newInstance()方法和new关键字

    https://www.cnblogs.com/liuyanmin/p/5146557.html 这两个都可以创建一个对象,那么这样个东西有什么不一样呢?什么时候用new,什么时候用newInstan ...

  8. 使用cucumber & selenium实现一个简单的bddtest

    1.Cucumber介绍 + feature : read requirement +scenario : testing situation,including + Given/ + when/ + ...

  9. Cookie和Session入门(一)

    目录一)背景介绍二)Cookie机制三)Session机制四)两者比较五)参考资料链接一)背景介绍Cookie与Session是常用的会话跟踪技术.1.Cookie通过在客户端记录信息确定用户身份,S ...

  10. java 开发体系参考学习

    https://www.oschina.net/question/2663968_2283797