Description
Summary
Hi, i am a full time Pentester , was conducting an internal web application pentest on a client who was using the pimcore CMS , and after the OSINT phase i discovered potential employees emails, i succesfully enumerated valid accounts from those emails via the Forgot password function , and then used password spraying to gain access .
contact: aymanrayan.kissami@gmail.com
Details
-> error message discloses existing accounts and leads to user enumeration on the target via "Forgot password" function. since no generic error message is being implemented.
PoC
![image](https://private-user-images.githubusercontent.com/82874742/410432694-866e4cd1-25b2-4ed8-8292-6c528ae660d5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzI2OTQtODY2ZTRjZDEtMjViMi00ZWQ4LTgyOTItNmM1MjhhZTY2MGQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3NmQ0YzFhYTFhMTZmNTdmYmZkNmEyMmY4NjE0MTIwNGVlMWY4Y2RjMzJmNjBjZDViNjM5N2ZhNGMyNzc1NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ja16009DzHlxVzwAYQ10AvfxK4JABcVO-Kf4ABlVmGA)
we enter first a valid account email address adn we click on submit
![image](https://private-user-images.githubusercontent.com/82874742/410435809-7aaa1723-b0f9-4a76-b943-e1b01d1f37a9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU4MDktN2FhYTE3MjMtYjBmOS00YTc2LWI5NDMtZTFiMDFkMWYzN2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0ZTE3OTYxYjUyYzkxZTc0NDZlMDY1YmM4OTI1ODRkZDlmMWQwZGFhMGM3MmJkMGI4M2E3ZjUyMDUwYzdjODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ja5JtAQGOD7gUQeod0kWqOnExDPb7F4J5fUfBrXXHcc)
we get a green message that validates that the account exists and that a login link has been sent to our email
![image](https://private-user-images.githubusercontent.com/82874742/410435935-7adb1f05-7339-4265-95c9-4d4817d4a6a1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5MzUtN2FkYjFmMDUtNzMzOS00MjY1LTk1YzktNGQ0ODE3ZDRhNmExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBhOGIyYjMyOWUzODI1ZTQxMDQ5MDBlNjg2OTYzZTU3OTE0YzZhNmJmZTc0NmJiYmFhZDJkYzMxODJhNjMxNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.WKqGemP6ZzPbNxw0jpS_WkHGWx08-WDvssIVWaZq3qM)
now we go back and we will use a random email from temp-mail to test with a non existant account
![image](https://private-user-images.githubusercontent.com/82874742/410435985-5ce0bb53-16c3-4f34-9541-9e01b49c7472.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5ODUtNWNlMGJiNTMtMTZjMy00ZjM0LTk1NDEtOWUwMWI0OWM3NDcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwNmZmMWViODg3MDMzZTBkOGIxZWRiNzYzODE4YTUyYzk4M2Q4NGQwZjg3ZDc4NTUyMTAwYjdkMzY2NTA3ZTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Zf0iaV8Jh6Sk6GegPnqZTEPGbHnUeVl2H0NtsYhPT8g)
![image](https://private-user-images.githubusercontent.com/82874742/410436042-213e838f-0944-484e-93bf-7468ed9e699d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwNDItMjEzZTgzOGYtMDk0NC00ODRlLTkzYmYtNzQ2OGVkOWU2OTlkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTczYzQ5ZTMyMzI4Y2M4NmEyNDgyODY3OGVhZGY2ZjQ5YTFhY2FkYzIxMzVhZmY4YzBmMWYzNzJhNTcwMzc3ZGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hz0veeT-tRJCdll_piJOA8vf2NJfdGle2PztFe7LVtQ)
once we click on submit we get an error in red that a problem occured
![image](https://private-user-images.githubusercontent.com/82874742/410436093-c30dc56f-e612-46a0-945d-e9dc5f14da39.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwOTMtYzMwZGM1NmYtZTYxMi00NmEwLTk0NWQtZTlkYzVmMTRkYTM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQwYTY0Y2E1MWRmNjQ3MTM0Nzk3YWM3YWY5MGQwOWQwZmM2ZWE0MTExMDM0ZmQ5NDlhOGU3OTk4MWQwNTFmODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QPrcYNUk5xfJ5EnCCNLrRyFF9GUpLXBdSDz13RF1UqI)
the poc of the user enumeration stops here , but here is a screenshot of me logging into the portal after password spraying against enumerated emails
![image](https://private-user-images.githubusercontent.com/82874742/410436146-50ceac61-8771-4a48-aeb5-921f1bced11c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYxNDYtNTBjZWFjNjEtODc3MS00YTQ4LWFlYjUtOTIxZjFiY2VkMTFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE2ODA0YTE3ZTdiNWI0YmMyMjkwZjNmMWMxNmRjZDEyNmRmMjdmODVjYzg1ZGY2OTFmNjJmMDVhNmVhZmE2NmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dfEoBqcN1R1Qfdra7br1avIKV08KOg40J_uQ3Ko4144)
Impact
user enumeration is a confidentiality threat , that could potentially lead to an attacker to enumerate valid accounts and maybe taking over accounts in case combined with credential stuffing on an organisation .
A remedition would be to change the error message in both cases ( valid and invalid emails ) to what we call a "synchronised error " it would be for example : " if the given email address is linked to an account , then a login link would be sent to that email " or something along those lines
Description
Summary
Hi, i am a full time Pentester , was conducting an internal web application pentest on a client who was using the pimcore CMS , and after the OSINT phase i discovered potential employees emails, i succesfully enumerated valid accounts from those emails via the Forgot password function , and then used password spraying to gain access .
contact: aymanrayan.kissami@gmail.com
Details
-> error message discloses existing accounts and leads to user enumeration on the target via "Forgot password" function. since no generic error message is being implemented.
PoC
![image](https://private-user-images.githubusercontent.com/82874742/410432694-866e4cd1-25b2-4ed8-8292-6c528ae660d5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzI2OTQtODY2ZTRjZDEtMjViMi00ZWQ4LTgyOTItNmM1MjhhZTY2MGQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3NmQ0YzFhYTFhMTZmNTdmYmZkNmEyMmY4NjE0MTIwNGVlMWY4Y2RjMzJmNjBjZDViNjM5N2ZhNGMyNzc1NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ja16009DzHlxVzwAYQ10AvfxK4JABcVO-Kf4ABlVmGA)
we enter first a valid account email address adn we click on submit
![image](https://private-user-images.githubusercontent.com/82874742/410435809-7aaa1723-b0f9-4a76-b943-e1b01d1f37a9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU4MDktN2FhYTE3MjMtYjBmOS00YTc2LWI5NDMtZTFiMDFkMWYzN2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0ZTE3OTYxYjUyYzkxZTc0NDZlMDY1YmM4OTI1ODRkZDlmMWQwZGFhMGM3MmJkMGI4M2E3ZjUyMDUwYzdjODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ja5JtAQGOD7gUQeod0kWqOnExDPb7F4J5fUfBrXXHcc)
we get a green message that validates that the account exists and that a login link has been sent to our email
![image](https://private-user-images.githubusercontent.com/82874742/410435935-7adb1f05-7339-4265-95c9-4d4817d4a6a1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5MzUtN2FkYjFmMDUtNzMzOS00MjY1LTk1YzktNGQ0ODE3ZDRhNmExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBhOGIyYjMyOWUzODI1ZTQxMDQ5MDBlNjg2OTYzZTU3OTE0YzZhNmJmZTc0NmJiYmFhZDJkYzMxODJhNjMxNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.WKqGemP6ZzPbNxw0jpS_WkHGWx08-WDvssIVWaZq3qM)
now we go back and we will use a random email from temp-mail to test with a non existant account
![image](https://private-user-images.githubusercontent.com/82874742/410435985-5ce0bb53-16c3-4f34-9541-9e01b49c7472.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5ODUtNWNlMGJiNTMtMTZjMy00ZjM0LTk1NDEtOWUwMWI0OWM3NDcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwNmZmMWViODg3MDMzZTBkOGIxZWRiNzYzODE4YTUyYzk4M2Q4NGQwZjg3ZDc4NTUyMTAwYjdkMzY2NTA3ZTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Zf0iaV8Jh6Sk6GegPnqZTEPGbHnUeVl2H0NtsYhPT8g)
once we click on submit we get an error in red that a problem occured
![image](https://private-user-images.githubusercontent.com/82874742/410436093-c30dc56f-e612-46a0-945d-e9dc5f14da39.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwOTMtYzMwZGM1NmYtZTYxMi00NmEwLTk0NWQtZTlkYzVmMTRkYTM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQwYTY0Y2E1MWRmNjQ3MTM0Nzk3YWM3YWY5MGQwOWQwZmM2ZWE0MTExMDM0ZmQ5NDlhOGU3OTk4MWQwNTFmODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QPrcYNUk5xfJ5EnCCNLrRyFF9GUpLXBdSDz13RF1UqI)
the poc of the user enumeration stops here , but here is a screenshot of me logging into the portal after password spraying against enumerated emails
![image](https://private-user-images.githubusercontent.com/82874742/410436146-50ceac61-8771-4a48-aeb5-921f1bced11c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODk5OTMsIm5iZiI6MTczOTM4OTY5MywicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYxNDYtNTBjZWFjNjEtODc3MS00YTQ4LWFlYjUtOTIxZjFiY2VkMTFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE5NDgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE2ODA0YTE3ZTdiNWI0YmMyMjkwZjNmMWMxNmRjZDEyNmRmMjdmODVjYzg1ZGY2OTFmNjJmMDVhNmVhZmE2NmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dfEoBqcN1R1Qfdra7br1avIKV08KOg40J_uQ3Ko4144)
Impact
user enumeration is a confidentiality threat , that could potentially lead to an attacker to enumerate valid accounts and maybe taking over accounts in case combined with credential stuffing on an organisation .
A remedition would be to change the error message in both cases ( valid and invalid emails ) to what we call a "synchronised error " it would be for example : " if the given email address is linked to an account , then a login link would be sent to that email " or something along those lines