Имя: Пароль:
1C
1С v8
Коварный вирус уничтожил базу
0 Неженцев Эдуард
 
05.11.12
11:38
На сервере стояла база, все подключались через терминал и работали. Бэкапы автоматом создавались каждый день (на сервере). Вирус хрен знает как "зашифровал" все файлы на сервере - и базу и бэкапы. Кто может посмотреть "зашифрованный" файл 1Cv8.1CD и сказать свою цену?
1 idw
 
05.11.12
11:39
(0) Черная мамба?
2 Рэйв
 
05.11.12
11:39
держать бэкапы на том же диске что и база- это конечно умно.
3 Неженцев Эдуард
 
05.11.12
11:45
Слышал какиетобуквы69 способен справиться
4 BlackSeaCat
 
05.11.12
11:55
5 Неженцев Эдуард
 
05.11.12
12:02
(4) спасибо
6 laeg
 
05.11.12
12:25
7 VladZ
 
05.11.12
12:27
(0) "Вирус "зашифровал" все файлы на сервере - и базу и бэкапы." - админа гнать с позором!
8 zak555
 
05.11.12
13:27
что за конфа ?
9 BigShmax
 
05.11.12
13:37
(8)   а какая разница если не секрет?
10 zak555
 
05.11.12
13:38
(9) если упп, то вирус правильно сделал =)
11 BigShmax
 
05.11.12
13:41
(10)   смешно конечно, но во первых  не дай  бог  тьфу тьфу тьфу, а во вторых номальная   упп на скуле живет а не на сервере терминалов  :-)   а  у моего скуля  все порты  поблочены  инета  нет    чтобы не дай  что   вдруг :-)
12 zak555
 
05.11.12
13:45
(11) я сделал проще -- отказался больше года назад от антивирусов
ниодного вируса не поймал
13 Vladal
 
05.11.12
13:47
(12) И как успехи?
Хотя я на домашнем компе вон, бубунту поставил, тоже такую политику веду )))
14 zak555
 
05.11.12
13:49
(13) пару раз проверял drWeb и ещё чем-то
результат -- 0
15 Vladal
 
05.11.12
13:53
(14) Небось и порты все закрыты на серверах и только по РДП ходють с отключенным буфером обмена и закрытыми шарами?
16 zladenuw
 
05.11.12
13:55
а у нас база на Центосе. и бекапы на другом. так что живем спокойно :)
17 zak555
 
05.11.12
13:56
(15) ну пор серверы -- это громко
я про "локальную" домашнюю сеть

порты никакие специально не закрывал
будет не отключён
шары открытые
сижу за роутером, в котором есть пробросы по uToккуте и т.д.
18 Неженцев Эдуард
 
09.11.12
17:03
В общем, каспер не помог. Писал в 1с, сказали восстановление базы невозможно, но файл даже не попросили.
Кто-нибудь готов взяться за деньги, отпишитесь. Копия есть 2х месячной давности - идет разработка, очень много кода потеряно.
19 Alize
 
09.11.12
17:05
пипец
20 МихаилМ
 
09.11.12
17:13
вам нужно обратиться в фирму по борьбе с вирусами
касперски и другие.

или заплатить шантажистам ищите файл "прочти меня"
21 Vladal
 
09.11.12
17:16
(18) Поднимайте копию, вносите туда не только "код за 2 месяца", но и "данные за 2 месяца".

Были у меня клиенты - и "хранитель баз" им поставил, и инструкцию давал и .... через год звонят, посыпалась база. Выяснилось, что архив у них полгода назад делался. Вносили ручками.
22 PLUT
 
09.11.12
17:17
пятнично
23 Vladal
 
09.11.12
17:17
(3) vde69
24 Lama12
 
09.11.12
17:26
(0) Бэкапирование делается минимум на 3 точках.
1. Место создания бэкапа.
2. Место физически отличное от 1.
3. Место географически отличное от 2.
25 ErrorEd88
 
09.11.12
23:00
(20) спасибо, попробуем обратиться в подобную фирму. Заплатили, кстати, сразу - преступники прислали "дешифратор", который не сработал. Потом присылали еще несколько других каких-то "дешифраторов", которые также не помогли.
(24) важно еще определить кем делается - админом или 1сником. Я настроил кобиан бэкап на сервере - просто не знал, что такие вирусы хотя бы существуют. Админ стал делать копии на другие "точки" - только сейчас, после случившегося. Конечно, даже, если это не моя непосредственная обязанность, я должен был принять какие-то меры. Усомнишься в админе - начнет делать бяки. После драки кулаками не машут.
(22) Повезло, подгадалось)
26 Бешеная Нога
 
09.11.12
23:09
С одной стороны при грамото организованной работе такого не соло случиться в принципе. С другой стороны по человечески жалко
27 Vladal
 
09.11.12
23:11
(25) Сэр, смените картинку в личке. Некрасиво и нарушает п.1 Правил.
28 Vol71
 
10.11.12
09:47
чем дело то закончилось? а точнее как успехи?
29 vde69
 
10.11.12
19:05
(0) конфу скорее всего не востановить (если только повезет то отдельные фрагменты текстов),
базу - возможно частично.

скорее всего у базы зашифрована только часть, и по этому если есть " Копия есть 2х месячной давности " то шансы что данные за 2 месяца остались высока.

выкладывай базу и шли мне ссылку
30 vde69
 
10.11.12
19:11
31 Torquader
 
11.11.12
00:15
А точно оно зашифровано ?
Видел вирус, который просто файлы затирает случайным мусором и вообще никакой информации о расшифровке не пишет.
32 Torquader
 
11.11.12
00:16
(31)+ В этом случае, иногда, помогает UnDelete - умная система при тотальной перезаписи файла просто пишет его в другое место.
33 taril115
 
11.11.12
01:44
34 taril115
 
11.11.12
01:51
Вот ещё способ.
Итак, для дешифровки надо:
1. сделать бэкап вируса! (т.к. после дешифровки он себя удаляет)
2. на зараженном компьютере запускаем вирус и дожидаемся окна с требованием ввести код.
3. Запускаем Patcher.exe из приложенного архива
4. в Patcher.exe вводим номер процесса вируса и жмем ентер
5. Должно появиться сообщение "patched". Это значит что команды сравнения затерлись.
6. вводим в поле кода любые символы и жмем ОК.
7. Вирус расшифровывает все файлы и удаляет себя.

Код проекта для visual studio 2008


using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;

namespace Patcher
{
   class Program
   {
       [DllImport("kernel32.dll", SetLastError = true)]
       static extern bool WriteProcessMemory(IntPtr hProcess, UInt32 lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);

       [DllImport("kernel32.dll", SetLastError = true)]
       static extern bool ReadProcessMemory(
         IntPtr hProcess,
         UInt32 lpBaseAddress,
         [Out] byte[] lpBuffer,
         int dwSize,
         out int lpNumberOfBytesRead
        );

       static void Main(string[] args)
       {
           Process[] prcs;
           //prcs = Process.GetProcessesByName("4us9Jkb3OU642aV");
           prcs = Process.GetProcesses();
           if (prcs.Length > 0)
           {
               Console.WriteLine("select process");
               int z = 0;
               foreach (Process p in prcs)
               {
                   Console.WriteLine(z + " " + p.ProcessName);
                   z++;
               }
               z = Convert.ToInt16(Console.ReadLine());
               if (z >= 0 && z < prcs.Length)
               {
                   Console.WriteLine("process found");
                   //75 18 E2 F6
                   UInt32 val = 0xF6E21875;
                   UInt32 start = 0x401000;
                   for (UInt32 i = 0; i < 8192; i++)
                   {
                       if (ReadInt32(prcs[z].Handle, start + i) == val)
                       {
                           byte[] NewVal = {0x90, 0x90, 0x90, 0x90};
                           //WriteByteArray(prcs[0].Handle, 0x401CEF, NewVal);
                           WriteByteArray(prcs[z].Handle, start + i, NewVal);
                           Console.WriteLine("patched");
                           break;
                       }
                   }


               }
           }
           Console.ReadLine();
       }

       public static UIntPtr WriteByteArray(IntPtr Handle, UInt32 BaseAddress, byte[] NewVal)
       {
           UIntPtr BytesWritten;
           WriteProcessMemory(Handle, BaseAddress, NewVal, (uint)NewVal.Length, out BytesWritten);

           return BytesWritten;
       }

       public static UInt32 ReadInt32(IntPtr hProcess, UInt32 dwAddress)
       {

           byte[] buffer = new byte[4];
           int bytesread;

           ReadProcessMemory(hProcess, dwAddress, buffer, 4, out bytesread);
           return BitConverter.ToUInt32(buffer, 0);

       }
   }
}
35 ErrorEd88
 
11.11.12
12:15
(29), (30) Ок, спасибо. Я в город в понедельник только приеду
36 vde69
 
12.11.12
23:06
зашивровано похоже как в (30)

---------------------------------------------------
16 ориг. байт:
00 00 00 00 00 00 00 00

шифруются в
4c ca b5 bb 8b cc 12 b3


---------------------------------------------------
16 ориг. байт:
01 00 00 00 00 00 00 00

шифруются в
8c ca e1 9a c9 61 d4 c3


есть одна существеная разница, у текущего файла зашивровано мелкими кускам вначале, в конце и в середине,

посмотрим что выйдет
37 vde69
 
13.11.12
00:21
к сожалению без расшифровки ничего не сделать (слишком много "кусков" зашифровано), нужен хотя бы алгоритм шифрования (то есть покопать сам вирус, но я в этом пасс), если алгоритм шифрования будет известен (и все входные параметры), то можно будет и ключ подобрать (по сколько исходные данные известны).

Кстати по некоторым признакам писатели вируса изначально не планировали ничего восстанавливать, я просто не нашел никаких контрольных данных по которым можно определить начало и конец зашифрованного куска, а следовательно не понятно чего именно расшифровывать (хотя может и есть какая "последовательность")...