Восстановление с помощью открытого текста в usermod -p

Вчера и сегодня сервер моего небольшого офиса подвергся атаке, и, очевидно, хакер получил доступ по слабому паролю (то есть я полностью виноват). В тот момент, когда я это заметил, я физически отключил сервер от интернета и изменил все пароли пользователей (с помощью kpasswd) и пароль пользователя root (с помощью usermod -p).

У меня не было Интернета, чтобы проконсультироваться, и я был немного обеспокоен, поэтому я ввел пароль в виде открытого текста вместо зашифрованного хэша, который я должен был ввести.

Кто-нибудь знает, как я могу "вычислить" незашифрованный открытый текст?

1 ответ

Прежде всего, это был хороший момент о переустановке сервера с нуля.

Если вы установили свой зашифрованный пароль root в /etc/shadow, эффективного способа его угадать не существует, поскольку он зашифрован с использованием криптографической хеш-функции. Если вы установили какое-либо значение в виде открытого текста, пароль будет считаться недействительным и все равно не будет принят, поскольку пароли в теневой базе данных хранятся в определенном формате.

Если у вас есть физический доступ к серверу, вы можете перезагрузиться в однопользовательском режиме через обход опции ядра single (или же init=/bin/bash для Ubuntu), есть учебник. Затем вы можете изменить свой пароль root с помощью passwd и перезагрузите систему, чтобы получить к ней доступ как обычно.

Хорошая практика - избегать корневого доступа через ssh и использовать sudo для получения привилегий суперпользователя. Также вы можете отключить аутентификацию по паролю для OpenSSH и переключиться на аутентификацию с открытым ключом.

UPD: у меня недостаточно репутации, чтобы отвечать на ваш комментарий, поэтому обновляя ответ: вы можете загрузиться в однопользовательском режиме, изменив параметры загрузки ядра в загрузчике. Пароль не требуется, если вы не настроили его для Grub. Пожалуйста, ознакомьтесь с руководством, которое я упомянул выше, чтобы выполнить однопользовательскую загрузку.

Другие вопросы по тегам