smb
Thesmb command provides SMB-focused operations including signing requirement scanning and Group Policy Preference (GPP) credential extraction.
Usage
Subcommands
smb scan
Scan hosts for SMB signing requirements. Hosts without SMB signing enforced are susceptible to SMB relay attacks.
Flags
| Flag | Short | Description |
|---|---|---|
--no-signing | -N | Output only hosts that do not require SMB signing |
--threads | -t | Number of concurrent scanning threads (default: 10) |
What It Does
- Connects to each target on port 445
- Performs an SMB negotiate to read the signing flags from the server response
- Reports whether signing is: Required, Enabled (not required), or Disabled
- Stores results in the
smb_serverstable
Output
Results are printed as a table and stored in the database. Use--no-signing to get a clean list suitable for piping into relay tools like ntlmrelayx.py.
Example Output
smb gpp
Extract credentials stored in Group Policy Preference (GPP) XML files from SYSVOL.
GPP files frequently contain AES-256 encrypted passwords — but Microsoft published the static decryption key in 2012, making any passwords stored this way trivially recoverable.
smb gpp password
Extract GPP passwords from the SYSVOL share.
Groups.xml, Services.xml, ScheduledTasks.xml, DataSources.xml, and Printers.xml from \\<domain>\SYSVOL\<domain>\Policies\ and decrypts any cpassword attributes found.
Extracted credentials are printed and stored in the credentials table.
smb gpp autologin
Extract autologin credentials from GPP registry settings.
Registry.xml GPP files for DefaultUserName, DefaultPassword, DefaultDomainName, and AutoAdminLogon values configured via Group Policy.
Extracted credentials are printed and stored in the credentials table.
SMB Data Storage
SMB findings are stored in two tables:| Table | Contents |
|---|---|
smb_servers | SMB server metadata: IP, hostname, signing status, dialect version, OS |
smb_shares | Enumerated shares: name, path, access level, notes |
Common SMB Workflows
Identify Relay Targets
Extract GPP Credentials
Full SMB Reconnaissance
Notes
- GPP credential extraction requires read access to the
SYSVOLshare, which all authenticated domain users have by default. - SMB signing scanning does not require authentication — it uses an unauthenticated SMB negotiate.
- SMB relay attacks themselves are out of scope for R4t (use external tools like
ntlmrelayx.py); R4t helps identify targets and credentials that result from relay.

