Crypto Locker

Crypto Locker: English version
Сперва мне рассазали про CryptoLocker
Оно шифрует все диски, до которых может дотянуться. И хочет за ключик для расшифровки много денег.

Предполагаемый (укрупненно) алгоритм работы CryptoLocker:

  1. Прописывается в автозагрузку (естественно!)
  2. Создает пару ключей (открытый и закрытый), называем их юзерскими ключами.
  3. Шифрует все данные на доступных дисках с помощью юзерского закрытого и хакерского открытого ключа.
  4. После того, как зашифровало все, до чего смогло дотянуться, удаляет незашифрованные данные:
    1. возможно, удаление происходит по DOD, чтобы исключить процедуру unerase;
    2. хотя я предполагаю, с простым забиванием нулями всех данных - unerase тоже уже будет бесполезен;
    3. тупацким стиранием; в этом случае поможет простой unerase.
  5. После часа “Ч” просит денег за закрытый хакерский ключ, так как без него не расшифровать.
  6. Закрытый хакерский ключ как-то (предположительно) рандомизируется, чтобы жертва (юзер), получившая ключ для расшифровки, не смогла никому другому помочь (даже если захочет).

В предполагаемом алгоритме есть слабое место.

Процедура удаления незашифрованных файлов достаточно долговременная.
Соответственно, чтобы час “Ч” настал внезапно и пользователь не имел возможности обнаружить действие зловреда ранее момента, когда стерты все незашифрованные данные, а зашифрованы уже все его данные, возможно, потребуется работа с расшифровкой уже зашифрованных данных “на лету”.
В этом случае, для расшифровки “на лету” должен использоваться закрытый хакерский ключ. Причем он должен находиться в месте, куда может добраться CryptoLocker.
Здесь предполагается проблема для хакеров, так как я вижу всего два пути для размещения закрытого “хакерского” ключа:

  1. Помещать закрытый ключ в тело программы нецелесообразно - антихакер сможет его найти и расшифровать.
  2. Помещать закрытый ключ на сетевом ресурсе тем более небезопасно из-за возможности раскрытия.
  3. Вероятнее всего, в качестве хакерского ключа используется некий размещаемый в оперативной памяти промежуточный ключ по типу KDM-ключа для DCP, но в этом случае, опять же, используется либо мастер-ключ, расположенный в теле зловреда, либо внешний (в сети) генератор ключа.

Соответственно, надо пробовать. Либо найдется способ для поиска и нахождения ключа для снятия CryptoLocker-a, либо будет найден новый (для меня) путь скрытия данных, либо (в худшем случае) найден алгоритм хотя бы для выявления активности CryptoLocker-a

Поставим эксперимент с CryptoLocker-ом.

Цели и задачи эксперимента

  1. Установить, обнаруживается ли CryptoLocker обычными бесплатными антивирусами Avira и Microsoft Security Essentials.
  2. Установить, уязвима ли настроенная согласно моим рекомендациям система для CryptoLocker-а
  3. Установить, как ведет себя CryptoLocker и насколько верны мои предположения о поведении CryptoLocker-а
  4. Попытаться найти способ нахождения закрытого ключа (это было бы круто)!

Ход эксперимента

  1. Сконфигурирована референсную система на подключение к внутренней сети VboxServer-a: Vbox_Server (VirtualBox→Preferences→Network) имеет внутренний интерфейс как “Виртуальная сеть хоста” vboxnet0, виртуальная машина имеет сетевой интерфейс как “Виртуальный адаптер хоста” vboxnet0.
  2. В настройках виртуальной машины выбрана Shared folder как Read-only
  3. Сетевой адаптер подключен к “Домашней сети”, как описано в Исправляем сеть без ДНС-сервера на домашнюю
  4. Для конфигурирования безопасности системы, проинсталлирован gpedit.msc как сказано здесь: http://www.askvg.com/how-to-enable-group-policy-editor-gpedit-msc-in-windows-7-home-premium-home-basic-and-starter-editions/
  5. Сконфигурирована безопасность референсной системы как указано в Windows Security Lab, за исключением того, что пользователь не-админ имеет возможность запуска программ в своей домашней папке.
  6. Создан поользователь не-админ с названием CryptoLocker
  7. В подашренную диекторию загружены файлы CryptLocker-a отсюда: https://www.grc.com/malware.htm
  8. Версия криптЛокера от 10 сентября 2013 г. дабл-кликнута из-под неадминского аккаунта CryptoLocker 01.12.2013 г. в 11-15 МСК
  9. Значок ключа (на файле) моментально исчез.
  10. После перезагрузки в пользователе CryptoLocker появилось 2 процесса с идентификатором {C3E9A9BB-242F-0302-1822-06182C26230E}, запущенные из папки C:\Users\CryptLocker\AppData\Roaming
  11. Эти процессы занимают в памяти 2.384К и 956К соответственно. Загрузка процессора не превышает 15%
  12. Одновременно убить оба процесса не получается.
  13. Во время увеличения загрузки процессора проявляется сетевая активность.
  14. С момента запуска зловреда прошло 11 часов. За это время произошло 3 перезагрузки. При беглом анализе, за исключением двух процессов CryptLockera (с очень низкой активностью), никаких иных следов воздействия зловреда не выявлено.
  15. Предположение: поскольку тестовая система не имеет выхода в интернет, зловред не имеет необходимых ключей для работы.
  16. До тех пор, пока после перезагрузки не производился вход от имени пользователя CryptLocker, процессы CryptLockera не запускаются.
  17. Как только происходит LogOff пользователя CryptLocker, процессы зловреда CryptLocker прекращают работу.
  18. Предполагается установить Wireshark в админском пользователе тестовой системы и натравить его на интерфейс vboxnet0, чтобы поснимать с него трафик, идущий от зараженной системы (цель - отделить стандартный системный системный трафик Windows и определить сетевую активность зловреда).
  19. Для этого в шару для чтения VirtualBox-a выложен инсталляционный файл Wireshark для Windows-64. Версия Wireshark 1.10.3 для Windows 64-bit
  20. В соответствии с примененными политиками безопасности, для запуска установки Wireshark, установочный файл был перекопирован на десктоп пользователя с административными правами, после чего установлен Wireshark и все дополнительные элементы, включая WinPcap 4.1.3.
  21. При установке WinPcap выбрана опция “загружать WinPcap драйвер при загрузке системы”.
  22. Для упрощения диагностики и многочисленными DNS-запросами о teredo.ipv6.microsoft.com, принято решение отключить поддержку протокола IP v.6 на сетевом адаптере тестовой системы.
  23. после запуска зловреда, после попытки соединения с адресом 184.164.136.134, dst.port 80 src port 49161, появилось множество ДНС-запросов к серверам в зонах biz, info, net, org, com, co.uk, ru
  24. Принято решение выковырнуть зловреда, убив файл {C3E9A9BB-242F-0302-1822-06182C26230E}.exe из C:\Users\CryptLocker\AppData\Roaming (как мы знаем, файлы, находящиеся в папке AppData\Roaming\ запускаются автоматически при логине) с тем, чтобы установить новую версию зловреда и снять с интерфейса трафик еще раз. Хочется установить, остались ли старые домены в списке запрошенных зловредом.
  25. Файл {C3E9A9BB-242F-0302-1822-06182C26230E}.exe был скрыт и защищен от удаления. Увидеть его Админу было можно следующим образом:
    1. выполнить команду run от имени администратора;
    2. перейти в каталог Roaming: cd C:\Users\CryptLocker\AppData\Roaming\;
    3. написать dir /ah
  26. Поскольку не стояло задачи обезвредить зловреда и вытащить его в неизмененном виде, я поступил следующим образом:
    1. создал файл 1.txt в папке Админа;
    2. выполнил команду run от имени администратора;
    3. заменил вирус текстовым файлом: move C:\Users\dr\1.txt “C:\Users\CryptLocker\AppData\Roaming\<C3E9A9BB-242F-0302-1822-06182C26230E>.exe”
    4. а дальше спокойно убил незащищенный файл: erase “C:\Users\CryptLocker\AppData\Roaming\<C3E9A9BB-242F-0302-1822-06182C26230E>.exe”
  27. Ура, старый зловред удален. После логина пользователя CryptLocker никакого порождаемого зловредом трафика нет, подозрительных процессов нет.
  28. Установлена новая версия CryptLocker-a, от 21.11.2013. Установочный файл имеет размер 840 Кб против 300 Кб ранее.
  29. Новый зловред пролез в папку C:\Users\CryptLocker\AppData\Local и переименовался в Ndoqiarcqhjlrz.exe. Весельчаки дали ему описание в списке процесов как “Success ato”
  30. Теперь мы имеем опять же 2 процесса, которые берут вдвое больше памяти против прежней версии: 3,248 Кб и 2,632 Кб.
  31. Новая версия не пытается ломиться на какой-либо адрес прямо по айпишнику, а сразу начинает запрашивать у ДНС-сервера кучу серверов (опять biz., info, net, org, com, co.uk, ru).
  32. Точно так же, убить оба процесса одновременно не получается. И, точно так же, при логауте из юзера CryptLocker зловред останавливается, при новом логине - запускается.
  33. Различие в том, что теперь его следы можно найти в реестре HKLM\SOFTWARE\Wow6432Node\Microsoft\Tracing\Ndoqiarcqhjlrz_RASAPI32 и HKLM\SOFTWARE\Wow6432Node\Microsoft\Tracing\Ndoqiarcqhjlrz_RASMANCS
  34. Теперь запрос ДНС не такой агрессивный, за 15 мин вместо 96 кб набралось 24 кб. Продолжаю ловлю.
  35. Пользователем, имеющим права администратора, был установлен антивирус Avira.
  36. Avira, работая на среднем уровне обнаружения, при сканировании всей системы в то время, когда CryptoLocker был не активен, обнаружила CryptoLocker как TR/Crilock.B14, так что CryptoLocker не такой уж и страшный вирус, поскольку ативирусы его обнаруживают даже в неактивном состоянии.

CryptLocker: Часть 2

security_lab/crypto_locker.txt · Last modified: 2015/10/17 19:33 by rybario
About this template
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5