В прошлый раз мы рассмотрели ситуацию в
которой для расшифровки 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

WWW: Netsim — игра, которая поможет изучить работу сетей и принципы атак

Тем, кто только начал разбираться с хакерской кухней, не помешает узнать, как работают сет…