Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rpcfirewall — 악성 원격 프로시저 호출을 감사, 탐지 및 차단하여 DCSync 및 ZeroLogon과 같은 RPC 기반 공격의 측면 이동, 정찰 및 악용을 방지하는 Windows RPC 방화벽입니다. | Kitploit
도구/GitHubGitHub/zeronetworks/rpcfirewall
Defensive ToolsReconnaissanceExploitationIDS/IPS EvasionLateral MovementNetwork SecurityPenetration TestingIncident Response
GitHubzeronetworks/rpcfirewall

rpcfirewall

악성 원격 프로시저 호출을 감사, 탐지 및 차단하여 DCSync 및 ZeroLogon과 같은 RPC 기반 공격의 측면 이동, 정찰 및 악용을 방지하는 Windows RPC 방화벽입니다.

저장소 보기
547801년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GitHub release (latest SemVer) GitHub all releases

더 많은 정보가 필요하신가요?

RPC Firewall 블로그 게시물 또는 BlackHat 발표를 확인하여 RPC, RPC 공격 및 솔루션인 RPC Firewall에 대한 더 나은 이해를 얻으십시오.

질문, 문제 또는 단순히 의견을 공유하려면 |Zero| Labs Slack 커뮤니티 워크스페이스에 가입하세요.

이메일을 통한 연락도 환영합니다(그런 유형의 사람이라면). [email protected]으로 연락해 주세요.

시작하기

다음 튜토리얼은 RPC Firewall의 기본 설치 및 설정과 다양한 RPC 기반 공격으로부터 보호하는 방법을 보여줍니다.

RPC Firewall 2.0 튜토리얼

왜 신경 써야 하나요?

RPC는 수많은 수평 이동(lateral movement) 기술, 정찰(reconnaissance), 릴레이(relay) 공격 또는 단순히 취약한 RPC 서비스 악용에 사용되는 기본 메커니즘입니다.

DCSync 공격? RPC를 통해. Remote DCOM? RPC를 통해. WMIC? RPC를 통해. SharpHound? RPC를 통해. PetitPotam? RPC를 통해. PsExec? RPC를 통해. ZeroLogon? RPC를 통해... 음, 감이 오시죠 :)

용어?

이 문서 전체에서 다음 용어를 사용합니다.

  • RPC Firewall: 다양한 RPC 서버에 로드되어 보호하는 실제 RpcFirewall.dll을 나타냅니다.
  • RPC 필터: 기본 Windows RPC 필터링 메커니즘을 나타냅니다.
  • RPCFW 구성: RPC Firewall 및 RPC Filters의 동작을 제어하는 데 사용되는 RpcFw.conf 파일을 나타냅니다.
  • RPCFW 관리자: 사용자가 RPC Firewall 및 RPC Filters에 모두 액세스할 수 있는 명령줄 인터페이스입니다.

무엇에 사용되나요?

연구

모든 원격 RPC 호출을 감사(audit)하는 데 사용할 수 있습니다. 원격 공격 도구를 실행하면 어떤 RPC UUID와 Opnum이 원격으로 호출되었는지 확인할 수 있습니다.

예제 구성은 여기에서 확인하세요.

원격 RPC 공격 탐지

RPCFW 구성이 감사 모드로 설정되면 이벤트가 Windows 이벤트 로그에 기록됩니다. RPC 필터 이벤트는 이벤트 ID 5712로 보안 로그에 기록됩니다. RPC Firewall 로그는 Application/RPCFW에 기록됩니다.

사용자는 이러한 로그를 SIEM으로 전달하여 다양한 서버의 원격 RPC 트래픽 기준선을 생성하는 데 사용할 수 있습니다. 비정상적인 RPC 호출이 감사되면 SOC 팀에 경고를 트리거하는 데 사용하세요.

비정상적인 RPC 활동 및 공격을 탐지하는 데 사용할 수 있는 여러 Sigma 규칙을 통합했습니다.

원격 RPC 공격 방지

RPCFW 구성은 잠재적으로 악의적인 RPC 호출만 차단 및 감사하도록 구성할 수 있습니다. 다른 모든 RPC 호출은 노이즈를 줄이고 성능을 향상시키기 위해 감사되지 않습니다.

잠재적으로 악의적인 RPC 호출이 감지되면 차단되고 감사됩니다. 이를 통해 SOC 팀에 경고를 보내는 동시에 서버를 보호할 수 있습니다.

보호를 보완하기 위해 RpcFwManager.exe를 통해 지원되는 RPC 필터링 기능을 사용할 수 있습니다.

이러한 구성의 예는 여기에서 찾을 수 있습니다.

RPC Firewall 구성 요소는 무엇인가요?

3가지 구성 요소로 이루어져 있습니다.

  1. RpcFwManager.exe - RPC 필터 및 방화벽 배포를 위한 독립 실행형 명령줄 관리 도구 역할을 합니다. 또한 RPC Firewall 배포를 위한 설치된 서비스 역할을 합니다.
  2. RpcFirewall.dll - RPC 호출의 감사 및 필터링을 수행하는 주입된 DLL입니다.
  3. RpcMessages.dll - 함수 및 Windows 이벤트 뷰어에 데이터를 쓰는 로직을 공유하는 공통 라이브러리입니다.

RPC Firewall 또는 RPC 필터를 사용하시겠습니까?

각 방법을 사용하는 데는 장단점이 있지만, RPC Firewall을 사용할 때의 몇 가지 주요 이점은 특별한 주의가 필요합니다. 다음과 같습니다.

  1. 세분성: RPC Firewall은 각 RPC 호출에 적용되며 특정 RPC 기능에 대한 더 세분화된 제어를 만들 수 있습니다.
  2. 소스 주소 식별: RPC Firewall은 호출자의 소스 주소를 결정하는 데 더 뛰어납니다. RPC 필터는 명명된 파이프(SMB)를 통해 이루어진 호출의 소스 주소를 식별할 수 없습니다. 즉, 명명된 파이프를 통해 이루어진 RPC 호출에 대해 RPC 필터링 규칙이 실패합니다!!!
  3. 버그!: RPC 필터는 Microsoft가 수정에 열의를 보이지 않는 다양한 버그로 고통받고 있습니다. 몇 가지 예: IP 범위가 작동하지 않으며 "모두 차단" 필터를 적용할 수 없습니다. 이는 NetLogon과 같은 여러 도메인 컨트롤러 서비스를 손상시킬 수 있기 때문입니다.

반면에 RPC 필터는 전체 UUID를 대량 허용 또는 거부하는 데 문제 없이 탁월합니다.

사용 방법?

상태는 무엇인가요?

명령을 실행하기 전에 배포 상태를 확인하는 것이 좋습니다. 이는 '/status' 명령을 사용하여 수행됩니다.

root@kitploit:~
RpcFwManager.exe /status

이것은 RPC Firewall 및 RPC 필터의 상태를 모두 표시합니다. 설치 상태 및 배포의 실행 상태에 대한 자세한 정보를 출력합니다.

'fw' / 'flt' 접미사

거의 모든 명령 끝에 fw 또는 flt를 접미사로 붙일 수 있습니다. 이는 RPCFW Manager에게 명령이 RPC Firewall('fw'), RPC 필터('flt') 또는 접미사를 사용하지 않을 때 둘 다에 적용되는지 알려줍니다.

설치 / 제거

해당 기능(RPC 필터 / RPC Firewall / 둘 다)의 설치를 수행합니다.

  • RPC Firewall 설치: 이벤트 로그를 구성하고, 관련 dll을 %SystemRoot%\System32 폴더에 드롭하고, 이벤트 뷰어용 RPCFW 응용 프로그램 로그를 구성합니다. 또한 지속성을 위해 사용될 "RPC Firewall" 서비스를 설치합니다.
  • RPC 필터 설치: RPC 이벤트의 보안 감사를 활성화합니다. 이는 이벤트 ID 5712로 보안 로그에서 찾을 수 있습니다.

설치/제거 중에는 이벤트 뷰어를 닫아야 합니다. 또한 이전 버전이 설치되지 않았는지 확인하기 위해 설치 전에 중지 및 제거하는 것이 좋습니다.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install

제거는 반대 작업을 수행합니다. 여기서도 제거 전에 서비스를 중지하는 것이 좋습니다.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall

시작 / 중지

RPC 필터는 본질적으로 시스템 전체, 모든 RPC 서버에 적용됩니다. 이러한 필터를 적용하면 재부팅 후에도 유지됩니다. 모든 새 프로세스나 기존 프로세스는 RPCFW 구성에 따라 RPC 필터에 의해 보호됩니다.

RPC Firewall은 주입되어 원격 RPC 호출을 수신하는 모든 RPC 서버 프로세스를 보호합니다. 이는 RPCRT4.DLL(RPC 런타임)을 로드하는 프로세스에 RPC Firewall을 주입하여 수행됩니다. 로드되면 RPC Firewall은 RPC 서버가 원격 RPC 호출을 수신 중인지 감지합니다. 그렇지 않으면 자체를 언로드합니다. 프로세스가 유효한 RPC 서버인 경우 rpcFirewall은 RPCFW 구성에 따라 들어오는 RPC 호출을 감사 및 모니터링하기 시작합니다.

RPC 서비스를 보호하는 권장 방법은 '/start' 명령을 사용하는 것입니다. 이는 RPC Firewall 서비스를 시작하고('fw' 또는 접미사 없음) RPC 필터를 생성합니다('flt' 또는 접미사 없음).

