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

| 2019-05-17

RPC 是底层机制,用于多种横向移动技术、侦察、中继攻击,或仅用于利用易受攻击的 RPC 服务。
        安装RPC防火墙并将其配置为审计所有远程RPC调用。一旦执行任何远程攻击工具,你将看到哪些RPC UUIDs和Opnums被远程调用。
远程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应用日志。确保事件查看器在安装/卸载过程中被关闭。
RpcFwManager.exe /install
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>

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

RpcFwManager.exe /process
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注意潜在的攻击
uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> action:allow
uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> action:allow
uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 action:block audit:true

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

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

编辑:航网科技 来源:腾讯云 本文版权归原作者所有 转载请注明出处

在线客服

微信扫一扫咨询客服


全国免费服务热线
0755-36300002

返回顶部