Lucene search

K
packetstormJoshua PlatzPACKETSTORM:149912
HistoryOct 23, 2018 - 12:00 a.m.

Microsoft Active Directory Federated Services (ADFS) User Enumeration

2018-10-2300:00:00
Joshua Platz
packetstormsecurity.com
68
microsoft
active directory
federated services
adfs
user enumeration
time based
excessively long timeout
authentication requests
vendor
vulnerability
public disclosure
mitre
github
binary1985
`[+] Credits: Joshua Platz aka Binary1985  
[+] CVE ID: Requested  
[+] Website: https://github.com/binary1985  
  
[+] Source:  
https://raw.githubusercontent.com/binary1985/VulnerabilityDisclosure/master/ADFS-Timing-Attack  
  
Vendor:  
==========================  
http://www.microsoft.com  
  
  
Product:  
===========  
Active Directory Federated Services (ADFS)  
  
Active Directory Federation Services, a software component developed by Microsoft, can run on Windows Server operating   
systems to provide users with single sign-on access to systems and applications located across organizational boundaries.  
  
  
Vulnerability Type:  
==========================  
Time Based User Enumeration  
  
  
Vulnerability Details:  
=====================  
  
ADFS has an excessively long timeout on authentication requests using the correct domain, but invalid user. This is likely   
due to the time it takes to search the entire AD directory and return a response. Response times vary with use cases seeing   
valid accounts taking only .2 seconds, up to 3 seconds to return an invalid login. However invalid accounts have been seen   
to take 15 seconds to respond.  
  
  
1) Observe the ADFS URL https://adfs.exampledomain.com/adfs/ls/IdpInitiatedSignOn.aspx?  
  
2) Observe the length of time for an invalid account to return on login attempt (ex 15 seconds) *you must use the valid   
domain*  
  
3) Observe the length of time for a valid account to return on login attempt (ex 2 seconds) *try domain\administrator or   
domain\guest*  
  
4) Intercept a request using anything as a valid username and password. Extract the cookie.   
  
5) Add the cookie value to this PoC https://gist.github.com/binary1985/d778ef59c01fe82026ee2c9660904e3a on line 15.  
  
6) Update the timings within the script to match your tests in step 2 and 3, the goal is to set the command timeout on   
line 15 to something slightly greater then the timeout observed in step 3, and then update the logic on line 17   
to something reasonable. Remember invalid accounts take a long time, valid accounts are quick  
  
7) Execute the script, providing the ADFS URL as well as the domain and a user list.   
Example: https://drive.google.com/open?id=0B5Pt6tipK7-9cnVkYi1qOFhxbEVFUVJCWjBHcHJZX0QxX3d3  
  
  
Remediation Details:  
=====================  
Unknown  
  
Timeline:  
=====================  
2018-09-03 - Issue Identified  
2018-09-07 - Vendor Notified  
2018-09-10 - Vendor Acknowledged Reciept  
2018-09-12 - Vendor Indicates Vulnerability does not meet bar for security servicing  
2018-10-22 - Public Disclsoure and CVE request through MITRE  
  
[+] Disclaimer  
The information contained within this advisory is supplied "as-is" with no  
warranties or guarantees of fitness of use or otherwise.  
Permission is hereby granted for the redistribution of this advisory,  
provided that it is not altered except by reformatting it, and  
that due credit is given. Permission is explicitly given for insertion in  
vulnerability databases and similar, provided that due credit  
is given to the author. The author is not responsible for any misuse of the  
information contained herein and accepts no responsibility  
for any damage caused by the use or misuse of this information. The author  
prohibits any malicious use of security related information  
or exploits by the author or elsewhere.  
  
Binary1985  
`