RADIUS Pentesting

RADIUS pentesting techniques for identifying, exploiting authentication servers, enumeration, attack vectors and post-exploitation insights.

port 1812port 1813port 1645port 1646

RADIUS

Default Ports: 1812/UDP (Auth), 1813/UDP (Accounting), 1645/1646 UDP (Legacy)

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  

Useful Tools​

Tool| Purpose
---|---
radtest| Basic auth checks
radclient| Custom packet testing
eapol_test| EAP testing
nmap| UDP service detection
hydra| Scoped credential testing
tcpdump| Packet capture

Security Misconfigurations​

Misconfiguration| Risk
---|---
Weak shared secret| Forged or abused RADIUS requests
Broad client IP trust| Unauthorized NAS requests
Verbose auth responses| User enumeration
Legacy EAP methods| Credential capture or downgrade risk
Weak MFA policy| Remote access bypass
Exposed RADIUS server| Authentication attack surface
Accepted accounting from untrusted clients| Session or log pollution