Взлом root пароля Linux


В журнале UserAndLinux прочитал такую вещь – "Как попасть в систему, если забыт пароль root?" Оказывается можно с помощью Live-cd или chroot (как я сам понимаю, если домашние каталоги не шифрованы, хотя опять же вопрос). Но не только, можно и так:
В grub выбираем установленную систему, жмем E. Ищем строку загрузки ядра такого вида
kernel /boot/bzImage root=/dev/sda1 ro
и приводим ее к такому виду
kernel /boot/bzImage root=/dev/sda1 rw init=/bin/bash
далее загружаемся и командой passwd меняем пароль суперпользователя.

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

Как можно защитить свой компьютер от такого рода атак? Желательно стандартными средствами, не устанавливая отдельных шифрующих средств (исхожу из того, что по умолчанию каталог пользователя зашифрован стандартными средствами).


Комментарии
— SATtva (12/08/2010 17:46, исправлен 12/08/2010 17:46)   
Как можно защитить свой компьютер от такого рода атак?

Полным шифрованием жёсткого диска. (Только это не атака, а штатная функция.)


Желательно стандартными средствами, не устанавливая отдельных шифрующих средств

dmcrypt-cryptsetup — стандартнее некуда.

— sentaus (12/08/2010 17:48, исправлен 12/08/2010 17:48)   
сменить пароли учетных записей пользователей, а значит получить доступ к их данным, даже если они зашифрованы пользовательским паролем.

Не значит. Смена пароля просто изменит значение хэша в /etc/shadow, а сами пароли в явном виде вроде не хранятся.

— Вий (12/08/2010 18:05)   
Не хранятся, да. Но как я понимаю, если пароль сменит взломщик, то он будет обладать и новым паролем, разве не так?
— sentaus (12/08/2010 18:06)   
Но как я понимаю, если пароль сменит взломщик, то он будет обладать и новым паролем, разве не так?


Только новым.
— Вий (12/08/2010 18:12)   
Да, но этого достаточно, что бы получить доступ к моим данным.

SATtva, сории за ламерский может быть вопрос, но если шифровать весь жесткий диск, то машина превращается в однопользовательскую? Ведь по сути дела, если у компьютера несколько пользователей, каждый из них должен знать пароль, а как гласит известная пословится, то что знают двое – знают все.
— sentaus (12/08/2010 18:13)   
Да, но этого достаточно, что бы получить доступ к моим данным.


Как, если они зашифрованы старым паролем?
— SATtva (12/08/2010 18:14)   
А у нас где-то ещё исползуют мэйнфреймы с раздельным доступом? Вроде у каждого давно своя персоналка. Каков use-case?
— SATtva (12/08/2010 18:15)   
Да, но этого достаточно, что бы получить доступ к моим данным.

Как, если они зашифрованы старым паролем?

Речь, я так понимаю, об обычном acl-пароле для логина в нешифрованную систему.
— Вий (12/08/2010 18:22, исправлен 12/08/2010 18:24)   

Не совсем. В Ubuntu есть стандартная функция – шифрование домашней папки. Эта опция выставляется при создании учетной записи, ее можно поставить или нет (для каждой учетной записи). В результате получается шифрование домашней папки пользовательским паролем. Я к сожалению не очень много интересовался какая технология шифрования используется при этом, поэтому сейчас эти вопросы мне не совсем ясны. При создании учетных записей я эту опцию отмечал.

