安全矩阵

 找回密码
 立即注册
搜索
查看: 2691|回复: 0

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

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2022-1-8 20:13:05 | 显示全部楼层 |阅读模式
原文链接:干货|通过 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个组件组成:
  •         RpcFwManager.exe - 负责管理RPC防火墙。
  •         RpcFirewall.dll - 注入的DLL,执行对RPC调用的审计和过滤。
  •         RpcMessages.dll - 一个共享功能的公共库,以及将数据写入Windows事件查看器的逻辑。

安装
        安装时只需将RPC Firewall DLLs放入%SystemRoot%\System32中,并为事件查看器配置RPCFWP应用日志。确保事件查看器在安装/卸载过程中被关闭。
  1. RpcFwManager.exe /install
  2. RpcFwManager.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>
要保护所有进程,只需将参数留空:
  1. RpcFwManager.exe /process
  2. RpcFwManager.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注意潜在的攻击
  1. uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> action:allow
  2. uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> action:allow
  3. uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 action:block audit:true
复制代码

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

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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-5-3 04:31 , Processed in 0.016061 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表