root@kitploit:~
RpcFwManager.exe /start

또한 RPC Firewall을 임시로 사용하여 특정 프로세스를 보호할 수도 있습니다. 이는 RPC Firewall 서비스를 시작하지 않으며 재부팅 후에도 유지되지 않습니다.

프로세스 ID(PID)로 단일 프로세스를 보호하려면:

root@kitploit:~
RpcFwManager.exe /start pid <pid>

이름으로 단일 프로세스를 보호하려면:

root@kitploit:~
RpcFwManager.exe /start process <process name>

보호를 중지하려면 적절한 접미사를 사용하여 '/stop' 명령을 실행하기만 하면 됩니다(특정 프로세스에 대한 보호를 중지하는 것은 불가능합니다).

root@kitploit:~
RpcFwManager.exe /stop

사용된 접미사('fw' 또는 'flt' 또는 없음)에 따라 이는 RPC Firewall 서비스를 중지하고 모든 프로세스에서 RPC Firewall dll을 언로드합니다. RPC 필터의 경우 RPCFW Manager에 의해 생성된 모든 필터를 삭제합니다.

지속성

시작되면 RPC Firewall은 재부팅 후에도 유지됩니다. RPC 필터도 유지됩니다.

구성

RPCFW Manager는 실행 파일과 동일한 디렉토리에서 RpcFw.conf 파일을 찾습니다. 이 파일은 다음 구성 옵션을 사용합니다.

중요: 각 구성 줄은 'fw:' 또는 *'flt:'*로 시작하여 해당 줄이 RPC Firewall 또는 RPC 필터에 적용되는지 나타내야 합니다.

더 많은 것 보기

더 많은 RPC 관련 "것들"을 보려면 show 명령이 있습니다. 현재로서는 RPC 방화벽 모듈로 보호할 수 없는 보호된 프로세스만 표시합니다.

root@kitploit:~
RpcFwManager.exe /show

구성 순서는 중요하며, 첫 번째 일치 항목이 RPC 호출의 결과를 결정합니다.

예를 들어, 다음 구성 조각은 RPC Firewall을 사용하여 DCSync로부터 DC를 보호합니다. MS-DRSR UUID의 "위험한" opnum 3 DRSGetNCChanges를 다른 도메인 컨트롤러에서만 활성화하여 수행합니다.

root@kitploit:~
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 opnum:3 action:block

구성이 변경될 때마다 업데이트 명령을 통해 rpcFirewall.dll에 알려야 합니다.

root@kitploit:~
RpcFwManager.exe /update

로그 보기

RPC Firewall의 경우 이벤트 뷰어 -> 응용 프로그램 및 서비스 로그 -> RPCFW를 엽니다. 이벤트 ID 1과 2는 '보호' 및 '보호 해제' 이벤트를 나타냅니다. 이벤트 3은 실제 RPC 호출을 감사합니다. 또한 키워드 열을 추가하세요. 이 열에는 RPC 호출이 차단되었는지 여부를 의미하는 감사 성공/실패가 포함됩니다.

RPC 필터의 경우 이벤트 뷰어 -> 보안 -> RPCFW를 엽니다. 이벤트 ID 5712로 필터링하세요.

기여할 수 있나요?

네! 풀 리퀘스트를 주저하지 마세요.

RPC Firewall이 더 많은 일을 하길 원합니다!

저희도 그렇습니다! 생각, 아이디어 또는 문제가 있으면 언제든지 연락주세요: [email protected]

라이선스가 있나요?

자세한 내용은 LICENSE를 참조하세요.

도구 다운로드
매개변수 이름설명지원 대상 ...
opnum:RPC opnum 일치RPC Firewall
verbose:true 또는 false일 수 있습니다. true인 경우 특정 RPC 호출에 대한 디버그 정보를 출력합니다(기본값 false)RPC Firewall
prot:사용된 프로토콜을 프로토콜 시퀀스 상수 중 하나와 일치시킵니다RPC Firewall 및 필터 모두
addr:원격 IP 주소(IPv4 또는 IPv6, CIDR 포함) 일치RPC Firewall 및 부분적으로 RPC 필터, 여기서 더 읽기
uuid:특정 uuid 일치RPC Firewall 및 필터 모두
action:allow 또는 block일 수 있습니다(기본값 allow)RPC Firewall 및 필터 모두
audit:true 또는 false일 수 있습니다. 이벤트가 RPCFW 로그에 기록되는지 제어합니다(기본값 false)RPC Firewall 및 필터 모두
sid:인증된 사용자를 보안 식별자와 일치시킵니다. 특정 사용자 또는 그룹일 수 있습니다.RPC Firewall 및 필터 모두