Exp4 恶意代码分析 ——20164316张子遥

Posted talank

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Exp4 恶意代码分析 ——20164316张子遥相关的知识,希望对你有一定的参考价值。

 

一、实践目标

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

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

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

 


 

 

二、实践内容要求

1.系统运行监控

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

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

2.恶意软件分析

分析该软件在启动回连,安装到目标机、 及其他任意操作时。该后门软件

  • 读取、添加、删除了哪些注册表项
  • 读取、添加、删除了哪些文件
  • 连接了哪些外部IP,传输了什么数据(抓包分析)

 

 

三、实践具体步骤

  • 系统运行监控

(一)Windows计划任务schtasks

1.在C盘目录下创建  4316netstat.bat 文件,可以通过修改txt文件后缀名实现,文件中内容如下:

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

 

技术图片

2.在命令行中输入:  schtasks /create /TN 4316netstat /sc MINUTE /MO 3 /TR "c:4316netstat.bat"  创建windows计划,打开任务计划程序就能看见,每三分钟就会监测哪些程序重在联网并记录下来。

> TN:Task Name,输入的是4316netstat

> SC: SChedule type,输入的是MINUTE,以分钟来计时

> MO: MOdifier

> TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

 

 技术图片

3.打开任务计划程序,双击4316natstat,更改其为使用最高权限运行,并确认操作选项卡中的程序或脚本路径是否选择正确。

技术图片

技术图片

4.静静等待程序运行,使4316netstat.txt中的数据达到一定量。我在完成了其他实践后,才开始分析txt中的数据,此时txt已经有200多K。

技术图片

5.将txt文件当中的数据导入到WPS表格中。

技术图片

6.通过构造数据透视表对运行的进程和访问的外部地址进行了排序以及分析。

技术图片            

运行的最多的进程有 :

360se.exe,360安全浏览器程序

360Tray.exe,360安全卫士木马防火墙模块

backgroundTaskHost.exe在网上搜了一下,貌似是win10系统自带的一个有关照片应用app(为了防止是伪装,特地将找到的backgroundTaskHost.exe上传到了virscan.org上面检测了一下,确实是安全的~)

qbclient.exe是腾讯的浏览服务组件,我们只要打开腾讯相关的软件就会唤醒qbclient.exe程序

需要一提的是 shelltest.exe 文件,这是我在实践中生成的后门程序(在报告后面会提到),我们可以通过查找来看看。

技术图片

技术图片

 TIME_WAIT 是本地端主动关闭后一定会出现的状态, ESTABLISHED 是已经建立连接, CLOSE_WAIT 是被动关闭状态。

技术图片

排序后将上面出现的较多的IPv6地址省略掉了,多都是因为虚拟机网卡的关系。

除开IPv6后,访问最多的地址是 101.201.173.208 , 101.37.115.180 通过 443 端口,也就是HTTPS服务。

技术图片

 

技术图片

 然后查了使用 80 端口(HTTP服务)最多的地址 101.4.60.15 。我猜想可能这是因为我通过edu上网的缘故....

 技术图片

(二)使用sysmon工具

前期在微软官网下载好Sysmon.exe

技术图片

1.创建配置文件 4316sys.xml 

 技术图片

2.使用 Sysmon.exe -i E:4316sys.xml 安装sysmon。

技术图片

3.因为查看ip地址后发现win和kali都发生了改变,所以重新生成了后门 shelltest.exe (用的是在kali中生成shellcode然后在win中用codeblock编译),成功回连到kali。

技术图片

技术图片

4.可以在 应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下查看日志。

技术图片

5.通过查找4316关键字,找到后门程序运行相关日志,能够观察到tcp连接以及两者的ip地址和端口

技术图片

技术图片

 


 

  • 恶意软件分析

(一)静态分析

1.将生成的后门程序 shelltest.exe 上传到 virscan.org 中,发现报毒率还是挺高的

不过我的哈勃文件分析貌似没啥东西....

技术图片

技术图片

2.使用PEiD分析恶意软件

  • 安装好PEiD后,先检测先前未加壳的后门程序:

技术图片

 

  • 再检测使用UPX加壳后的后门程序,PEiD成功检测出了加壳的相关信息:

 技术图片

 

(二)动态分析

1.用SysTracer进行动态分析

抓了以下五个状态:

  • 系统未运行后门的正常状态
  • 系统运行后门后成功回连kali
  • 在kali中打开shell在e盘创建了一个新文件夹myname
  • 在kali中在myname中新建txt文件
  • 在kali中提升权限

 技术图片

技术图片

技术图片

