Злоумышленник зашифровал базы 1С и другие файлы

Звонит пользователь, на экране сообщение ваши данные зашифрованы, введите пароль, пишите письма и т.д.

Текст  письма злоумышленника:

ВНИМАНИЕ!!!
ВАШИ ФАЙЛЫ ЗАШИФРОВАНЫ, И ЭТО ФАКТ. КОЛ-ВО ПОПЫТОК ВВОДА ПАРОЛЯ -10, ПОСЛЕ ЭТОГО ВОССТАНОВЛЕНИЕ ФАЙЛОВ
БУДЕТ НЕВОЗМОЖНО.

НЕ РЕКОМЕНДУЕТСЯ:
— ПРОВЕРЯТЬ КОМП АНТИВИРУСОМ;
— ПЕРЕУСТАНАВЛИВАТЬ ВИНДОВС;
— ПЫТАТЬСЯ ВОССТАНОВИТЬ ДАННЫЕ САМОСТОЯТЕЛЬНО.

 ВСЕ ЭТИ ДЕЙСТВИЯ — БЕСПОЛЕЗНАЯ ТРАТА ВАШЕГО ВРЕМЕНИ И УСИЛИЙ, А ТАКЖЕ РЕАЛЬНЫЙ РИСК ПОТЕРЯТЬ ВСЮ ИНФОРМАЦИЮ НАВСЕГДА. НЕ УСЛОЖНЯЙТЕ СВОЕ ПОЛОЖЕНИЕ, ЛУЧШЕ ПИШИТЕ НА:
ufsupport@meta.ua

И ВСЕ БУДЕТ ХОРОШО. ДО СКОРОГО.

 

Вобщем дело было так.
Звонит пользователь, так мол и так, сообщение (введите пароль) на экране (пользователи по терминалке с ограниченными правами). Как я понял проникновение было подбором пароля (после недавней переустановки ПО не успели поработать по безопасности). На счастье нашел незакодированный архив (старый) в котором содержались некоторые файлы, которые повторялись в каталоге с базами данных в закодированном виде. Имменно благодаря сравнению удалось выяснить способ кодировки.
Кодировка начинается с 29 байта включительно (что бы осталась шапка файла, что бы файлы определялись по содержимому) и заканчивается на 1786639 включительно. Кодировка происходит переворачиванием (NOT) некоторых битов в байте (обычно один бит в старшей группе (биты 7-4) и один в младшей (биты 3-0)) в зависимости от того на каком месте они (байты) стоят (различаются 16 мест), т.е. через 16 байт способ кодировки повторяется.
Для начала я решил составить таблицу перекодировки, т.е., допустим, A5 соответствует B3 в первой позиции и т.д.:

позиции
      1 |        2 |       3 | …. |   16 |

00-F0 |  00-E8 | 00-23 |

A5-B3 | A5-C7 | A5-9F |
A6-B2 | A6-C8 | A6-9E |

Т.о. получался массив из 16 позиций в каждой по 256 элементов соответствий (2 байта) или 3-мерный массив (16,256,2). Этот массив я заполнил из имеющихся пар файлов (оригинал-закодированный), мне повезло после того как я обработал пару десятков таких пар файлов весь массив у меня заполнился. Вначале я еще не знал по каким правилам можно заполнить соответствия, после заполнения видна явная закономерность (см.выше), хот она мне и не понадобилась, возможно, поможет кому то если файлов пар окажется недостаточно.
Имея на руках таблицу я принялся раскодировать (благо правила совпадали для всех файлов).
Когда начинал писать думал или Delphi или FoxPro, но т.к. я владел только DOS-овскими аналогами (TP 7 и FoxPro 2.0/2.6 которые не подходили — длинные имена русские буквы) быстрее оказалось написать на 1С v7 используя ВК binfiles (что конечно отразилось на скорости раскодировки, но все равно хорошо 🙂 ). Написал 2 обработки: одна собирает таблицу перекодировки из пар файлов (находящихся в одном каталоге), другая раскодирует все файлы в каталоге по предварительно собранной таблице перекодировки. Для тех у кого отсутствуют пары файлов может подойдет и моя таблица перекодировки (если злоумышленник использует один способ).

