开始协议处理句柄_基于smb协议的wmiexec浅析

本文探讨了Crackmapexec工具基于SMB协议的WMIEXEC命令执行方式,详细梳理了从建立SMB连接、认证过程到DCERPC绑定、调用服务管理接口的整个流程,涉及OPC协议、DCERPC和SMB协议的知识,并分析了流量特征。
摘要由CSDN通过智能技术生成

前言

之前研究过Crackmapexec这款工具,对这个工具基于smb协议的wmiexec执行方法产生的流量进行了分析,网上似乎还没有相关的文章,这里旨在抛砖引玉,简单梳理下整个过程,以初学者的视角,探索流量当中存在的奥妙之处。

前序知识

OPC协议

OPC协议:OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,采用典型的C/S模式,针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。与大多数应用层协议不同,OPC的基础协议DCOM协议使用动态端口机制,在真正建立数据连接之前通讯双方还需要协商需要使用的端口。

用一张网上的图来表示下:

075383c377dd6521e64abe745d3e9e94.png

上图中,OPC客户端使用5568作为源端口首先向OPC服务器的135端口发起连接,连接成功后再经过OPC服务器分配新端口1118,并通过接口ISystemActivator的方法RemoteCreateInstance的应答报文返回给客户端,之后客户端使用5569作为源端口向服务器的1118端口发起新的连接用来后面的真正数据的传输。为什么会是这个流程那是因为在Windows当中有一个运行在135端口的rpcss服务也就是dcom的激活服务负责协调本机所有com对象的激活,当本机激活时采用通过内核通信,无法捕获数据包,属于内部操作,只有当远程激活或远程重定向到本机激活这种方式才可以捕获到数据包.远程激活有2种方式,一种是采用CoCreateInstanceEx方式指定远程服务器和激活身份等参数调用rpscss的IRemoteSCMActivator接口的RemoteCreateInstance方法激活,或者CoGetClassObject等于调用rpscss的IRemoteSCMActivator接口的RemoteGetClassObject方法激活同样可选指定远程服务器和激活身份等参数,这里就是采取了调用rpscss的IRemoteSCMActivator接口的RemoteCreateInstance方法激活的方式

DCERPC

RPC是一种编程模型,主要用于应用程序实现远程过程调用,微软的DCEPRC即是对远程过程调用的一种实现和扩展,实际上Windows上的很多服务以RPC的形式对外提供调用接口,外部应用程序可以通过调用这些PRC接口来实现对特定服务的访问。DCERPC有多种不同的承载方式,如TCP、UDP、HTTP、SMB命名管道等,客户端通过不同的承载协议连接到指定的服务端,由UUID绑定(Bind)到需要使用的终端接口(endpoint/interface)上,再传递所需参数来调用接口上指定的方法(operation),服务端随后将执行结果封装到协议数据包中返回。当使用TCP作为承载协议时DCERPC的知名端口号为135。

在RPC中,不同的终端定义了各自的一系列操作方法以供被调用,这些终端由各自唯一的UUID作为标识,在DCERPC的Bind操作中指定UUID,以告诉服务端使用哪个终端接口,TCP三次握手连接建立之后,例如DCERPC的绑定操作中通过指定UUID为367ABB81-9844-35F1-AD32-98F038001003,该UUID对应的终端是SVCCTL(ServiceControl,与服务管理相关的调用)。

SMB协议可以由多种命令来承载DCE/MS RPC层数据,同样是139、445/TCP上的通信,因不同的SMB命令而导致不同的SMB层解码。

环境

攻击者:MAC-192.168.56.1受害者:Win7-192.168.56.3

执行命令方式

sudo cme smb

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值