20145236《网络攻防》Exp4 恶意代码分析

Stella981
• 阅读 413

#20145236《网络攻防》Exp4 恶意代码分析

一、基础问题回答

  1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    • (1)我们可以使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果受到怀疑的恶意代码启动的时候连接了一些看起来很可疑的端口,就可以进一步进行分析。
    • (2)我们可以通过在windows下建立一个监测本机连接ip地址的任务计划程序,不定时的查看一下电脑都在什么时候连了网干了什么,如果在你觉得自己的电脑没有联网的情况下出现了ip访问记录就十分可疑了。
    • (3)可以通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看。
  2. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    • (1)PE explorer工具,它可以对程序调用库等信息进行分析查看,还可以对其反汇编。
    • (2)PEiD工具,可以查看程序有没有被常用的加壳软件加壳。
    • (3)启动该程序,利用systracer及wireshark动态分析程序动向。

二、实践过程

  • 恶意代码是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。
  • 恶意代码的分析方式有两种:静态分析技术和动态分析技术。在这篇博客里我们静态分析选用的工具是:virscan、PE explorer、PEiD、;动态分析选用的工具是:systracer、wireshark、netstat、sysmon。
  • 本次实验采用的代码是第二次后门实验的代码。

2.1 使用schtasks指令监控系统运行

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

    date /t >> c:\netstatlog.txt time /t >> c:\netstatlog.txt netstat -bn >> c:\netstatlog.txt

  2. 打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"指令创建一个每隔五分钟记录计算机联网情况的任务: 20145236《网络攻防》Exp4 恶意代码分析

  3. 这个时候每隔5分钟就会更新一次netstatlog文件,我们可以查看当病毒回连的时候发生了什么: 20145236《网络攻防》Exp4 恶意代码分析 20145236《网络攻防》Exp4 恶意代码分析

  • 端口号、ip地址等等都监测并记录的十分清楚,美中不足的是我发现这个程序重启系统之后貌似需要在任务计划程序里手动开启?(不知道是不是我的配置不对,但是尝试了好几次如果不不手动开重启之后就不会记录。)

2.2 使用sysmon工具监控系统运行

  1. sysmon微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,我下载的是Sysmon v7.01,要使用sysmon工具先要配置文件,一开始我直接用的是老师给的配置文件:

    * microsoft windows
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>
    
    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
    
  2. 配置好文件之后,要先使用sysmon -accepteula –i指令对sysmon进行安装: 20145236《网络攻防》Exp4 恶意代码分析

  3. 启动之后,便可以到事件查看器里查看相应的日志: 20145236《网络攻防》Exp4 恶意代码分析

2.3 使用virscan分析恶意软件

  1. 在virscan网站上查看上次实验所做的后门软件的文件行为分析: 20145236《网络攻防》Exp4 恶意代码分析
  2. 可以看到其启动回连主机的部分IP地址以及端口号,还有对注册表键值进行了删除: 20145236《网络攻防》Exp4 恶意代码分析
  3. 还有反调试和创建事件对象的行为: 20145236《网络攻防》Exp4 恶意代码分析

2.4使用systracer工具分析恶意软件

  • 使用systracer工具建立了4个快照,分别是在主机中没有恶意软件时、将恶意软件植入到目标主机中后、恶意软件启动回连时、使用恶意软件获取目标主机的摄像头时: 20145236《网络攻防》Exp4 恶意代码分析

结果分析:

  • 启动回连时注册表发生变化 20145236《网络攻防》Exp4 恶意代码分析

  • 启动回连时,新建了20145236_backdoor.exe应用,可以看见它启用了许多DLL文件 20145236《网络攻防》Exp4 恶意代码分析

  • wow64cpu.dllwow64cpu.dll是一个进程来自Microsoft Corporation。它可以被发现在C:\位置。这是一个潜在的安全风险,它能被病毒恶意修改。

  • wow64win.dll:同上。

  • ntdll.dllntdll.dll是Windows系统从ring3ring0的入口。位于Kernel32.dlluser32.dll中的所有win32 API 最终都是调用ntdll.dll中的函数实现的。ntdll.dll中的函-数使用SYSENTRY进入ring0,函数的实现实体在ring0中。

  • Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3。RING0层拥有最高的权限,RING3层拥有最低的权限。按照Intel原有的构想,应用程序工作在RING3层,只能访问RING3层的数据,操作系统工作在RING0层,可以访问所有层的数据,而其他驱动程序位于RING1、RING2层,每一层只能访问本层以及权限更低层的数据。 综合以上描述,该程序可以获取到RING0权限,具有较高的侵略性。

