Skip to main content

RADIUS

RADIUS is an AAA protocol used by VPNs, Wi-Fi, NAC, firewalls, routers, and MFA gateways. In pentests, RADIUS testing focuses on exposed servers, weak shared secrets, accepted client IPs, credential validation, and legacy EAP behavior.

Connect​

Using radtest​

radtest validates basic authentication when the shared secret and source IP are authorized.

radtest username password target.com 0 sharedsecret
radtest -x username password target.com:1812 0 sharedsecret
radtest -x username password target.com 0 sharedsecret

Using radclient​

radclient gives control over RADIUS attributes.

cat > radius-request.txt << 'EOF'
User-Name = "username"
User-Password = "password"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00
EOF

radclient -x target.com auth sharedsecret < radius-request.txt

Accounting Test​

Accounting checks whether the server accepts session events from your source.

cat > acct-request.txt << 'EOF'
User-Name = "username"
Acct-Status-Type = Start
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Acct-Session-Id = "pentest-session-1"
EOF

radclient -x target.com acct sharedsecret < acct-request.txt

Recon​

Service Detection with Nmap​

RADIUS is UDP, so silence may mean filtered, invalid packet, or untrusted client IP.

nmap -sU -p 1812,1813,1645,1646 target.com
nmap -sU -sV -p 1812,1813 target.com
nmap -sU -p 1812,1813 --open 192.168.1.0/24

Integrated Service Discovery​

RADIUS usually backs another access service.

nmap -p 443,500,4500,8443,9443 -sV target.com
nmap -sU -p 500,4500,1812,1813 target.com

Shared Secret Behavior​

Wrong shared secrets often produce no useful response.

radtest -x username password target.com 0 wrongsecret
radtest -x username password target.com 0 sharedsecret

Enumeration​

Client IP Trust​

RADIUS servers normally accept requests only from configured NAS clients.

radclient -x target.com auth sharedsecret < radius-request.txt

User Validation​

Responses may distinguish invalid users, bad passwords, and MFA requirements.

radtest -x validuser wrongpassword target.com 0 sharedsecret
radtest -x invaliduser password target.com 0 sharedsecret

Attribute Enumeration​

Attributes can influence VLANs, groups, and access policy.

cat > attrs.txt << 'EOF'
User-Name = "username"
User-Password = "password"
NAS-IP-Address = 127.0.0.1
NAS-Identifier = "pentest"
Service-Type = Framed-User
EOF

radclient -x target.com auth sharedsecret < attrs.txt

EAP Method Review​

Wireless and NAC environments should be checked for legacy EAP methods.

eapol_test -c peap.conf -s sharedsecret -a target.com
eapol_test -c ttls.conf -s sharedsecret -a target.com

Attack Vectors​

Weak Shared Secret​

Weak shared secrets can allow crafted authentication or accounting traffic.

radtest -x username password target.com 0 sharedsecret

User Enumeration​

Different responses or timing may reveal valid users.

while read u; do
radtest -x "$u" wrongpassword target.com 0 sharedsecret
done < users.txt

Password Guessing​

Credential testing must be scoped because RADIUS often backs VPN and Wi-Fi.

hydra -L users.txt -P passwords.txt -s 1812 -P passwords.txt target.com radius

MFA Weakness​

RADIUS MFA integrations may allow fail-open, push fatigue, or bypass by policy.

radtest -x username password target.com 0 sharedsecret
radtest -x username 'password,123456' target.com 0 sharedsecret

Accounting Abuse​

Accepted accounting packets may pollute logs or session state.

radclient -x target.com acct sharedsecret < acct-request.txt

Post-Exploitation​

Access Path Review​

Map which VPN, Wi-Fi, or NAC systems depend on the RADIUS server.

grep -Ei 'NAS-IP-Address|NAS-Identifier|Called-Station-Id|Reply-Message' radius-output.txt

Credential Validation​

Validate only scoped accounts and avoid broad password spraying.

radtest -x username password target.com 0 sharedsecret

Logging Check​

Generate controlled failures and confirm SIEM visibility.

radtest -x invaliduser invalidpass target.com 0 sharedsecret
radclient -x target.com acct sharedsecret < acct-request.txt

Usefull Tools

ToolPurpose
radtestBasic authentication checks
radclientCustom packet testing
eapol_testEAP testing
nmapUDP service detection
hydraScoped credential testing
tcpdumpPacket capture

Security Misconfigurations

MisconfigurationRisk
Weak shared secretForged or abused RADIUS requests
Broad client IP trustUnauthorized NAS requests
Verbose auth responsesUser enumeration
Legacy EAP methodsCredential capture or downgrade risk
Weak MFA policyRemote access bypass
Exposed RADIUS serverAuthentication attack surface
Accepted accounting from untrusted clientsSession or log pollution