Предлагаю ИБ 7.7 с обработками

ИБ — для хранения таблицы перекодировки, которая состоит из 2-ух справочников: «Матрица» (16 элементов-позиций) и подчиненный ему «Коды» (максимум по 256 элементов при полной таблице перекодировки) реквизит Код — байт оригинал, реквизит Наименование — кодированный байт (в виде 2-ух символьной строки — HEX-представлении байта). В справочнике Матрица есть реквизит Кол — количество подчиненных элементов (будет расти по мере заполнения таблицы перекодировки), в данной ИБ таблица перекодировки уже заполнена, поэтому для заполнения ее вашими файлами справочник Матрица предварительно очистите, если нет пар файлов попробуйте использовать заполненную таблицу перекодировки (вдруг повезет)

ЗаполнениеМатрицы.ert — заполняет таблицу перекодировки (в указанном каталоге должны содержаться пары файлов *.* — *.*.FKLOCK не кодированные — кодированные, обратите внимание размер должен совпадать). Так же убедитесь что содержимое пар файлов отличается после 28 байта.

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

Расшифровка.ert — расшифровывает по заполненной таблице перекодировки (в т.ч. частично заполненной, т.к. возможно этого будет достаточно, но нет 100% гарантии), в.т.ч. возможность включить вложенные каталоги. Расшифровка копирует файл *.*.FKLOCK в *.* который и расшифровывает (т.е. FKLOCK файл не затрагивается), если при этом файл *.* уже есть, он переименовывается в *.*_ файл. Т.о. на диске должно быть свободное место для расшифровки от 1-го до 2-ух объемов FKLOCK файлов (закодированныз файлов).

 

P.S.

Думаю обработки могут подойти и для других расширений (LOCK, CRYPDER и т.д.)

BinFiles включен в архив.

Про права: бесплатно, никаких гарантий, надеюсь за BinFiles меня не засудят 🙂

