- доступ к платным материалам сайта
- доступ ко всем номерам PDF
на год
за 1 месяц
Восстановление EFS №2
В прошлый раз мы рассмотрели ситуацию в
которой для расшифровки EFS используется
оригинальный профиль пользователя. Но что
делать если он не сохранился? В этом случае
все, конечно, несколько сложнее…
Как и в прошлый раз настоятельно
рекомендуется сделать копию и запустить на
второй машине, так как в процессе
восстановления ключевые данные могут быть
утеряны. Для работы нам понадобится Hex-редактор
(например winhex)
и filemon
или подобная программа.
Для начала из зашифрованных файлов
необходимо добыть некоторую информацию.
Можно просматривать NTFS в поисках
заголовков EFS, а можно (как мы рекомендуем)
использовать ntbackup для сохранения одного из
зашифрованных файлов, к которому
невозможно получить доступ. Открываем
бекап с помощью редактора и ищем и ищем
примерно вот такой кусок:
В приведенном примере зеленым цветом
выделе номер машины и пользователя в hex.
fd374240 f094c85f 16c0ea32 eb030000 -> реверс
404237fd 5fc894f0 32eac016 000003eb -> нормальный
1078081533-1606980848-854245398-1003 -> с префиксом s-1-5-21-
получаем полный sid/userno.
Красный — публичный ключ.
79B73C0C5A501E06B9EC0A6EF4A3B8CB23BF84E9 — имя файла
публичного ключа.
Синий — guid приватного ключа, может
отсутствовать если добавлены другие
пользователи.
Настало время поискать в оригинальном
зашифрованном томе два важных файла —
приватный ключ и файл. Внутри приватного
ключа сохранен guid, однако отличие от EFS
заголовка в том, что сохранен он в ASCII
формате, не в юникоде.
Как видно синий цвет тут — guid приватного
ключа, который мы нашли ранее.
Зеленый — имя файла:
9f7479dc ea80 924a b41f 6392c4e3b72d -> реверс
dc79749f-80ea-4a92-b41f-6392c4e3b72d -> нормальный
Ищем эту строчку в юникоде:
Зеленый — имя файла.
Желтый — hex-строка, требуемая для
восстановления файла.
Если все эти данные удалось найти, то на
этом можно заканчивать — это все что нужно
для восстановления информации. Создаем
файл credhist, в который записываем найденные
данные из файловой системы:
Создаем и второй файл, который забиваем
нулями:
На второй машине шифруем файл и создаем
тем самым набор ключей. Копируем публичный
ключ из c:\documents and settings\foo\application
data\microsoft\systemcertificates\my\certificates\ и
переименовываем в соответствии с тем
названием, что мы нашли в заголовке EFS.
Откроем в редакторе и изменим:
Ясно, что синим тут отмечен guid приватного
ключа, а красным — "отпечаток"
публичного ключа, найденный ранее. После
этого следуем путем уже известным и
расписанным в первой части, кладем файлы на
место, перегружаемся.
c:\documents and settings\user\application data\microsoft\
\crypto\rsa\s-1-5-21-1078081533- 1606980848-854245398-1003\privatekey
\protect\credhist
\protect\s-1-5-21-1078081533-1606980848- 854245398-1003\ (2files)
dc42a7eeac5b104481336024113992ff
preferred
\systemcertificates\my\certificates\ 79b73c0c5a501e06b9ec0a6ef4a3b8cb23bf84e9
Необходимо, Что бы приватный ключ имел
правильное имя. Алгоритм получения имени из
guid неизвестен, но тут поможет filemon, который
отследит процесс обращения и подскажет что
требуется системе. Назвав файл правильно
иожно попробовать лезть в зашифрованную
систему — все должно получится.
«Настало время поискать в оригинальном
зашифрованном томе два важных файла –
приватный ключ и файл»
О каком файле идёт речь и как его искать?
Приватный ключ нашёл…
Тоже не понял именно это место. Что и где тут искать.
Эти данные нашел. Как все закончу отпишусь
Банальный копипастинг статьи и то метод не рабочий, EFS так просто не расшифровать без Master-key. В ситуаци када диск отформатирован вероятность достать старые Master-key, Credhist, Priv key — 10%. Был случай достал Private key, но без мастер ключа его не расшифровать зная даже пароль от юзера.