Есть несколько способов.
Самый быстрый - подбор по словарю. Составляется список популярных паролей (типа password1 или qwerty), которые по очереди подставляются и делается попытка входа. Если не подходит - берётся следующий и так до конца.
Если пароль не словарный, например состоит из заглавных и строчных букв, цифр, всевозможных пунктуационных знаков, то применяется bruteforce - посимвольный перебор всех возможных вариантов. То есть a, b, c,...1,2,3 и т.д., когда однобуквенные варианты заканчиваются, добавляется ещё одна буква и происходит перебор всех двухсимвольных вариантов. И так далее. Этот вариант очень долгий и пароли длиннее 7-8 символов (при условии, что они не словарные) подбирать нецелесообразно, т.к. могут уйти недели, месяцы и даже годы.
Для кражи паролей на сайтах и в соц.сетях чаще применяют другие методы.
Например, угадывание. Многие в качестве пароля используют своё имя или кличку домашнего животного или дату рождения. Такую информацию о себе пользователи соц.сетей предоставляют сами.
Либо социальная инженерия - когда злоумышленник представляется другим лицом и выуживает пароль у его владельца.
Либо фишинг - жертве присылается ссылка с текстом типа, "ну и страшный ты на этой фотке" или "вам пришло сообщение/подарок", которая ведёт на сайт, внешне замаскированный под какой-то известный, где предлагается ввести логин и пароль. Если пользователь их вводит, то они уходят к злоумышленнику.
Еще про кейлогеры и трояны нужно упомянуть
1password всё запоминает, поставил и всё хорошо