У меня есть компьютер, с которого мне нужно загрузиться, но пароли кажутся поддельными. Кроме того, я не могу смонтировать диск для записи, и это процессор MIPS, поэтому я не могу вставить его в другую машину, чтобы запустить его.
В любом случае, в файле passwd есть пользователи, которые выглядят так, со звездочкой после имени пользователя. это значит пустой пароль или как?
root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
lp
пользователя смехотворно слаб. А поскольку пароли на основе DES ограничены ASCII и могут содержать только 8 символов, вы не получите более 53 бит энтропии. Переключитесь на более сильный хеш, если можете, и измените пароли.lp
пароль за 630 миллисекунд.root
Пароль намного сильнее. Я позволил атаке грубой силой пройти пять часов, прежде чем прекратил ее. Он не сломалroot
пароль в течение этих пяти часов. Но вы, конечно, все равно должны следовать предыдущей рекомендации и сменить пароль.Ответы:
Вы должны проверить man passwd :
Обычно учетные записи
*
в поле пароля не имеют пароля, например: отключен для входа в систему. Это отличается от учетной записи без пароля, что означает, что поле пароля будет пустым и что почти всегда является плохой практикой.источник
Учетные записи с паролями - это учетные записи с бейсбольным бредом во втором поле:
Этот компьютер, похоже, использует традиционный
crypt(3)
хэш пароля на основе DES . Этот хеш довольно слаб по современным стандартам; если вам не удается получить root-доступ каким-либо иным способом, вы, вероятно, можете восстановить пароль с помощью грубой силы, используя John the Ripper или аналогичное программное обеспечение. Кроме того, технически это не base64, а более старая, похожая кодировка, но вам, вероятно, не нужно беспокоиться об этом.Различие между упомянутыми
:*:
и:!:
упомянутыми в других ответах слишком новыми, чтобы иметь отношение к вашей проблеме. В старой системе UNIX в поле пароля могут отображаться только три разные вещи:Если содержимое поля пароля пустое, вы можете войти без пароля.
Если содержимое поля является действительным
crypt
хешем какого-либо пароля, вы можете войти с этим паролем.В противном случае вы не сможете войти как этот пользователь.
*
это просто обычная вещь для использования - это визуально явно не действительный хэш пароля. Вероятно, его выбрал тот, кто написалpasswd
программу.(Смысл наличия идентификаторов пользователей в файле паролей, которые не могут войти в систему, состоит в том, что они могут иметь собственные файлы, у них все еще могут быть
cron
задания, и демоны могут использовать ихsetuid
для подтверждения этой идентичности. На самом деле, рекомендуется запускать все демоны (которые не должны запускаться какroot
) под такими идентификаторами пользователей, так что у вас есть некоторый уровень уверенности в том, что под этим идентификатором работает только демон.)(Учетные записи
/dev/null
в поле оболочки заблокированы отroot
использованияsu
для запуска программ под этим идентификатором пользователя, а также от обычного входа в систему. В настоящее время вы с большей вероятностью видите/bin/false
или/sbin/nologin
используете для этой цели; я подозреваю, что в этой системе последний делает не существует, а первый является сценарием оболочки.)(Пароль для Боба - «bobpassw», зашифрованный по старому алгоритму, но на современном компьютере с Linux; это может быть не то, что ваш компьютер будет производить для того же пароля и соли. Одна из причин, по которой старый алгоритм считается бесполезным больше он имеет жесткий верхний предел 8 символов в пароле.)
(Я знаю, что система действительно старая, потому что она использует хеширование паролей на основе DES, потому что она не использует теневой файл, а также потому, что оболочка root является
/bin/ksh
чем-то более новым и эргономичным.)источник
passwd
, не нужно было бы монтировать --bind / dev / sys ....Это означает, что он отключен для прямого входа в систему. Это пользователь, который используется для запуска сервисов или для использования в rlogin. Проверьте https://en.wikipedia.org/wiki/Passwd#Password_file
источник
О вашем актуальном вопросе смотрите ответ Талиезина (и примите тот;)
О вашей другой проблеме: найдите строку 8sh9JBUR0VYeQ на диске, чтобы выяснить, в каких дисковых блоках он находится. Затем поместите эти дисковые блоки в файл, замените эту строку на известный хэш пароля (старая крипта) () одинаковой длины) и запишите дисковые блоки обратно в старое место - возможно, предварительно сделав полную резервную копию диска. Поскольку этот подход не меняет размер файла, метаданные файловой системы не требуют обновления.
источник