通过 RPC 防火墙停止横向移动

admin 2022年1月5日14:00:50评论102 views字数 1846阅读6分9秒阅读模式

        

通过 RPC 防火墙停止横向移动


        RPC 是底层机制,用于多种横向移动技术、侦察、中继攻击,或仅用于利用易受攻击的 RPC 服务。


        安装RPC防火墙并将其配置为审计所有远程RPC调用。一旦执行任何远程攻击工具,你将看到哪些RPC UUIDs和Opnums被远程调用。


项目地址:https://github.com/zeronetworks/rpcfirewall


远程RPC攻击检测


        当RPC防火墙被配置为审计时,它会将事件写到Windows事件日志中。

        

        将此日志转发到你的SIEM,并使用它来为你的服务器创建远程RPC流量的基线。


        一旦审计到异常的RPC调用,就用它来为你的SOC团队触发警报。


远程RPC攻击保护


        RPC防火墙可以被配置为只阻止和审计潜在的恶意RPC调用。所有其他RPC调用不被审计,以减少噪音并提高性能。


        一旦检测到潜在的恶意RPC调用,它将被阻止和审计。这可以用来提醒你的SOC团队,同时保持你的服务器受到保护。


什么是RPC防火墙组件?


由3个组件组成:


  1. RpcFwManager.exe - 负责管理RPC防火墙。

  2. RpcFirewall.dll - 注入的DLL,执行对RPC调用的审计和过滤。

  3. RpcMessages.dll - 一个共享功能的公共库,以及将数据写入Windows事件查看器的逻辑。


安装


        安装时只需将RPC Firewall DLLs放入%SystemRoot%System32中,并为事件查看器配置RPCFWP应用日志。确保事件查看器在安装/卸载过程中被关闭。


RpcFwManager.exe /installRpcFwManager.exe /uninstall


保护进程


     RpcFwManager试图只将rpcFirewall.dll注入那些已经加载了RPCRT4.DLL的进程。


        一旦rpcFirewall.dll被加载,它就会验证主机进程是否有一个有效的RPC接口,并且正在监听远程连接。


        否则,rpcFirewall.dll会从目标进程中卸载自己。


        如果该进程是一个有效的RPC服务器,rpcFirewall就会根据配置文件开始审计和监控进入的RPC调用。


要通过pid来保护一个单一的进程:


RpcFwManager.exe /pid <pid>


要按名称保护一个进程:


RpcFwManager.exe /process <process name>


要保护所有进程,只需将参数留空:


RpcFwManager.exe /processRpcFwManager.exe /pid


解除对进程的保护


要禁用RPC防火墙,要么卸载它,要么使用unprotect参数:


RpcFwManager.exe /unprotect      (这将从所有进程中卸载rpcFirewall.dll



配置


        rpcFwManager.exe会在可执行文件的同一目录中寻找一个RpcFw.conf文件。


  • uuid -> 匹配一个特定的uuid

  • opnum -> 匹配一个RPC opnum

  • addr -> 匹配一个远程 IP 地址

  • 行动 -> 可以是允许或阻止(默认为允许)

  • audit -> 真或假,控制事件是否被写入RPCFWP日志(默认为假)

  • verbose -> 当为真时,输出特定RPC调用的调试信息(默认为假)


配置顺序很重要,因为第一个匹配决定了RPC调用的结果。


例如,下面的配置将通过禁用非域名机器的MS-DRSR UUID来保护DC免受DCync攻击。另外,请注意,只对被阻止的MS-DRSR尝试启用审计,这可能会提醒你的SOC注意潜在的攻击


uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> action:allowuuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> action:allowuuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 action:block audit:true


每当配置改变时,你需要通过更新命令通知rpcFirewall.dll。


RpcFwManager.exe /update


查看日志


打开事件查看器 -> 应用程序和服务日志 -> RPCFWP。


原文始发于微信公众号(Khan安全攻防实验室):通过 RPC 防火墙停止横向移动

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日14:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过 RPC 防火墙停止横向移动http://cn-sec.com/archives/718475.html

发表评论

匿名网友 填写信息