zoukankan      html  css  js  c++  java
  • 20155207 《网络对抗》exp4 恶意代码分析 学习总结

    20155207 《网络对抗》 恶意代码分析 学习总结

    实践目标

    1.是监控你自己系统的运行状态,看有没有可疑的程序在运行。

    2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

    3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    实践内容(3.5分)

    1.系统运行监控(2分)

    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

    参考:schtask与sysmon应用指导

    实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

    2.恶意软件分析(1.5分)

    分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

    (3)读取、添加、删除了哪些注册表项

    (4)读取、添加、删除了哪些文件

    (5)连接了哪些外部IP,传输了什么数据(抓包分析)

    实验总结与体会

    意外收获

    • 对比最后两次快照时,有了意外收获,最初是发现端口有变化,可是觉得奇怪,此时并没有重新创建网络连接,而且我的木马也没有用到80端口,怎么可能80端口有变化
      p10
    • 后来发现是百度云在我没有启动它的时候自己在后台干一些小勾当,偷偷联网,鉴于百度云有自动备份的功能,我猜测他有可能在偷偷上传我电脑里新增的数据,好可怕,我并没有让他帮我备份啊。。。再也不敢再电脑里放不可告人的小秘密了。。。

    实践过程记录

    静态分析

    • 具体原理主要就是利用特征码进行检测,但是根据上周的实验结果看出,检测能力不够强,还是需要对恶意代码的行为进行动态监测

    动态分析

    systracer

    • 对靶机初始状态保存快照Snapshot #1

    • 传输后门文件并保存快照为Snapshot #2

    • 成功回连,保存快照Snapshot #3

    • 对比2 3两次快照,新增了进程文件还创立了网络连接,这就很可疑了,暴露了木马的一般行为

    • 获得靶机的shell,保存快照Snapshot #4

    • 对比两个快照,有新增的进程

    wireshark

    • 捕获靶机与攻击机之间的通讯

    • 使用wireshark进行抓包后可以看到,其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的就是执行相关操作指令时所传输的数据包:

    • 发现回连kali的一瞬间,靶机和攻击机之间建立了好多通信,分析其中一个数据包、

    • 源IP是靶机IP,目的IP和Kali的IP并不一致,这是因为虚拟机进行网络通讯要通过NAT方式,要经过一个地址池随机分配一个用于网络连接的IP,这里就是这个IP

    • 目的端口就是我们预先设计好的443端口

    • 但是发现靶机用于网络连接的端口一直在变,似乎是不同的服务在用不同的端口?这里不是很清楚

    TCPView

    • 使用TCPView查看回连Kali前后的网络连接情况

    • 后门程序开启了7960端口,回连目标主机,又预设目标主机的监听端口是443,所以伪装成了HTTPS连接

    使用netstat命令设置任务计划,每隔一段时间反馈

    • 创建任务,并新建触发器

    • C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:

        date /t >> c:
      etstatlog.txt
        time /t >> c:
      etstatlog.txt
        netstat -bn >> c:
      etstatlog.txt
      
    • 然后打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat"指令创建一个每隔两分钟记录计算机联网情况的任务

    • 创建完成后,我运行这个任务,发现netstatlog.txt并没有显示出网络连接记录信息,而是请求的操作需要提升。然后发现是自己没有以管理员身份运行

    Process Explorer

    • 回连成功后,新增后门程序进程

    • 运行后门程序,界面上就会出现它的基本信息。

    • 查看并分析具体信息

    • 和远程攻击机建立连接

    • 还可以用Process Explorer查看创建进程的程序信息和进程相关信息

    • 其调用的ntdll库,ntdll.dll是重要的Windows NT内核级文件。描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

    Process Monitor

    • 回连成功后,出现了很多Explorer.exe相关的进程

    • Explorer.exe是Windows程序管理器或资源管理器,猜测应该是木马运行伪装成了系统固有文件的执行

    sysmon

    • Sysmon.exe同目录下建立文件:test.txt,并输入老师指导书中给的XML

    • 管理员身份运行CMD,输入指令:Sysmon.exe -i test.xml,进行安装

    • sysmon启动

    • 查看事件ID为1的一个进程

    • 查看我的日志的时候,发现有一个ID为1的事件显示错误

  • 相关阅读:
    Vue和React组件diff更新影响范围对比
    ES6中import和CommonJS中require的区别
    MutationObserver监听DOM变化
    Mint UI中文官网
    为什么在浏览器不支持H265视频播放
    Google谷歌官网首页涂鸦记录
    windows键盘输入无效,键盘灯亮,打字不出字
    javascript实现跨域的方法汇总
    javascript中setInterval的用法
    浅谈Javascript数组的使用
  • 原文地址:https://www.cnblogs.com/lnaswxc/p/9103835.html
Copyright © 2011-2022 走看看