2.5 使用wireshark分析恶意软件回连情况

  • 设置IP过滤格式:ip.src==192.168.85.129 or ip.dst==192.168.85.129,在进行回连操作时,使用wireshark进行抓包后可以看到,其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包: 20145236《网络攻防》Exp4 恶意代码分析

2.6使用Process Explorer分析恶意软件

  • 在虚拟机下通过PE explorer打开文件20145236_backdoor.exe,可以查看PE文件编译的一些基本信息,导入导出表等。

  • 如下图,可以看到该文件的编译时间、链接器等基本信息: 20145236《网络攻防》Exp4 恶意代码分析 如图可以看出编译时间为2017年3月28日 处理器为i386 版本号为6.0

  • 如下图,我们点击“导入表”,可以查看该文件依赖的dll库: 这是未实现免杀的病毒文件的ddl库 20145236《网络攻防》Exp4 恶意代码分析

  • WSOCK32.dll和WS2_32.dll,是用来创建套接字的dll库,显然,如果这个程序所介绍的功能中不应该有网络连接部分,那么在其动态链接库中还存在这2个库就显得尤为可疑了。

  • 另外图中所显示的ADVAPI32.dll库百度可知:是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。

  • 敏感了吧,注册表的操控,想想72k的一个小程序还操控注册表,一看就不正经了。

  • 另外2个不做过多介绍,属于一般程序在win下都会调用的dll库。

2.7 使用PEiD分析恶意软件

  • 使用PEiD软件可以查看恶意软件的壳的相关信息,以及其所使用的编译器版本: 20145236《网络攻防》Exp4 恶意代码分析

三、实验总结

  • 本次实验的重点在于对恶意代码进行剖析,在这个稍微强大一点的病毒就能轻易逃过杀软的时代,想要保证电脑的安全不可谓不难。
  • 以后我们若是怀疑自己的电脑被植入了病毒,可以通过这次实验中使用的方法手动监测。
  • 弄清楚一个程序是不是病毒,更要熟悉自己的电脑,清楚某些端口号的作用,清楚什么是可疑的动态。
  • 之前三次实验都是老师给出实验大体步骤,一步一步照着做下去,像按照说明书搭房子,锻炼的是动手能力,但这次实验几乎没有实验指导,怎么做都要自己去想,从地基到房梁结构都要自己设计,侧重于锻炼思维能力,收获了一种全新的学习体验。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Souleigh ✨ Souleigh ✨
3年前
前端性能优化 - 雅虎军规
无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
可莉 可莉
3年前
20145236《网络攻防》Exp4 恶意代码分析
20145236《网络攻防》Exp4恶意代码分析一、基础问题回答1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。(1)我们可以使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果受到怀疑的恶意代码启动的
绣鸾 绣鸾
1年前
Mac系统硬件运行信息查看器 iStat Menus
iStatMenus是一款Mac电脑上的系统监控工具,它可以帮助用户监测电脑的硬件和软件状况,提供实时的系统数据和统计信息。其主要特点包括:1.系统监测:iStatMenus可以监测CPU、内存、硬盘、网络、电池等系统参数,方便用户了解电脑的运行状态。2.
绣鸾 绣鸾
1年前
Mac系统硬件活动查看器iStat Menus
iStatMenus是一款Mac电脑上的系统监控工具,它可以帮助用户监测电脑的硬件和软件状况,提供实时的系统数据和统计信息。其主要特点包括:1.系统监测:iStatMenus可以监测CPU、内存、硬盘、网络、电池等系统参数,方便用户了解电脑的运行状态。2.
燕青 燕青
1年前
Macos专业的系统监控工具:iStatistica for mac
是一款功能强大的系统监测工具,可以实时监测CPU、内存、网络、磁盘卡等系统资源的使用情况,帮助用户轻松管理电脑性能和优化系统运行。具体来说,iStatisticaforMac具备以下特点:系统监控仪表板:实时展示CPU、内存、网络、磁盘卡等系统资源的运行状
绣鸾 绣鸾
1年前
iStat Menus for Mac(系统活动监控器)
是一款Mac电脑上的系统监控工具,它可以帮助用户监测电脑的硬件和软件状况,提供实时的系统数据和统计信息。其主要特点包括:1.系统监测:iStatMenus可以监测CPU、内存、硬盘、网络、电池等系统参数,方便用户了解电脑的运行状态。2.定制化:iStatM