Exp4 恶意代码分析 20164323段钊阳

    网络对抗技术 20164323 Exp4 恶意代码分析

 

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

监控注册表和文件改动、端口占用、进程驻留等操作。可使用本次实验的netstat记录网络连接情况然后分析,当然wireshark等工具也可以使用。

 

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

可通过查看sysmon日志找到该进程邻近或同一时刻的进程动态,源IP、目的IP,端口号和进程号等,以及进一步分析它所创建的子进程。

 

实验内容

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

1、在windows命令行下输入命令

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

"创建名20164323netsta的任务计划

 

> TN:Task Name,本例中是netstat

> SC: SChedule type,本例中是MINUTE,以分钟来计时。本例中设置为5分钟

> MO: MOdifier

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

2、通过notepad创建netstatlog.bat

内容如下:

date /t >> c:\netstatlog.txt

time /t >> c:\netstatlog.txt

netstat -bn >> c:\netstatlog.txt

然后将其放到C盘根目录下(需要管理员权限)

 

3、编辑任务操作

进入管理工具,在任务计划程序中找到刚创建的任务20164323netstat

 

将操作页面里的启动程序修改为netstatlog.bat,并且在常规页面里开启以最高权限执行以防权限不够无法在C根目录创建.txt文件

 

4、由于是每隔一分钟就记录网络情况,所以此时可以看到netstatlog.txt里已经有更新的内容。(然后等待很长一段时间)

        

5、用excel生成图表分析

 

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

1、创建20164323monconfig.txt作为sysmon的配置文件

内容如下:

<Sysmon schemaversion="4.20">

  <!-- Capture all hashes -->

  <HashAlgorithms>*</HashAlgorithms>

  <EventFiltering>

    <!-- Log all drivers except if the signature -->

    <!-- contains Microsoft or Windows -->

    <ProcessCreate onmatch="exclude">    

      <Image condition="end with">chrome.exe</Image>

    </ProcessCreate>

 

    <FileCreateTime onmatch="exclude" >

      <Image condition="end with">chrome.exe</Image>

    </FileCreateTime>

   

    <NetworkConnect onmatch="exclude">

      <Image condition="end with">chrome.exe</Image>

      <SourcePort condition="is">137</SourcePort>

      <SourceIp condition="is">127.0.0.1</SourceIp>

    </NetworkConnect>

    <NetworkConnect onmatch="include">    

      <DestinationPort condition="is">80</DestinationPort>     

      <DestinationPort condition="is">443</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

下载sysmon,解压。

安装sysmon:以管理员身份执行命令sysmon.exe -i C:\20164323moncfig.txt

会提示出错,输入命令sysmon -accepteula -i -n;

 

就会在任务管理器中看到sysmon.exe已经在运行了

 

在事件查看器里查看日志

图标“计算机”右键,点击打开“管理”。点击左侧“系统工具”->“事件查看器”->应用程序和服务日志/Microsoft/Windows/Sysmon/Operational

 

运行之前制作的后门回连我的kali

 

查询得到进程号为3452

在日志中以进程号为关键词搜索相关信息

首先找到了我的后门程序

日志名称:          Microsoft-Windows-Sysmon/Operational

来源:            Microsoft-Windows-Sysmon

日期:            2019/4/6 19:55:47

事件 ID:         3

任务类别:          Network connection detected (rule: NetworkConnect)

级别:            信息

关键字:          

用户:            SYSTEM

计算机:           LAPTOP-TH3K87JU

描述:

Network connection detected:

RuleName:

UtcTime: 2019-04-06 11:55:46.020

ProcessGuid: {1283ad99-93c1-5ca8-0000-0010a9cbc502}

ProcessId: 3452

Image: D:\作业\gongxiang\4323met.exe

User: LAPTOP-TH3K87JU\dzy

Protocol: tcp

Initiated: true

SourceIsIpv6: false

SourceIp: 192.168.38.1

SourceHostname: LAPTOP-TH3K87JU

SourcePort: 52768

SourcePortName:

DestinationIsIpv6: false

DestinationIp: 192.168.38.128

DestinationHostname:

DestinationPort: 4323

DestinationPortName:

事件 Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

  <System>

    <Provider Name="Microsoft-Windows-Sysmon" Guid="{5770385F-C22A-43E0-BF4C-06F5698FFBD9}" />

    <EventID>3</EventID>

    <Version>5</Version>

    <Level>4</Level>

    <Task>3</Task>

    <Opcode>0</Opcode>

    <Keywords>0x8000000000000000</Keywords>

    <TimeCreated SystemTime="2019-04-06T11:55:47.962346900Z" />

    <EventRecordID>4020</EventRecordID>

    <Correlation />

    <Execution ProcessID="16028" ThreadID="17196" />

    <Channel>Microsoft-Windows-Sysmon/Operational</Channel>

    <Computer>LAPTOP-TH3K87JU</Computer>

    <Security UserID="S-1-5-18" />

  </System>

  <EventData>

    <Data Name="RuleName">

    </Data>

    <Data Name="UtcTime">2019-04-06 11:55:46.020</Data>

    <Data Name="ProcessGuid">{1283AD99-93C1-5CA8-0000-0010A9CBC502}</Data>

    <Data Name="ProcessId">3452</Data>

    <Data Name="Image">D:\作业\gongxiang\4323met.exe</Data>

    <Data Name="User">LAPTOP-TH3K87JU\dzy</Data>

    <Data Name="Protocol">tcp</Data>

    <Data Name="Initiated">true</Data>

    <Data Name="SourceIsIpv6">false</Data>

    <Data Name="SourceIp">192.168.38.1</Data>

    <Data Name="SourceHostname">LAPTOP-TH3K87JU</Data>

    <Data Name="SourcePort">52768</Data>

    <Data Name="SourcePortName">

    </Data>

    <Data Name="DestinationIsIpv6">false</Data>

    <Data Name="DestinationIp">192.168.38.128</Data>

    <Data Name="DestinationHostname">

    </Data>

    <Data Name="DestinationPort">4323</Data>

    <Data Name="DestinationPortName">

    </Data>

  </EventData>

</Event>

 

 

任务三:恶意软件分析

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

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

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

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

1、使用VirusTotal分析恶意软件

 

将后门程序丢到VirusTotal中进行分析,并得到SHA-1、MD5摘要值、文件类型、大小、TRiD文件类型识别结果和算法库支持情况

 

2、使用Process Monitor分析恶意软件

先反弹连接kali,并且得到进程号10892

 

发现有很多记录,找出需要的很不容易得到结果

 

3、使用Process Explorer分析恶意软件

 

4、使用PEiD分析恶意软件

加壳:

 

不加壳:

 

5、使用systracer分析恶意软件

正常运行和成功回连

通过compare发现注册表里出现了改动

 

查看后门软件的“opened handles”来对比

 

Wireshark进行抓包分析

其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包。

 

问题

在安装system monitor时,在按照博客编写配置文件开始执行安装后,需要把3.10改成4.20,在抓包的时候 ,我首先监听的是计算机所连接的wifi,监听了一段时间后没有发现我主机跟kali之间的数据传输,于是我重新选择虚拟网卡进行监听,抓到了两个互相通信所产生的包。

实验感想

在此次实验中,我使用了许多恶意代码分析软件,从网络连接和端口、系统注册表变化等多方面的监控,然后具体定位到某一个或某一些进程后进入深入分析。有时候杀软并不可靠,有一些我们没有发现的东西在计算机深层运行,这些就需要我们分析各种信息从而找到问题所在。

posted on 2019-04-07 16:31  dzy9  阅读(269)  评论(0编辑  收藏  举报