zoukankan      html  css  js  c++  java
  • 20145316许心远《网络对抗》第四次实验:恶意代码分析

    20145316许心远《网络对抗》第四次实验:恶意代码分析

    实验后回答问题

    请设计下你想监控的操作有哪些,用什么方法来监控

    • 想要监控的操作
      • 监控链接了哪些ip和端口
      • 监控注册表信息
      • 监控文件的增删
      • 权限变动
    • 想要用什么方法进行监控
      -静态方法
      • virscan扫描
      • ip explorer分析属性
      • dependency walker分析
      • peid分析
        -动态方法
      • wireshark抓包分析
      • sysmon监视记录系统活动,并记录系统日志
      • systracker查看注册表和文件信息
      • 创建任务监控

    如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息

    • TCPview工具可以查看系统的TCP连接信息
    • wireshark进行抓包分析,查看系统到底进行了哪些网络连接
    • systracer查看注册表信息的改动是否合理
    • sysmon/netstat监视和记录系统活动,并记录到windows事件日志

    实验体会

    • 终于理解了老师上课时说的“前三次实验大家都做得挺舒服的”这句话了,这次实验刚开始真是“透心凉,心飞扬”,一直到现在其实做得都并不满意,很多东西没有做全分析全,这才感觉到网络对抗这门课不是简单的种后门种病毒玩游戏,还是有很多硬知识需要去消化理解。比如说再systracer的snapshot环节,明明都照出来了,可就是不懂这些删减的表项到底什么意思,哪个进程开动了改往哪儿找,这充分显示出理论学习的不扎实。
    • 之前三次实验都是老师给出实验大体步骤,一步一步照着做下去,像按照说明书搭房子,锻炼的是动手能力,但这次实验几乎没有实验指导,怎么做都要自己去想,从地基到房梁结构都要自己设计,侧重于锻炼思维能力,收获了一种全新的学习体验。

    实验过程

    • 恶意代码是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。
    • 恶意代码的分析方式有两种:静态分析技术和动态分析技术。在这篇博客里我们静态分析选用的工具是:virscan、PE explorer、PEiD、dependency walker;动态分析选用的工具是:systracer、wireshark、netstat、sysmon。
    • 本次实验采用的代码是第二次后门实验的代码,中途改过多个名20145316_backdoor、fool5316、exp4等都是,大家意会。
    • win10的ip:192.168.2.175(桥接模式)
    • 虚拟机的ip:192.168.2.202(桥接模式)

    virscan扫描

    • 用上次实验的方法将虚拟机生成的后门传送到主机

      上传至virscan的在线网页,进行扫描(因为一点问题,我改了文件名)扫描结果如下:
    • 等待一会,点击“文件行为分析”,生成行为分析报告
    • 另外还有一些不需要工具的简单方法,比如说直接右键属性,没有证书、文件信息缺失的文件多有问题

    PE explorer

    • 文件头信息菜单下可以看一些简单的时间戳等基本属性信息

    • 导入表菜单下可以看这个程序都调用了哪些dll文件。下图中的ADVAPI32.dll文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控,而WSOCK32.dllWS2_32.dll这两个DLL用于创建套接字,即会发生网络连接。这3个dll同时出现,难道不奇怪吗?

    PEiD

    • 直接导入文件,查看程序是否加壳
    • but这个却告诉我们“nothing found”,好像是一个乖巧软萌的程序啊
    • 尝试过其他同学的做法,进一步展开,但等待我的仍然是“not packed”,不造为啥,可能版本太低或者64位系统的缘故吧。

    dependency walker

    • dependency walker这个软件也是针对dll进行分析的,而且显然比PE Explorer更强大
    • 哈哈,在这里我们可以找到一个这个恶意软件删除注册表键值的函数调用

    systracer(我的2.6版本有点低,建议下2.10)

    • 从这里开始我们的动态分析吧~建立4个快照snapshot
      • snapshot#1:什么都不做的情况
      • snapshot#2:kali生成后门并文件通过ncat传到主机上
      • snapshot#3:kali打开msf监听并回连成功
      • snapshot#4:kali在msf监听端对主机进行截屏
    • 快照结果对比分析
      • 1&2————新增了我们传输的文件exp4(显示有些乱码)
      • 1&2————ncat.exe被调用
      • 1&2————注册表发生变化

      • 2&3————新增注册表项vitualdesktop,获得主机shell
      • 2&3————注册表发生变化
      • 3&4————注册表发生变化

    wireshark抓包

    • 我抓取了kali向主机传送后门程序、回连、抓屏过程的数据包,设置正确的过滤条件,可以很轻易的获取相关信息,这些数据包里面含有三次握手过程,比如下图前三行。
    • “TCP segment of a reassemble PDU”是大段报文分解成段发送,像这部分应该就是传送后门文件时的数据。

    netstat

    • 创建任务,设置任务计划里的触发器,每5分钟反馈
    • 在C盘下创建文件夹:5316,在文件夹下创建netstat5316.txt,写一个脚本,内容如下:
    • 保存后将后缀改为.bat
    • 设置任务计划的“操作”选项栏,将启动程序设为我们的netstat5316.bat,参数为>>c:5316 etstat5316.txt,这样我们的网络记录信息netstat5316.txt就会保存在C盘5316文件夹下
    • 创建完成,运行任务,5316文件夹下出现我们的txt文件
    • txt截的图没啥分析价值,传一张之前在命令行执行netstat的图吧。可以看到kali回连成功那里的extablished。

    sysmon

    • 安装sysmon成功,xml文件内容复制老师的
    • 查看系统进程



  • 相关阅读:
    Java实现 蓝桥杯 算法提高 小X的购物计划
    Java实现 蓝桥杯 算法提高 小X的购物计划
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    129. Sum Root to Leaf Numbers
    117. Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/xxy745214935/p/6642901.html
Copyright © 2011-2022 走看看