Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
WindowsProtocolTestSuites — ⭐⭐ Unisciti a noi alla SNIA SDC per l'SMB3 IO Lab (28 settembre - 1 ottobre 2026), scopri i prossimi Interoperability Events | Kitploit
Strumenti/GitHubGitHub/microsoft/windowsprotocoltestsuites
Analisi delle VulnerabilitàAudit di ConfigurazioneFuzzingSicurezza di RetePenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)AutenticazioneApprendimento e Formazione
GitHubmicrosoft/windowsprotocoltestsuites

WindowsProtocolTestSuites

⭐⭐ Unisciti a noi alla SNIA SDC per l'SMB3 IO Lab (28 settembre - 1 ottobre 2026), scopri i prossimi Interoperability Events

Vedi RepositorySito web
564212561 mese 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
# Windows Protocol Test Suites

**Windows Protocol Test Suites** forniscono test di interoperabilità rispetto all'implementazione delle specifiche aperte di Windows, tra cui File Services, Identity Management, Remote Desktop e altre.

Sviluppate originariamente per i test interni delle Microsoft Open Specifications, le Microsoft Protocol Test Suites sono state ampiamente utilizzate durante i Plugfest e i laboratori di interoperabilità per testare le implementazioni dei partner.
Una Test Suite valuta se l'implementazione di un protocollo o di una famiglia di protocolli soddisfa determinati requisiti di interoperabilità.
Le Test Suite non coprono ogni requisito del protocollo e non certificano in alcun modo un'implementazione, anche se tutti i test vengono superati.
Tuttavia, ogni test suite fornisce agli utenti un'utile indicazione sull'interoperabilità.

