您的位置:首页 > 财经 > 产业 > SMB攻击利用之-设置远程mimikatz程序为定时任务流量数据包分析

SMB攻击利用之-设置远程mimikatz程序为定时任务流量数据包分析

2024/10/6 8:29:28 来源:https://blog.csdn.net/javajiawei/article/details/141791011  浏览:    关键词:SMB攻击利用之-设置远程mimikatz程序为定时任务流量数据包分析

SMB协议作为windows环境下最为常见的一种协议,在历史上出现过无数的通过SMB协议进行网络攻击利用的案例,包括针对SMB协议本身以及通过SMB协议实施网络攻击。

本文将介绍一种SMB协议的常见利用方式,即通过windows的服务调用将远程主机上的mimikatz程序设置为定时任务,作为我的专栏《SMB攻击流量数据包分析》中的一篇,这里,为日常安全运营,护网HVV,重保过程中遇到的关于类似的流量分析提供参考。

mimikatz

mimikatz 是用C语言编写一个Windows命令行工具,用于提取内存中的明文密码,hash和kerberos票据,是非常著名的网络安全工具,详见,这里。如下是使用mimikatz在本地提取内存中的明文密码:
在这里插入图片描述
图1
mimikatz既然本地可以执行,那么远程也是可以被调用的,例如在之前的文章就介绍了psexec连接远程主机的命令行,详见之前的文章《PsExec使用过程介绍》,这里。因此在命令行中是可以启动mimikatz程序的,如下:
在这里插入图片描述
图2
本文介绍的是通过windows的定时任务接口,远程将mimikatz设置为定时任务。

数据包

本文使用的数据包为使用windows Microsoft AT-Scheduler Service服务将远程主机上的mimikatz设置为定时任务,对应的数据包链接这里。

逆向分析

连接概况

拿到任何一个数据包,需要总体观察该数据包的通信情况,统计->会话,统计->流量图 对该数据20171220_smb_at_schedule.pcap进行整体分析,如下图:
在这里插入图片描述
图3
在这里插入图片描述
图4

从TCP会话表和流量图可以得出以下的信息:

  • 该数据包只有一条流,是为了便于分析经过裁剪的数据包。
  • 五元组(192.168.10.31,49266,192.168.10.30,445,TCP)产生了3K,20个数据包的通信流量。
  • 整个会话的持续时长为12秒 。
  • 该会话上主要以SMB,DCERPC等应用层协议服务为主。
  • 深入之后还会发现通过DCERPC调用了windows的ATSVC等服务,添加了定时任务。

SMB请求ATSVC

由于这是一个经过裁剪的数据包,发现数据包中并没有SMB协议协商和用户认证的过程,该流的前四个数据包表示的是SMB层次和ATSVC服务进行握手和协商,如下:
在这里插入图片描述
图5
在这里插入图片描述
图6
由图5图6可知:

  • ATSVC虽然是一个服务,但是图5中,使用file ID表示该服务。这与Linux系统中一切皆文件的思想是匹配的。
  • 在成功获取ATSVC服务的响应,192.168.10.31又请求了该文件的一些属性。通过这些属性可以了解到该服务并不是一个目录等信息。
  • 由于第4个数据包的响应中没有文件ID的信息,192.168.10.31收到响应之后是如何知道对应哪个请求的呢,这个就是message ID的作用,不同请求的message ID 是不同的。详见之前的文章《SMB 协议详解之-process/user/session/tree/message/file ID原理和数据包分析技巧》,这里。

上述ATSVC是The Task Scheduler Remoting Protocol 的一个过程调用,是微软一个细分的方法调用接口,该协议用来远程管理定时任务,详细链接这里,如下:
在这里插入图片描述
图7

DCERPC绑定请求

SMB协议对于ATSVC的请求只是远程调用这个服务层次完成握手,关于要使用ATSVC服务的哪个方法,一般需要使用DCERPC协议完成细粒度的方法的调用。关于RPC协议的介绍,详见我的专栏之前的文章《DCE/RPC协议详解之-数据包请求响应过程》,这里。如下为具体哪一个方法调用之前的DCERPC的握手过程:
在这里插入图片描述
图8
在这里插入图片描述
图9
可以看到通过RPC的协商,绑定了远端服务64位的 \PIPE\atsvc 管道服务。

添加定时任务请求

上述的DCE/RPC完成对应的接口管道绑定之后,就会请求对应的方法,如下:
在这里插入图片描述
图10
在这里插入图片描述
图11
图10和图11可知:

  • 调用了ATSVC中的几jobadd方法 。
  • 对应的servername为\admin-pc。
  • 定时任务对应的执行命令为C:\mimikatz.exe。
  • 执行之间为47100000,对应的时间为。
  • 远端状态响应为success,表示定时任务设置成功。

关闭不同层次连接

可以看到上图4中最后会主动关闭一些不同层次连接请求,主动的关闭服务的连接是一个比较好的习惯。即使不关闭连接,服务端往往在超时之后,也会主动释放服务端资源进行服务的关闭。

以上就是通过对于设置mimikatz为远程定时任务数据包的逆向分析,了解到数据包执行了哪些具体的命令和操作。可以看到通过对于数据包的逆向,知道了主机 192.168.10.31向远程主机192.168.10.30设置了定时执行的命令C:\mimikatz。在响应的过程中可以,检查该目录是否存在该程序,然后清除定时任务以及清除该文件等。希望上述的逆向分析对你日常工作有所帮助。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com