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
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
564212143 giorni 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. Per creare un ambiente di test Azure usa e getta, utilizza la File Server Azure automated deployment.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 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 per compilare o eseguire le test suite.

      b. Per coloro che lavorano su Windows e preferiscono un IDE, installa Visual Studio 2022 o versione superiore (Visual Studio 2022 Community consigliata), insieme a questi singoli componenti dal programma di installazione:

      SezioneComponente individuale in Visual Studio 2022Esegui Windows Protocol Test SuitesCompila Windows Protocol Test Suites dal codice sorgente
      .NET.NET SDKRichiestoRichiesto
      Compilatori, strumenti di compilazione e runtimeCompilatori C# e Visual Basic RoslynRichiesto
      Compilatori, strumenti di compilazione e runtimeMSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)Richiesto1
      Compilatori, strumenti di compilazione e runtimeSupporto C++/CLI per v143 build tools (Latest)Richiesto1
      Compilatori, strumenti di compilazione e runtimeC++ 2022 Redistributable UpdateRichiesto1Richiesto1
      Attività di sviluppoFunzionalità di base C++Richiesto1
      SDK, librerie e frameworkWindows 10 SDK (10.0.19041.0)Richiesto1

      Nota:

    [1]: Questo componente individuale è richiesto da ADFamily e MS-SMBD, che hanno codice C++.

    1. Protocol Test Framework v2.6 (build 2.6.1)

      Protocol Test Framework è referenziato dai progetti di ProtoSDK e TestSuites come pacchetti NuGet.

    2. Network Direct DDK

      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.

    3. PowerShell Core

      Questo è richiesto solo quando l'utente desidera utilizzare PowerShell Core Remoting over SSH.

    4. Win32-OpenSSH

      Questo è richiesto solo quando l'utente desidera utilizzare PowerShell Core Remoting over SSH per la piattaforma Windows.

    5. WMF 5.1

      Questo è richiesto solo quando l'utente desidera utilizzare l'implementazione PowerShell su Windows Server 2012R2 per ISutCommonControlAdapter in 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 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:

    root@kitploit:~
    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:
    root@kitploit:~
    Set-ExecutionPolicy RemoteSigned
    

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

    root@kitploit:~
    Get-ExecutionPolicy
    

    Poi riesegui lo script.

    Compilazione

    Dopo aver clonato una copia 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.

    Ad esempio, se vuoi compilare la test suite FileServer:

    root@kitploit:~
    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.

    Esecuzione

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

    • Scaricare l'archivio della test suite che vuoi eseguire da Releases ed estrarlo in un percorso a cui hai accesso.
    • Compilare la test suite secondo Compilare una test suite.

    Su macOS, la test suite FileServer utilizza le classi AesCcm e AesGcm 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,

    root@kitploit:~
    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.
    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.

    2. 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:

      root@kitploit:~
      RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311"
      

      Per maggiori informazioni su come costruire l'espressione di filtro, puoi fare riferimento a Filter option details.

    3. 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:

      root@kitploit:~
      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.

    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.

    Licenza

    Windows Protocol Test Suites sono distribuite sotto la licenza MIT.

    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.
    • Discuti i problemi delle test suite qui su GitHub.
    • Per il supporto su Open Specifications Protocols, contatta [email protected].

    Microsoft Open Source Code of Conduct

    Questo progetto ha adottato il Microsoft Open Source Code of Conduct. Per maggiori informazioni consulta le Code of Conduct FAQ o contatta [email protected] per ulteriori domande o commenti.

    Scarica lo strumento