* **File Server Family Test Suite**. È progettata per testare le implementazioni della famiglia di protocolli file server, tra cui [MS-SMB2], [MS-DFSC], [MS-SWN], [MS-FSRVP], [MS-FSA], [MS-FSCC], [MS-RSVD] e [MS-SQOS].
   Per iniziare con la test suite File Server, puoi fare riferimento alla [File Server Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/FileServer/docs/FileServerUserGuide.md). Per creare un ambiente di test Azure usa e getta, utilizza la [File Server Azure automated deployment](https://github.com/microsoft/windowsprotocoltestsuites/blob/main/TestSuites/FileServer/azure-automation/README.md).
* **RDP Client Family Test Suite**. Fornisce test di interoperabilità per l'implementazione client dei protocolli della famiglia RDP, tra cui [MS-RDPBCGR], [MS-RDPEDISP], [MS-RDPEDYC], [MS-RDPEGFX], [MS-RDPEGT], [MS-RDPEI], [MS-RDPEMT], [MS-RDPEUDP], [MS-RDPEUSB], [MS-RDPEVOR] e [MS-RDPRFX]. Per iniziare con la test suite RDP Client, puoi fare riferimento alla [RDP Client Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/RDP/Client/docs/RDP_ClientUserGuide.md)
* **RDP Server Family Test Suite**. Fornisce test di interoperabilità per l'implementazione server dei protocolli della famiglia RDP, tra cui [MS-RDPBCGR], [MS-RDPEDYC], [MS-RDPEMT] e [MS-RDPELE]. Per iniziare con la test suite RDP Server, puoi fare riferimento alla [RDP Server Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/RDP/Server/Docs/RDP_ServerUserGuide.md)
* **Kerberos Server Test Suite**. È progettata per testare le implementazioni server dei protocolli Kerberos, tra cui [MS-KILE], [MS-KKDCP] e [MS-PAC]. Per iniziare con la test suite Kerberos Server, puoi fare riferimento alla [Kerberos Server Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/Kerberos/docs/Kerberos_ServerUserGuide.md)
* **SMBD Server Test Suite**. È progettata per testare le implementazioni del protocollo SMB2&3 direct (RDMA), come specificato in [MS-SMBD] e [MS-SMB2]. Per iniziare con la test suite SMBD Server, puoi fare riferimento alla [SMBD Server Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-SMBD/docs/MS-SMBD_ServerUserGuide.md)
* **Branch Cache Test Suite**. È progettata per testare le implementazioni dei protocolli [MS-PCCRTP], [MS-PCCRR], [MS-PCHC] e [MS-PCCRC]. Per iniziare con la test suite Branch Cache, puoi fare riferimento alla [Branch Cache Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/BranchCache/docs/BranchCache_UserGuide.md)
* **AZOD Test Suite**. È progettata per testare le implementazioni del protocollo [MS-AZOD]. Per iniziare con la test suite AZOD, puoi fare riferimento alla [AZOD Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-AZOD/docs/MS-AZOD_ODUserGuide.md)
* **ADFamily Test Suite**. È progettata per testare le implementazioni dei protocolli Active Directory, tra cui [MS-ADA1], [MS-ADA2], [MS-ADA3], [MS-ADLS], [MS-ADSC], [MS-ADTS], [MS-APDS], [MS-DRSR], [MS-FRS2], [MS-LSAD], [MS-LSAT], [MS-SAMR] e [MS-NRPC]. Per iniziare con la test suite ADFamily, puoi fare riferimento alla [ADFamily Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/ADFamily/docs/ADFamily_ServerUserGuide.md)
* **ADFSPIP Client Test Suite**. È progettata per testare le implementazioni dell'integrazione tra ADFS Proxy e Web Application Proxy, come descritto in [MS-ADFSPIP]. Per iniziare con la test suite ADFSPIP Client, puoi fare riferimento alla [ADFSPIP Client Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-ADFSPIP/Docs/MS-ADFSPIP_ClientUserGuide.md)
* **ADOD Test Suite**. È progettata per testare le implementazioni del protocollo [MS-ADOD]. Per iniziare con la test suite ADOD, puoi fare riferimento alla [ADOD Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-ADOD/Docs/MS-ADOD_ODUserGuide.md)
* **XCA Test Suite**. È progettata per testare le implementazioni del protocollo [MS-XCA]. Per iniziare con la test suite XCA, puoi fare riferimento alla [XCA Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-XCA/docs/MS-XCA_TestSuiteUserGuide.md)
* **WSP Test Suite**. È progettata per testare le implementazioni del protocollo [MS-WSP]. Per iniziare con la test suite WSP, puoi fare riferimento alla [WSP Test Suite User Guide](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/TestSuites/MS-WSP/docs/MS-WSP_TestSuiteUserGuide.md)

## Componenti
Windows Protocol Test Suites contengono i seguenti componenti:

* **CommonScripts**. Script comuni utilizzati da ciascuna test suite. Normalmente vengono usati per distribuire l'ambiente.
* **ProtoSDK**. La libreria di protocolli utilizzata da ciascuna test suite. Fornisce le strutture dati dei messaggi di protocollo, i metodi per codificare e decodificare i messaggi, i metodi per inviare e ricevere messaggi e altro ancora.
* **TestSuites**. Tutto il codice e i documenti delle Test Suite sono salvati qui e categorizzati per cartella che rappresenta ciascuna test suite.
* **ProtocolTestManager**. Uno strumento per aiutarti a configurare ed eseguire le test suite.

## Prerequisiti
Le **Windows Protocol Test Suites** si basano su [.NET](https://dotnet.microsoft.com/) e possono quindi essere sviluppate ed eseguite su piattaforme diverse.
Dovresti installare il software elencato di seguito in base al tuo scopo di test, incluse le relative dipendenze.

1. .NET e componenti correlati

   a. Per Windows, Linux e macOS, installa [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0/) per compilare o eseguire le test suite.

   b. Per coloro che lavorano su Windows e preferiscono un IDE, installa [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) o versione superiore ([Visual Studio 2022 Community](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=17) consigliata), insieme a questi singoli componenti dal programma di installazione:
 
      |Sezione|Componente individuale in Visual Studio 2022|Esegui Windows Protocol Test Suites|Compila Windows Protocol Test Suites dal codice sorgente|
      |---|---|---|---|
      |.NET|.NET SDK|Richiesto|Richiesto|
      |Compilatori, strumenti di compilazione e runtime|Compilatori C# e Visual Basic Roslyn||Richiesto|
      |Compilatori, strumenti di compilazione e runtime|MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)||Richiesto<sup>[1](#footnote1)</sup>|
      |Compilatori, strumenti di compilazione e runtime|Supporto C++/CLI per v143 build tools (Latest)||Richiesto<sup>[1](#footnote1)</sup>|
      |Compilatori, strumenti di compilazione e runtime|C++ 2022 Redistributable Update|Richiesto<sup>[1](#footnote1)</sup>|Richiesto<sup>[1](#footnote1)</sup>|
      |Attività di sviluppo|Funzionalità di base C++||Richiesto<sup>[1](#footnote1)</sup>|
      |SDK, librerie e framework|Windows 10 SDK (10.0.19041.0)||Richiesto<sup>[1](#footnote1)</sup>|      

      Nota:

<a name="footnote1">[1]</a>: Questo componente individuale è richiesto da ADFamily e MS-SMBD, che hanno codice C++.

1. [Protocol Test Framework v2.6 (build 2.6.1)](https://github.com/microsoft/ProtocolTestFramework/releases/tag/PTF2.6.1)

   Protocol Test Framework è referenziato dai progetti di ProtoSDK e TestSuites come [pacchetti NuGet](https://www.nuget.org/packages/Microsoft.Protocols.TestTools/2.6.1).

1. [Network Direct DDK](https://www.microsoft.com/en-us/download/details.aspx?id=36043)

   Da `NetworkDirect_DDK.zip` estrai `ndspi.h` e `ndstatus.h` nel percorso del progetto `ProtoSDK\RDMA\include`. Questo serve per compilare la test suite SMBD.

1. [PowerShell Core](https://github.com/PowerShell/PowerShell/releases)

   Questo è richiesto solo quando l'utente desidera utilizzare [PowerShell Core Remoting over SSH](https://github.com/microsoft/WindowsProtocolTestSuites/wiki/Run-Test-Suites-With-Enabling-PowerShell-Core-Remoting-Over-SSH).

1. [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/releases)

   Questo è richiesto solo quando l'utente desidera utilizzare [PowerShell Core Remoting over SSH](https://github.com/microsoft/WindowsProtocolTestSuites/wiki/Run-Test-Suites-With-Enabling-PowerShell-Core-Remoting-Over-SSH) per la piattaforma Windows.

1. [WMF 5.1](https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/wmf/setup/install-configure?view=powershell-7.1)

   Questo è richiesto solo quando l'utente desidera utilizzare l'implementazione PowerShell su Windows Server 2012R2 per ISutCommonControlAdapter in [CommonTestSuite.ptfconfig](https://github.com/microsoft/windowsprotocoltestsuites/blob/main/TestSuites/FileServer/src/Common/TestSuite/CommonTestSuite.ptfconfig).

   a. Se scegli l'implementazione PowerShell per ISutCommonControlAdapter in un ambiente di dominio in cui il DC esegue Windows Server 2012R2, per ottenere il SID dal DC, devi installare WMF 5.1 sul DC; per altre versioni di Windows Server più recenti di Windows Server 2012R2, non è necessario installare WMF 5.1 sul DC.

   b. Se scegli l'implementazione PowerShell per ISutCommonControlAdapter su piattaforme Windows (incluse Windows Server 2012R2 e versioni più recenti) in un ambiente workgroup, non è necessario installare WMF 5.1 sul SUT.

   c. Se scegli l'implementazione managed per ISutCommonControlAdapter su piattaforme Windows (incluse Windows Server 2012R2 e versioni più recenti), utilizzerà query LDAP per ottenere il SID e supporta solo ambienti di dominio.


Se lavori su Windows, puoi utilizzare lo script nella cartella `InstallPrerequisites` per scaricare e installare automaticamente questo software.

Suggerimenti per l'utilizzo dello script nella cartella `InstallPrerequisites`:
* Lo script richiede la connettività Internet per scaricare alcune dipendenze.

* Il parametro **Category** viene utilizzato per specificare quale set di strumenti deve essere scaricato e installato, in base ai diversi nomi delle test suite, come `FileServer`, `Kerberos`, `SMBD`, `RDP`, `BranchCache`, `ADFamily`, `AZOD`, `ADFSPIP` e `ADOD`. Le categorie sono definite in [PrerequisitesConfig.xml](https://github.com/microsoft/WindowsProtocolTestSuites/blob/main/InstallPrerequisites/PrerequisitesConfig.xml) e puoi aggiornare questo file di configurazione per soddisfare le tue esigenze.

* Il parametro **ConfigPath** viene utilizzato per specificare il percorso del file di configurazione dei prerequisiti; il valore predefinito è ".\PrerequisitesConfig.xml".

* Per eseguire lo script per la test suite FileServer, ad esempio, apri **Windows PowerShell** ed esegui i comandi seguenti nella **PowerShell Window**:

```
cd WindowsProtocolTestSuites\InstallPrerequisites
.\InstallPrerequisites.ps1 -Category FileServer -ConfigPath ".\PrerequisitesConfig.xml"
```

* Se incontri errori relativi a **Execution Policy**, assicurati di eseguire **Windows PowerShell** come **Administrator** e digita quanto segue e premi invio:

```
Set-ExecutionPolicy RemoteSigned
```

Puoi eseguire il comando seguente per verificare se la **Execution Policy** è impostata correttamente:

```
Get-ExecutionPolicy
```

Poi riesegui lo script.

## Compilazione

Dopo aver [clonato una copia](https://help.github.com/articles/cloning-a-repository/) di questo repository, puoi eseguire `build.ps1` in PowerShell o `build.sh` in shell per ciascuna test suite separatamente, dopo aver installato tutto il software richiesto per la compilazione elencato in [Prerequisiti](#prerequisites).

Ad esempio, se vuoi compilare la test suite FileServer:

```
cd WindowsProtocolTestSuites\TestSuites\FileServer\src
build.ps1
```

Dopo che la compilazione è riuscita, la struttura di cartelle comune dovrebbe essere generata nella cartella `WindowsProtocolTestSuite\drop\TestSuites\[TestSuiteName]\`.

* `Bin`: tutti i binari compilati, inclusi ProtoSDK, gli adapter e le test suite.
* `Batch`: file batch (.ps1, .sh) che possono essere utilizzati per avviare i test.
* `Scripts`: script che possono essere utilizzati per configurare l'ambiente di test.
* `Utils`: alcune utilità che possono essere utilizzate nei test.

In alternativa, puoi scaricare l'archivio precompilato della test suite da [Releases](https://github.com/microsoft/WindowsProtocolTestSuites/releases).

## Esecuzione

Prima di eseguire una test suite, devi fare una delle seguenti cose:

* Scaricare l'archivio della test suite che vuoi eseguire da [Releases](https://github.com/microsoft/WindowsProtocolTestSuites/releases) ed estrarlo in un percorso a cui hai accesso.
* Compilare la test suite secondo [Compilare una test suite](#build).

Su macOS, la test suite FileServer utilizza le [classi AesCcm e AesGcm](https://docs.microsoft.com/en-us/dotnet/standard/security/cross-platform-cryptography#aes-ccm-and-aes-gcm-on-macos) che richiedono OpenSSL, quindi se non è presente OpenSSL 1.1 sul tuo macOS, installa OpenSSL 1.1 e imposta la variabile d'ambiente come segue prima di eseguire la test suite FileServer su macOS,
```
brew install [email protected]
export DYLD_LIBRARY_PATH="/usr/local/opt/[email protected]/lib:$DYLD_LIBRARY_PATH"
```
**Nota:**
1. Se `brew` non è installato sul tuo macOS, puoi installarlo seguendo [brew](https://brew.sh/).
2. Se ricevi l'errore "algorithm 'aesgcm' is not supported on this platform", significa che dotnet non riesce a caricare la classe AesGcm da libcrypto.1.1.dylib sul tuo macOS; devi quindi verificare se la sua posizione è presente o meno nella variabile d'ambiente `DYLD_LIBRARY_PATH`. Una volta installato OpenSSL 1.1 sul tuo macOS, la posizione della libreria crypto è `/usr/local/Cellar/[email protected]/1.1.1m/lib/libcrypto.1.1.dylib` e `/usr/local/opt/openssl` punta per impostazione predefinita alla directory `/usr/local/Cellar/[email protected]/1.1.1m`.

### Eseguire la test suite tramite batch

Nella cartella `Batch` sotto il percorso radice della test suite, ci sono diversi script che puoi utilizzare per avviare i test.

1. Eseguire tutti i casi di test
   
   Esegui `RunAllTestCases.ps1` in PowerShell, oppure `RunAllTestCases.sh` in shell direttamente.

1. Eseguire i casi di test tramite filtri

   Esegui `RunTestCasesByFilter.ps1 -Filter [la tua espressione di filtro]` in PowerShell, oppure `RunTestCasesByFilter.sh [la tua espressione di filtro]` in shell direttamente.

   Ad esempio, puoi eseguire il comando seguente se vuoi eseguire i casi di test con categoria di test `BVT` e `SMB311`:
   ```
   RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311"
   ``` 

   Per maggiori informazioni su come costruire l'espressione di filtro, puoi fare riferimento a [Filter option details](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test#filter-option-details).

1. Dry run

   Se vuoi elencare i casi di test prima di eseguirli effettivamente, puoi aggiungere l'opzione `-DryRun` agli script `.ps1` oppure passare una stringa non vuota come ultimo argomento agli script `.sh`.

   Ad esempio, puoi eseguire il comando seguente se vuoi elencare i casi di test con categoria di test `BVT` e `SMB311`:
   ```
   RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311" "list"
   ```

### Configurare ed eseguire la test suite tramite Protocol Test Manager Service

**Protocol Test Manager Service (PTMService)** è uno strumento applicativo a pagina web singola che ti aiuta a configurare ed eseguire i casi di test nelle Test Suites. PTMService supporta più piattaforme, tra cui Windows, Linux e macOS. Per iniziare con PTMService, puoi fare riferimento alla [PTMService Wiki](https://github.com/microsoft/WindowsProtocolTestSuites/wiki/PTMService).

Per le configurazioni di FileServer, l'impostazione dell'interfaccia PTM **Enable Parallel Test Execution** corrisponde alla proprietà `.ptfconfig` completamente qualificata **Common.PTF.LogProfileParserPatch.Enabled**. Impostala su **true** per abilitare l'esecuzione parallela a stadi all'interno di un'esecuzione di test FileServer.

## Documenti

Puoi configurare l'ambiente di test e la test suite in base alla sua **User Guide**.
Ogni test suite ha la propria **User Guide** nella cartella `WindowsProtocolTestSuites\TestSuites\[TestSuiteName]\docs`.
Ci sono altri due tipi di documenti nella stessa cartella:

* **Technical Documents**. La documentazione delle Open Specifications per i protocolli, pubblicata da Microsoft. È la base per lo sviluppo delle Test Suites.
* **Test Design Specs**. Fornisce informazioni sull'ambito dei test e sulla progettazione della test suite.

## Contribuire

Puoi trovare la guida per contribuire [qui](https://github.com/microsoft/windowsprotocoltestsuites/blob/main/CONTRIBUTING.md).

## Licenza

Windows Protocol Test Suites sono distribuite sotto la [licenza MIT](https://github.com/microsoft/windowsprotocoltestsuites/blob/main/LICENSE.txt).

## Contatti
Le seguenti risorse sono dedicate a notizie, discussioni e supporto sulle Windows protocol test suite:
* Visualizza gli annunci di notizie nel [Open Specification Windows Protocols Forum](https://social.msdn.microsoft.com/Forums/en-US/home?forum=os_windowsprotocols).
* Discuti i problemi delle test suite [qui](https://github.com/Microsoft/WindowsProtocolTestSuites/issues) su GitHub.
* Per il supporto su [Open Specifications Protocols](https://msdn.microsoft.com/en-us/library/gg685446.aspx), contatta [email protected].

## Microsoft Open Source Code of Conduct
Questo progetto ha adottato il [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). Per maggiori informazioni consulta le [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) o contatta [[email protected]](mailto:[email protected]) per ulteriori domande o commenti.
Scarica lo strumento