В прошлый раз мы рассмотрели ситуацию в
которой для расшифровки 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, который
отследит процесс обращения и подскажет что
требуется системе. Назвав файл правильно
иожно попробовать лезть в зашифрованную
систему — все должно получится.

4 комментария

  1. 02.01.2015 at 15:35

    «Настало время поискать в оригинальном
    зашифрованном томе два важных файла –
    приватный ключ и файл»
    О каком файле идёт речь и как его искать?
    Приватный ключ нашёл…

  2. 16.04.2015 at 11:23

    Тоже не понял именно это место. Что и где тут искать.

  3. 16.04.2015 at 12:01

    Эти данные нашел. Как все закончу отпишусь

  4. 24.06.2015 at 23:00

    Банальный копипастинг статьи и то метод не рабочий, EFS так просто не расшифровать без Master-key. В ситуаци када диск отформатирован вероятность достать старые Master-key, Credhist, Priv key — 10%. Был случай достал Private key, но без мастер ключа его не расшифровать зная даже пароль от юзера.

Оставить мнение

Check Also

Сетевое оборудование компании DrayTek находится под атакой

Тайваньский производитель сетевого оборудования DrayTek предупредил о том, что злоумышленн…