Злоумышленник зашифровал базы 1С и другие файлы
Администрирование - Информационная безопасность
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Текст письма злоумышленника:
ВНИМАНИЕ!!!
ВАШИ ФАЙЛЫ ЗАШИФРОВАНЫ, И ЭТО ФАКТ. КОЛ-ВО ПОПЫТОК ВВОДА ПАРОЛЯ -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 меня не засудят :)
Вступайте в нашу телеграмм-группу Инфостарт
FKLOCK ВАШИ ФАЙЛЫ ЗАШИФРОВАНЫ КАК РАСШИФРОВАТЬ ФАЙЛЫ злоумышленник вирус ufsupport@meta.ua
См. также
Защита ПО и шифрование Разработчик 1С:Предприятие 7.7 1С:Предприятие 8 Абонемент ($m)
Как уберечь конструкторскую документацию от воровства конкурентами? Недавно столкнулся с этой проблемой. Заказчик серьёзно обеспокоен утечкой информации о конструкторских разработках в адрес конкурентов, за счет подкупа исполнителей, занимающихся производством по конструкторской документации, операторов технологического оборудования и обрабатывающих центров по изготовлению деталей и сборочных единиц.
2 стартмани
09.03.2022 8588 5 ge_ni 9
Разработка внешних компонент Защита ПО и шифрование Обмен с ГосИС Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7, получение ЭЦП в формате BASE64 для работы с API ГИС "Честный знак"
2 стартмани
08.06.2020 12010 33 mdbruyfn 10
Защита ПО и шифрование Разработчик 1С:Предприятие 7.7 Оперативный учет 7.7 1C77 Абонемент ($m)
Шифрование MD5 появилось в 1991 году (опубликовано в 1992), но и в XXI-м веке в 1С7 функция шифрования так и не появилась...
1 стартмани
11.01.2019 10336 10 vakham 2
Информационная безопасность Универсальные функции Разработчик 1С:Предприятие 7.7 Бесплатно (free)
При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.
16.05.2016 15202 kudenzov 3
Информационная безопасность Системный администратор 1С:Предприятие 7.7 1C77 Абонемент ($m)
Инструмент для наглядного анализа и сравнения наборов прав доступа в 1С 7.7 Работает в любых конфигурациях. В одной из обслуживаемых мной баз 40 наборов прав пользователей (120 пользователей). Этим отчетом очень наглядно выходит анализировать разницу в правах и просто описывать права пользователей в документации. Обновлено: - В новой версии отчета добавил сравнение двух разных баз и анализ внешней БД. - объекты метаданных представлены в виде дерева (объект "Дерево-Таблица значений" FormEx)
1 стартмани
11.02.2014 27482 175 Amel2010 15
Защита ПО и шифрование Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Вспомнил свою старую обработку. Кодирование строки в base 64. Может пригодится для обмена с сайтами из 1с, где это требуется протоколом.
1 стартмани
02.09.2013 26308 10 _Vovik 2
Информационная безопасность Системный администратор 1С:Предприятие 7.7 1C77 Украина Абонемент ($m)
Показывает права доступа текущего пользователя в базе 1с 7.7 .
1 стартмани
10.06.2013 22862 51 demon_sw 11
Информационная безопасность Системный администратор Разработчик Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)
Если вы обслуживаете Торговлю и Склад 7.7 и устали менять права на документы и справочники по заданию руководства и список Наборов прав стал просто нечитаемым, то вам сюда.
1 стартмани
05.02.2013 21916 43 malinko.vasiliy 5
>через 16 байт способ кодировки повторяется
Это означает XOR по строке длиной 16 байт ;)
Типовой вариант кодирования, проверяется в первую очередь. Действительно, для получения маски надо знать оригинал и код, их XOR и даст маску для декодирования.
порнобаненеры вообще-то не шифровальщики.. порнобаннер на рабочем столе снять - 5 минут работы, порнобаннер в браузере - ну тут подольше повоюешь - пока разберешься)
Самая неприятность - шифровальщики.. от них не всегда есть ключи расшифровки
Но чтобы на сервере запустить исполняемый код шифровальщика... не знаю кем надо быть. Хотя - видел настраивают доступ для пользователей по RDP и дают им права администратора. Тут все от компетентности администратора зависит. Ни в коем случае никогда пользователей напрямую пускать на сервер нельзя. Отговорки по типу "у нас только 1 сервер, иначе никак" - для ленивых. Ничто не мешает запустить тот же HyperV и настроить доступ к базе через виртуальную машину.
1. Систему пришлось переставить - ибо хз какие могли остаться закладки
2. Система паролей организовал со всеми мерами предосторожности - заглавные, строчные, символы, цифры
3. Авторизация по другому порту
4. Правильно устроил доступы и роли на сервере
5. Ограничил число попыток авторизации по времени и количеству.
Пользователи попыхтели но от безалаберности потихоньку отвыкают
Последние версии шифровальщиков не жалеют ничего.. ни *CD, ни *dbf, даже архивы и то будут зашифрованы. Так что последние версии не жалеют никакие форматы и шифруют всё что можно..
Не только 1с, но и файлы базы налогоплательщика ЮЛ, и даже файлы от программки ПФР.. так что берегите данные. делайте бекапы в папку, где нет прав на чтение, но есть права на запись, тогда данные целее будут)
Хочешь сказать, что если организация заплатила за ключ расшифровки - то она в позоре?
А если ключ формируется сервером злоумыленника. Между прочем если тип шифрования RSA1024, то я не думаю, что это вирлабам под силу. Достаточно почитать что это такое - и все вопросы отпадут.
Платите 500р и даете нужные файлы для расшифровки)
Если не получилось расшифровать данные, вам деньги вернут.
Но это уже конечно не сервис злоумышленника, а как один из сервисов специализированных порталов)
А платить за что-то надо. Тут или админам за правильную настройку или ...
Восстановление погибшей базы из вчерашней копии.
Выполнение элементарных правил информационной безопасности еще ни кто не отменял.
Сисадмин каждое утро должен быть удивлен тому, что за ночь ни чего не рухнуло (а не наоборот).
Файл.xls.id-{KNOPRSTUVWYZABCDEFGHJJKLNNOQRSSUVWXY-13.10.2014 10@23@061057749}-email-mserbinov@onionmail.in_mserbinov@aol.com-ver-4.1.0.0.rar
Это как раз 4 версия по моим ссылкам)(33), Сейчас уже пятая версия идет)
Что удалось:
1. берем 1cv7.md, 1cv7.dd, кладем в новый каталог, заходим туда конфигуратором и заставляем 1С пересоздать DBF-файлы. Получаем пустые заголовки файлов. Структура DBF-файла такова, что сначала идет 32 служебной информации (количество полей, количество записей), затем по 32 байта на описание каждого поля.
На коленке пишу утилиту, которая определяет шифрован ли файл, если да - отрезает "хвост", и переписывает заголовки из "образца", плюс пересчитывает и вписывает количество записей. Ну и плюс-минус пара тонкостей учитывается.
Получаем файлы, в которых почти все данные есть, за исключением первых записей и "дырки" в середине. На получившийся набор натравляем "Тестирование и исправление ИБ", которое уже опознает в файлах базу и вычищает битые куски. На выходе - почти полный восстановленный набор данных. Вести учет в такой базе я бы не рискнул, но посмотреть историю и снять почти все остатки можно.
А 12-символьный, с буквами и спецзнаками? А 20-символьный не хотите? Где вы их хотя бы хранить собираетесь?
В конце концов, это тот же перебор получается.
А склероз меня не подвел, вот что нашлось :
Я можт чего не понимаю, но что в таком случае мешает перебирать сами хэши? В чем суть вот этой 262144 нагрузки на проц тогда?
Таким образом становится одинаковой задача подбора даже простейшего пароля из 3-х символов и сложнейшего из 20-ти... одинаково нереальной.
База имела размер 4ГБ, декриптор был 32х битный. Кодер его писавший был бараном, загружал базу в память целиком, адресация естественно кончалась на втором гигабайте и декодер падал.
Повезло что шифрование было блочным - таки удалось порезать файл базы на куски и скормить частями декодеру.
Итого 2к ру вирусмейкеру, 8к мне.
Дело было года полтора назад.
Обазательно проводить манипуляции утилитой chdbfl.exe только над копией базы. Всегда.
Эта "замечательная" утилита, просто удаляет записи, которые не может прочитать. Удаляет молча. База то заработает, в ней может не оказаться документов, элементов справочников, записей регистров и тд.
Один раз ко мне обратился клиент, который заплатил за расшифровку баз вымогателям. Выслали декриптор, который умирал аккурат сожрав 2 ГБ памяти. Т.е. программист(написавший декриптор) грузил файл единым блоком в память, больше 2ГБ ось не позволяла забрать процессу, процесс умирал. БД была около 6ГБ. После экспериментов с вирусом, который благо сжирал файлы состоящие из одних единиц, удалось выяснить что шифрование блочное. Вот нарезав файл на 4 блока, по смещению блочного шифрования, удалось это дело расшифровать и склеить обратно. Ещё удалось выяснить что вирь шифровал первые несколько сотен байт из блока 100МБ. Тут я с вирмейкером согласен - так быстрее, а данные попорчены. Так-то.
Спасают бэкапы только то, что вирусмейкеры пишущие шифровальщики, в большинстве ещё более глупы и не всегда шифруют бэкапы.
UPD: Вы категорически правы! Именно когда я стал "1С-ником" времени на хреноту не стало вовсе. А косить то надо.©
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 311132
Создание 08.11.14 13:06
Обновление 08.11.14 13:06
Просмотры 42987
Загрузки 44
Рейтинг
47
Комментарии 85
Код открыт Не указано
Рубрики Информационная безопасность Защита ПО и шифрование
Кому
Системный администратор
,
Разработчик
Тип файла Конфигурация (md, cf)
Платформа 1С:Предприятие 7.7
Конфигурация 1C77
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)