Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


Защита с помощью пароля на Linux

Использование файла /etc/shadow

Пароль в Linux системах, используемый для учётных записей, обычно доступен как /etc/passwd. Для дополнительных мер безопасности используется теневая (shadow) копия этого файла, которая включает пароли ваших пользователей. А на самом деле, хранится даже хеш пароля, для максимальной безопасности.

Пример строки в /etc/shadow может выглядеть вроде этого:

mial:$6$Xwg3PsUW$M49EeBEW7jBPfArGNLcNt6p2uck2o71V.XS8VZzhcNCYQRpPkWTD16WSrTHUhQ2qegMgb56CLuc2Qe/TxXT.H0:16441:0:99999:7:::

Для нормального отображения давайте разделим эту строку на несколько полей:

  1. mial
  2. $6$Xwg3PsUW$M49EeBEW7jBPfArGNLcNt6p2uck2o71V.XS8VZzhcNCYQRpPkWTD16WSrTHUhQ2qegMgb56CLuc2Qe/TxXT.H0
  3. 16441
  4. 0
  5. 99999
  6. 7:::
  7. <пусто>
  8. <пусто>

Объяснение полей

Время взглянуть, что эти строки означают:

1) Имя пользователя

Это простое поле, оно содержит имя пользователя конкретного аккаунта.

2) Детали хэширования паролей + хешированный пароль

Самая важная строка в файле /etc/shadow, конечно, это второе поле. Оно включает детали о пароле и содержит несколько частей:

$6 = SHA-512

$Xwg3PsUW$ = Соль и разделители. Соль — это маленькая строка символов для смешения в функции хеширования. Её цель — усложнение исполнения конкретных атак, основанных на подборе пароля по его хешу. Эта соль состоит из символов a-z, A-Z, 0-9, / и .

Длинная строка символов = хешированный пароль

Длинная строка и её длина зависят от использованного метода хеширования. С $6, или SHA-512, она будет из 86 символов.

Длины:

  • $1 = MD5 с 22 символами
  • $5 = SHA-256 с 43 символами

Обратите внимание:

Когда поле пароля содержит ! или *, это значит, что аккаунт заблокирован. Двойной ! (!!) сигнализирует, что пароль никогда не был установлен.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


3) Последнее изменение

Номер показывает, когда пароль был изменён последний раз.

Этот номер показывает, когда пароль был изменён последний раз. Номер отображает номер дня, отсчитанного с начала эпохи (1 января 1970). Прямо сейчас это промежуток 16000+.

4) Число дней до смены пароля

Это поле определяет, сколько должно пройти, пока пароль может быть сменён. В нашем случае это ноль, т. е. пароль можно поменять прямо сейчас.

5) Число дней до требуемой смены пароля

Другое поле, название которого само объясняет его функцию, отображает как долго осталось (в днях) до требования сменить пароль. Отличная опция для принудительной смены пароля.

6) Порог предупреждения в днях

В паре с предыдущем полем, это поле описывает, за сколько дней до требуемой смены пароля будут даваться предупреждения. В этом примере это одна неделя.

7) Дата истечения

Также хранится в днях, описывает, когда учётная запись истекает (с даты начала эпохи).

8) Зарезервированное поле

Обычно не используется дистрибутивами Linux.

Разрешения на файл

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

Проверка согласованности /etc/passwd и /etc/shadow

Дистрибутивы Linux обычно содержат утилиту pwck. Эта маленькая утилита проверет согласованность обоих файлов и укажет на какие-либо проблемы. Задавая ключ -r мы определяем, что она работает в только режиме чтения.

pwck -r /etc/passwd /etc/shadow

01


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices