Пилим свою службу Windows – руководство для «не настоящих программистов» / Хабр

Почему срабатывает антивирус?

Часто еще на стадии первого запуска портативной версии штатные антивирусы (Windows Defender в том числе) выдают предупреждение о возможной угрозе.

В системном трее появляется сообщение о том, что запускаемый апплет содержит модифицированный HackTool:Win32/AutoKMS (или KeyGen). Это нормально, поскольку практически все антивирусы (за редким исключением) настроены таким образом, чтобы не пропускать в систему генераторы ключей (кейгены), устанавливая для них атрибуты потенциально опасного или нежелательного ПО, хотя на самом деле в теле программы (в программном коде) никой вирусной угрозы нет.

Тут срабатывает защита лицензирования (особенно, если запускается процесс для KMService Srvany.exe, который действительно может являться вирусом).

Но есть и другие разновидности вредоносных кодов и программ. Самая известная угроза, способная маскироваться под процесс KMService.exe, – печально известный вирус HKTL_KEYGEN. Но определить, вирус ли это, можно самому даже по размеру файла. Существует несколько модификаций с размерами 151,522 байт, 151,622 байт, 151,606 байт, 155,648 байт и 77,824 байт.

Что такое nissrv.exe?

NisSrv.exe это исполняемый файл, который является частью Microsoft Security Essentials Программа, разработанная Корпорация Microsoft, Программное обеспечение обычно о 21.86 MB по размеру.

Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Пожалуйста, прочитайте следующее, чтобы решить для себя, является ли NisSrv.exe Файл на вашем компьютере – это вирус или троянский конь, который вы должны удалить, или это действительный файл операционной системы Windows или надежное приложение.

Рекомендуется: Выявление проблем, связанных с NisSrv.exe.(опциональное предложение для Reimage – Cайт | Лицензионное соглашение | Персональные данные | Удалить)

Kmservice.exe: что это с точки зрения программного обеспечения?

Поскольку кода активации для «Офиса» у пользователя нет, то для его нормальной работы встроенное средство защиты от использования нелицензионных копий нужно как-то обмануть.

Для этого и применяется утилита mini-KMS Activator, позволяющая произвести активацию Office 2022 VL, установить ключи или сбросить статус пробной версии (Trial). Иными словами, активатор сообщает системе защиты офисного пакета, что за него заплачены деньги, и генерирует лицензию.

Kmservice.exe: что за процесс?

Сам процесс, который всех так удивляет своим присутствием, вирусом не является. Он представляет собой службу, которая изначально появляется в системных процессах после активации нелицензионного MS Office 2022.

Ситуация такова, что многие пользователи (если не абсолютное большинство) выкладывать деньги за офисный пакет не хотят (или не могут). В свою очередь, установленный «Офис» по истечении определенного времени начинает требовать активации пакета. Вот тут на помощь и приходит специальное приложение, результатом работы которого является появление фонового процесса KMService.exe. Что это за программное обеспечение? Все просто!

Описание угрозы

Название угрозы

Имя исполняемого файла:

Тип угрозы:

Поражаемые ОС:

Nsrv.exe

(random file).exe

Viruses

Win32 (Windows XP, Windows Vista, Windows Seven, Windows 8)

Nissrv.exe безопасный или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как NisSrv.exe, должен запускаться из C: Program Files Microsoft Security Client msseces.exe, а не где-либо еще.

Для подтверждения откройте диспетчер задач, выберите «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.

Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, – это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры». Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Наиболее важные факты о NisSrv.exe:

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

Найдите его местоположение (оно должно быть в C: Program Files Microsoft Security Client) и сравните его размер с приведенными выше фактами.

Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус NisSrv.exe, вам необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.

Кроме того, функциональность вируса может сама влиять на удаление NisSrv.exe. В этом случае вы должны включить Безопасный режим с загрузкой сетевых драйверов – безопасная среда, которая отключает большинство процессов и загружает только самые необходимые службы и драйверы. Когда вы можете запустить программу безопасности и полный анализ системы.

:/>  КС ГО вылетает при запуске карты что делать. Что делать если вылетает CS:GO

Виды файлов и варианты их расположения после запуска

Если говорить о сохранении элементов утилиты вместе с исполняемым файлом после старта или установки основного приложения, то не всегда они могут находиться именно в основной папке системы.

Так, например, иногда можно встретить вариант сохранения по пути C:WindowsactofvlKMService.exe (в обновленной версии утилиты).

И именно основной EXE-файл отвечает за постоянное слежение за состоянием лицензии «Офиса» в течение определенного срока, производя ее реактивацию без участия пользователя. При этом, несмотря на размещение файла по пути C:WindowsactofvlKMService.exe, многие пользователи совершенно не обращают внимания на то, что запуск одноименного процесса можно увидеть еще и в так называемом «Планировщике заданий».

Другое дело – когда пользователь встречает такой исполняемый файл в директории System32 при включенном отображении скрытых объектов. Это уже говорит о том, что данный файл является вирусом, который маскируется под активатор. Как правило, сама программа в эту системную папку никогда и ничего не сохраняет. По всей видимости, удалить такой объект вручную не получится – придется использовать антивирусный сканер.

Зачем нужна служба, если есть назначенные задания

В отличие от назначенных заданий служба работает постоянно, запускается при старте ПК и может управляться средствами Windows. А еще регулярно запускаемому скрипту могут понадобиться данные с предыдущего запуска, и может быть полезно получение данных из внешних источников — например, в случае TCP или Web сервера.

Лично мне за последние пять лет приходилось создавать службу три с половиной раза:

  • Потребовалось создать сервис на fail2ban для Windows 2003., который работал с логами FileZilla и Apache, а при подозрении на брутфорс блокировал IP штатными средствами Windows — ipsec.
  • Аналог телнет-сервера для домашних версий Windows. Понадобилось выполнять команды на удаленных рабочих станциях, которые были под управлением Windows 7 Home. По сути, вторая попытка поиграть в службы.
  • Музыкальный проигрыватель для торгового зала под Windows. Задачу по ТЗ можно было решить при помощи mpd и пачки скриптов, но я решил — если уж делать скрипты, то почему бы и не «сваять» проигрыватель самому. За основу взял библиотеку BASS.dll.
  • Когда выбирали веб-сервер с поддержкой загрузки файлов под Windows, одним из вариантов был HFS. Сам по себе работать он не может, поэтому пришлось «запихивать» его в службу. В результате решение не понравилось, и просто установили «тему» Apaxy на web-сервере Apache.

Для создания службы можно использовать взрослые языки программирования вроде C. Но если вы не хотите связываться с Visual Studio, то возьмите готовые утилиты. Существуют платные решения вроде FireDaemon Pro или AlwaysUp, но мы традиционно сосредоточимся на бесплатных.

Как исправить nissrv.exe

Аккуратный и опрятный компьютер – это один из лучших способов избежать проблем с Microsoft Security Essentials. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска cleanmgr и ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.

Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.

Чтобы помочь вам проанализировать процесс NisSrv.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска.

Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.

Как удалить nsrv.exe вручную

Эта проблема может быть решена вручную, путём удаления ключей реестра и файлов связанных с Nsrv.exe, удалением его из списка автозагрузки и де-регистрацией всех связанных DLL файлов. Кроме того, отсутствующие DLL файлы должны быть восстановлены из дистрибутива ОС если они были повреждены Nsrv.exe.

Чтобы избавиться от Nsrv.exe, вам необходимо:

1. Завершить следующие процессы и удалить соответствующие файлы:

no information

Предупреждение: вам необходимо удалить только файлы, контольные суммы которых, находятся в списке вредоносных. В вашей системе могут быть нужные файлы с такими же именами. Мы рекомендуем использовать Утилиту для удаления Nsrv.exe для безопасного решения проблемы.

:/>  Как включить и выключить эмодзи в Windows 10

2. Удалите следующие папки:

no information

3. Удалите следующие ключи иили значения ключей реестра:

no information

Предупреждение: Если указаны значения ключей реестра, вы должны удалить только указанные значения и оставить сами ключи нетронутыми. Мы рекомендуем использовать Утилиту для удаления Nsrv.exe для безопасного решения проблемы.

Как предотвратить заражение рекламным ПО? Мы рекомендуем использовать Adguard:

4. Сбросить настройки браузеров

Nsrv.exe иногда может влиять на настройки вашего браузера, например подменять поиск и домашнюю страницу. Мы рекомендуем вам использовать бесплатную функцию “Сбросить настройки браузеров” в “Инструментах” в программе Spyhunter Remediation Tool для сброса настроек всех браузеров разом.

Для Internet Explorer

  • Если вы используете Windows XP, кликните Пуск, и Открыть. Введите следующее в поле Открыть без кавычек и нажмите Enter: “inetcpl.cpl”.

  • Если вы используете Windows 7 или Windows Vista, кликните Пуск. Введите следующее в поле Искать без кавычек и нажмите Enter: “inetcpl.cpl”.

  • Выберите вкладку Дополнительно

  • Под Сброс параметров браузера Internet Explorer, кликните Сброс. И нажмите Сброс ещё раз в открывшемся окне.

  • Выберите галочку Удалить личные настройки для удаления истории, восстановления поиска и домашней страницы.

  • После того как Internet Explorer завершит сброс, кликните Закрыть в диалоговом окне.

Предупреждение: В случае если это не сработает используйте бесплатную опцию Сбросить настройки браузеров в Инструменты в программе Spyhunter Remediation Tool.

Для Google Chrome

Предупреждение: В случае если это не сработает используйте бесплатную опцию Сбросить настройки браузеров в Инструменты в программе Spyhunter Remediation Tool.

Для Mozilla Firefox

  • Откройте Firefox

  • В меню выберите Помощь > Информация для решения проблем.

  • Кликните кнопку Сбросить Firefox.

  • После того, как Firefox завершит, он покажет окно и создаст папку на рабочем столе. Нажмите Завершить.

Предупреждение: Так вы потеряте выши пароли! Рекомендуем использовать бесплатную опцию Сбросить настройки браузеров в Инструменты в программе Spyhunter Remediation Tool.

Информация предоставлена: Aleksei Abalmasov

Следующее описаниее: Moviesvoltjh.cf »

« Вернуться в каталог

Метод заражения nsrv.exe

Nsrv.exe копирует свои файл(ы) на ваш жёсткий диск. Типичное имя файла (random file).exe. Потом он создаёт ключ автозагрузки в реестре с именем Nsrv.exe и значением (random file).exe. Вы также можете найти его в списке процессов с именем (random file).exe или Nsrv.exe.

Если у вас есть дополнительные вопросы касательно Nsrv.exe, пожалуйста, заполните эту форму и мы вскоре свяжемся с вами.

Насколько законно применение программы?

Продолжаем рассматривать процесс KMService.exe. Что это такое, мы уже разобрались. Посмотрим теперь на некоторые правовые аспекты.

С точки зрения международного законодательства, поскольку программный продукт MS Office 2022 защищен авторскими и правами интеллектуальной собственности, не говоря уже о множестве других правовых документов и норм, применять данную утилиту, разумеется, противозаконно.

Использовать ее можно только на свой страх и риск. Но когда это нашего пользователя останавливало? Тем более что проверить действительную активацию офисного пакета онлайн невозможно даже при всех имеющихся в распоряжении корпорации Microsoft ресурсах.

Наша служба поддержки готова решить вашу проблему с nsrv.exe и удалить nsrv.exe прямо сейчас!

Оставьте подробное описание вашей проблемы с Nsrv.exe в разделе Техническая поддержка. Наша служба поддержки свяжется с вами и предоставит вам пошаговое решение проблемы с Nsrv.exe. Пожалуйста, опишите вашу проблему как можно точнее. Это поможет нам предоставит вам наиболее эффективный метод удаления Nsrv.exe.

Новая версия активатора

Рассматриваемая утилита является несколько устаревшей. Сегодня можно встретить более расширенную версию программы под названием KMSAuto Net.

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

Распространенные сообщения об ошибках в nissrv.exe

Наиболее распространенные ошибки NisSrv.exe, которые могут возникнуть:

• “Ошибка приложения NisSrv.exe.”• «Ошибка NisSrv.exe».• «Возникла ошибка в приложении NisSrv.exe. Приложение будет закрыто. Приносим извинения за неудобства».• «NisSrv.exe не является допустимым приложением Win32».• «NisSrv.exe не запущен».• «NisSrv.exe не найден».

Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения связанной с ней программы Microsoft Security Essentials, во время запуска или завершения работы Windows или даже во время установки операционной системы Windows. Отслеживание момента появления ошибки NisSrv.exe является важной информацией, когда дело доходит до устранения неполадок.

Способ второй, почти взрослый

Существует утилита под названием NSSM — Non-Sucking Service Manager, что можно перевести как не-плохой менеджер служб. В отличие от предыдущей, она поддерживается разработчиком, и исходный код опубликован на сайте. Помимо обычного способа, доступна и установка через пакетный менеджер Chocolately.

:/>  Почему не работает камера в Скайпе (9 основных причин)

Создать сервис можно из обычной командной строки, вооружившись документацией на сайте разработчика. Но мы воспользуемся PowerShell. Потому что можем, разумеется.

$nssm = (Get-Command ./nssm).Source
$serviceName = 'WebServ'
$powershell = (Get-Command powershell).Source
$scriptPath = 'C:tempPolarisserver.ps1'
$arguments = '-ExecutionPolicy Bypass -NoProfile -File "{0}"' -f $scriptPath
& $nssm install $serviceName $powershell $arguments
& $nssm status $serviceName
Start-Service $serviceName
Get-Service $serviceName

Пилим свою службу Windows – руководство для «не настоящих программистов» / Хабр
Установка через PowerShell.

Для разнообразия проверим работу службы не браузером, а тоже через PowerShell командой Invoke-RestMethod.

Пилим свою службу Windows – руководство для «не настоящих программистов» / Хабр
И вправду работает.

В отличие от srvany, этот метод позволяет перезапускать приложение на старте, перенаправлять stdin и stdout и многое другое. В частности, если не хочется писать команды в командную строку, то достаточно запустить GUI и ввести необходимые параметры через удобный интерфейс.

GUI запускается командой:

nssm.exe install ServiceName

Пилим свою службу Windows – руководство для «не настоящих программистов» / Хабр
Настроить можно даже приоритет и использование ядер процессора.

Действительно, возможностей куда больше, чем у srvany и ряда других аналогов. Из минусов бросается в глаза недостаточный контроль над всем процессом.

Налицо нехватка «жести». Поэтому я перейду к самому хардкорному методу из всех опробованных.

Способ первый. от microsoft

Этот уже немолодой механизм состоит из двух компонентов: утилиты instsrv.exe для установки сервиса и srvany.exe — процесса для запуска любых исполняемых файлов. Предположим, что мы создали веб-сервер на PowerShell при помощи модуля Polaris. Скрипт будет предельно прост:

Способ третий. autoit

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

Листинг скрипта

Итак, попробуем «завернуть» в нее наш веб-сервис:

#NoTrayIcon
#RequireAdmin
#Region
#AutoIt3Wrapper_Version=Beta
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion

Dim $MainLog = @ScriptDir & "test_service.log"

#include <services.au3>
#include <WindowsConstants.au3>

$sServiceName="WebServ"

If $cmdline[0] > 0 Then
    Switch $cmdline[1]
        Case "install", "-i", "/i"
            InstallService()
        Case "remove", "-u", "/u", "uninstall"
            RemoveService()
        Case Else
            ConsoleWrite(" - - - Help - - - " & @CRLF)
            ConsoleWrite("params : " & @CRLF)
            ConsoleWrite(" -i : install service" & @CRLF)
            ConsoleWrite(" -u : remove service" & @CRLF)
            ConsoleWrite(" - - - - - - - - " & @CRLF)
            Exit
    EndSwitch
Else
    _Service_init($sServiceName)
    Exit
EndIf

Func _main($iArg, $sArgs)
If Not _Service_ReportStatus($SERVICE_RUNNING, $NO_ERROR, 0) Then
    _Service_ReportStatus($SERVICE_STOPPED, _WinAPI_GetLastError(), 0)
    Exit
EndIf

$bServiceRunning = True
$PID=Run("C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -NoProfile -File C:tempPolarisserver.ps1")

While $bServiceRunning
_sleep(1000)
WEnd
ProcessClose($PID)

_Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, 1000)
DllCallbackFree($tServiceMain)
DllCallbackFree($tServiceCtrl)
_Service_ReportStatus($SERVICE_STOPPED, $NO_ERROR, 0)
DllClose($hAdvapi32_DLL)
DllClose($hKernel32_DLL)
EndFunc

Func _Sleep($delay)
Local $result = DllCall($hKernel32_DLL, "none", "Sleep", "dword", $delay)
EndFunc

Func InstallService()
    #RequireAdmin
    Local $bDebug = True
    If $cmdline[0] > 1 Then
        $sServiceName = $cmdline[2]
    EndIf
    If $bDebug Then ConsoleWrite("InstallService("&$sServiceName &"): Installing service, please wait")
    _Service_Create($sServiceName, $sServiceName, $SERVICE_WIN32_OWN_PROCESS, $SERVICE_AUTO_START, $SERVICE_ERROR_SEVERE, '"' & @ScriptFullPath & '"');,"",False,"","NT AUTHORITYNetworkService")
    If @error Then
        Msgbox("","","InstallService(): Problem installing service, Error number is " & @error & @CRLF & " message : " & _WinAPI_GetLastErrorMessage())
    Else
        If $bDebug Then ConsoleWrite("InstallService(): Installation of service successful")
    EndIf
    Exit
EndFunc

Func RemoveService()
    _Service_Stop($sServiceName)
    _Service_Delete($sServiceName)
    If Not @error Then
    EndIf
    Exit
EndFunc

Func _exit()
    _Service_ReportStatus($SERVICE_STOPPED, $NO_ERROR, 0);
EndFunc

Func StopTimer()
    _Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, $iServiceCounter)
    $iServiceCounter  = -100
EndFunc

Func _Stopping()
    _Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, 3000)
 EndFunc

Разберу подробнее момент запуска приложения. Он начинается после операции $bServiceRunning = True и превращается в, казалось бы, бесконечный цикл. На самом деле этот процесс прервется, как только служба получит сигнал о завершении — будь то выход из системы или остановка вручную.

Поскольку программа для скрипта является внешней (powershell.exe), то после выхода из цикла нам нужно закончить ее работу с помощью ProcessClose.

Для этого скрипт необходимо скомпилировать в .exe, а затем установить службу, запустив exe с ключом -i.

Пилим свою службу Windows – руководство для «не настоящих программистов» / Хабр
Оно работает!

Разумеется, этот способ не самый удобный, и все дополнительные возможности придется реализовывать самостоятельно, будь то повторный запуск приложения при сбое или ротация логов. Но зато он дает полный контроль над происходящим. Да и сделать в итоге можно куда больше — от уведомления в Telegram о сбое службы до IPC-взаимодействия с другими программами. И вдобавок — на скриптовом языке, без установки и изучения Visual Studio.

Расскажите, а вам приходилось превращать скрипты и приложения в службы?

Функции

******

Заключение

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

Оставьте комментарий

Adblock
detector