Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Написание на NASL-е инвентаризации по сети, Есть задача написать на NASL инвентаризацию антивирусов в сети» в фору
 
Обращаюсь к братьям по разуму.

Коротко о том, что нужно получить.
Задача написать на NASL "программу" которая обладая правами администратора, пройдется по сети и составит перечень установленных антивирусов, их версии и сообщит, работает ли антивирус или нет.

Хочу написать по человечески "программу" поэтому нужна информация о том как "центр обеспечения безопасности Windows" находит антивирус, его версию и статус (работает или нет). Сунулся в Google и microsoft, там труба.

Может, есть какой-то хитрый API для общения с антивирусом.

EICAR тестирование не предлагать :?)

Приветствуются любые идеи.

Заранее благодарю.
 
В MaxPatrol для этих целей используется WMI

Ниже пример vbs - скрипта, который это реализует. Насколько я знаю, Nessus держит WMI


' for non - MS firewall and FW with vendor WMI support.

strComputer = "." 'Can set to remote machine.

Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\SecurityCenter")

Set colFirewall = oWMI.ExecQuery("Select * From FirewallProduct")

If (colFirewall.count <> 0) Then
For Each objFirewall In colFirewall
Wscript.Echo("Company Name : " & objFirewall.companyName)
Wscript.Echo("Display Name : " & objFirewall.displayName)
Wscript.Echo("Enabled : " & objFirewall.enabled)
Wscript.Echo("enableUIParameters : " & objFirewall.enableUIParameters)
Wscript.Echo("pathToEnableUI : " & objFirewall.pathToEnableUI)
wscript.Echo("versionNumber : " & objFirewall.versionNumber)
Next
Else
WScript.Echo "No firewall product detected "
End if

'For virus use this query

Set colFirewall = oWMI.ExecQuery("Select * From AntiVirusProduct")

If (colFirewall.count <> Null) Then
For Each objAntiVirusProduct In colItems
WScript.Echo "companyName: " & objAntiVirusProduct.companyName
WScript.Echo "displayName: " & objAntiVirusProduct.displayName
WScript.Echo "enableOnAccessUIMd5Hash: " _
& objAntiVirusProduct.enableOnAccessUIMd5Hash
WScript.Echo "enableOnAccessUIParameters: " _
& objAntiVirusProduct.enableOnAccessUIParameters
WScript.Echo "instanceGuid: " & objAntiVirusProduct.instanceGuid
WScript.Echo "onAccessScanningEnabled: " _
& objAntiVirusProduct.onAccessScanningEnabled
WScript.Echo "pathToEnableOnAccessUI: " _
& objAntiVirusProduct.pathToEnableOnAccessUI
WScript.Echo "pathToUpdateUI: " & objAntiVirusProduct.pathToUpdateUI
WScript.Echo "productUptoDate: " & objAntiVirusProduct.productUptoDate
WScript.Echo "updateUIMd5Hash: " & objAntiVirusProduct.updateUIMd5Hash
WScript.Echo "updateUIParameters: " _
& objAntiVirusProduct.updateUIParameters
WScript.Echo "versionNumber: " & objAntiVirusProduct.versionNumber
Next
Else
WScript.Echo "No antivirus product detected "
End If
 
спасибо за скрипт.

Я создал стенд, в котором сначала накатил Касперского, а затем NOD32.

Скрипт не определил антивирусы и Windows FireWall.
Я посмотрел с помощью утилит в WMI и не нашел там \root\SecurityCenter.
В свою очередь "центр обеспечения безопасности" видит и антивирусы и FireWall, соответственно предложенный скрипт и «центр обеспечения безопасности» берут информацию из разных источников.

Еще раз спасибо за скрипт, но он не работает.

Люди кто знает где "центр обеспечения безопасности" берет информацию о запущенных антивирусах?
Страницы: 1
Читают тему