blackhat议题"通过RPC防火墙拦截横向渗透"
0x01 前言
介绍一款blackhat上演讲的横向渗透防护方式,作者的github地址为:https://github.com/zeronetworks/rpcfirewall
0x02 什么是RPC?
RPC是指远程过程调用,允许客户端调用服务端上的函数,客户端和服务端可以在一个机器上的,也可以在不同机器上。
本地RPC通过LPC,网络的RPC通过SMB、TCP协议
0x03 RPC在Windows上应用
大量的服务使用RPC接口,比如打印机的MS-RPRN协议、计划任务的MS-TSCH协议、WMI/DCOM的MS-DCOM协议等等
·
0x04 RPC检测的现状
4.1 端口拦截
基于3389、5985、5986可以直接防火墙拦截,但是基于SMB、TCP的445、135端口流量不能直接拦截
4.2 ETW检测
可以使用Microsoft-Windows-RPC进行检测,参考之前的博客https://www.cnblogs.com/aliflycoris/p/15823938.html,但是这个ETW会缺乏数据,无法定位到调用方和详细参数,并且需要多个系统事件结合判断
4.3 使用WFP流量判断
使用RPC_IF_UUID只能允许所有,或者阻止所有的该UUID的RPC事件
IP_REMOTE_ADDRESS并不生效。。。
另外从流量特征中解析UUID的话,可能存在流量加密的情况
0x5 RPCFW RPC防火墙系统
可以展现以下信息
写入系统日志展示: