Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
rpcfirewall — Firewall RPC di Windows che controlla, rileva e blocca chiamate di procedura remota malevole per prevenire movimento laterale, ricognizione e sfruttamento di attacchi basati su RPC come DCSync e ZeroLogon. | Kitploit
Strumenti/GitHubGitHub/zeronetworks/rpcfirewall
Strumenti DifensiviRicognizioneExploitEvasione IDS/IPSMovimento LateraleSicurezza di RetePenetration TestingRisposta agli Incidenti
GitHubzeronetworks/rpcfirewall

rpcfirewall

Firewall RPC di Windows che controlla, rileva e blocca chiamate di procedura remota malevole per prevenire movimento laterale, ricognizione e sfruttamento di attacchi basati su RPC come DCSync e ZeroLogon.

Vedi Repository
547801 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

GitHub release (latest SemVer) GitHub all releases

Ho bisogno di più informazioni

Dai un'occhiata al nostro post sul blog RPC Firewall o al nostro talk al BlackHat per comprendere meglio RPC, gli attacchi RPC e la soluzione: RPC Firewall.

Unisciti al nostro workspace della comunità Slack |Zero| Labs per qualsiasi domanda, problema o semplicemente per fare un saluto.

Saremo lieti di ricevere tue notizie anche via email (se sei quel tipo di persona). Contattaci a [email protected]

Inizia

Il seguente tutorial mostra l'installazione e la configurazione di base di RPC Firewall, oltre a una demo su come protegge da vari attacchi basati su RPC.

RPC Firewall 2.0 Tutorial

Perché dovrebbe interessarmi?

RPC è il meccanismo sottostante utilizzato per numerose tecniche di movimento laterale, ricognizione, attacchi relay o semplicemente per sfruttare servizi RPC vulnerabili.

Attacco DCSync? tramite RPC. DCOM remoto? tramite RPC. WMIC? tramite RPC. SharpHound? tramite RPC. PetitPotam? tramite RPC. PsExec? tramite RPC. ZeroLogon? tramite RPC... beh, hai capito l'idea :)

Terminologia?

In questo documento utilizzeremo i seguenti termini:

  • RPC Firewall: Si riferisce alla DLL RpcFirewall.dll vera e propria, che viene caricata in vari server RPC per proteggerli.
  • RPC Filters: Si riferisce al meccanismo di filtraggio RPC nativo di Windows.
  • RPCFW Configuration: Si riferisce al file RpcFw.conf, che viene utilizzato per controllare come si comportano RPC Firewall e RPC Filters.
  • RPCFW Manager: L'interfaccia a riga di comando, che consente agli utenti di accedere sia a RPC Firewall che a RPC Filters.

A cosa serve?

Ricerca

Può essere utilizzato per controllare tutte le chiamate RPC remote. Una volta eseguiti strumenti di attacco remoti, vedrai quali UUID e Opnum RPC sono stati chiamati da remoto.

Vedi un esempio di configurazione qui.

Rilevamento di attacchi RPC remoti

Quando la Configurazione RPCFW è configurata per il controllo, gli eventi vengono scritti nel Registro eventi di Windows. Gli eventi Filtro RPC vengono scritti nel registro di sicurezza, con ID evento 5712. I log di RPC Firewall vengono scritti in Application/RPCFW.

Gli utenti possono inoltrare questi log al loro SIEM e usarli per creare baseline del traffico RPC remoto per vari server. Quando viene controllata una chiamata RPC anomala, usala per attivare un avviso per il tuo team SOC.

Abbiamo integrato diverse regole Sigma che possono essere utilizzate per rilevare attività e attacchi RPC insoliti.

Prevenzione di attacchi RPC remoti

La Configurazione RPCFW può essere configurata per bloccare e controllare solo le chiamate RPC potenzialmente dannose. Tutte le altre chiamate RPC non vengono controllate per ridurre il rumore e migliorare le prestazioni.

Quando viene rilevata una chiamata RPC potenzialmente dannosa, viene bloccata e controllata. Questo può essere utilizzato per avvisare il tuo team SOC, mantenendo protetti i tuoi server.

Per integrare la protezione, puoi utilizzare le capacità di filtro RPC, anch'esse supportate tramite RpcFwManager.exe.

Un esempio di tale configurazione si trova qui.

Quali sono i componenti di RPC Firewall?

È composto da 3 componenti:

  1. RpcFwManager.exe - Funge da strumento di gestione standalone a riga di comando per la distribuzione di RPC Filters e Firewall. Funge anche da servizio installato per la distribuzione di RPC Firewall.
  2. RpcFirewall.dll - DLL iniettata che esegue il controllo e il filtraggio delle chiamate RPC.
  3. RpcMessages.dll - Una libreria comune per condividere funzioni e logica che scrive dati nel Visualizzatore eventi di Windows.

Usare RPC Firewall o RPC Filters?

Sebbene ci siano pro e contro per l'uso di ciascun metodo, ci sono un paio di vantaggi principali nell'usare RPC Firewall che richiedono particolare attenzione. Questi sono:

  1. Granularità: RPC Firewall viene applicato per ogni chiamata RPC e può essere utilizzato per creare controlli più granulari per funzioni RPC specifiche.
  2. Identificazione dell'indirizzo di origine: RPC Firewall è migliore nel determinare l'indirizzo di origine del chiamante. RPC Filters non può identificare l'indirizzo di origine delle chiamate effettuate tramite named pipe (SMB), il che significa le regole di filtro RPC falliranno per le chiamate RPC effettuate tramite named pipe!!!
  3. Bugs!: RPC Filters soffre di vari bug che Microsoft non è entusiasta di correggere. Un paio di esempi sono: gli intervalli IP non funzionano e non è possibile applicare un filtro "catch all", poiché potrebbe danneggiare diversi servizi del Domain Controller come NetLogon.

D'altra parte, RPC Filters sono ottimi per consentire o negare in blocco UUID interi, poiché lo fanno senza problemi.

Come usare?

Qual è lo stato?

Prima di eseguire qualsiasi comando, si consiglia di controllare lo stato della distribuzione. Questo si fa emettendo il comando '/status':

root@kitploit:~
RpcFwManager.exe /status

Questo mostrerà lo stato sia di RPC Firewall che di RPC Filters. Verranno fornite informazioni dettagliate sullo stato dell'installazione e anche sullo stato di esecuzione della distribuzione.

I suffissi 'fw' / 'flt'

Quasi tutti i comandi possono essere seguiti da fw o flt alla fine. Questo dice al RPCFW Manager se il comando viene applicato a RPC Firewall ('fw'), RPC Filters ('flt') o a entrambi quando non si usa alcun suffisso.

Installazione / Disinstallazione

Esegui l'installazione della funzione pertinente (RPC Filters / RPC Firewall / entrambi).

  • Installazione RPC Firewall: Configura il registro eventi, inserisce le DLL rilevanti nella cartella %SystemRoot%\System32 e configura il registro applicazioni RPCFW per il Visualizzatore eventi. Installa anche il servizio "RPC Firewall", che verrà utilizzato per la persistenza.
  • Installazione RPC Filters: Abilita il controllo di sicurezza degli eventi RPC. Questi possono essere trovati nel registro di sicurezza, con ID evento 5712.

Assicurati che il visualizzatore eventi sia chiuso durante l'installazione/disinstallazione. Inoltre, è buona pratica fermare e disinstallare prima dell'installazione, per assicurarsi che non ci siano versioni precedenti installate.

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

La disinstallazione fa l'opposto. Anche qui è buona pratica assicurarsi che il servizio sia fermo prima della disinstallazione.

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

Avvio / Arresto

RPC Filters, per loro natura, vengono applicati a livello di sistema, a qualsiasi server RPC. L'applicazione di tali filtri è persistente anche tra i riavvii. Qualsiasi processo nuovo o esistente sarà protetto da RPC Filters, secondo la Configurazione RPCFW.

RPC Firewall viene iniettato e protegge qualsiasi processo server RPC in ascolto di chiamate RPC remote. Questo viene fatto iniettando RPC Firewall nei processi che caricano RPCRT4.DLL (il Runtime RPC). Una volta caricato, RPC Firewall rileva se il server RPC è in ascolto di chiamate RPC remote. In caso contrario, si scarica. Se il processo è un server RPC valido, rpcFirewall inizia a controllare e monitorare le chiamate RPC in arrivo, secondo la Configurazione RPCFW.

Il metodo consigliato per proteggere i servizi RPC è utilizzare il comando '/start'. Questo avvia il servizio RPC Firewall (per 'fw' o nessun suffisso) e crea RPC Filters (per 'flt' o nessun suffisso).

root@kitploit:~
RpcFwManager.exe /start

È anche possibile usare RPC Firewall ad-hoc per proteggere processi specifici. Questo non avvierà il servizio RPC Firewall e non persisterà tra i riavvii.

Per proteggere un singolo processo tramite ID processo (PID):

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

Per proteggere un singolo processo tramite nome:

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

Per fermare la protezione, emetti semplicemente il comando '/stop' con il suffisso appropriato (non è possibile fermare la protezione per un processo specifico).

root@kitploit:~
RpcFwManager.exe /stop

Secondo il suffisso usato ('fw' o 'flt' o nessuno), questo fermerà il servizio RPC Firewall e scaricherà la DLL RPC Firewall da tutti i processi. Per RPC Filters, eliminerà tutti i filtri generati dal RPCFW Manager.

Persistenza

Una volta avviato, RPC Firewall persisterà tra i riavvii. Anche RPC Filters sono persistenti.

Configurazione

Il RPCFW Manager cerca un file RpcFw.conf nella stessa directory dell'eseguibile. Questo file utilizza le seguenti opzioni di configurazione:

Importante: Ogni riga di configurazione deve essere preceduta da 'fw:' o 'flt:' per indicare se la riga viene applicata per RPC Firewall o RPC Filter.

Vedere più cose

Per vedere più "cose" relative a RPC, esiste un comando show. Per ora mostra solo i processi protetti che non possono essere protetti con il modulo RPC Firewall.

root@kitploit:~
RpcFwManager.exe /show

L'ordine di configurazione è importante, poiché la prima corrispondenza determina l'esito della chiamata RPC.

Ad esempio, il seguente frammento di configurazione proteggerà un DC da DCSync utilizzando RPC Firewall. Lo fa abilitando l'opnum 3 "pericoloso" DRSGetNCChanges dell'UUID MS-DRSR solo da altri domain controller.

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

Ogni volta che la configurazione cambia, devi notificare rpcFirewall.dll tramite il comando update:

root@kitploit:~
RpcFwManager.exe /update

Visualizzazione dei log

Per RPC Firewall, apri il Visualizzatore eventi -> Registri applicazioni e servizi -> RPCFW. Gli ID evento 1 e 2 si riferiscono agli eventi 'proteggi' e 'non proteggere'. L'evento 3 controlla le chiamate RPC effettive. Inoltre, aggiungi la colonna Parole chiave. Questa colonna conterrà Audit Success/Failure, indicando se la chiamata RPC è stata bloccata o meno.

Per RPC Filters, apri il Visualizzatore eventi -> Sicurezza -> RPCFW. Filtra per ID evento 5712.

Posso contribuire?

Sì! Non essere timido a fare una pull request.

Voglio che RPC Firewall faccia più cose!

Lo vogliamo anche noi! Contattaci con qualsiasi pensiero, idea o problema: [email protected]

C'è una licenza?

Per maggiori dettagli vedi LICENSE.

Scarica lo strumento
Nome ParametroSpiegazioneSupportato da ...
opnum:Corrisponde a un opnum RPCRPC Firewall
verbose:Può essere true o false. Se true, restituisce informazioni di debug per chiamate RPC specifiche (default false)RPC Firewall
prot:Corrisponde al protocollo utilizzato a una delle costanti di sequenza del protocollosia RPC Firewall che Filters
addr:Corrisponde a un indirizzo IP remoto (IPv4 o IPv6, incluso CIDR)RPC Firewall e parzialmente da RPC Filters, leggi di più qui
uuid:Corrisponde a un uuid specificosia RPC Firewall che Filters
action:Può essere allow o block (default allow)sia RPC Firewall che Filters
audit:Può essere true o false. Controlla se gli eventi vengono scritti nel log RPCFW (default false)sia RPC Firewall che Filters
sid:corrisponde a un utente autenticato a un identificatore di sicurezza. Può essere un utente o un gruppo specifico.sia RPC Firewall che Filters