Vuoi conoscere il modo giusto per rilevare un sistema operativo utilizzando SMB? 

Vediamolo insieme: 

Sia con SMBv1 che con SMBv2, devono essere inviate sia “Session Setup Request” che “NTLMSSP_NEGOTIATE request”;
Con SMB v1, se viene inviata solo "Session Setup AndX Request", ma non una richiesta "NTLMSSP_NEGOTIATE", alcune versioni successive di Windows Server (molto probabilmente superiori al 2012) non risponderanno con le informazioni sul sistema operativo;
Con SMB v1, è possibile ottenere una risposta chiara con le informazioni del sistema operativo sia da NativeOS che da NativeLanMan. Si consiglia comunque di utilizzare il risultato del campo NativeLanMan anziché NativeOS per determinare il proprio sistema operativo; in caso contrario, è possibile che Linux venga riconosciuto come Windows.
Con SMB v2, non è presente un testo chiaro della versione del sistema operativo nella risposta, è possibile ottenere la versione build del kernel NT da "ntlmssp.verion". Non utilizzare ntlmssp.verion per determinare che il server è Windows; I seguenti campi (Wireshark) nella risposta v2 di solito contengono server e nome NetBIOS. Quando il suo valore è WIN-218****LQHR,DESKTOP-L3***F, è molto probabile che la destinazione sia Windows. Se sei in grado di utilizzare le informazioni del banner su altre porte , dovresti essere in grado di utilizzare ntlmssp.version (versione build del kernel) per derivare la versione Windows Edition.
Cerca sempre di utilizzare la richiesta SMB v1 indipendentemente dal fatto che il server la supporti o meno; a partire dalla risposta di v1, puoi ottenere direttamente le informazioni sul sistema operativo in chiaro; se SMB v1 fallisce, prova a inviare richieste v2;
Non importa che sia SMBv1 o SMBv2, dovrai sempre analizzare le risposte e ottenere valori nei campi chiave.

Compila il form per avere maggiori informazioni su Ridge Security

Torna in cima