В сфере взлома восстановления паролей вы всегда должны что-то узнавать\учить новое. Иногда даже если ты опытный пассворд-крякер ты не сможешь взломать пароль или даже получить свой пароль. Это скромный технический мануал :) только даст вам «рецепт» для взлома, но к любому другому паролю может понадобиться совсем другой подход.
Итак, наилучший способ чего то достичь это начать работать для достижения желаемого результата :)
То чему мы сейчас будем учиться это так сказать «брешь» безопасности в *nix(Unix\Linux\и тп.) системах, а именно файлы с паролями. Это не означает что у вас должно быть установлен дистрибутив *nix системы на вашем ПК, но это означает что вы ничего не добьетесь просто клацая по экрану.
Вы наверно задаетесь вопросом: «Что он этот странный тип пытается нам сказать!?»
Этот странный тип пытается сказать что John это консольная программа(также есть *nix версии, но я уверен что большинство читающих сидят на творении дяди Била). Я постараюсь внести в этот туториал примеры что бы он не выглядел как скучный сценарий с кучей непонятных терминов и требований. После прочтения этого материала я советую вам прочитать «ридми» материал который идет с John'ом. Я почерпнул большую часть знаний именно оттуда, но это, конечно, был трудный путь, а вы хотите способ попроще, не так ли?..
Первое, было бы неплохо скачать и установить John the Ripper… если вы не знаете где его достать то можете поискать тут.
Второе, вам понадобиться… ОГРОООМНОЕ количество словарей с паролями (Я расскажу зачем позже). Хорошие словари можно найти на www.theargon.com/achilles/wordlists и в других местах (надеюсь вы проявите смекалку и поищите). Вам понадобятся как огромные словари так и маленькие (Я расскажу зачем позже).
Ну вот вы скачали john'a, слили огроооомные словари с паролями и уже думаете что можете сломать что угодно… Если вы планируете прожить еще 100000 лет, то это не проблема :) но давайте спустимся на землю и увидим что у нас примерно 80 лет в лучшем случае (кончено если ученые не придумают что-то что продлит… хотя, забудьте :)).
Теперь, первое что нам нужно сделать, так это удостоверится что пароль является от ОС семейства Unix а точнее файлик /etc/passwd.
Давайте взглянем что оно такое Unix пароль:
Важная часть это имя пользователя и зашифрованный пароль, это первая и вторая части (каждая пользовательская запись разделена на семь частей знаком: )
«User» это имя пользователя (логин), а вторая (непонятная <мат>отень) это зашифрованный пароль (зашифрованный алгоритмом DES (Data Encryption Standard)). Что касается остальных частей «строки» то там можно писать что захотите :) главное чтоб структура «строки» оставалась такой как и была чтоб john мог распознать unix пароль. На самом деле вторая часть это лишь информация о пользователе, его домашняя директория, описание, группы и тп.:
Иногда вы будете получать пароли состоящие только из 2 первых частей:
Вы должны добавить вторую часть «строки» чтоб все было похоже на unix пароль, просто скопируйте из другой полной строки от другого пароля :)
Даже можете использовать это:
После «склейки» у вас получиться нечто похожее на вот такое:
Эм, вы даже можете вот такое добавить:
Для John'a нету разницы что там будет :) главное соблюдать структуру строки.
Ну теперь ты готовломать украденный вспоминать забытый пароль.
Запускаем консоль (или не запускаем, unix юзеры думаю догадались и скомпилировали у себя John'a) и пишем там:
Где words.lst словарь паролей, а password.file файлик с паролем или паролями. Если вы
Where words.lst is password dictionary and password file where you have your password or passwords. Для примера можете поискать готовые примеры простых паролей и поломать их. Очень часто юезры в качестве имени пользователя и пароля используют одно и тоже слово, например:
** даже не пытайтесь мой акк похекать :)
Ладно вернемся к:
Окей, слушай внимательно. DES шифрование которое используется в Unix системах НЕ МОЖЕТ быть дешифровано обратно. Некоторые виды шифрования могут быть «обращены» обратными алгоритмами (в 3-м веке н.э. Цезарь придумал использовал метод шифрования по форуме (она и название) «сдвиг на три», это означает что что вместо буквы «a» будет буква «d», вместо «b» идет «e» и т.д. На то время этот алгоритм был супер крут :) но сейчас это не так)
В любом случае, как я писал выше DES никаким обратным алгоритмом, дешифратором и тп. не расшифровать. Почему? А все потому что DES использует «ключевое» шифрование. Этот алгоритм использует связки букв для шифрования(верхнего и нижнего регистра), цифры и символы. Грубо говоря чтобы запустить алгоритм дешифровки вам нужен будет ключ, но вы его никогда не будете знать :) так как ключ это и есть пароль!:)
Другими словами чтобы запустить расшифровывающий алгоритм вам нужен ключ, а его у вас просто напросто не может быть так как ключ это и есть пароль!
Когда пользователь выбирает себе пароль, система зашифровывает в так называемый хэш(hash)(это то что вы видите в качестве пароля после имени пользователя) который в процессе зашифровки пароля используя в качестве ключа сам пароль.
Если ты попытаешь расшифровать используя стандартный алгоритм шифрования DES, то ты получишь просто пустую строку.
Так как John и остальные паролеломалки ломают пароли? Легко :)
Они просто пытаются воссоздать вышеупомянутый процесс перебирая пароли из словарей и используют их для DES шифрования. Потом просто идет сравнение результатов с тем что у нас в файле с нужными нам зашифрованными паролями. И если строки совпадают, Поздравляю :) пароль взломан!
Ну ладно :) давайте дальше.
Если первый способ не сработал на благо нашего благородного дела :) то тогда пробуем так:
Так идет поиск не просто по словарю, но оно еще и пытается модифицировать слова которые находит в словаре (например добавление цифр в конце слова с заменой последнего символа (так lol превращается в lo1)). Такой способ займет очень много времени с большим словарем, но рузьтат может оказаться даже лучше чем надеешся… Для начала такой способ можно попробовать с маленькими словарями и если не удалось сломать с маленькими то можно смело брать большие словари.
Иногда люди не такие уж и тупые :) и выбирает такие пароли что даже дефолтовые «правила» не работают.....(!@#$% — типа маты :)) И как видишь взлом таких паролей требует гораздо больше времени для твоего процессора чтоб взломать этот пароль.
Если вы хотите больше перебрать больше возможны паролей сделайте так:
C "-i" начинается инкрементальный взлом, не очень хорошее определение, но все же…
Так что черт возьми оно делает? Оно использует стандартные инкрементальные параметры, которые задаются в файле настроек john.ini.
Что это значит? Вы помните -rules? Ну конечно помните :) если только не перестали читать на этом месте и не вернулись через пару лет :) Это грубо говоря является правилом, но на самом деле там все гораздо сложнее и мощнее в плане "-правил" и займет это все гораздо больше времени на объяснения.
…
Итак, наилучший способ чего то достичь это начать работать для достижения желаемого результата :)
То чему мы сейчас будем учиться это так сказать «брешь» безопасности в *nix(Unix\Linux\и тп.) системах, а именно файлы с паролями. Это не означает что у вас должно быть установлен дистрибутив *nix системы на вашем ПК, но это означает что вы ничего не добьетесь просто клацая по экрану.
Вы наверно задаетесь вопросом: «Что он этот странный тип пытается нам сказать!?»
Этот странный тип пытается сказать что John это консольная программа(также есть *nix версии, но я уверен что большинство читающих сидят на творении дяди Била). Я постараюсь внести в этот туториал примеры что бы он не выглядел как скучный сценарий с кучей непонятных терминов и требований. После прочтения этого материала я советую вам прочитать «ридми» материал который идет с John'ом. Я почерпнул большую часть знаний именно оттуда, но это, конечно, был трудный путь, а вы хотите способ попроще, не так ли?..
Первое, было бы неплохо скачать и установить John the Ripper… если вы не знаете где его достать то можете поискать тут.
Второе, вам понадобиться… ОГРОООМНОЕ количество словарей с паролями (Я расскажу зачем позже). Хорошие словари можно найти на www.theargon.com/achilles/wordlists и в других местах (надеюсь вы проявите смекалку и поищите). Вам понадобятся как огромные словари так и маленькие (Я расскажу зачем позже).
Мы похожи на никсы ?
Ну вот вы скачали john'a, слили огроооомные словари с паролями и уже думаете что можете сломать что угодно… Если вы планируете прожить еще 100000 лет, то это не проблема :) но давайте спустимся на землю и увидим что у нас примерно 80 лет в лучшем случае (кончено если ученые не придумают что-то что продлит… хотя, забудьте :)).
Теперь, первое что нам нужно сделать, так это удостоверится что пароль является от ОС семейства Unix а точнее файлик /etc/passwd.
Давайте взглянем что оно такое Unix пароль:
user:Ejt3XJV5Ms:480:182:любой_текст:/home/subdir/user:/bin/bash
Важная часть это имя пользователя и зашифрованный пароль, это первая и вторая части (каждая пользовательская запись разделена на семь частей знаком: )
user:Ejt3XJV5Ms
«User» это имя пользователя (логин), а вторая (непонятная <мат>отень) это зашифрованный пароль (зашифрованный алгоритмом DES (Data Encryption Standard)). Что касается остальных частей «строки» то там можно писать что захотите :) главное чтоб структура «строки» оставалась такой как и была чтоб john мог распознать unix пароль. На самом деле вторая часть это лишь информация о пользователе, его домашняя директория, описание, группы и тп.:
:510:102:Some free text:/home/subdir/owner:/bin/bash
Иногда вы будете получать пароли состоящие только из 2 первых частей:
user:Ejt3XJV5Ms
Вы должны добавить вторую часть «строки» чтоб все было похоже на unix пароль, просто скопируйте из другой полной строки от другого пароля :)
Даже можете использовать это:
:480:182:MEGA USER:/home/subdir/user:/bin/bash
После «склейки» у вас получиться нечто похожее на вот такое:
user:Ejt3XJV5Ms:480:182:MEGA USER:/home/subdir/user:/bin/bash
Эм, вы даже можете вот такое добавить:
user:Ejt3XJV5Ms:a:a:a:a:a
Для John'a нету разницы что там будет :) главное соблюдать структуру строки.
Мы идем куда-то… в никуда....
Ну теперь ты готов
Запускаем консоль (или не запускаем, unix юзеры думаю догадались и скомпилировали у себя John'a) и пишем там:
john -w:words.lst password.file
Где words.lst словарь паролей, а password.file файлик с паролем или паролями. Если вы
Where words.lst is password dictionary and password file where you have your password or passwords. Для примера можете поискать готовые примеры простых паролей и поломать их. Очень часто юезры в качестве имени пользователя и пароля используют одно и тоже слово, например:
fatigue:fatigue
** даже не пытайтесь мой акк похекать :)
Ладно вернемся к:
john -w:words.lst password.file
Стой, стой, стой! Что я здесь делаю ?
Окей, слушай внимательно. DES шифрование которое используется в Unix системах НЕ МОЖЕТ быть дешифровано обратно. Некоторые виды шифрования могут быть «обращены» обратными алгоритмами (в 3-м веке н.э. Цезарь придумал использовал метод шифрования по форуме (она и название) «сдвиг на три», это означает что что вместо буквы «a» будет буква «d», вместо «b» идет «e» и т.д. На то время этот алгоритм был супер крут :) но сейчас это не так)
В любом случае, как я писал выше DES никаким обратным алгоритмом, дешифратором и тп. не расшифровать. Почему? А все потому что DES использует «ключевое» шифрование. Этот алгоритм использует связки букв для шифрования(верхнего и нижнего регистра), цифры и символы. Грубо говоря чтобы запустить алгоритм дешифровки вам нужен будет ключ, но вы его никогда не будете знать :) так как ключ это и есть пароль!:)
Другими словами чтобы запустить расшифровывающий алгоритм вам нужен ключ, а его у вас просто напросто не может быть так как ключ это и есть пароль!
Когда пользователь выбирает себе пароль, система зашифровывает в так называемый хэш(hash)(это то что вы видите в качестве пароля после имени пользователя) который в процессе зашифровки пароля используя в качестве ключа сам пароль.
Если ты попытаешь расшифровать используя стандартный алгоритм шифрования DES, то ты получишь просто пустую строку.
Так как John и остальные паролеломалки ломают пароли? Легко :)
Они просто пытаются воссоздать вышеупомянутый процесс перебирая пароли из словарей и используют их для DES шифрования. Потом просто идет сравнение результатов с тем что у нас в файле с нужными нам зашифрованными паролями. И если строки совпадают, Поздравляю :) пароль взломан!
Ну ладно :) давайте дальше.
Если первый способ не сработал на благо нашего благородного дела :) то тогда пробуем так:
john -w:words.lst -rules password.file
Так идет поиск не просто по словарю, но оно еще и пытается модифицировать слова которые находит в словаре (например добавление цифр в конце слова с заменой последнего символа (так lol превращается в lo1)). Такой способ займет очень много времени с большим словарем, но рузьтат может оказаться даже лучше чем надеешся… Для начала такой способ можно попробовать с маленькими словарями и если не удалось сломать с маленькими то можно смело брать большие словари.
Иногда люди не такие уж и тупые :) и выбирает такие пароли что даже дефолтовые «правила» не работают.....(!@#$% — типа маты :)) И как видишь взлом таких паролей требует гораздо больше времени для твоего процессора чтоб взломать этот пароль.
Если вы хотите больше перебрать больше возможны паролей сделайте так:
john -i password.file
C "-i" начинается инкрементальный взлом, не очень хорошее определение, но все же…
Так что черт возьми оно делает? Оно использует стандартные инкрементальные параметры, которые задаются в файле настроек john.ini.
Что это значит? Вы помните -rules? Ну конечно помните :) если только не перестали читать на этом месте и не вернулись через пару лет :) Это грубо говоря является правилом, но на самом деле там все гораздо сложнее и мощнее в плане "-правил" и займет это все гораздо больше времени на объяснения.
И где мы теперь? словарь vs. брут ?
…