zoukankan      html  css  js  c++  java
  • 【杜鹃沙盒】Cuckoo SandBox学习笔记

     这是个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注入;

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

  • 相关阅读:
    SpringBoot 集成Log4j、集成AOP
    SpringBoot 集成JUnit
    SpringBoot yml文件语法
    SpringBoot 集成MyBatis、事务管理
    SpringBoot 集成Spring JDBC
    模板引擎简介
    SpringBoot 解决“不支持发行版本xx”的问题
    SpringBoot 全局异常处理
    SpringBoot 静态资源的配置
    SpringBoot的起步依赖
  • 原文地址:https://www.cnblogs.com/arsense/p/6504769.html
Copyright © 2011-2022 走看看