• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

~纯净~

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

《网络对抗技术》Exp4 恶意代码分析 20201302姬正坤

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

一、实践步骤

1、系统运行监控

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

使用schtasks指令监控系统:

输入指令如下图,每五分钟记录下有哪些程序在连接网络,每3分钟就会监测哪些程序使用网络,结果记录在netstatlog.txt中

TN是TaskName的缩写;sc表示计时方式,以分钟计时填MINUTE;TR=Task Run,要运行的指令是netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。
image

新建文件netstat输入一段代码,保存为bat文件

image
image

打开计算机管理 ,找到刚创建的程序netstat

image

更改设置如下

image
image

这里需要勾上最高权限运行,否则后面会出错

一段时间等待,netstat.txt记录数据

image

将数据导入到表格,查看统计

image
image

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

点击Sysmon64.exe,在属性详细信息查看产品版本

image

确定要监控的目标:在这里我选择进程创建、进程创建时间、网络连接、远程线程创建

写配置文件

相关事件过滤器选项在使用轻量级工具Sysmon监视你的系统可看到,

  • 进程创建ProcessCreate
  • 进程创建时间FileCreateTime
  • 网络连接NetworkConnect
  • 远程线程创建CreateRemoteThread

开始写与自己想要监控的事件相对应的配置文件如下

点击查看代码
<Sysmon schemaversion="4.12">
  <!-- 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>

    <ProcessCreate onmatch="include">
      <ParentImage condition="end with">cmd.exe</ParentImage>
    </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">firefox.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

  • exclude相当于白名单,不用记录。include相当于黑名单
  • 版本号4.12对应本机的sysmon版本
  • Image condition根据自己使用的浏览器更改,如谷歌浏览器是chrome.exe,IE浏览器是iexplore.exe
  • 网络连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。(137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。127.0.0.1表示本机IP。)
  • 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
  • explorer.exe是Windows程序管理器或者文件资源管理器
  • svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
  • winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
  • powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

以管理员身份运行CMD在Sysmon.exe目录下执行下列命令

image
image

此前做实验的时候cmd命令出错了,纠正后与之前截图不太一致,这里换了sysmon运行,错误报告写在后面

cmd输入下图内容,找到事件查看器,在应用程序和服务日志-Microsoft-Windows-Sysmon-Operational可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等

image
image
image

3、恶意软件动态分析

使用systracer分析恶意软件

捕获四个快照如下

  • 快照一:未移植后门程序,保存为Snapshot 1
  • 快照二:运行后门程序并在kali中实现回连,保存为Snapshot 2
  • 快照三:在kali中执行dir 指令,保存为Snapshot 3
  • 快照四:在kali中执行exit 指令,保存为Snapshot 4
快照1与2不同:多出了后门程序与调用端口

image
image
image
image

快照3kali运行dir命令后exit快照4,发现端口与进程都消失了

image
image
image
image
image

4、wireshark监测

wireshark对流量进行抓包,输入过滤条件ip.addr == 192.168.241.132,可以看到Wireshark上捕获到大量的TCP传输,输入其他命令,Kali会不断给Windows传一大堆ACK包,有时还伴有PSH+ACK包。(PSH就表示有 DATA数据传输)

5、PE Explorer

PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。

image

实验总结

基础问题回答

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

可以用任务管理器查看自启动项,在自启动项进行过滤查看
利用Windows计划任务netstat,定期查看并分析网络连接情况
可利用sysmon工具,配置好想要监控的端口、注册表信息、网络连接等信息,通过其生成的日志文件进行查看

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

利用Wireshark抓包,进行分析有没有异常的或可疑的连接
还可以利用Systracer来拍摄快照,进行对比分析改变的注册表及文件信息

遇到的问题

1、监控netstat文件得不到数据,且所有设置没有问题

查找原因出在文件目录上,路径带有空格会使任务调用出错,这是修改与原来的区别
image

带有空格的路径得不到结果

image

更改文件目录与名称,重新在cmd中写命令,得到正确数据

2、sysmon的找不到定位xml,版本不一致问题

这个问题我不理解其中原理,看下图
image

注意有一个错误行:Incorrect or unsupported schema version 4.12. Current Sysmon schema version 3.10Error
但是本机的sysmon属性中是这样的

image

于是我尝试修改sysmon1302.xml文件的描述第一行版本号为3.10

image

真的得到了正确反馈

3、wireshark找不到端口可用

image

参考博客

https://blog.csdn.net/qq_45057336/article/details/108532180
https://blog.csdn.net/try_learner/article/details/100710516

posted on 2023-04-07 00:57  ~纯净~  阅读(39)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3