技术图片

 

技术图片

将snapshot#1与snapshot#2进行比较

技术图片

 可以通过注册表看到win中shell发生了修改,不过还有一些内容貌似无法查看

技术图片

将snapshot#2与snapshot#4进行比较,发现新增了myname文件夹,同时在application的different list当中发现了后门程序的进程行为(感觉还挺明显的毕竟这么多...),还在打开的端口中发现了shelltest.exe的运行

技术图片

技术图片

技术图片

 

技术图片

将snapshot#2与snapshot#5进行比较,发现在注册表中shell增添了许多项,不过还是有很多内容看不见

 技术图片

技术图片

①HKEY_CLASSES_ROOT 

  这个项包含所有的文件类型,文件关系,图标文件名,com对象等信息(也就是说哪一种文件要被哪一种应用程序打开都会记录在这个项里面)

②HKEY_USERS

  所有WINDOWS用户的文件都会记录在这个项里面,每个用户会有自己的项以保存个人设置

③HKEY_CURRENT_USER

  这个项保存了目前登陆的用户文件,以及个性化的设置,如 桌面外观,软件设置,开始菜单等.会随着登陆的用户不同而有所改变.这个项其实是HKEY_USERS的子项,当用户登陆系统后即由HKEY_USERS将用户的登陆设置值复制一份而成为HKEY_CURRENT_USER的项

④HKEY_LOCAL_MACHINE

  这个项保存了绝大部分的系统信息,包括硬件配置,网络设置,以及你所安装的软件等,是注册表里最重要也最庞大的项,当你用设备管理器更改了硬件的设置时,这个项里的文件也会跟着变动,由于HKEY_LOCAL_MACHINE是常接触的项,因此再说说下面的5个子项 :

  • HARDWARE: 此项记录了与硬件有关的各项信息 如驱动的设置 
  • SAM: 包含关于用户和组帐户的信息 
  • SECURITY: 包含安全相关的信息 如 用户权限 
  • SOFTWARE: 包含已安装的各项软件信息 
  • SYSTEM: 包含有关系统启动,驱动程序加载等与操作系统本身相关的各项设置信息
  • (这5个项的内容保存在/%SYSTEMROOT%/SYSTEM32/CONFIG)

⑥HKEY_CURRENT_CONFIG

  此项主要记录PNP设备及硬件的设置值(这与HKEY_LOCAL_MACHINE的部分内容重叠,这是由于XP支持"多硬件设置文件")

了解过这些后就会发现在利用后门进行操作时,程序的运行,文件夹和文件的新建,用户的提权,注册表会进行改动也就是自然的了。

 2.利用wireshark抓包分析

技术图片

 我们根据TCP三次握手过程,能看出上图ip 222.28.141.142 与 222.28.140.29 之间建立连接(即我的本机IP与虚拟机kali的IP)

不过数据包是经过加密的,没办法知道内容...

技术图片

 技术图片


 

 三、实践后问题回答

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

  • 使用windows自带的schtasks,设置计划任务,对主机的进程运行以及上网等进行记录。

  • 使用sysmon工具,按照自己的猜测来设置配置文件,查看相关的日志事件。

  • 使用Process Explorer工具,监视进程执行情况。

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

  • 上传到virscan.org上进行检测。
  • 使用PEiD分析确定的程序。
  • 使用systracer工具对恶意软件的信息进行具体分析。
  • 使用wireshark进行抓包从而获取攻击方与主机的通信。

 

 

 四、实践总结与体会

  这次实践让我们学习了更多种方法来发现恶意软件可能的存在,同时对恶意软件的分析主要分为静态分析方法和动态分析方法。实践中都有采用,不过在我看来更为有用和准确的是动态分析,是在恶意代码执行的情况下,利用调试工具对恶意代码实施跟踪和观察,确定恶意代码的过程,在实践中学到的方法很有用。

  这次实践是一次较为综合性的实验,包括了很多内容,但其实也让人发现,恶意软件的存在,如果是真的有意识去发现与检测的话,不依靠杀软,我们自己也能通过这些踪迹发现其存在,我们在平时更是不能掉以轻心,时常监控自己的电脑养成好习惯,毕竟经过上一次实践就让我们认识到了并不是所有的恶意代码都会被杀毒软件拒之门外。

 

以上是关于Exp4 恶意代码分析 ——20164316张子遥的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019 20165208 网络对抗 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165318 Exp4 恶意代码分析

2018-2019 20165226 Exp4:恶意代码分析

# Exp4 恶意代码分析

Exp4 恶意代码分析

20155301 Exp4 恶意代码分析