Итак, не останавливаясь на достигнутом :connie_running: пытаюсь рассматривать все более широкий круг программ, которые мне доступны.
Теперь добрались руки и до "Джона потрошителя", о котором слышал давно, когда его еще под винду не было.
Суть его - взлом паролей по хешу.
Объем поддерживаемых типов хешей впечатляет...
Цитата: DES/BSDI/MD5/BF/AFS/LM/NT/XSHA/PO/raw-MD5/IPB2/raw-sha1/md5a/hmac-md5/KRB5/bfegg/nsldap/ssha/oracle/MYSQL/mysql-sha1/mscash/lotus5/DOMINOSEC/NETLM/NETNTLM/NETLMv2/NETHALFLM/mssql/mssql05/epi/phps/mysql-fast/pix-md5/sapG/sapB/md5ns
Как известно, та же винда, большинство баз и т.п. хранят пароли пользователей в виде хешей. Кодирование пароля в хеш необратимо. Т.е. единожды закодировав, раскодировать обратно невозможно. Мысль правильная с точки зрения сохранности паролей. Но системе этот пароль надо проверять. Поскольку пароль в системе невозможно раскодировать, то система кодирует тем же алгоритмом то, что вы вводите при логоне и сравнивает хэш с тем что имеет. Надеюсь, что не запутал, я это умею :)
Джон делает то же самое. Берет набор имеющихся хешей и подкидывая в алгоритм кодирования одно слово за другим, пытается подобрать пароль.
В Oracle особо заморачиваться с подбором паролей не надо, поскольку имеется identified by values, но ради прикола сделаем следующее.
Цитата: select username||':'||password from dba_users where username='SUPERMAG';
получаем
Цитата: SUPERMAG:7A7ECC9432C09006
В Джоне необходимо разделять имя/хэш двоеточием. Сам Джон у меня с настройками по дефолту, поэтому особой производительности не ожидается... Делаем следующее:
Цитата: olegon@oops ~ $ echo SUPERMAG:7A7ECC9432C09006>testora.lst
olegon@oops ~ $ /usr/sbin/john testora.lst
Loaded 1 password hash (Oracle [oracle])
Crash recovery file is locked: /home/olegon/.john/john.rec
olegon@oops ~ $ /usr/sbin/john testora.lst --session=test
Loaded 1 password hash (Oracle [oracle])
QQQ (SUPERMAG)
guesses: 1 time: 0:00:01:39 100% (2) c/s: 606956 trying: QQQ
Как видно, Джон у меня крутит более интересные вещи в фоне ;) Поэтому я поставил ему другую сессию (с именем test) и озадачил. Полторы минуты потребовалось бедолаге, чтобы подобрать пароль... Для статистики, та сессия, что крутилась в фоне, потратила около полутора часов на подбор 8-символьного пароля (там, правда, в списке более 200 пользователей)... Надо отметить, что подбор может быть брутом, может быть по словарю (есть у меня гиговый словарик)... Пароли, равные имени пользователя и подобные мелочи отстреливаются на раз. Занятно, буду ковыряться дальше :) Буду рад, если кто-то отпишется по каким-то идеям... Сам, естественно, работаю под :kuzya_03: