Чтобы понять, как хакер может получить доступ к этому файлу, вы должны думать, как хакер, в основном за пределами коробки, о том, что большинство из них считает "нормальными" методами доступа к файлу.
Для этого кто-то может получить доступ к демону, который может иметь привилегии root, и затем заставить этого демона прочитать содержимое файла /etc/shadow
. За свою карьеру я видел много примеров, когда разработчики или неведомые системные администраторы запускали такие приложения, как Tomcat или Apache, от имени root.
Эти же методы можно использовать и для расширения прав доступа к файлам, хотя хороший хакер не будет делать что-то настолько очевидное, чтобы его можно было обнаружить, безопаснее прочитать содержимое этих файлов и спрятать их в другом месте или извлечь их из коробки.
Что касается типа файла /etc/shadow
, он четко помечен как текстовый файл в моей системе CentOS 7.x.
$ file /etc/shadow
/etc/shadow: regular file, no read permission
$ sudo file /etc/shadow
/etc/shadow: ASCII text
Его разрешения следующие:
$ ll /etc/shadow
----------. 1 root root 1150 Oct 29 11:44 /etc/shadow
И хешированные пароли четко видны для каждого пользователя:
$ sudo grep vagrant /etc/shadow
vagrant:$1$sPqOnE53$gIcd5Q0xjmV9bM406mHpf/::0:99999:7:::
-или же-
$ sudo getent shadow | grep vagrant
vagrant:$1$sPqOnE53$gIcd5Q0xjmV9bM406mHpf/::0:99999:7:::