Просмотрите исходный код, нажав \
(благодаря этой статье)
Затем нажмите клавишу P
и выберите Сохранить в локальный файл
.
Можете ли вы попробовать войти в систему как каждый пользователь? например.
echo "foobar" | su username
Вам потребуется временно отключить проверку TTY .
Существует специализированный инструмент для проверки уязвимости паролей:John the Ripper , доступный и, вероятно, включенный во все распространенные разновидности Unix и Linux.
Вот пример использования в Debian GNU/Linux 9(unshadowприходитjohn). Следует проявлять некоторую осторожность при манипулировании файлами паролей, это всего лишь PoC. Обратите внимание, что команду john можно запускать удаленно (и, таким образом, ее нельзя устанавливать где-либо еще, кроме выделенной системы ), если она предоставляет подходящие файлы паролей.
Настройка (, включая установку пароля foobar к учетной записи тест):
# echo test:foobar | chpasswd
# grep ^test: /etc/shadow
test:$6$84SIejUB$qM5UulJEIiwjOc4PWXYupWoyU/jMP0rKA8cM1g8CEOgxMlC.x4ndbbdRq438rjKb.6UwCoTqzvgxoi0h51Kpm1:18050:0:99999:7:::
# unshadow /etc/passwd /etc/shadow > /root/workpasswd
# echo foobar > /tmp/wordlist
Проверка запрещенных паролей/паролей по умолчанию:
# john -wordlist:/tmp/wordlist /root/workpasswd
Created directory: /root/.john
Loaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
foobar (test)
1g 0:00:00:00 100% 5.882g/s 5.882p/s 17.64c/s 17.64C/s foobar
Use the "--show" option to display all of the cracked passwords reliably
Session completed
Результат:
# john -show /root/workpasswd
test:foobar:1001:1001:,,,:/home/test:/bin/bash
1 password hash cracked, 2 left
Очистка:
# rm -r /root/workpasswd /root/.john /tmp/wordlist
Поскольку я не сторонник установки дополнительных программ и не хочу возиться с sudoers
, в итоге я сделал следующее
sshpass -p foobar ssh -o PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no user@host
, а затем проверьте код выхода в Ansible. Если пароль был правильным, код выхода будет 0,иначе 5.