— SATtva (12/08/2010 18:28)   
При таком раскладе sentaus прав: смена системного пароля ничего не даст "взломщику" — каталог будет по-прежнему зашифрован старым паролем.
— Вий (12/08/2010 18:34)   
Ясно, спасибо.
Подскажите еще вот что, пожалуйста. Если я использую dmcrypt-cryptsetup и зашифрую весь жесткий диск:
1. Смогу ли я входить в систему минуя пароль учетной записи с административными привелегиями?
2. Смогу ли я использовать разные пароли к разным учетным записям, в том числе шифрованным своими паролями? (по специфике работы это мне очень желательно).
— SATtva (12/08/2010 19:48)   
При полнодисковом шифровании обычно используется отдельный пароль, который вводится на раннем этапе загрузки системы (сразу после инициализации ядра и initramfs с загрузочным скриптом). Все Ваши администраторы и обычные пользователи заворачиваются в дополнительный слой абстракции. Так что ответить на Ваши вопросы можно так:

  1. Пароль администратора не требуется.
  2. Да.
— unknown (13/08/2010 09:48)   
"Атаки уборщицы" и "проблема кащеевой смерти" при многопользовательском локальном доступе к компьютеру :)

Система незашифрована


Злоумышленник использует загрузочный диск или флэшку и меняет пароль рута через chroot. А зачем кстати, когда с примонтированного диска можно и так скопировать данные? Можно правда например трояна поставить. Пароль можно и не менять через chroot, а скопировать /etc/shadow и сгенерировать запись с другим хэшем пароля для подмены. После использования файл можно вернуть в обычное состояние. Как выше замечено, можно даже не использовать загрузочный диск, а запустить shell через GRUB. Правда на GRUB тоже можно поставить пароль с хэшированием. Но ведь /boot раздел также можно подмонтировать и создать там нужный конфиг-файл с нужным хэш-значением пароля, а после загрузки вернуть как было.

Система зашифрована


А /boot раздел нет. И там лежит незащищённое ядро, которое "уборщица" может подменить на троянскую версию. Или, что ещё проще, перепаковать рамдиск для подмены с той же целью: чтобы трояны слили пароль, который можно будет забрать при следующем посещении или перехватить по сети.

/boot раздел тоже зашифрован


Здесь или используют GRUB с подержкой шифрования или выносят незашифрованный /boot на флэшку. Но загрузчик также можно протроянить. Джоанна Рутковска подтверждает это.[link1]

/boot раздел на флэшке и загрузчик там же


Всё содержимое /boot просто копируется на флэшку, которую носят всё время с собой. Флэшку делают загрузочной (т.е. GRUB выносят туда же). В биосе отключают загрузку со всех винчестеров и других носителей. Разрешают загружаться только с флэшки. За счёт использования LVM стартовый скрипт сам находит по UUID нужные физические и логические тома (в конфиге не нужно прописывать никаких /sda, /hdb, все давно уже забыли об этом).

При использовании LUKS можно иметь восемь разных паролей на один раздел, но при этом они просто будут расшифровывать ключ, которым далее будет расшифровываться раздел (том), который (ключ) будет естественно одинаковый. Если кто-то получит рута, то он сможет выцепить этот ключ из памяти и расшифровать побитовую копию раздела или её фрагменты.

Протрояненный BIOS


?

Аппаратные кейлоггеры и прочие жучки


?

Уровень паранойи → ∞


— SATtva (13/08/2010 11:25)   
unknown жжот.
Гость (13/08/2010 12:05)   
Если кто-то получит рута, то он сможет выцепить этот ключ из памяти и расшифровать побитовую копию раздела или её фрагменты.


Из памяти в смысле из ОЗУ? Тогда нужно, чтобы атакёр получил доступ к компу в процессе его работы после того, как овнер расшифровал диски, чтобы ключ болтался в ОЗУ? Или он в любом случае будет болтаться, даже если просто тупо загрузиться, не вводя лукс-паролей?!
Гость (13/08/2010 13:02)   
Если овнер не декриптует драйвы, аттакер фейл. :)
— SATtva (13/08/2010 13:42)   
Овнер тоже фейл, бекоз рут ФС останется энкриптед.
— unknown (13/08/2010 13:55, исправлен 13/08/2010 13:56)   

Уважаемый ТС хочет немного странного: дать возможность разным пользователям пользоваться компьютером с зашифрованными данными при наличии физического доступа.


