zoukankan      html  css  js  c++  java
  • 20145218张晓涵 恶意代码分析

    20145218张晓涵 恶意代码分析

    恶意代码概述

    何为恶意代码

    • 恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。恶意程序创作者有一套不断扩充且技术先进的工具组合可供他们任意运用,其中包含了傀儡程序与傀儡网络、Rootkit、社交 工程技巧、间谍程序与广告程序等等。

    恶意代码分析

    分析对象:《20145218张晓涵 后门原理与实践》中生成的的145218.exe

    • 按照分析过程中恶意代码的执行状态分成两大类。
    • 静态分析技术:利用分析工具(反汇编工具)对恶意代码的静态特征和功能模块进行分析的方法。
      • 优点:
        • 恶意代码没有动态执行,对分析系统不会造成破坏,比较安全。
        • 静态分析方法可以在可执行文件执行之前对整个代码的流程有个全局掌握。
        • 不受具体进程执行流程的制约,可以对代码进行详尽的细粒度的分析。
      • 缺点:
        • 由于静态分析本身的局限性,分析内容不全面,存在漏报。
        • 绝大多数静态分析技术只能识别出已知的病毒或恶意代码,对采用了编码的多态变种或加壳压缩处理的程序则无能为力。
    • 动态分析技术:监视恶意代码运行过程来了解恶意代码功能;根据分析过程中是否需要考虑恶意代码的语义特征分为外部观察法和跟踪调试法两种。
    • 静态文件特征分析
      • PE文件分析
      • 文件壳分析
      • 收集字符串表,函数表信息
    • 动态文件行为分析
      • 注册表比较
      • 抓包分析

    实践过程

    PE文件分析

    • 通过对PE文件的分析,可以得到Dll依赖关系,文件导入的资源,文件编译的时间导入导出表等信息。常用的工具有PEview,dependency walker,Resource Hacker,PE explorer等。其中PE explorer能够包含PEview,Resource Hacker等工具的信息,是一款综合的工具。

    • 通过PE explorer打开文件145218.exe,可以查看PE文件编译的一些基本信息,比如编译时间等

    • 点击引入,如下图所示,可以看到dll库

    • 其中advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关,这个就比较危险。

    文件壳分析

    • 加壳是通过压缩程序或者在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是为了隐藏程序真正的入口)。大多数病毒就是基于此原理。

    • PeiD:常用的的查壳工具,几乎可以侦测出所有的壳,其数量已超过470 种PE文档的加壳类型和签名。常用代码壳数据保存在目录下的userdb.txt文件中

    • 在主机中双击PEiD.exe,发现根本无法运行,只能在虚拟机中打开,我把exe和病毒都拷到了XP虚拟机里

    • 我们可以看到如果用一个普通的exe文件进行查壳,会显示调试工具,所以什么也没有找到反而比较可疑

    • 所以我们点击set info就发现了一些别的东西,经过百度可以知道upx就是可以加壳的工具。

    TCPView查看恶意代码回连前后情况

    • 远程端口443开放

    sysmon

    • 明明每一步都是按步骤做的,就是不成功,安不上,电脑卡到无能为力,图书馆留给我的时间也不多了

    • 终于想起了问题所在,要用管理员身份运行cmd,按住windows+x键,用管理员身份运行,xml文件是老师指导书里的,保存在sysmon.exe同目录下就好。输入以下指令进行安装配置。

    • 右键“我的电脑”选择管理,进入事件查看器,应用程序和服务日志,Microsoft/Windows/Sysmon/Operational,终于能查看日志了

    • 打开kali监听,进行回连,再查看

    使用netstat命令设置计划任务,每5分钟反馈

    • 设置触发器及操作(设置触发器时忘了截图,真的不想再打开了。。。)

    • 回连后,发现建立连接

    注册表比较

    • 首先在靶机里安装SysTracer2.10,如果电脑带的起两台虚拟机最好在虚拟机里安装,因为主机东西太多,进行快照时间太长,我的第一次快照就进行了20多分钟

    • 对靶机进行快照,保存为Snapshot #1

    • 在kali中打开msf监听,在靶机中双击145218.exe文件,回连成功,再次进行快照,保存为Snapshot #2

    • kali中通过msf发送文件给靶机,upload 文件名 目的文件名,靶机下再次快照,保存为Snapshot #3

    • 对比每次快照文件,找出每一次的区别进行分析

    • 通过比较第一次和第二次,可以看到注册表和端口都增加了,端口增加的就是在kali里设置的监听端口

    • 对比第二次和第三次注册表也有变化,有新增注册表

    • 开放的端口里面可以看到运行的后门的痕迹

    • 文件也有变化

    wireshark捕包

    • 观察到kali和靶机之间的三次握手过程

    • 进行截屏捕获的包,已经是在濒临崩溃之前截下来的了,截图工具多次受损,电脑多次死机

    实验感想

    • 电脑自带的Windows Defender,IDS,各种安装的杀软,都可以对电脑进行监控,还可以通过一些动态监控软件,SysTracer、SysinternalsSuite、ProceMonitor等,观察一段时间内系统注册表、文件等的变化;
    • 怀疑有恶意代码的话,可以应用本实验中所用到的工具,特别是sysmon,可以根据用户自身的需求设置过滤内容,筛选出想要监听的数据(网络连接、进程创建、注册表变化等),也可以通过SysTracer工具对整个系统进行一个快照,通过快照前后的对比发现有无异常,再根据已收集的日志数据,对有所怀疑的目标进行仔细分析,对不清楚的DLL文件调用进行网上搜索,对来历不明的网络连接请求进行一个初步的安全判断,这样就可以对进程的行为有一个大致的定性分析,对于那些有问题不明确的进程,应该谨慎运行
    • 这个实验做的很痛苦,因为我的电脑根本带不起两台虚拟机,每次开kali加速球就已经变红了,还要开两个,根本就不能动,进行一个操作动辄一个小时就赔进去了,在这期间根本什么都干不了,电脑基本是死的,还要时刻守着不能去干别的事情,万一啥时候就能动了,而且这次具体任务就在提交当天发布,我之前费劲巴力做的大部分不符合要求,真的特别崩溃,每天都有很多实验,白天的课也很多,图书馆每天十点半就闭馆,宿舍十一点就断网熄灯,真的没有活路了,这能让我怎么办,我也很绝望啊!我在虚拟机里下个wireshark简直要死要活,网速慢,版本不对,来来回回折腾了好几遍,我的电脑就跟286一样我能用它干嘛啊,我打个空当接龙在屏幕上牌都能卡成虚的,体验了一次绝望...
  • 相关阅读:
    MCMC等采样算法
    【模拟退火】旅行商问题
    团队项目博客汇总
    2018年春季学期-助教总结
    linux简单命令常用随记
    记一次计算机网络作业
    [东北师大软工]Week2-作业2:个人项目实战 初步测试结果
    为什么你学过Java却忘光了——记第一次助教同学见面会
    ahk打印成pdf记录
    PSP总结报告
  • 原文地址:https://www.cnblogs.com/senlinmilelu/p/6636762.html
Copyright © 2011-2022 走看看