Well, here are the possibilities
- Social Engineering by knowing about person and answer to questions when resetting password of any account
- Breached Data: Websites get hacked every single day & if there is an account in one of the hacked website database, its easy to get your password. But obviously there is an issue here, now a days websites are using encrypted password hashes means when you enter a password to register in website, that password goes through an algorithem and converts into long hash (set of random numerics & alphabets) and this encrypted password cannot be reversed. And whenever you login next time, that password which you enter gets encrypted with same algorithem and check whether saved hash is same as logging in password. So, there is one possibility to decrypt password which is called brute force. If password is retrieved after brute forcing, and same password is used elsewhere, then you can understand that your password is hacked.
- Phishing: This is a method to make you victim by making you feel like you are logging in to real website and stealing your login details. Assume that you received some threatening mail from your bank about your amount getting withdrawn, most of you are going to click whatever button you find there to check what went wrong which could be a phishing page (looks so similar to real banking page), you are probably going to enter your real username & password & those details will be sent to attacker. So here is the way most criminals practice.
- Bruteforce: As said in previous method, bruteforce is always final option which also consumes a lot of time & storage space. I will be explaining about it in simple way below because your password could be at risk.