84 Comments

  1. Sanario

    Ну вот и 1С подстегнули для расшифровки троянов энкодеров. Обработка несомненно хорошая, правда работает только для одного вида трояна. И для других придется искать другой алгоритм. Плюс однозначно.

    Reply
  2. script

    Мой клиент месяца 2 назад заплатил таким редиска.

    Reply
  3. Pasha1st

    >Кодировка происходит переворачиванием (NOT) некоторых битов в байте

    >через 16 байт способ кодировки повторяется

    Это означает XOR по строке длиной 16 байт 😉

    Типовой вариант кодирования, проверяется в первую очередь. Действительно, для получения маски надо знать оригинал и код, их XOR и даст маску для декодирования.

    Reply
  4. Bukaska

    кодируют каждый раз по разному.. не универсальное конечно же.. решение

    Reply
  5. insurgut

    Получается, это какой-то старый шифровальщик нацеленный на базы 1С 7.7 версии?

    Reply
  6. PiccaHut001

    (5) insurgut, нет. Подлый шифровальщик шифровал вообще все файлы, а автор написал расшифровщик на 1С 7.7

    Reply
  7. logdog

    Этим 1С как-бы говорит, переходите на 8.3 =)

    Reply
  8. AlX0id

    (7) logdog, а что, 8.3 защищена особым образом от порновирусов? )

    Reply
  9. artfa

    с 8.3 такая же байда

    Reply
  10. Bukaska

    (8) AlX0id, При чем тут порновирусы и 8.3?

    порнобаненеры вообще-то не шифровальщики.. порнобаннер на рабочем столе снять — 5 минут работы, порнобаннер в браузере — ну тут подольше повоюешь — пока разберешься)

    Самая неприятность — шифровальщики.. от них не всегда есть ключи расшифровки

    Reply
  11. insurgut

    (10) Bukaska, все верно. Если бы вирусы просто напросто удаляли бы все файлы — и то было бы проще, т.к. их можно было бы восстановить соответствующими утилитами. В случае с шифровальщиками — файлы перезаписываются. И спасут только разве бэкапы.

    Reply
  12. -fox-

    1с пошла на крайние меры что бы избавиться от поддержки 7.7.

    Reply
  13. insurgut

    (12) -fox-, это вряд ли 🙂 Потому что *.1CD файлы шифровальщики тоже любят. А это говорит об ориентированности хакеров именно на российский рынок. Потому что у нас никто их не наказывает.

    Reply
  14. Sanario

    (13) insurgut, вариант перехода только на скуль? 🙂 С файлом базы без расширения (когда я с подобным столкнулся — были шифрованы файлы только с расширением)

    Reply
  15. insurgut

    (14) Sanario, да, клиент-серверный вариант пока что спасает от этой проблемы, потому что доступа к файлам баз SQL вирус не получит, даже если они в зоне его видимости. И все же, ничто не стоит хакерам и эту проблему решить — останавливать сервис SQL и шифровать базы.

    Но чтобы на сервере запустить исполняемый код шифровальщика… не знаю кем надо быть. Хотя — видел настраивают доступ для пользователей по RDP и дают им права администратора. Тут все от компетентности администратора зависит. Ни в коем случае никогда пользователей напрямую пускать на сервер нельзя. Отговорки по типу «у нас только 1 сервер, иначе никак» — для ленивых. Ничто не мешает запустить тот же HyperV и настроить доступ к базе через виртуальную машину.

    Reply
  16. Sanario

    (15) insurgut, а там схема простая как 2х2. По крайней мере в моем случае было так — брутом ломанули пароли к администратору (прошлый был не особо умный и ленивый — пароль 123 ему нравился) и после этого уже творили на сервере что хотели. Да еще и порт по умолчанию во внешку висел — 3389 который. Пришлось откупаться, а уж потом я сделал все по уму:

    1. Систему пришлось переставить — ибо хз какие могли остаться закладки

    2. Система паролей организовал со всеми мерами предосторожности — заглавные, строчные, символы, цифры

    3. Авторизация по другому порту

    4. Правильно устроил доступы и роли на сервере

    5. Ограничил число попыток авторизации по времени и количеству.

    Пользователи попыхтели но от безалаберности потихоньку отвыкают

    Reply
  17. insurgut

    (16) Sanario, все правильно сделали!

    Reply
  18. Bukaska

    (12) -fox-, При чем тут 1С???

    Последние версии шифровальщиков не жалеют ничего.. ни *CD, ни *dbf, даже архивы и то будут зашифрованы. Так что последние версии не жалеют никакие форматы и шифруют всё что можно..

    Не только 1с, но и файлы базы налогоплательщика ЮЛ, и даже файлы от программки ПФР.. так что берегите данные. делайте бекапы в папку, где нет прав на чтение, но есть права на запись, тогда данные целее будут)

    Reply
  19. Sanario

    (17) insurgut, Что-то забыл?

    Резервное копирование настраиваю по умолчанию 🙂 Потому и не упомянул

    Reply
  20. Sanario

    (18) Bukaska, вот про чтение и запись я как то не докумекал… Спасибо за подсказку

    Reply
  21. insurgut

    (19) Sanario, прошу прощения, знак не тот поставил, вместо «!» — «?»

    Reply
  22. Tomy82

    это сообщение при включении или уже во время сеанса в 1С?

    Reply
  23. -fox-

    У этой ситуации есть и другая сторона медали, мелкие конторы не будут самостоятельно обслуживать ИБ. Появиться больше рабочих мест для квалифицированных специалистов.

    Reply
  24. -fox-

    (13) insurgut, у 1с есть на это решение, облако!

    Reply
  25. insurgut

    (24) -fox-, думаю это не всегда удобное решение. В принципе достаточно отдельной виртуальной машины без доступа к ней обычным пользователям.

    Reply
  26. AlX0id

    (10) Bukaska,

    Проно — это я не про форму вируса, а про источник распространения )

    А так — наиболее защищенный метод бекапов — сейвить на десяток разных флешек попеременно и держать их не воткнутыми в системник 🙂

    Reply
  27. Region102

    Конечно может кому и поможет, но сейчас ребята с криптовирусами доросли до RSA и расшифровать данные без ключа злоумышленника теперь не получится. Так что учите своих клиентов и друзей «интернет гигиене».

    Reply
  28. webester

    Постоянно слышу про эту проблему там где есть терминальный сервер, была уязвимость в какой то версии рдп, сервер я так понял у вас принимает подключения извне и обновления не устанавливаются?

    Reply
  29. dandykry

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

    Reply
  30. Bukaska

    (26) AlX0id, И это тоже..)

    (27) Region102,

    Насчет RSA Пример и ещё пример

    особенно первая ссылка с подробным описанием)

    Reply
  31. Sanario

    (30) Bukaska, киньте ссылки целиком — не переходит по ним почему-то. Редирект не делается

    Reply
  32. Sanario

    Млин, у одного меня редирект с инфостарта не работает?

    Reply
  33. Bukaska

    (31) Sanario, нет.. это видать у форума редирект отключен. Копируем ссылку и тогда должно работать)

    Reply
  34. iov

    жаль потерли сайт и «стену позора»куда выкладывались емейлы тех кто заплатил — так вот там были и очень крупные компании и писатели антивирусов- делайте выводы. как говорится.

    Reply
  35. Bukaska

    (35) iov, в смысле.. что бы за сайт?

    Хочешь сказать, что если организация заплатила за ключ расшифровки — то она в позоре?

    А если ключ формируется сервером злоумыленника. Между прочем если тип шифрования RSA1024, то я не думаю, что это вирлабам под силу. Достаточно почитать что это такое — и все вопросы отпадут.

    Reply
  36. Sanario

    (35) iov, во первых если стоит работа и потери крупнее, чем сумма выплаты — то никто простой оплачивать не будет, во вторых, если ключ шифрования на 256 битах — запаришься расшифровывать

    Reply
  37. Bukaska

    (37) Sanario, Как раз AES256 ещё некоторые порталы могут помочь,А вот RSA1024 из моего поста (33),там точно и сам бог вселенной не поможет)

    Reply
  38. Sanario

    (38) Bukaska, в некоторых случаях и AES256 не вскроешь. Особенно если двойное шифрование … Называется заплатите и не мучтесь

    Reply
  39. karapuzzzz

    Обезопаситься от таких случаев или, хотя бы, свести к минимуму последствия не так уж и сложно (потерять пол рабочего дня и восстановиться из архива). Я думаю, что те, кто попался вынесут из этого хоть какие-то выводы?

    А платить за что-то надо. Тут или админам за правильную настройку или …

    Reply
  40. Bukaska

    (39) Sanario, На этот случай не так давно есть сервис)

    Платите 500р и даете нужные файлы для расшифровки)

    Если не получилось расшифровать данные, вам деньги вернут.

    Но это уже конечно не сервис злоумышленника, а как один из сервисов специализированных порталов)

    Reply
  41. DAnry

    А я первый раз про такое слышу. Видать к нам ещё не добрались… Честно говоря в шоке!

    Reply
  42. CaptainMorgan

    Есть 100% способ лечения:

    Восстановление погибшей базы из вчерашней копии.

    Выполнение элементарных правил информационной безопасности еще ни кто не отменял.

    Сисадмин каждое утро должен быть удивлен тому, что за ночь ни чего не рухнуло (а не наоборот).

    Reply
  43. Bukaska

    (35) iov, не это случайно? https://twitter.com/keybtc

    Как вариант

    Reply
  44. AllexSoft

    Жена словила такой вирусняк, он ей учебную демо базу бухгалтерии зашифровал =))) винду переставил, новую демо базу поставил, пускай учится ))

    Reply
  45. Bukaska

    (45) AllexSoft, текущие версии шифровальщиков не жалеют ничего, даже архивы)))

    Reply
  46. AllexSoft

    (46) Bukaska, у нее все равно ничего ценного там не было, пусть хоть все шифруют ) единственное фотки зашифровал кое какие.. ну и фиг с ними )

    Reply
  47. Bukaska

    (47) AllexSoft, Зато у нас некоторые клиенты схватили такое, о чем я давала ссылки.. там файлы шифруются типа:

    Файл.xls.id-{KNOPRSTUVWYZABCDEFGHJJKLNNOQRSSUVWXY-13.10.2014 10@23@061057749}-email-mserbinov@onionmail.in_mserbinov@aol.com-ver-4.1.0.0.rar

    Это как раз 4 версия по моим ссылкам)(33), Сейчас уже пятая версия идет)

    Reply
  48. ignor

    У нас вот другая ситуация. Злоумышленник упаковал все до чего смог дотянутся в архивы rar с паролём. И мне интересно какова вероятность, имея неупакованный файл и упакованный с неизвестным паролём, подобрать пароль?

    Reply
  49. Tiger86

    ну програмки для подбора паролей к rar вроде есть в сети, другое дело, что они достаточно долго подбирают пароли вроде как

    Reply
  50. fzt

    Как-то обратился клиент. Ему зашифровало базу, они купили декриптор за 2 килорубля.

    База имела размер 4ГБ, декриптор был 32х битный. Кодер его писавший был бараном, загружал базу в память целиком, адресация естественно кончалась на втором гигабайте и декодер падал.

    Повезло что шифрование было блочным — таки удалось порезать файл базы на куски и скормить частями декодеру.

    Итого 2к ру вирусмейкеру, 8к мне.

    Дело было года полтора назад.

    Reply
  51. Cooler

    (50) Долго потому, что уже очень давно в WinRAR встроена специальная защита от подбора. Если мне не изменяет склероз, то перед упаковкой сам пароль пропускается через процедуру шифрования 250 тысяч раз или около того. Соответственно, при переборе паролей надо проделывать такую же процедуру, что снижает скорость подбора до нескольких тысяч или даже сотен в секунду. А это очень и очень мало для нормальных (длинных) паролей.

    Reply
  52. ignor

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

    Reply
  53. Cooler

    (53)

    интересно бы не перебором, а архивацией с шифрованием одного маленького файла который имеется в несжатом виде и сравнением его с архивом на котором пароль

    Интересно другое — вы вообще имеете представление о том, чего хотите? Разные пароли — разные архивы, даже простейший 6-символьный пароль из одних только цифр даст вам миллион разных зашифрованных файлов. Замучаетесь сравнивать.

    А 12-символьный, с буквами и спецзнаками? А 20-символьный не хотите? Где вы их хотя бы хранить собираетесь?

    В конце концов, это тот же перебор получается.

    А склероз меня не подвел, вот что нашлось тут:

    Принцип разархирование прост – при вводе пароля, из него 262144 раз вычисляется хеш по алгоритму SHA1, и полученным ключом WinRAR пытается расшифровать (по AES) и разархировать файлы (тут не проверяется правильный пароль или нет). После того как файлы расшифрованы и разархированны, из них вычисляется контрольная сумма по CRC32, и это сумма сравнивается с той суммой которая прописана в самом архиве. Если эти суммы совпадает – мы получает расшифрованные файлы, а если не совпадает, то получаем предупреждение что контрольная сумма или пароль неправильны. Нет в RAR других проверок правильности пароля — только вот это проверка контрольный суммы «готового продукта».
    Reply
  54. insurgut

    Более того, самому шифровальщику не интересно, какой у вас тип файла. Архив это. Зашифрован он или нет. Он возьмет просто двоичные данные и заново их зашифрует.

    Reply
  55. AlX0id

    (54) Cooler,

    Принцип разархирование прост – при вводе пароля, из него 262144 раз вычисляется хеш по алгоритму SHA1, и полученным ключом WinRAR пытается расшифровать (по AES) и разархировать файлы (тут не проверяется правильный пароль или нет)..

    Я можт чего не понимаю, но что в таком случае мешает перебирать сами хэши? В чем суть вот этой 262144 нагрузки на проц тогда?

    Reply
  56. AllexSoft

    (56) AlX0id, можно и хеши перебирать, в таком случае ты узнаешь хеш пароля, но не сам пароль.. если тебе 1 раз распаковать архив то сгодится) правда инструмент придется писать свой. Только вот распаковка архива все равно намного больше ресурсов скушает, по сравнению с генерацией хеша, так что ускорение перебора ты конечно получишь, но не кардинальное

    Reply
  57. AlX0id

    (57) AllexSoft, да вот я к тому и спрашиваю — нафига мурыжить фигзнаетсколькораз пароль, если все равно распаковка занимает куда больше времени..

    Reply
  58. AlX0id

    (57) AllexSoft, да и нафига нужен сам пароль, если есть хэш от него.. Хэш ведь не поменяется от того, что от пароля возьмут SHA1 200тыс раз сегодня, в пятницу и в следующую среду..

    Reply
  59. Cooler

    (56)

    что в таком случае мешает перебирать сами хэши?

    А длина их мешает: в виде бинарной строки (т.е. допускаются все символы) — 20 байт, в виде 16-ричного числа (символы только 0-9, A-F) — все 40.

    Таким образом становится одинаковой задача подбора даже простейшего пароля из 3-х символов и сложнейшего из 20-ти… одинаково нереальной.

    Reply
  60. AlX0id

    (59) Cooler,

    Терь ясно, что мешает. Неясно нафига 200 тыс раз 🙂

    Reply
  61. AllexSoft

    (59) Cooler, в прочем подобрать пароль типа 12345, ровно такая же вероятность как подбор пароля типа 1G6#k8SjZc9Dxkj при равном количестве символов и используемом массиве символов.. хотя я с вами согласен, если ломать по словарям скажем то хеши становятся бесполезными, только если заранее не иметь таблицу соответствий хеш = фраза.. вот эти процессы проверки хешей, генерации таблицы соответствий уже можно и распределить на несколько компов

    Reply
  62. Cooler

    (61) И это ясно — чтобы намеренно замедлить скорость подбора: при реальном разархивировании этот цикл прогоняется всего один раз, что практически не сказывается на времени всей операции, а вот для подбора это смерть, медленная и мучительная.

    Reply
  63. AllexSoft

    (60) AlX0id, именно… поэтому я и сказал что однократно расшифровать архив своим каким нибудь самописным инструментом получится, но юзеру отдать хеш чтобы он распаковал этот архив стандартным архиватором не получится) тут кароче в порос в том нужен ли вам сам пароль или важны только данные) если только данные пишите софт который будет расшифровывать, включаете, пару тысяч лет ждете завершения, отдаете пользователю данные…

    Reply
  64. spectre1978

    я никак не могу понять — зачем RDP голым задом в инет-то выставлять? Ведь лет 15 назад уже было говорено, что делать этого нельзя. VPN роутеры копейки стоят сейчас. Я понимаю в начале 2000-х Cisco дорого было, но сейчас ведь куча вариантов есть, в том числе совсем дешманские типа Mikrotik’ов. И уже все-таки гораздо сложнее становится поломать… Позапрещать исполняемые файлы из почты, а в идеале вообще сделать белый список исполняемых файлов — и все, никто ничего не зашифрует…

    Reply
  65. insurgut

    (65) spectre1978, а что плохого в RDP по нестандартному порту с паролями у пользователей допустим не менее 12-15 символов и ограничением на количество попыток ввода неверного пароля?

    Reply
  66. Bukaska

    (66) insurgut, Вопрос в том, что нужно делать или это или то.. а народ ни то ни это не делает)))

    Reply
  67. spectre1978

    (66) там по умолчанию шифрование слабенькое совсем, можно вскрыть трафик довольно просто современными средствами. В википедии написано. И случаев взлома особенно 2003 серваков очень много описано. На своей шкуре не хотелось бы это испытывать

    Reply
  68. spectre1978

    Справедливости ради добавлю, что возможности для создания защищенной системы у RDP есть: TLS, шлюз терминалов. Но это уже не двумя тыками мышкой настраивается, и самое главное — оно будет работать только для RDP. А настроив один раз VPN, можно гонять через него любые протоколы как через обычную локальную сеть без дополнительных заморочек. Мало ли что понадобится потом? Смысл явно есть.

    Reply
  69. Pasha1st

    (48) Bukaska, Как раз на днях ко мне обратились с таким, уже 6 версии. Пошифровал базы от 7.7 Торговли. В процессе изучения было замечено что троян шифрует блок 1кб в начале файла и возможно 1кб в середине. Плюс дописывает текстовый «хвост» со своей информацией.

    Что удалось:

    1. берем 1cv7.md, 1cv7.dd, кладем в новый каталог, заходим туда конфигуратором и заставляем 1С пересоздать DBF-файлы. Получаем пустые заголовки файлов. Структура DBF-файла такова, что сначала идет 32 служебной информации (количество полей, количество записей), затем по 32 байта на описание каждого поля.

    На коленке пишу утилиту, которая определяет шифрован ли файл, если да — отрезает «хвост», и переписывает заголовки из «образца», плюс пересчитывает и вписывает количество записей. Ну и плюс-минус пара тонкостей учитывается.

    Получаем файлы, в которых почти все данные есть, за исключением первых записей и «дырки» в середине. На получившийся набор натравляем «Тестирование и исправление ИБ», которое уже опознает в файлах базу и вычищает битые куски. На выходе — почти полный восстановленный набор данных. Вести учет в такой базе я бы не рискнул, но посмотреть историю и снять почти все остатки можно.

    Reply
  70. Cooler

    (70) Pasha1st, мне довелось вчера познакомиться с результатами «работы» версии 6.1.0.0.b. Испорчены как базы 8, так и 7.7. Маленькие файлы зашифрованы полностью, в крупных — 4 фрагмента по 1 килобайту: один в самом начале, остальные три расположены примерно равномерно по файлу. Можно было бы попытаться подменить эти фрагменты аналогичными из архивной копии (даже старой), но ее нет. Видимо, будут обращаться к злоумышленнику.

    Reply
  71. Program

    (71) Cooler, Только что попалась база, зашифрованная уже 8 версией данного шифратора. Снесла конец файла, перезаписала заголовок, база ожила. То, что в центре перебирать не стала. База ожила. Документы повыдергивать можно, что уже неплохо

    Reply
  72. uriy

    Да уж я думал этот вирусяка в лето канул, а он оказывается прогрессирует. Сам как-то ловил его и была такая же мысль проверить на файле дубликате принцип действия — все руки не доходили.

    Самое плохое что он еще попадается.

    Reply
  73. Гость

    Если зашифрованы файлы 1с 8, можно попробовать восстановить следующим образом, у меня получалось: вернуть расширение файлу *.1cd, потом открыть данный файл в программе chdbfl.exe — находится в папке bin каталога 1с, открыть там этот зашифрованный файл, нажать выполнить. Записи восстанавливаются.

    Reply
  74. fzt

    (74) Гость, я бы это отнес к вредным советом, без этого:

    Обазательно проводить манипуляции утилитой chdbfl.exe только над копией базы. Всегда.

    Эта «замечательная» утилита, просто удаляет записи, которые не может прочитать. Удаляет молча. База то заработает, в ней может не оказаться документов, элементов справочников, записей регистров и тд.

    Reply
  75. insurgut

    (74) Гость, Гениально! Премия ОСКАР (да и любая другая, которую пожелаете) ваша!!! =)

    Разработчики алгоритмов SHA5 и ему подобных кусают локти, chdbfl.exe все расшифрует!

    Reply
  76. insurgut

    (75) fzt, какая база? После шифрования это цепочка непонятных символов и иероглифов, которую никакой chdbfl.exe не поймет 🙂

    Reply
  77. ignor

    chdbfl.exe расшифрует только в случае если зашифрован один только заголовок

    Reply
  78. timeforlive

    Еще помогает резервное копирование (до случившегося, конечно) =)

    Reply
  79. fzt

    (77) insurgut, шифрование разное бывает. Вирмейкеры тоже косячат и тупят как все. У Гостя вероятно были зашифрованы фрагменты БД, которые chdbfl.exe не поймет. Все что он не поймет — выпилит. Такая уж топорная утилита.

    Один раз ко мне обратился клиент, который заплатил за расшифровку баз вымогателям. Выслали декриптор, который умирал аккурат сожрав 2 ГБ памяти. Т.е. программист(написавший декриптор) грузил файл единым блоком в память, больше 2ГБ ось не позволяла забрать процессу, процесс умирал. БД была около 6ГБ. После экспериментов с вирусом, который благо сжирал файлы состоящие из одних единиц, удалось выяснить что шифрование блочное. Вот нарезав файл на 4 блока, по смещению блочного шифрования, удалось это дело расшифровать и склеить обратно. Ещё удалось выяснить что вирь шифровал первые несколько сотен байт из блока 100МБ. Тут я с вирмейкером согласен — так быстрее, а данные попорчены. Так-то.

    Reply
  80. fzt

    (79) timeforlive, многим не помогает. Есть такие глупые администраторы, которые делают копии на свой же сервер. Есть чуть менее глупые, которые делают копии на сетевую машину, но оставляют каталог бэкапов доступным по сети (т.е. можно зашифровать бэкапы по сети, заразив сервер). Как-то помогает хорошо организованный домен, права и роли в нем. Но потенциально под учеткой админа можно зашифровать сетевые шары для бэкапов. Мало кто ограничивает доступ к архивам даже доменному администратору. Архивы моих клиентов обслуживает отдельный БП, он вне домена. Сервер БД его кормит архивами в сетевую шару. Архивный ПК сам каталогизирует скормленные ему бэкапы, не оставляя архивы торчать в шарах. Это работало уже 4 раза на моей практике, когда администраторы умудрялись дать вирусу шифровальщику права доменного администратора.

    Спасают бэкапы только то, что вирусмейкеры пишущие шифровальщики, в большинстве ещё более глупы и не всегда шифруют бэкапы.

    Reply
  81. fzt

    Т.е. вирус скомпилирован без ключа /LARGEADDRESSAWARE. Квалификация вирмейкеров шифровальщиков баз крайне низка. Прихожу к выводу что этим вполне могут заниматься 1Снеги, которые немного освоили «большое» программирование. Пишут видать на дельфи. Пусть хоть AWE юзают, чтоб расшифровщики нормально работали.

    Reply
  82. AllexSoft

    (82) fzt, этим занимаются школота последних классов обучения, либо студенты первых курсов.. 1Сники себе могут на хлеб с маслом заработать и честными методами, хорошему 1Снику вообще нет времени на занятие такой хренотой )

    Reply
  83. fzt

    (83) AllexSoft, нуууу…. если исключить сам момент «заработка». Я писал всякую ересь уже и после института. Вроде как для «спортивного» интереса. Пока не стало понятно что программирование это тупое вкалывание, описание 8 часов в день контейнеров данных и немного логики. Кажеться сейчас SQL запросы писать интересней чем кодить.

    UPD: Вы категорически правы! Именно когда я стал «1С-ником» времени на хреноту не стало вовсе. А косить то надо.©

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *