Вопросы по домену AD

Olej

New member
Сообщения
1 014
#41
Код:
olej@astra:~$ mkpasswd -m sha-512 --salt=zxc12345vbnm 123
$6$zxc12345vbnm$/MRL9KqNdzy1xEKNvtW/o5kSxXcJ8yQ551OyuW8R.XwOHTQXE.qJSKJdhumG/XWOVfaeKFaJCznZ//4iZrait0
В Astra Linux SE они как-то что-то поменяли, что было бы вполне логично ... у них просто нет mkpasswd:
Но у них хоть и нет утилиты mkpasswd, но всё то же можно получить скриптом Perl, который и обеспечивает работу утилиты mkpasswd:
Код:
olej@astra:~$ perl -e 'print crypt(q/123/, q/$6$zxc12345vbnm$/), "\n"'
$6$zxc12345vbnm$/MRL9KqNdzy1xEKNvtW/o5kSxXcJ8yQ551OyuW8R.XwOHTQXE.qJSKJdhumG/XWOVfaeKFaJCznZ//4iZrait0
Сравните с тем, что было утилитой получено в Astra Linua CE (выше я специально сюда вкопировал).
 
Последнее редактирование:

Olej

New member
Сообщения
1 014
#42
значит, эта самая соль сначала присоединяется с паролю (ну или шифрованому паролю), а потом снимается хэш?
Я не могу вам точно ответить "как" ... но, судя по публикациям, всё несколько сложнее:
- то как salt смешивается с passwd - зависит от метода...
- смешиваются они как символьные строки до хэширования...
- смешиваться они могут достаточно причудливым способом, см. как пример Где соль, прикрепленная к паролю, ПОСЛЕ или ДО пароля? для MD5:
Прежде всего, способ использования солей зависит от используемой функции хеширования. Вы упомянули MD5, поэтому мы возьмем этот случай.
Вы должны найти ответ в файле glibc / crypt / md5-crypt.c, в источниках glibc.
Там вы обнаружите, что сначала он делает что-то вроде md5 (KEY $ 1 $ SALT), затем выполняет md5 (KEYSALTKEY), а затем смешивает их странным образом. Затем он делает еще несколько странных итераций, основанных на ключе, соли и предыдущих результатах, и, наконец, после некоторого дополнительного смешивания байтов вы закончите.
Но каким способом это делается - это не принципиально важно.
 

Montfer

New member
Сообщения
465
#43
Я не могу вам точно ответить "как" ... но, судя по публикациям, всё несколько сложнее:
- то как salt смешивается с passwd - зависит от метода...
- смешиваются они как символьные строки до хэширования...
- смешиваться они могут достаточно причудливым способом, см. как пример Где соль, прикрепленная к паролю, ПОСЛЕ или ДО пароля? для MD5:

Но каким способом это делается - это не принципиально важно.
Понятно, что ничего не понятно XD Шучу. Спасибо за ответ.
 

Olej

New member
Сообщения
1 014
#44
Понятно, что ничего не понятно
Linux хорош тем, что, в отличие от привычек выработанных всеми предыдущими операционными системами, здесь - лезешь в исходные коды, чего угодно: ядра, модулей-драйверов, утилит GNU, другого ПО ... и всё уточняется - пусть не том уровне, чтобы править код, но на уровне понимания происходящего, это точно. И если не один человек разберётся, то другой, и обязательно опишут, так что любая деталь, в конечном счёте, становится прозрачной.
 
Последнее редактирование:

oko

New member
Сообщения
107
#45
*в сторону*
Пароль из 2 символов при словаре в 96 символов - это, условно, 72 Кбайт словарь. В фактических системах используют 72-78 символьный словарь, так что размер словаря - 26.4 Кбайт. Дальше смотрим выхлоп в спойлере. Что там про 2.5 часа, а?
root@debian-9-64 ~/john # ls -ln
итого 32
-rw-r--r-- 1 0 0 124 сен 15 18:58 rules.lst # собственно, хэш для пароля a2
-rw-r--r-- 1 0 0 27075 сен 15 18:59 words2.txt # словарь

root@debian-9-64 ~/john # cat rules.lst
root:$6$JYzCx6Ex$OI2uynFHwO8SmIKswjzZDG4EeKgOV6kiHE2OPhYT.CKAHGrV.yzgYyoFEYP1SAqD1su1/2Wmbb4opiuM1zZsO.:18154:0:99999:7:::

# запускаем john в 8 потоков с использованием нашего словаря
root@debian-9-64 ~ # time john --wordlist=/root/john/words2.txt --fork=8 /root/john/rules.lst
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
Node numbers 1-8 of 8 (fork)
Press 'q' or Ctrl-C to abort, almost any other key for status
a2 (root)
1 1g 0:00:00:04 100% 0.2439g/s 93.65p/s 93.65c/s 93.65C/s U ..mW
Session completed
real 0m10,209s
user 0m19,924s
sys 0m0,020s


to Montfer
Про "защиту пароля" в nix почитайте мое предыдущее сообщение вам под "спойлером" - там уже все описал...
Для ознакомления (весьма условно, зато доступно, ага): https://www.internet-technologies.ru/articles/solenoe-heshirovanie-paroley-delaem-pravilno.html


to Olej
Вы реально считаете, что в "боевых" (не учебных) задачах кто-то будет применять john без параллелизации? Без предварительно собранного словаря, основанного на данных "разведки"? Или вне среды кластеризации на GPU, которая ускоряет bruteforce в разы? Если так, то мне жаль вас...
Можно сколь угодно долго кричать, что вручную молотком невозможно разрушить пирамиду Хеопса. Но отрицать принципиальную возможность положительного результата (при большом числе молотков) или ругать сам молоток - могут либо дегенераты, либо словоблуды, которым больше нечем заняться в жизни. Выбирайте, любезный, кто же вы из этого списка? Третьего не дано...