Чому всіх так турбує etc / passwd?


36

Ось вміст моєї бродячої машини саме цього файлу:

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

Чи може хтось пояснити мені, чому це погано, якщо якийсь злий хлопець міг отримати цей файл мого виробничого сервера?


19
Ще в давні часи він містив зашифровані паролі для кожного користувача - де зараз: x:. Якщо ви це отримали (що було легко, оскільки воно читається всіма, тому вам потрібен лише один логін), ви могли б змусити зламати паролі. Тепер вони зберігаються в / etc / shadow, який не читається настільки, що менша ймовірність "вийти", але який би мав той самий випуск, як і він.
Марк Сміт

8
Я можу сказати, що у вас на цьому апараті є веб-сервер. У поєднанні з вашою IP-адресою це може бути зламано>: - D
Rinzwind

3
@MarkSmith Коли він містив зашифровані паролі? AFAIK почав життя як хешовані паролі. Звичайно, оскільки я вперше використав Unix у 1982 році.
user207421

3
@funguy: користувач www-data зазвичай використовується веб-серверами. Ubuntu та, ймовірно, Debian використовували цього користувача як користувача Apache за замовчуванням.
Лежати Райан

3
@funguy www-data - це типовий користувач apache. Є більше: uucp є unix для копіювання unix; це означає, що ви копіюєте файли між системами. І "irc" і "gnats" також легко помітити.
Rinzwind

Відповіді:


47

Ключовим моментом є те, що Pentesters / білих циліндрах / етичних хакерів, а також мета чорно-хета , /etc/passwd як proof of concept, в якості критерію можливості отримання доступу до системи.

Технічно /etc/passwdце не страшно. Раніше він зберігав приватні дані, паролі, очевидно, але сьогодні вам потрібно буде більше турбуватися /etc/shadow- більшість систем Linux зараз використовують shadowнабір утиліт для збереження хешованих і солоних паролів /etc/shadow, що на відміну від /etc/passwdсвіту не є -читабельний. (якщо ви не використовуєте pwunconvкоманду, яка фактично переміщує хешовані паролі назад в `/ etc / passwd).

Єдиною більш-менш чутливою інформацією є імена користувачів. Якщо у вас є sshdабо telnetна сервері та ім’я користувача із слабким паролем, є можливість нападу грубої сили.

До речі, ваше саме таке питання було задано і раніше . Тут я просто перечитав деякі згадані там концепції.

Невелике доповнення: це трохи надумано, але я помітив, що у вас є bashкоренева оболонка. Тепер, припустимо, у вас в системі є користувач, який має bashсвою оболонку, ще гірше - той користувач sudoer. Тепер, якщо ви натрапили на застарілий або без виправлення, зловмисник може спробувати використати вразливість Shellshock для крадіжки даних або виконання вилки-бомби тимчасово знищить вашу систему. Так, так, технічно /etc/passwdце не велика справа, але це дає нападникові уявлення про деяку інформацію про те, що слід спробувати

Додаткова редакція, 18.11.2016

Використавши сервер Ubuntu на цифровому океані на деякий час, він прийшов до мене увагу, що більшість перебору атаки проти мого сервера були проведена для rootкористувача - 99% записів для невдалого пароля в /var/log/auth.logбули для root. /etc/passwordЯк я вже згадував раніше, зловмисник переглядає список користувачів, причому не лише користувачів системи, а й користувачів людей, що означає більше потенційних місць для нападу. Пам’ятаймо, що не всі користувачі знають про безпеку і не завжди створюють надійний пароль, тому ставка зловмисника на помилку людини або переконання має досить високу ймовірність стати джекпотом.


6
+1, чудова відповідь. Додаючи до цього, я хотів би також сказати, що загалом інформація є владою; залишаючи осторонь сумнозвісного Shellshock, можна зібрати, наприклад, інформацію про запущені процеси, які також можна було б використати; наприклад, на машині OP працює Apache, і це ще одна потенційна діра, яка залишилася незакритою
kos

1
Хм ... Отже, ви б запропонували змінити за замовчуванням імена користувачів, щоб плутати зловмисника?
Фредо

@Freedom Це не допомагає. Якщо змінити вхід у систему, ідентифікатори користувача та групи залишаться однаковими. Наприклад, ось мій TestUser: testuser1:x:1001:1001:,,,:/home/testuser:/bin/bash. Після того, як я біжу sudo usermod testuser1 -l testuser2 sudo usermod testuser1 -l testuser2 , запис має інше ім'я , але GID і UID є однаковими: testuser2:x:1001:1001:,,,:/home/testuser:/bin/bash. Якщо пароль незмінний, зловмисник може здогадатися і все одно зламати систему. Вимагати, щоб термін дії пароля закінчувався і міняв його час від часу - це кращий підхід, але також не є кулезахисним.
Сергій Колодяжний

1
Зміна імен користувачів за замовчуванням корисна для тих облікових записів, які мають вхід SSH (або інші віддалені входи). Отже, змінюється порт за замовчуванням для цих входів. Все, що дозволяє вам зберігати ваші журнали без мільярдів випадкових сканувань за допомогою скриптів-дітей, означатиме, що ви можете зосередитись на більш навмисних атаках. Якщо ваші власні імена з’являються у ваших журналах невдалого входу, ви знаєте, що це серйозна спроба ввійти, а не проїжджати.
Дьюї Морган

11

Для того, щоб увійти на машину, вам потрібно знати як ім’я користувача, так і пароль.

/etc/passwd надає інформацію про користувачів, яка дає вам половину необхідної інформації та використовується для включення хешу вашого пароля.

Хеш - це щось, обчислене з вашого пароля. Важко знайти пароль із хешу, але не навпаки. Якщо у вас є обидва, ви можете спробувати грубі спроби знайти пароль в автономному режимі, то намагайтеся підключитися до комп'ютера лише після того, як ви його знайшли.

Сьогодні безпека покращується, оскільки хеші зберігаються в іншому файлі, /etc/shadowякий за замовчуванням не читається більшістю користувачів.

Але, якби у мене був доступ до обох, /etc/passwdі /etc/shadowя, певно, міг би знайти ваш пароль, використовуючи атаку «словника» грубої сили. Оскільки я можу це зробити локально на своїй машині, ви не помітили б багато невдалих спроб знайти свій пароль, і мені потрібно було б знову підключитися до вашої машини, лише коли я дізнався пароль. Тоді я вільний робити все, що хочу.

Більше інформації тут у Вікіпедії


Тут вам здається, що ви, мабуть, повинні згадати «райдужні столи», щоб просто дати уявлення про те, як працює ця жорстока атака.
Рік Чатем
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.