Им тогда даже рут не нужен. Пусть у каждого будет по флэшке со своим ключом или в LUKS-слотах контейнера будут прописаны разные подключи под разные пароли. Но мастер ключ в результате всех этих манипуляций при входе вычисляется для всех абсолютно одинаковым.


Хитрые пользователи (в заговоре с уборщицами) копируют содержимое зашифрованного винчестера побитово. На своей машине примонтируют, зная пароль вычислят мастер ключ и примонтируют систему рутом. Понаставят трояны на все возможные места загрузки и побитово перезаливают винчестер обратно в машину, которую им неосторожно доверили.


Собственно, всё ещё проще: для примонтирования даже мастер ключ извлекать не нужно.


Как это так, физический доступ есть, пароль есть, а поломать систему нельзя? Это тогда DRM получается.

Гость (13/08/2010 20:23, исправлен 14/02/2015 22:30)   

Конечно если память такая[link2], то никакое luks-шифрование, видимо, не поможет :-)

Гость (13/08/2010 21:50)   
Уважаемый ТС хочет немного странного: дать возможность разным пользователям пользоваться компьютером с зашифрованными данными при наличии физического доступа.
Не вижу в этом ничего странного, если есть некоторый уровень доверия в группе и основная цель – не защита от инсайдеров, а защита от аутсайдеров. К примеру, весь диск шифруется каким-то мастер-ключом-паролем, и доступен для расшифрования любому, но там ничего страшного нет — обычные системные файлы. Чтобы подмонтировать "домашнюю папку" (или раздел со своим личным хоумом) нужно ввести пароль, который знает лишь данный участник. Собсно и всё: не устанавливая троян в систему, один участник не сможет попасть в чужой зашифрованный раздел, но каждый может пользоваться компьютером. Кроме троянов можно специально открыть доступ по сети от рута и скопировать информацию с чужого раздела, когда он будет примонтирован, так что некий уровень доверия всё равно нужен. Может быть (тут уж спецы по Linux лучше скажут) можно достаточно надёжно запретить грузить систему с опциями отличными от дефолтных — тогда каждый из участников не будет знать пароль рута, хотя будет знать пароль для расшифрования системных разделов, а чтобы подменить носитель или принудительно его скопировать нужно будет лезть внутрь железа, сбрасывать настройки BIOS перемыканием контактов и т.д. (а предыдущий пароль на BIOS уже не восстановить если его не знал никогда)... т.е. атака уходит из области простой в достаточно громоздкую и теоретическую, и при каком-то уровне доверия между участниками они могут счесть этот уровень паранои для себя вполне приемлемой.

Ещё хочу посоветовать Вию изучить матчасть — это снимет 99% всех вопросов; и научиться мыслить не как убунтоид в терминах "шифрования папки", а понимать что это на самом деле за криптофс и как она работает (хотя бы на схематичном уровне).
Гость (14/02/2015 20:31)   

Так чем же шифровать? Даже в вашем разделе[link3] и то ничего особо для никсов нет(
Гость (14/02/2015 21:32)   

Что же ты хотела, Оленька? Это тебе не ХГУЕВЫЕ винды! ) Могу дать тебе портированный с виндов трукрипт с бэкдором, чтоб я смог видеть твои сиськи-письки там есть графический интерфейс.
Гость (14/02/2015 22:18)   
Ровно четыре с половиной месяца тема висела. Круто!
Гость (14/02/2015 23:23)   

Круто!

Гость (13/08/2010 21:50)
Гость (14/02/2015 20:31)

Через полтора месяца Олимпиада! А Tor'у скоро год исполняется!1
Беру Ваш календарь.

Ссылки
[link1] https://www.pgpru.com/novosti/2009/inficirovaniezagruzchikadljaobhodashifrovannyhfajjlovyhsistem

[link2] http://www.3dnews.ru/_imgdata/img/2010/05/11/591805/corememory.jpg

[link3] https://www.pgpru.com/soft