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: [email protected]
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzI2OTQtODY2ZTRjZDEtMjViMi00ZWQ4LTgyOTItNmM1MjhhZTY2MGQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI5MGYzYWFkZTg4MzAyNTFlMDg4OTQ1ZTNkMTc5OTJiOTA4YWVkMjAzNmZlYmU1ZTA4MWY1NjAxYWM3ZTQ4NGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rLvRLUIFIPJem6C9nYmKDTN5xQsqipCgd-_qz0RQxpM)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU4MDktN2FhYTE3MjMtYjBmOS00YTc2LWI5NDMtZTFiMDFkMWYzN2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2NzdiMTE4NjI1Y2RkNmNiYjQ0NmU5ZmZhODIwZTJjNzYxZjMyZWY1MDRiOTNiZDA1NjIwNGFkMTUwMDY5YjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._JzjBxEWjUdIgjOhCIUnMPbJjGf1VF5NH7Zz0AYTHHA)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5MzUtN2FkYjFmMDUtNzMzOS00MjY1LTk1YzktNGQ0ODE3ZDRhNmExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVhNDI3M2RkY2ViZmM5NzA2MGJmZmE0Y2U2ZTljNmM0ZTIwZWE3MTU5ZGE2ZWYzOWQzODMxMmJmNjdkZTAxMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YMCN8Zi4M8NK0fBguNgLPzNqCoCV8GXJigPvyQ58JWc)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5ODUtNWNlMGJiNTMtMTZjMy00ZjM0LTk1NDEtOWUwMWI0OWM3NDcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg0MzQyZjQ1NmZkNGQ1MTFmODE0MTU0NjAzMzdmOWE3OTQzOTUzNzg1NGRmNDUwZThlNWE1ZWFhYmIzYzAzZWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.S36f57Co30oi_KzBgnhdaJEwaNRZioZK1WBNfYyQqbo)
![image](https://private-user-images.githubusercontent.com/82874742/410436042-213e838f-0944-484e-93bf-7468ed9e699d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwNDItMjEzZTgzOGYtMDk0NC00ODRlLTkzYmYtNzQ2OGVkOWU2OTlkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ3MjAyMGM0Zjc4ZjA2ZmM3YjZhZTM2ZDhhN2VjNjg2ZDliNTg2OTRiN2M2NGVhMzA4OGFmNTg5NTZlNGJhZmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8XsPQ68E22VWVcVoT31Pnx83WjJOJYw1UGy1pi7Tpxo)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwOTMtYzMwZGM1NmYtZTYxMi00NmEwLTk0NWQtZTlkYzVmMTRkYTM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlODI3NjE4N2QxYWI5MTRlZjE3NGZlOTMzNjk5ZmUwMTliN2JlOGZjYmQ4ZjY4MzE3NDc2NjYyMzVjMmViZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.2QJGB4TljlI9dpyJHJfF1SU67UhKkPIi0fT5Eib4tks)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYxNDYtNTBjZWFjNjEtODc3MS00YTQ4LWFlYjUtOTIxZjFiY2VkMTFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNlMGZmODk0N2EzYTc1OWViNzA2Y2E1YzNhNzlhZGI0NWJjYzZlMWQ4ZTc3ZTA3MTg1M2I3ZDEzMzZmOTg4ZTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OmbLv3EwAulyv6jb2kmd2Gg2hI_vFKOTe4dKrCZite8)
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: [email protected]
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzI2OTQtODY2ZTRjZDEtMjViMi00ZWQ4LTgyOTItNmM1MjhhZTY2MGQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI5MGYzYWFkZTg4MzAyNTFlMDg4OTQ1ZTNkMTc5OTJiOTA4YWVkMjAzNmZlYmU1ZTA4MWY1NjAxYWM3ZTQ4NGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rLvRLUIFIPJem6C9nYmKDTN5xQsqipCgd-_qz0RQxpM)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU4MDktN2FhYTE3MjMtYjBmOS00YTc2LWI5NDMtZTFiMDFkMWYzN2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2NzdiMTE4NjI1Y2RkNmNiYjQ0NmU5ZmZhODIwZTJjNzYxZjMyZWY1MDRiOTNiZDA1NjIwNGFkMTUwMDY5YjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._JzjBxEWjUdIgjOhCIUnMPbJjGf1VF5NH7Zz0AYTHHA)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5MzUtN2FkYjFmMDUtNzMzOS00MjY1LTk1YzktNGQ0ODE3ZDRhNmExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVhNDI3M2RkY2ViZmM5NzA2MGJmZmE0Y2U2ZTljNmM0ZTIwZWE3MTU5ZGE2ZWYzOWQzODMxMmJmNjdkZTAxMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YMCN8Zi4M8NK0fBguNgLPzNqCoCV8GXJigPvyQ58JWc)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzU5ODUtNWNlMGJiNTMtMTZjMy00ZjM0LTk1NDEtOWUwMWI0OWM3NDcyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg0MzQyZjQ1NmZkNGQ1MTFmODE0MTU0NjAzMzdmOWE3OTQzOTUzNzg1NGRmNDUwZThlNWE1ZWFhYmIzYzAzZWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.S36f57Co30oi_KzBgnhdaJEwaNRZioZK1WBNfYyQqbo)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYwOTMtYzMwZGM1NmYtZTYxMi00NmEwLTk0NWQtZTlkYzVmMTRkYTM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlODI3NjE4N2QxYWI5MTRlZjE3NGZlOTMzNjk5ZmUwMTliN2JlOGZjYmQ4ZjY4MzE3NDc2NjYyMzVjMmViZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.2QJGB4TljlI9dpyJHJfF1SU67UhKkPIi0fT5Eib4tks)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3NTgsIm5iZiI6MTczOTU5NTQ1OCwicGF0aCI6Ii84Mjg3NDc0Mi80MTA0MzYxNDYtNTBjZWFjNjEtODc3MS00YTQ4LWFlYjUtOTIxZjFiY2VkMTFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTczOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNlMGZmODk0N2EzYTc1OWViNzA2Y2E1YzNhNzlhZGI0NWJjYzZlMWQ4ZTc3ZTA3MTg1M2I3ZDEzMzZmOTg4ZTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OmbLv3EwAulyv6jb2kmd2Gg2hI_vFKOTe4dKrCZite8)
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