20165309 《网络对抗技术》实验四:恶意代码分析

20165309 《网络对抗技术》实验四:恶意代码分析



1.基础问题回答

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

  • 我认为需要监控端口连接情况、注册表信息和文件信息。
  • 像实验中的操作一样,可以使用wireshark抓包分析,分析网络连接状态;查看软件注册表信息;使用Systracer或者sysmon等软件查看一段时间内系统事件、注册表信息文件变化情况,将这些信息录入excel中分析。

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

  • 可以用Systracer分析注册表差异和文件的不同;
  • 可以用wireshark查看数据包,查找可疑的数据连接;
  • 还可以用virscan、Threatbook等软件分析工具来得到各种杀软报毒的疑似病毒,以及得到一些可疑签名、静态信息等。

返回目录


2.实验总结与体会

(1)遇到的问题与解决

  • 问题:安装和配置sysmon时,如图报错:

  • 解决:采用一键安装的方式迷之解决图一。图二是因为编写设置文件用来设置sysmon监视的内容时,语法与XML文件很相似,但是我首次接触学习起来还有一些困难,不得不编写比较多的次数才能做到不出错,不小心犯下的错误要用细心解决才是。

(2)实验感受

通过分析恶意代码,我对前几次的实验也有了更多的认识与理解,我们不应该再依赖杀软,而是应该多去利用所学的知识进行分析。在对系统进行监控的期间,发现了一些流氓软件会自动连接网络,不仅占内存还会给电脑运行造成一些不必要的麻烦,所以还是手动关掉的比较好~

返回目录


3.实践过程记录

(1)系统运行监控

① Windows计划任务schtasks
  • 在c盘创建一个.txt文件,输入以下内容后另存为.bat文件(这里相当于规定了自动生成的内容要存放在txt文件中):
    date /t >> c:\20165309.txt
    time /t >> c:\20165309.txt
    netstat -bn >> c:\20165309.txt
    
  • 在windows命令行下输入命令:schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "c:\20165309.bat",建立名为netstat,以分钟计时的记录计算机联网情况的任务。
  • 进入“任务计划程序”,双击打开任务netstat,进入“属性”中的“操作”,编辑操作,在“程序或脚本”中添加刚刚创建的bat文件。

  • 查看txt文件,此时已经有了记录:
  • 如果txt中并不是每分钟更新一次,是因为设置时默认选择“只有计算机使用交流电源时才启用此任务”了,所以我们要在netstat任务属性的设置中取消选中该选项:
  • 十多个小时后,将文本数据导入到excel中,进行统计和分析:

    Emmmm我是零点左右开始监控的,直到第二天的下午,可以看出来,我电脑上的程序们都很“活跃”。。统计显示,前三名分别是YoudaoNote即有道云笔记、SearchUI(百度后得知这是小娜(Cortana)的搜索进程)和vmware-hosted。
  • 因为实验中途多次用到了有道云笔记和虚拟机,所以我重点来分析一下小娜的活动:它连接的比较多的外部IP是40.100.54.210,查询一下这个IP,不难推断出,它是在不断地向微软数据中心传送数据:

    searchUI比较占用进程,我们可以参考网址http://www.xitongzu.com/jc/1588.html进行关闭。
  • 再分析了对外的连接情况,但看到最多的是127.0.0.1即本机地址,后来经过查询得知,127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。

② sysmon
  • Sysmon是Sysinternals工具集里面一个重要工具,最主要的功能就是可以通过自定记录规则进行系统运行的监控,语法结构与HTML一致,在老师配置文件的基础上我修改了一份自己的配置文件。
   <Sysmon schemaversion="3.10">
   <!-- 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>
   </NetworkConnect>

   <NetworkConnect onmatch="include">     
   <DestinationPort condition="is">80</DestinationPort>      
   <DestinationPort condition="is">443</DestinationPort>
   <DestinationPort condition="is">5309</DestinationPort>    
   </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>
  • 下载老师给的压缩包,然后使用命令:sysmon -accepteula -i -n一键安装:
  • 指定配置文件,命令如图:
  • 打开事件查看器,在左侧控制台树依次展开:事件查看器->应用程序和服务日志->Microsoft->Windows,找到Sysmon下的Operational并双击打开:
  • 利用Sysmon具体分析实验二中生成的后门5309_backdoor.exe:
    • 启动回连、安装到目标主机:

      可找到运行后门5309_backdoor.exe相对应的日志如下:

      Kali攻击机用meterpreter回连,我们可以看到连接的详细信息,包括IP、端口、主机名等。
  • 意外看到了熟悉的微信,有些好奇它要去哪,所以看一下此时的详细信息:

    好吧。。山东省移动↓

(2)恶意软件分析

Systracer
  • 安装完成后,在打开后门前先快照一下,点击“take snapshot”,Snapshop #1:
  • Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照:
  • 使用ctrl选择快照1和快照2,点击右下角compare,进行快照之间的比对(只查看不同):
    • 注册表的变化:
    • 进程的变换,最大的变化是新增了5309_backdoor.exe,我们还可以对比连接方式:
    • 文件数据的变化:
  • 然后在Sysinternals工具包中分析该后门:

使用Process Monitor分析恶意软件
  • 同属于Sysinternals工具集主要是对于进程进行的分析,并且能够以进程树的形式分析每一个进程的行为。刚开始分析就看到了一个很奇怪的东西ctf...

    然而我们在查看进程管理器并发现它的所在地后,即使修改了权限也并不能删掉...只能让它时时刻刻占用着内存,我应该反思一下当时为什么要在自己主机里装ctf了。。

返回目录

posted @ 2019-04-07 21:53  20165309吴思佳  阅读(106)  评论(0编辑  收藏