Interfaces de programação de aplicativos (APIs) disponíveis nos scripts Python

O GFI LanGuard contém a maioria da implementação padrão de Python (conhecida como CPython, disponível em http://go.gfi.com/?pageid=pythorg). No momento, usamos a versão 2.5 do Python. Portanto, a maioria dos scripts Python funciona no GFI LanGuard com pequenas modificações. A modificação mais importante é que os scripts devem ter uma função main() que retorne 1 ou 0.

Todos os scripts Python usados por módulos do verificador de segurança (informações de verificações de vulnerabilidade e aplicativos de segurança) têm acesso às seguintes variáveis globais:

  • ComputerIP
  • ComputerName
  • LNSSDir
  • localProgramFilesPath
  • localWindowsPath
  • localSystem32Path
  • User
  • Password
Exemplo

ComputerIP = '127.0.0.1'

ComputerName = 'WXPSandbox"

LNSSDir = ‘C:\\Arquivos de Programas\\GFI\\LanGuard\\'

localProgramFilesPath = 'C:\\Arquivos de Programas'

localWindowsPath = 'C:\\WINDOWS'

localSystem32Path = 'C:\\WINDOWS\\system32'

User = ''

Password = ''

Use estas variáveis globais para acessar o nome ou endereço IP da máquina verificada, para obter as credenciais necessárias para se conectar à máquina verificada.

As funções globais do GFI LanGuard estão disponíveis para os scripts Python como métodos do objeto GlobalFunctions. Ou seja:

# Usando funções globais.

def main():

"“”Valor de retorno:

* 0 - falso, falha

* 1 - verdadeiro, êxito"""

result = 0

# Exibe texto.

GlobalFunctions.echo(“Olá!")

# Acrescenta certo texto ao arquivo de log.

GlobalFunctions.writetolog(“Script Python começou.")

# Acrescenta certo texto à barra de status.

GlobalFunctions.statusbar(“Olá, BarraStatus!")

# Acrescenta um subnó com o nome do segundo parâmetro à vulnerabilidade atual.

GlobalFunctions.addlistitem("", “Descrição vulnerabilidade.")

# Altera a descrição da vulnerabilidade atual.

GlobalFunctions.setdescription(“Lista de modens instalados")

GlobalFunctions.writetolog(“Script Python concluído.")

result = 1

return(result)

GFI LanGuard também fornece API de cliente COM para scripts Python na forma de pywin32.

Obs.

Todas as GFI LanGuard bibliotecas de script COM estão disponíveis via win32com.client para os scripts Python. Para obter mais informações, consulte Script de objetos.

Exemplo

# Pesquisa DNSBanco de dados usado pelas redes TCP/IP que habilita a tradução dos nomes do host em números IP e o fornecimento de outras informações relacionadas ao domínio. usando objeto LanGuard COM GlbObj.Socket.

def main():

"“”Valor de retorno:

* 0 - falso, falha

* 1 - verdadeiro, êxito"""

result = 0

import win32com.client

socket = win32com.client.Dispatch("GlbObj.Socket.1")

print(socket.DnsLookup('gfi.com'))

result = 1

return(result)

Pywin32

# Olá, mundo para pywin32.

def main():

"“”Valor de retorno:

* 0 - falso, falha

* 1 - verdadeiro, êxito"""

result = 0

import win32com.client

strComputer = "."

objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")

objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")

colItems = objSWbemServices.ExecQuery("Select * from Win32_PhysicalMemory")

for objItem in colItems:

print(“Capacidade: %s\n" % objItem.Capacity)

result = 1

return(result)

Obs.

Para outras documentações de Pywin32, consulte: