Почему всех так волнует файл etc/passwd?
Вот содержимое моего бродячего компьютера этого конкретного файла:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/us$
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
syslog:x:100:103::/home/syslog:/bin/false
Может кто-нибудь объяснить мне, почему это плохо, если какой-то злой парень может получить этот файл моего рабочего сервера?
2 ответа
Ключевым моментом является то, что Пентестеры/ белые шляпы / этические хакеры, а также цель в черной шляпе /etc/passwd
как proof of concept
, как проверка возможности получения доступа к системе.
технически /etc/passwd
это не страшно В прошлом она использовалась для хранения личных данных, паролей, конечно, но в настоящее время вам нужно больше беспокоиться о /etc/shadow
- большинство систем Linux в настоящее время используют shadow
набор утилит для хранения хешированного и соленого пароля в /etc/shadow
, который в отличие от /etc/passwd
не для чтения во всем мире. (если вы не используете pwunconv
команда, которая на самом деле перемещает хешированные пароли обратно в `/etc/passwd).
Единственная более или менее конфиденциальная информация - это имена пользователей. Если у вас есть sshd
или же telnet
на сервере и имени пользователя со слабым паролем существует вероятность атаки методом перебора.
Кстати, ваш самый тот же вопрос был задан ранее. Здесь я просто изложил некоторые из концепций, упомянутых там уже.
Небольшое дополнение: это немного надумано, но я заметил, что у вас есть bash
как корневая оболочка. Теперь предположим, что у вас есть пользователь в системе, который имеет bash
как их оболочка, еще хуже - этот пользователь sudoer. Теперь, если ваш bash устарел или не исправлен, злоумышленник может попытаться использовать уязвимость Shellshock, чтобы украсть данные или выполнить бомбу-бомбу, временно отключив вашу систему. Так что да, технически /etc/passwd
не имеет большого значения, но дает злоумышленнику представление о том, что делать
Дополнительное редактирование, 18.11.2016
Поработав некоторое время на сервере Ubuntu в Digital Ocean, до меня дошло, что наиболее грубые атаки на мой сервер проводились для root
пользователь - 99% записей для ошибочного пароля в /var/log/auth.log
были для root
, /etc/password
Как я уже упоминал ранее, злоумышленник видит список пользователей, и не только пользователей системы, но и пользователей, что означает больше потенциальных мест для атаки. Давайте помнить, что не все пользователи заботятся о безопасности и не всегда создают надежный пароль, поэтому ставка злоумышленника на человеческую ошибку или чрезмерную уверенность имеет довольно высокую вероятность получения джекпота.
Чтобы войти в систему, вам нужно знать как имя пользователя, так и пароль.
/etc/passwd
предоставляет информацию о пользователях, которая дает вам половину необходимой вам информации и используется для добавления хэша вашего пароля.
Хеш - это что-то, вычисленное по вашему паролю. Трудно найти пароль из хэша, но не наоборот. Если у вас есть оба варианта, вы можете попытаться перебором паролей, чтобы найти пароль в автономном режиме, тогда пытайтесь подключиться к компьютеру только после того, как вы его нашли.
Сегодня безопасность улучшена, потому что хеши хранятся в другом файле /etc/shadow
который по умолчанию не читается большинством пользователей.
Но если бы у меня был доступ к обоим /etc/passwd
а также /etc/shadow
Я мог бы найти ваш пароль, используя атаку "словарь". Поскольку я могу сделать это локально на моей машине, вы не заметите много неудачных попыток найти ваш пароль, и мне нужно будет подключиться к вашей машине снова, только когда я узнаю пароль. Тогда я свободен делать все, что захочу.
Здесь больше информации в Википедии