Interfaces de programación de aplicaciones (API) disponibles en scripts Python

GFI LanGuard incluye la mayor parte de la implementación de Python predeterminada (también conocida como CPython, disponible en http://go.gfi.com/?pageid=pythorg). Actualmente utilizamos la versión 2.5 de Python. Por lo tanto, la mayoría de los scripts Python existentes funcionan con modificaciones menores en GFI LanGuard. La modificación más importante implica que los scripts deben tener una función main() que devuelva 1 o 0.

Todos los scripts Python utilizados por módulos de examen de seguridad (información de comprobaciones de vulnerabilidades y de aplicaciones de seguridad) tienen acceso a las siguientes variables globales:

  • ComputerIP
  • ComputerName
  • LNSSDir
  • localProgramFilesPath
  • localWindowsPath
  • localSystem32Path
  • Usuario
  • Contraseña
Ejemplo

ComputerIP = '127.0.0.1'

ComputerName = 'WXPSandbox"

LNSSDir = 'C:\\Program Files\\GFI\\LanGuard\\'

localProgramFilesPath = 'C:\\Program Files'

localWindowsPath = 'C:\\WINDOWS'

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

User = ''

Password = ''

Utilice estas variables globales para acceder al nombre o a la dirección IP del equipo examinado y a las credenciales necesarias para conectarse a este equipo.

Las funciones globales de GFI LanGuard se encuentran disponibles para scripts Python como métodos del objeto GlobalFunctions. Es decir:

# Utiliza funciones globales.

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

# Mostrar texto.

GlobalFunctions.echo("¡Hola!")

# Adds given text to the log file.

GlobalFunctions.writetolog("Script Python iniciado").

# Agrega el texto a la barra de estado.

GlobalFunctions.statusbar("¡Hola StatusBar!")

# Agrega un nodo secundario con el nombre del segundo parámetro a la vulnerabilidad actual.

GlobalFunctions.addlistitem("", "Descripción de vulnerabilidad").

# Cambia la descripción de la vulnerabilidad actual.

GlobalFunctions.setdescription("Lista de módems instalados")

GlobalFunctions.writetolog("Script Python finalizado").

result = 1

return(result)

GFI LanGuard también proporciona una API cliente de COM para scripts Python con la forma pywin32.

Nota

Todas las bibliotecas de generación de scripts de COM de GFI LanGuard se encuentran disponibles a través de win32com.client para scripts Python. Para obtener más información, consulte Objetos de scripting.

Ejemplo

# Búsqueda de DNSBase de datos que utilizan las redes TCP e IP, que permite la conversión de nombres de host en números IP y el suministro de otra información relacionada con dominios. mediante el objeto de COM de LanGuard GlbObj.Socket.

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

import win32com.client

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

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

result = 1

return(result)

Pywin32

# Hola a todos para pywin32.

def main():

"""Return values:

* 0 - false, failed

* 1 - true, success"""

result = 0

import win32com.client

strComputer = "."

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

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

colItems = objSWbemServices.ExecQuery("Seleccionar * de Win32_PhysicalMemory")

for objItem in colItems:

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

result = 1

return(result)

Nota

Para acceder a documentación adicional de Pywin32, visite: