Вирус для общего доступа к
Вирус-шифровальщик WannaCrypt использует уязвимость Microsoft Windows MS17-010, чтобы выполнить вредоносный код и запустить программу-шифровальщик на уязвимых ПК, затем вирус предлагает заплатить злоумышленникам порядка 300$ в биткойнах, чтобы осуществить расшифровку данных. Вирус широко распространился в мировых масштабах, получив активное освещение в СМИ.
Самое страшное, что вирус запускается сам, без каких-либо действий пользователя. То есть можно сходить на обед, а вернувшись, обнаружить что все документы и фотографии за несколько лет уже зашифрованы, притом что никто ничего не запускал! Нет ничего хуже потерянных личных данных!
Обратите внимание на этот момент — от пользователя не требуется никакой реакции!
Обычно основной путь заражения вирусом — это электронная почта или пиратский контент, скачанный с торрентов, поэтому, во первых, избегайте скачивания контента с расширениями .js и .exe, или же, документов с макросами (в Excel или Word).
Авторы WannaCrypt воспользовались утечкой из ShadowBrokers, в результате которой миру стали известны множество ранее неизвестных уязвимостей и способов проведения атак. Среди них была и уязвимость ETERNALBLUE и связанный с ней бэкдор DOUBLEPULSAR. Первая позволяла через уязвимый протокол SMBv1 получать удаленный доступ к компьютеру и незаметно устанавливать на него программное обеспечение. Злоумышленник, сформировав и передав на удалённый узел особо подготовленный пакет, способен получить удалённый доступ к системе и запустить на ней произвольный код.
Уязвимость существует только на стороне SMB сервера. Расшарен ли у вас каталог или нет, не имеет значения, в Windows все равно запущен сервис, слушающий 445 порт. При доступе клиента к серверу они согласуют и используют максимальную версию SMB, поддерживаемую одновременно и клиентом и сервером.
Для защиты необходимо срочно принять следующие меры противодействия:
0. Отключить протокол SMBv1, удалив в свойствах сетевого адаптера (ncpa.cpl) компоненты "Служба доступа к файлам и принтерам сетей Microsoft" ("File and Printer sharing") и "Клиент сетей Microsoft".
Протокол SMBv1 смело можно отключить, если в вашей сети нет ОС ранее Windows Vista и устаревших принтеров.
Для систем Windows Windows 8.1 и старше вообще есть возможность удалить компонент "Поддержка общего доступа к файлам SMB 1.0/CIFS" ("The SMB1.0/CIFS File Sharing Support", "Старые возможности LAN Manager"). Идем в Панель управления — Программы и компоненты — Включение или отключение компонентов Windows.
Выключить SMBv1 можно через командную строку (cmd.exe) и через PowerShell (powershell.exe):
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Можно удалить сам сервис, отвечающий за SMBv1
Скопируйте строки ниже, вставьте в блокноте и сохраните с именем и расширением "DisableSMB1.cmd"
Затем запустите от имени администратора.
echo Disable SMB 1.0 Protocol
reg add "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v SMB1 /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v SMBDeviceEnabled /t REG_DWORD /d 0 /f
sc config LanmanServer depend= SamSS/Srv2
sc config srv start= disabled
sc config LanmanWorkstation depend= Bowser/MRxSmb20/NSI
sc config mrxsmb10 start= disabled
sc config RpcLocator start= disabled
%SystemRoot%\Sysnative\Dism.exe /online /norestart /disable-feature /featurename:SMB1Protocol
Отключаем SMB1 через реестр
Аналогично отключается через реестр Windows (regedit.exe).
Скопируйте строки ниже, вставьте в блокноте и сохраните с именем и расширением "DisableSMB1.reg"
После этого даблклик на сохраненном файле и на вопрос о внесении изменений ответить "Да". После этого перезагрузить систему.
Windows Registry Editor Version 5.00
;Отключаем уязвимый для вируса-шифровальщика WannaCrypt протокол SMB 1.0 на стороне сервера — не будет доступа по сети из Windows XP и более ранних ОС к ресурсам этого компьютера
;Также можно удалить в свойствах сетевого адаптера компоненты: "Служба доступа к файлам и принтерам сетей Microsoft" ("File and Printer sharing") и "Клиент сетей Microsoft"
;Протокол SMB 1.0 можно выключить полностью во всех сетях, где нет ОС младше Windows Vista и устаревших принтеров!
;"SMB Signing": EnableSecuritySignature — позволяет добавлять в конец каждого сообщения электронную подпись, что существенно повышает его защищенность
;RequireSecuritySignature — сервер будет работать только с клиентами, поддерживающими SMB Signing
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"SMB1"=dword:00000000
"EnableSecuritySignature"=dword:00000001
"RequireSecuritySignature"=dword:00000001
;Убираем зависимость службы "Сервер" от службы "Драйвер сервера Server SMB 1.xxx"
;"DependOnService"="SamSS Srv2" вместо "SamSS Srv"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer]
"DependOnService"=hex(7):53,00,61,00,6d, 00,53,00,53,00,00,00,53,00,72,00,76,00, \
32,00,00,00,00,00
;Отключаем службу "Драйвер сервера Server SMB 1.xxx", которая нужна только для совместимости: обеспечение взаимодействия между Windows XP и клиентами более ранних версий ОС
;"ImagePath"="System32\DRIVERS\srv.sys"
;srvsvc.dll — Server Service DLL — обеспечивает общий доступ к файлам, принтерам для данного компьютера через сетевое подключение
;По умолчанию используем "Драйвер сервера Server SMB 2.xxx" — обеспечивает взаимодействие между Windows Vista и клиентами более поздних версий
;sc config srv start= disabled
;Убираем зависимость службы "Рабочая станция" от службы "Мини-перенаправитель SMB 1.x"
;"DependOnService"="Bowser MRxSmb20 NSI" вместо "Bowser MRxSmb10 MRxSmb20 NSI"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation]
"DependOnService"=hex(7):42,00,6f, 00,77,00,73,00,65,00,72,00,00,00,4d, 00,52,00, \
78,00,53,00,6d, 00,62,00,32,00,30,00,00,00,4e, 00,53,00,49,00,00,00,00,00
;Отключаем службу "Мини-перенаправитель SMB 1.x", которая нужна только для совместимости: реализует протокол SMB 1.x (CIFS), который позволяет подключаться к сетевым ресурсам, расположенным на серверах более ранних версий ОС, чем Windows Vista и выше
;"ImagePath"="system32\DRIVERS\mrxsmb10.sys"
;wkssvc.dll — Workstation Service DLL — создает и поддерживает клиентские сетевые подключения к удаленным серверам по протоколу SMB
;По умолчанию используем "Мини-перенаправитель SMB 2.0" — реализует протокол SMB 2.0, позволяющий подключаться к сетевым ресурсам, расположенным на серверах с ОС Windows Vista и более поздних версий
;Протокол SMB 1.0 можно отключить полностью во всех сетях, где нет ОС младше Windows Vista и устаревших принтеров!
;sc config mrxsmb10 start= disabled
1. Установите патчи-обновления MS17-010, закрывающие уязвимость ETERNALBLUE в SMB согласно вашей операционной системе:
Обновление IPS от 14 марта 2017 года Microsoft Windows SMB Remote Code Execution (MS17-010: CVE-2017-0143)
technet.microsoft.com/lib…ry/security/MS17-010.aspx
Для остальных, уже неподдерживаемых систем (Windows XP и прочих) можно скачать здесь:
www.catalog.update.micros…m/Search.aspx?q=KB4012598
2. Заблокируйте все неиспользуемые внешние соединения из Интернет как минимум по 145-му и 139-му TCP-портам
Вредоносная программа-шифровальщик WannaCrypt ищет уязвимые компьютеры, путем сканирования открытого извне TCP-порта 445 (Server Message Block — SMB). Поэтому необходимо заблокировать доступ как минимум по этому порту (а также по 139-му) из Интернет на вашем межсетевом экране или маршрутизаторе.
Просто и легко закрыть неиспользуемые порты можно при помощи программы WWDC — Windows Worms Doors Cleaner.
В отличие от файерволов, блокирующих порты, WWDC их закрывает, отключая службы, открывающие их. Нужно устранять источник проблемы, а не симптомы.
Проблема эпидемии сетевых червей актуальна для любой локальной сети. Рано или поздно может возникнуть ситуация, когда в ЛВС проникает сетевой или почтовый червь, который не детектируется применяемым антивирусом. Сетевой вирус распространяется по ЛВС через не закрытые на момент заражения уязвимости операционной системы или через доступные для записи общие ресурсы. Почтовый вирус, как следует из названия, распространяется по электронной почте при условии, что он не блокируется клиентским антивирусом и антивирусом на почтовом сервере. Кроме того, эпидемия в ЛВС может быть организована изнутри в результате деятельности инсайдера. В данной статье мы рассмотрим практические методики оперативного анализа компьютеров ЛВС с применением различных средств, в частности с помощью авторской утилиты AVZ.
Постановка задачи
В случае обнаружения эпидемии или некой нештатной активности в сети администратор должен оперативно решить минимум три задачи:
- обнаружить зараженные ПК в сети;
- найти образцы вредоносной программы для отправки в антивирусную лабораторию и выработки стратегии противодействия;
- принять меры для блокирования распространения вируса в ЛВС и его уничтожения на зараженных компьютерах.
В случае деятельности инсайдера основные шаги анализа идентичны и чаще всего сводятся к необходимости обнаружения установленного инсайдером постороннего ПО на компьютерах ЛВС. В качестве примера такого ПО можно назвать утилиты удаленного администрирования, клавиатурные шпионы и различные троянские закладки.
Рассмотрим более подробно решение каждой из поставленных задач.
Поиск зараженных ПК
Для поиска зараженных ПК в сети можно применять как минимум три методики:
- автоматический удаленный анализ ПК — получение информации о запущенных процессах, загруженных библиотеках и драйверах, поиск характерных закономерностей — например процессов или файлов с заданными именами;
- исследование трафика ПК с помощью сниффера — данный метод очень эффективен для отлова спам-ботов, почтовых и сетевых червей, однако основная сложность в применении сниффера связана с тем, что современная ЛВС строится на базе коммутаторов и, как следствие, администратор не может осуществлять мониторинг трафика всей сети. Проблема решается двумя путями: запуском сниффера на маршрутизаторе (что позволяет осуществлять мониторинг обмена данными ПК с Интернетом) и применением мониторинговых функций коммутаторов (многие современные коммутаторы позволяют назначить порт мониторинга, на который дублируется трафик одного или нескольких портов коммутатора, указанных администратором);
- исследование нагрузки на сеть — в данном случае очень удобно применять интеллектуальные коммутаторы, которые позволяют не только оценивать нагрузку, но и удаленно отключать указанные администратором порты. Данная операция существенно упрощается при наличии у администратора карты сети, на которой имеются данные о том, какие ПК подключены к соответствующим портам коммутатора и где они расположены;
- применение ловушек (honeypot) — в локальной сети настоятельно рекомендуется создать несколько ловушек, которые позволят администратору своевременно обнаружить эпидемию.
Автоматический анализ ПК можно свести к трем основным этапам:
- проведение полного исследования ПК — запущенные процессы, загруженные библиотеки и драйверы, автозапуск;
- проведение оперативного обследования — например поиск характерных процессов или файлов;
- карантин объектов по определенным критериям.
Все перечисленные задачи можно решить при помощи авторской утилиты AVZ, которая рассчитана на запуск из сетевой папки на сервере и поддерживает скриптовый язык для автоматического обследования ПК. Для запуска AVZ на компьютерах пользователей необходимо:
- Поместить AVZ в открытую для чтения сетевую папку на сервере.
- Создать в этой папке подкаталоги LOG и Qurantine и разрешить пользователям запись в них.
- Запустить AVZ на компьютерах ЛВС при помощи утилиты rexec или логон-скрипта.
Запуск AVZ на шаге 3 должен производиться при таких параметрах:
\\my_server\AVZ\avz.exe Priority=-1 nw=Y nq=Y HiddenMode=2 Script=\\my_server\AVZ\my_script.txt
Рис. 1. Редактор скриптов AVZ
Рассмотрим три типовых скрипта, которые могут пригодиться в ходе борьбы с эпидемией. Во-первых, нам потребуется скрипт для исследования ПК. Задача скрипта — произвести исследование системы и создать протокол с результатами в заданной сетевой папке. Скрипт имеет следующий вид:
// Включение сторожевого таймера на 10 минут
// Запуск сканирования и анализа
//Завершение работы AVZ
В ходе выполнения данного скрипта в папке LOG (предполагается, что она создана в каталоге AVZ на сервере и доступна пользователям для записи) будут создаваться HTML-файлы с результатами исследования компьютеров сети, причем для обеспечения уникальности в имя протокола включается имя исследуемого компьютера. В начале скрипта располагается команда включения сторожевого таймера, который принудительно завершит процеcc AVZ через 10 минут в случае, если в ходе выполнения скрипта возникнут сбои.
Протокол AVZ удобен для изучения вручную, однако для автоматизированного анализа он мало пригоден. Кроме того, администратору часто известно имя файла вредоносной программы и требуется только проверить наличие или отсутствие данного файла, а при наличии — поместить в карантин для анализа. В этом случае можно применить скрипт следующего вида:
// Включение сторожевого таймера на 10 минут
// Поиск вредоносной программы по имени
QuarantineFile(‘%WinDir%\smss.exe’, ‘Подозрение на LdPinch.gen’);
QuarantineFile(‘%WinDir%\csrss.exe’, ‘Подозрение на LdPinch.gen’);
//Завершение работы AVZ
В этом скрипте задействуется функция QuarantineFile, которая совершает попытку карантина указанных файлов. Администратору остается только проанализировать содержимое карантина (папка Quarantine\сетевое_имя_ПК\дата_каратина\) на наличие помещенных в карантин файлов. Следует учесть, что функция QuarantineFile автоматически блокирует помещение в карантин файлов, опознанных по базе безопасных AVZ или по базе ЭЦП Microsoft. Для практического применения данный скрипт можно усовершенствовать — организовать загрузку имен файлов из внешнего текстового файла, проверять найденные файлы по базам AVZ и формировать текстовый протокол с результатами работы:
// Поиск файла с указанным именем
function CheckByName(Fname : string) : boolean;
if Result then begin
case CheckFile(FName) of
-1 : S := ‘, доступ к файлу блокируется’;
1 : S := ‘, опознан как Malware (‘+GetLastCheckTxt+’)’;
2 : S := ‘, подозревается файловым сканером (‘+GetLastCheckTxt+’)’;
3 : exit; // Безопасные файлы игнорируем
AddToLog(‘Файл ‘+NormalFileName(FName)+’ имеет подозрительное имя’+S);
//Добавление указанного файла в карантин
SuspNames : TStringList; // Список имен подозрительных файлов
// Проверка файлов по обновляемой базе данных
if FileExists(GetAVZDirectory + ‘files.db’) then begin
AddToLog(‘База имен загружена - количество записей = ‘+inttostr(SuspNames.Count));
for i := 0 to SuspNames.Count - 1 do
AddToLog(‘Ошибка загрузки списка имен файлов’);
Для работы данного скрипта необходимо создать в папке AVZ доступные пользователям для записи каталоги Quarantine и LOG, а также текстовый файл files.db — каждая строка данного файла будет содержать имя подозрительного файла. Имена файлов могут включать макросы, наиболее полезные из которых — %WinDir% (путь к папке Windows) и %SystemRoot% (путь к папке System32). Другим направлением анализа может стать автоматическое исследование списка процессов, запущенных на компьютерах пользователей. Информация о запущенных процессах есть в протоколе исследования системы, но для автоматического анализа удобнее применять следующий фрагмент скрипта:
// Обновление списка процессов
AddToLog(‘Количество процессов = ‘+IntToStr(GetProcessCount));
// Цикл анализа полученного списка
for i := 0 to GetProcessCount - 1 do begin
S1 := S1 + ‘,’ + ExtractFileName(GetProcessName(i));
// Поиск процесса по имени
if pos(‘trojan.exe’, LowerCase(GetProcessName(i))) > 0 then
S := S + GetProcessName(i)+’,’;
AddLineToTxtFile(GetAVZDirectory+’\LOG\_alarm.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S);
AddLineToTxtFile(GetAVZDirectory+’\LOG\_all_process.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S1);
В завершение рассмотрим последний из полезных скриптов анализа — скрипт автоматического карантина всех файлов, которые не опознаются по базе безопасных AVZ и по базе ЭЦП Microsoft:
Автоматический карантин изучает запущенные процессы и загруженные библиотеки, службы и драйверы, около 45 способов автозапуска, модули расширения браузера и проводника, обработчики SPI/LSP, задания планировщика, обработчики системы печати и т.п. Особенностью карантина является то, что файлы в него добавляются с контролем повторов, поэтому функцию автокарантина можно вызывать многократно.
Достоинство автоматического карантина заключается в том, что с его помощью администратор может оперативно собрать потенциально подозрительные файлы со всех компьютеров сети для их изучения. Простейшей (но весьма эффективной на практике) формой изучения файлов может быть проверка полученного карантина несколькими популярными антивирусами в режиме максимальной эвристики. Следует отметить, что одновременный запуск автокарантина на нескольких сотнях компьютеров может создать высокую нагрузку на сеть и на файловый сервер.
Исследование трафика можно проводить тремя способами:
- вручную при помощи снифферов;
- в полуавтоматическом режиме — в данном случае сниффер собирает информацию, и затем его протоколы обрабатываются либо вручную, либо некоторым ПО;
- автоматически при помощи систем обнаружения вторжений (IDS) типа Snort (http://www.snort.org/) либо их программных или аппаратных аналогов. В простейшем случае IDS состоит из сниффера и системы, анализирующей собираемую сниффером информацию.
Система обнаружения вторжений является оптимальным средством, так как позволяет создавать наборы правил для обнаружения аномалии в сетевой активности. Второе ее преимущество состоит в следующем: большинство современных IDS позволяют размещать агенты мониторинга трафика на нескольких узлах сети — агенты собирают информацию и передают ее. В случае же применения сниффера очень удобно пользоваться консольным UNIX-сниффером tcpdump. Например, для мониторинга активности по порту 25 (протокол SMTP) достаточно запустить сниффер с командной строкой вида:
tcpdump -i em0 -l tcp port 25 > smtp_log.txt
В данном случае ведется захват пакетов через интерфейс em0; информация о захваченных пакетах будет сохраняться в файле smtp_log.txt. Протокол сравнительно просто анализировать вручную, в данном примере анализ активности по порту 25 позволяет вычислить ПК с активными спам-ботами.
В качестве ловушки (Honeypot) можно использовать устаревший компьютер, производительность которого не позволяет применять его для решения производственных задач. Например, в сети автора в качестве ловушки успешно применяется Pentium Pro c 64 Мбайт оперативной памяти. На этот ПК следует установить наиболее распространенную в ЛВС операционную систему и выбрать одну из стратегий:
- Установить операционную систему без пакетов обновлений — она будет индикатором появления в сети активного сетевого червя, эксплуатирующего любую из известных уязвимостей для данной операционной системы;
- установить операционную систему с обновлениями, которые установлены на других ПК сети — Honeypot будет аналогом любой из рабочих станций.
Каждая из стратегий имеет как свои плюсы, так и минусы; автор в основном применяет вариант без обновлений. После создания Honeypot следует создать образ диска для быстрого восстановления системы после ее повреждения вредоносными программами. В качестве альтернативы образу диска можно использовать системы отката изменений типа ShadowUser и его аналогов. Построив Honeypot, следует учесть, что ряд сетевых червей ищут заражаемые компьютеры путем сканирования диапазона IP, отсчитываемого от IP-адреса зараженного ПК (распространенные типовые стратегии — X.X.X.*, X.X.X+1.*, X.X.X-1.*), — следовательно, в идеале Honeypot должен быть в каждой из подсетей. В качестве дополнительных элементов подготовки следует обязательно открыть доступ к нескольким папкам на Honeypot-системе, причем в данные папки следует положить несколько файлов-образцов различного формата, минимальный набор — EXE, JPG, MP3.
Рис. 2. Создание и настройка предупреждения о сетевой активности
В качестве предупреждения удобнее всего использовать сообщения электронной почты, отправляемые на почтовый ящик администратора, — в этом случае можно получать оперативные оповещения от всех ловушек в сети. Кроме того, если сниффер позволяет создавать несколько предупреждений, есть смысл дифференцировать сетевую активность, выделив работу с электронной почтой, FTP/HTTP, TFTP, Telnet, MS Net, повышенный трафик более 20-30 пакетов в секунду по любому протоколу (рис. 3).
Рис. 3. Письмо-оповещение, высылаемое
в случае обнаружения пакетов, соответствующих заданным критериям
При организации ловушки неплохо разместить на ней несколько применяемых в сети уязвимых сетевых служб или установить их эмулятор. Простейшим (и бесплатным) является авторская утилита APS, работающая без инсталляции. Принцип работы APS сводится к прослушиванию множества описанных в ее базе портов TCP и UDP и выдаче в момент подключения заранее заданного или случайно генерируемого отклика (рис. 4).
Рис. 4. Главное окно утилиты APS
Дистанционное удаление вредоносных программ
В идеальном случае после обнаружения образцов вредоносных программ администратор отправляет их в антивирусную лабораторию, где они оперативно изучаются аналитиками и в базы антивируса вносятся соответствующие сигнатуры. Эти сигнатуры через автоматическое обновление попадают на ПК пользователей, и антивирус производит автоматическое удаление вредоносных программ без вмешательства администратора. Однако эта цепочка не всегда работает как положено, в частности возможны следующие причины сбоя:
- по ряду независимых от администратора сети причин образы могут не дойти до антивирусной лаборатории;
- недостаточная оперативность антивирусной лаборатории — в идеале на изучение образцов и их внесение в базы уходит не более 1-2 часов, то есть в пределах рабочего дня можно получить обновленные сигнатурные базы. Однако не все антивирусные лаборатории работают столь оперативно, и обновления можно ждать несколько дней (в редких случаях — даже недель);
- высокая работоспособность антивируса — ряд вредоносных программ после активации уничтожают антивирусы или всячески нарушают их работу. Классические примеры — внесение в файл hosts записей, блокирующих нормальную работу системы автообновления антивируса, удаление процессов, службы и драйверов антивирусов, повреждение их настроек и т.п.
Следовательно, в перечисленных ситуациях придется бороться с вредоносными программами вручную. В большинстве случаев это несложно, так как по результатам исследования компьютеров известны зараженные ПК, а также полные имена файлов вредоносных программ. Остается только произвести их дистанционное удаление. Если вредоносная программа не защищается от удаления, то уничтожить ее можно скриптом AVZ следующего вида:
// Эвристическая чистка системы
Данный скрипт удаляет один заданный файл (или несколько файлов, так как команд DeleteFile в скрипте может быть неограниченное количество) и затем производит автоматическую чистку реестра. В более сложном случае вредоносная программа может защищаться от удаления (например, пересоздавая свои файлы и ключи реестра) или маскироваться по руткит-технологии. В этом случае скрипт усложняется и будет иметь следующий вид:
// Включение протоколирования BootCleaner
// Импорт в задание BootCleaner списка файлов, удаленных скриптом
Звонит мне клиент и говорит что не может на сервере работать так-как всё жёстко тормозит.
Подключаюсь я вообщем к нему, захожу в диспетчер задач и наблюдаю картину:
Процесс Svshost.exe загружает проц на 80-90%, перехожу в каталог где лежит сие чудо (папка кстати называется 4nationcal). Убиваю процесс, в каталоге 4nationcal удаляю файл и на место одного процесс вылазит 2-3. что делать как быть я хз. Сканировал Касперским, Нодом, Авестом, всё в пустую находит вирус, удаляет но после пары перезагрузок всё возвращается.
Самое страшное что всё кто подключаются по RDP, зависают при входе и дальше темнота, ещё в придачу перестали работать сетевые каталоги и принтеры. Ещё в
Панель управления\Все элементы панели управления\Центр управления сетями и общим доступом\Дополнительные параметры общего доступа не возможно включить сетевое обнаружение.
Вирусу как я понял не нужны права админа т.к. на сервере 1 админ и заходил я под ним примерно пол года назад, до момента тревожного звонка да и нашёл я его в папке загрузок у юзера.
Искал я в интернетах и никто не сталкивался с таким. 2 дня медитации дали свои плоды и я всё же победил его.
1. Удаляем службу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\4nationcal\
2. Вирус вырубает службы, так что включаем обратно и ставим автовлючение
-DNS-клиент (DNS Client);
-Обнаружение SSDP (SSDP Discovery);
-Публикация ресурсов обнаружения функции (Function Discovery Resource Publication);
-Узел универсальных PNP-устройств (UPnP Device Host).
3.Выключаем службу Агент политики IpSec и на конец появляется сетевой доступ.
Никогда с таким не сталкивался и нигде не нашел как удалить, так что может кому пригодится.
P.S. Мой первый пост, не судите строго
ну ты это. покури теневое копирование и знакомство с шифровальщиками для тебя будет не очень жестоким.
у меня на есть Qnap-хранилище, туда бэкапы льются. На серверах самое важное 1с базы, а систему восстановить не проблема
лол, что ты будешь делать с зашифрованными архивами? =)
Архивы делаются каждый день, qnap на линуксе. Я уже сталкивался с шифровальщиком и всё норм пока. тьфу тьфу тьфу
Спасибо. очень выручил. столкнулся с такой-же бедой, после того как дал доступ не обновлённому серваку в интернет. сразу эта гадость прилетела.
Присоединяюсь к благодарностям. Очень выручил. До прочтения не допускал что мои проблемы могут быть связаны с вирусом, так как никто кроме меня не имел доступа. Однако прочитав полез смотреть загрузку процессора и службы и спалил в системной папке IMA исполняемый файл svchost запущенный как служба. Служба эта имела непримечательное название и не имела описания, терялась среди созданных служб сторонних программ с английскими названиями. Ну а дальше аналогично, вырубаем зловредную службу, переименовываем/удаляем файл, проверяем службы по списку.
Первый компьютерный вирус
Поведаю вам о одном из первых вирусов - ELK Cloner , который был обнаружен на компьютерах пользователей, а не в системе, на которой был разработан.
Написан он был 15-летним школьником Ричардом Скрента для Apple II
Вирус не влиял на работу компьютера, за исключением наблюдения за доступом к дискам. Когда происходил доступ к незаражённой дискете, вирус копировал себя туда, заражая её, медленно распространяясь с диска на диск.
Вирус не причинял вреда намеренно, хотя он мог повредить диски , затирая резервные дорожки диска вне зависимости от их содержимого. После каждой 50-й загрузки вирус выводил на экран стишок:
ELK CLONER: THE PROGRAM
WITH A PERSONALITY
IT WILL GET ON ALL YOUR
IT WILL INFILTRATE YOUR
IT WILL STICK TO YOU LIKE
IT WILL MODIFY RAM TOO
SEND IN THE CLONER!
Elk Cloner: программа с индивидуальностью
Она проникнет во все ваши
Она внедрится в ваши чипы
Она прилипнет к вам как
Она даже изменит
оперативную память
Cloner выходит на охоту
Криптоджекинг. Разбор случайного вируса-майнера под Windows.
Как-то раз на неделе обратился ко мне коллега из офиса, говорит, что его домашний компьютер вдруг начинает жутко лагать, самопроизвольно перезагружается, и т.п.
Я взялся посмотреть, что же это было.
Первым делом была проверена автозагрузка процессов и служб, как обычно делает большинство "мастеров", думая, что они при отключении там чего-либо полностью излечили компьютер от вирусов. Может быть раньше, со всякими WinLocker'ами или рекламными баннерами этот трюк и прокатывал, но времена меняются, и теперь технологии другие. В винде любых версий есть старые дыры, но вполне функциональные. Итак, первое, что видно при включении ЭВМ - открывается вот такое вот окошко (скрин не было сделать возможности с него, звиняйте, скрины пойдут дальше):
В автозагрузке, повторюсь всё в порядке:
После того, как компьютер был штатно заштопан двумя разными антивирусами, возникла идея исследовать этот файл, который система начала загружать. Но не всё оказалось так просто.
Итак, дальше расписано по шагам, каким образом работает этот вирус, и к какому конечному результату это приводит.
Шаг 0. Попадание первичного файла в систему.
Для того, чтобы в системе MS Windows инициировался какой-либо процесс, что-то должно его запускать. В первых версиях вирусов - ярлык вируса просто кидался в папку автозагрузки программ, в Windows 7 она находится по адресу:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Потом вирусы стали добавляться в ветви реестра [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] и то же самое в разделе HKEY_LOCAL_MACHINE, откуда удалить их было уже не так просто. Но оказалось, что в автозагрузку эти файлы можно и не добавлять, чтобы не провоцировать простенькие антивирусы. В системе существует "Планировщик заданий" (mmc.exe), куда прекрасно можно добавить задачу автозапуска какой-либо программы, и даже целую исполняемую часть командной строки (сценарий):
В таком случае на действия начинают реагировать лишь единицы антивирусов, никакие а**сты, макаффи и т.п. фри версии антивирей туда по большей части даже не суются.
Итак, я попытался зайти на тот адрес из окна (http://f******r.com/) в веб-браузере. Но, попробовав ввести тот адрес, да и вообще, какой бы адрес я не открывал, я получал заглушку на nginx:
Дальше я стал копать и выяснил, что бирюзовое окно - это рабочее окно системы BITS (Background Intelligent Transfer Service). Изначально он предназначен для быстрой передачи данных по специальному протоколу через команды приложений. Как оказалось, именно этот протокол (с 2016 года, по версии xakep.ru) стал часть использоваться для загрузки вирусов. Поэтому я подключился через этот протокол, используя команды PowerShell по оригинальному адресу:
И, вуаля, я получил какой-то файл, весом гораздо больше пустой веб-страницы:
Видимо, на сервере специальным образом настроены порты, чтобы при обращении именно от BITS был отправлен экземпляр этого файла. При этом, как выяснилось, неважно, какое название у архива - всегда будет получен тот же файл. Давайте исследуем его.
Шаг 1: Первичный файл загружен. Что это?
Я открыл файл в Hex-редакторе, чтобы распознать тип. Начинается он с MZP, значит файл исполняемый. В файле была обнаружена сигнатура Inno Setup, стало ясно, что это - файл инсталлятора чего-либо:
Шаг 2. Вместо установки этого файла я воспользовался утилитой Inno Unpacker, которая дала мне следующие файлы, содержащиеся внутри проекта:
Собственно, как оказалось, программа никаких файлов в себе не содержала - только скрипт install_script с описанием установщика, а так же скомпилированный фрагмент кода, выполненного на паскале. Вот файл скрипта:
Обратите внимание на параметры [Setup], а именно название программы, и выходное имя файла OutputBasenameFile (оно совпадает кое с чем на первой картинке).
Шаг 3. Также неизвестным оставался код программы CompiledCode.bin. Для того, чтобы расшифровать его, я воспользовался декомпилятором паскаль-фрагмента кода:
Шаг 4. Стало ясно, что данные внутри кода немного зашифрованы (обфусцированы) от посторонних глаз. Немного видоизменив код, я интерпретировал его на FreePascal'е, и получил следующий результат:
Внутри инсталлятора (MSICEE2.msi) оказались два файла: unzip.exe и vcruntime140.lib.zip. Во втором архиве ещё два файла, но он запаролен. Для начала я исследовал файл unzip.exe:
Оказалось, что этот файл является неизмененной копией утилиты для систем Windows 2005 года, которая называется "Info-Zip UnZip", и являющейся простым распаковщиком zip-файлов. Вот, что будет, если её запустить:
Шаг 6. В одной из строчек виден пароль от архива: IBM644. Но обычный архиватор этот пароль не принимает - распаковываются файлы только оригинальным UnZip'ом при помощи этой команды.
Все файлы внутри архива - исполняемые библиотеки для системы типа dll или lib. Написаны они на C, декомпилировать их я смысла не видел. Возможно, именно в них содержится блок, занимающийся копированием вируса в системе, но так глубоко я их не копал. В песочнице после их регистрации в системе (папка TEMP) появился следующий файл: [612A9A]. Смотрим, что у него внутри:
Этот файл представляет собой json - конфиг, в котором видно ключевое слово CryptoNight и URL, логин и пароль от майнинг-сервера. Данный майнер майнит монету "Monero". Данный файл подозрительно совпадает с конфиг-файлом для Windows-версии майнера "****Rig":
Скормив этот конфиг исполняемому файлу майнера (оконной версии), загруженному из интернета, действительно компьютер получил настоящую "работу", и видео при этом стало жутко лагать. В оригинальном конфиге прописано также исполнение без gui (фоновым процессом - никаких окон).
Собственно, это и есть конечный результат. Помайнил 10 секунд для него, чтобы сделать вам скрин, надеюсь, что вырученных за это время денег автору хватит как минимум на два билета до Канарских островов. Итого имеем сложный файл, прописывающий себя в нескольких местах системы, работающий на языках Pascal и C++, в итоге приводящий к запланированному запуску майнера. Берегите свои компьютеры. С вами был Kekovsky, специально для pikabu.
Читайте также: