可爱的坏人

 

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

1. 实践基础

1.1 系统(联网)运行监控

1.1.1 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且进行深入分析。


(1)检查程序运行的合理性(他应不应该这时候运行);


(2) 检查程序占用资源的合理性(有没有不合理地、非法地占用资源);


(3) 综合分析结果,然后可以有目的地进行进行抓包。

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

1.2 恶意软件分析

1.2.1 特征捕捉


捕捉恶意软件联网情况、回连情况、进程迁移操作、修改注册表、修改文件的情况。

1.2.2 特征分析


分析、以及基于特征的防范。

1.3 基础问题回答

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


利用系统命令查看系统各项状态,并将查看结果保存为日志。使用计划任务为命令设置执行间隔,通过监控系统一段时间的运行状态来监控系统。

使用具有监控系统功能的可靠软件来实现系统监控。

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


使用systracer工具对确定的恶意软件进行行为分析。

用wireshark网络嗅探工具对该软件的网络通信情况进行分析。

2. 实践内容

2.1 系统(联网)运行监控

2.1.1 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且进行深入分析。


第一步:使用schtasks命令,在这里为了进行联网进程的监控,在命令行运行如下代码,创建计划任务netstat2327

schtasks /create /TN netstat2327 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog2327.txt"

参数分析:/create创建定时任务;/TN设置taskname;/sc设置运行间隔;/MO设置周期;/TR设置runtask的命令


第二步:在C盘要目录下建一个文件c:\netstat2327.bat(可以先在桌面新建txt文本文件,使用记事本写入后在修改后缀为.bat,复制到C盘中),写入内容如下:

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


第三步:桌面开始处右键打开计算机管理-任务计划程序,可以看到我们新创建的任务:

双击这个任务,点击操作-编辑,将其中的程序或脚本改为我们创建的netstat2327.bat批处理文件,参数可选项为空,点击确定。(注意看这里:一定要勾选使用最高权限运行,否则可能导致文件不能自主更新或者记录里出现权限问题)


第四步:在计算机管理界面对该任务右键点击运行,可在netstat2327.bat目录下看到一个txt文本文件,打开就可看到每隔一分钟被输到这里的联网数据。


第五步:运行大概有一个多小时以后停止。如果需要更全面的监控,可以根据情况调整时间。

参考教程:https://www.cnblogs.com/zjy1997/p/8824717.html 。将数据导入Excel做成图表。


可以看见几个主要的联网进程分别是:

  • chrome.exe 我的浏览器,看起来没啥问题
  • listen1.exe 我的音乐播放器
  • mysqld.exe 我的MySQL Server 8.0应用程序
  • picpick.exe 我的截图软件
  • SearchUI.exe 我真的不知道这是啥,没用过
    上网搜了一下啊,是小娜(cortanar)
  • SkypeApp.exe 依旧不知道

其实它是个聊天软件程序,我没用过

  • TIM.exe tim办公软件

  • YoudaoNote.exe 有道云笔记,我用来写博客的

  • CDPUserSvc_95e9e 依旧不知,上图

  • WpnService 系统推送服务
    查一下ip地址:

说明在和海外服务器进行沟通,关了它

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

Sysmon是微软Sysinternals套件中的一个工具。可以监控几乎所有的重要操作。


第一步:写配置文件,命名为sysmon2327.xml。

相关事件过滤器选项在这可看到,进程创建ProcessCreate我用到了Image、SourceIp、SourcePort,进程创建时间FileCreateTime我用到了Image,网络连接NetworkConnect我用了Image、SourceIp、SourcePort,远程线程创建CreateRemoteThread我用了TargetImage、SourceImage(记得在Sysmon schemaversion后将版本号换成你在后边下载的Sysmon的版本)

文件sysmon2327.xml如下:

<Sysmon schemaversion="10.42">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <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>
  </EventFiltering>
</Sysmon>s


第二步:下载Sysmon到桌面(从官网下载)右键点击左下角Windows标志,打开Windows PowerShell(管理员)进入管理员命令行,先cd进入工具目录,

C:\Users\Lenovo\Desktop\Sysmon>.\Sysmon64.exe -i C:\sysmon2327.xml


第三步:在弹出窗口中点击agree,成功安装的结果如下:


第四步:查看监控信息:

1.桌面“这台电脑”图标,右键菜单中,点击打开“管理”。


2.点击左侧“系统工具”->“事件查看器”


3.点击左侧“事件查看器”右侧小箭头,选择日志的位置:应用程序和服务日志/Microsoft/Windows/Sysmon/Operational。


第五步可以点开任意事件查看其详细信息,如图:

2.2 恶意软件分析

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

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

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

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

2.2.1 VirusTotal分析恶意软件

1.使用virscan进行扫描。

将exp3中生成的文件加壳后门mrf_6code_upxed.exeVirusTotal进行扫描,因为我的IP地址变了,所以我重新生成了。对该程序的文件信息如下:

2.Process Explorer工具

工具的作用是实时显示文件系统、注册表、进程/线程的活动。Process Explorer本来是Sysinternals的产品,现在已经被微软收购,自然也就成为了微软麾下的神兵利器。
下载使用汉化

第一步:设置过滤器,找到对应进程


第二步:双击查看该进程读取了什么文件、访问了注册表哪个键值、使用了什么端口、引发了什么事件,都能一一监控。

3.用wrieshark分析软件网络行为


第一步:首先用程序测试回连,成功:


第二步:打开wrieshark软件,选择当前使用的网卡,我使用的是无线所以选择WLAN。


第三步:重新回连,然后找到wrieshark对应连接结果:

  • Windows IP 192.168.0.106
  • Linux IP 192.168.0.107


设置过滤器ip.addr == 192.168.0.106 && ip.addr == 192.168.0.107意思是筛选192.168.0.106和192.168.0.107之间的数据包


分析:对于各层级的详细数据我就不讲了,给个链接,可以看看

  • 目测估计,两边至少相互发送了900个包
  • 分析其中一个包的内容

从图中可以看到,这是一个携带数据的TCP数据包,但从数据上我们还看不出是什么,但是他足有160个字节。

  • 试着截一下图,看是否有数据传输
    结果发现还是有很多包,多到我数不清

3. 总结与体会

  • 这次实验,让我学会了如何让计算机周期性执行一个任务,如果把命令行下的结果记录到文件中、如何利用.bat文件显示时间、如何利用excel分析数据、如何利用Sysmon监控自己感兴趣的事件、如何写配置文件、如何分析日志中的大量信息、如何对恶意代码进行进一步分析。

  • 通过自己动手实践,实现了从攻击者身份到检测、分析者身份的转变,更全面的理解了前两次实验中生成的后门程序到底在做什么,对恶意代码有了更深入的理解。

  • 没写完,还要改改,Systracer分析不太会

posted on 2020-04-11 17:20  可爱的坏人  阅读(271)  评论(0编辑  收藏  举报

导航