2017-2018 Exp4 恶意代码分析 20155214曾士轩

Exp4 恶意代码分析

  • 本次实验操使用Windows下的schtasks,sysmon,Process Explorer作为测试工具。

  • 确定是某个程序或进程有问题,
    使用Wireshark进行抓包分析,查看该程序联网时进行了哪些操作;
    使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。


实验内容

实验环境 Windows 10 64bit

实验工具schtasks,sysmon,netstat,systracer


使用schtasks指令监控系统运行

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

//netstatlog.bat内容
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 利用DOS界面命令

    schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\NetstatLog.bat"
    即可生成定时任务,不过运行时需要利用管理员权限。

1071473-20180416124454145-1580981459.png

  • 也可以利用 任务计划程序,创建一个任务,通过新建 操作 调用bat脚本。
    在创建任务时,需要勾选 以最高权限运行

1071473-20180416124533226-86722345.png

1071473-20180416124619270-407857919.png

  • 充分发酵后转换为EXCEL,删除重复项,对IP进行升序排列后,即可获得本机上的各种连接。

1071473-20180416124940487-372084485.png

  • 之后利用WHOIS对这些IP地址进行分析。

1071473-20180416124703186-228615278.png

结果经过了24小时,我的小新连上了全国各地的IP,有点懵。

配置Microsoft日志工具Sysmon监控系统

netstat 属于比较基本的系统工具,除此之外我们还可以利用一些完善的系统监控软件。
Sysmon 是微软 Sysinternals 套件中的一个工具,可以从微软官网里进行下载。

  • 要使用sysmon工具先要配置文件config,语法为xml格式
  • 标签使用在官网中有 Sysmon使用说明

1071473-20180416125545097-1860413353.png

本次实验我们主要学习Sysmon的前三种基本标签用法,即
1.ProcessCreate
2.FileCreateTime
3.NetworkConnect

1071473-20180416130021042-1489803963.png

  • 贴一下自己的简版配置文件作为分析(知识点中)

之后利用DOS命令,即可更新Sysmon配置

Sysmon -c c:\SysmonConfig.txt
监视恶意代码测试

接下来,我们利用上次实验制作的免杀病毒回连,测试各个分析软件的效果

在使用exploit回连后,我使用了三个命令,分别是:dir,ps,screenshot

  • netstat
    作为最基本的工具,netstat在管理员权限下能检测到主机与异常IP的连接,但也仅限于显示连接状态,无法深入分析。
    1071473-20180416190529747-405303471.png

  • Sysmon
    作为微软的系统日志监控软件,功能很强大,但信息量也同时非常繁杂。在茫茫的日志中寻找恶意代码确实不易。

再利用meterpreter回连前后,我打开了Sysmon检测系统状态,但却没找到关于后门shellcode_v2.exe的相关信息。

这时我在日志中发现了一条很奇怪的信息。
1071473-20180416190846689-1190860072.png

明明是kali利用后门实现screenshot,但Explorer.EXE确调用了一条Micorsoft.Windows.Photos的命令。
并且权限为0x2000,基本上是全权,很可疑。
1071473-20180416190935295-312560963.png

以此为基础又找到了Explorer.EXE调用SystemSetting的命令。

最终找到了一条,TargetImage为vmware.exe。即猜测Kali通过Explorer这个程序实现了连接和以上命令。
1071473-20180416191021576-1378017448.png

  • SysTracer

我分别在回连前,连接成功后,调用dir,ps,screenshot三个命令时,建立了系统快照,以下进行分析。
1071473-20180416191501303-135287917.png

生成快照后,点击Only differences,即可判断后台修改的信息。
1071473-20180416191535724-1589788523.png

可见连接后相较正常快照,更改了shell的相关注册表。
1071473-20180416191622256-383424335.png

在执行dir命令后,相较于连接时,增加了windows命令处理器注册表的修改。

同时后门程序对于Explorer的修改,验证了Sysmon检测时的猜想!
1071473-20180416191612115-2122534546.png

比较实现screenshot和ps的快照,可以分析,后台程序修改了VitualDestop注册表,从而能够获得截图。
1071473-20180416192154355-959488645.png

经过以上分析,对于木马程序连接后执行命令的流程有了一个大致的思路。

主要思路

Tip:

本次实验,主机通过利用系统监控工具,达到获取自身连接信息,监控恶意代码执行的目的。


知识点

Sysmon 配置文件简版
 <Sysmon schemaversion="4.00">
  <!-- 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>

<ProcessCreate onmatch="exclude" 以下程序镜像加载时不记录>
  <Image condition="end with">chrome.exe</Image>
  <Image condition="end with">iexplorer.exe</Image>
</ProcessCreate>

<!-- incontains chrome or iexplorer 以下文件镜像创建时不记录-->
<FileCreateTime onmatch="exclude" >
  <Image condition="end with">chrome.exe</Image>
  <Image condition="end with">iexplorer.exe</Image>
</FileCreateTime>

<!-- incontains access 0x1400 以下权限被进程执行时不记录-->
<ProcessAccess onmatch="exclude">
  <GrantedAccess condition="is">0x1400</GrantedAccess>
</ProcessAccess>

<!-- incontains port 137 以下端口连接时不记录-->
<NetworkConnect onmatch="exclude">
  <SourcePort condition="is">137</SourcePort>
</NetworkConnect>

<!-- contains port 443 or 80 特别关心端口443和80-->
<NetworkConnect onmatch="include">
  <DestinationPort condition="is">443</DestinationPort>
  <DestinationPort condition="is">80</DestinationPort>
</NetworkConnect>


<!-- contains RemoteThread explorer,svchost,winlogon,powershell 特别关心以下远程进程创建-->
<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>

启发

本次实验给我的启发是,我们的主机每天都在进行着成千上万的连接,如果不对其进行了解分析,就完全不知道他在24小时内到底经历了什么 (囧oz……

转载于:https://www.cnblogs.com/besti155214/p/8855350.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值