En python podemos hacer uso de nmap a través de la libreria
python-nmap la cual nos permite manipular facilmente los resultados de
un escaneo, ademas, puede ser una herramienta perfecta para
administradores de sistemas o consultores de seguridad informática a la
hora de automatizar procesos de penetration testing.
La ultima versión de python-nmap es la 0.3.2 y puede ser descargada desde: http://xael.org/norman/python/python-nmap/python-nmap-0.3.2.tar.gz
para proceder con la instalación descomprimimos el paquete descargado,
saltamos al nuevo directorio y ejecutamos el comando de instalación
#python setup.py install
Ahora python-nmap es un modulo python que podemos invocar desde nuestros scripts o desde la terminal interactiva, por ejemplo.
Una vez hayamos comprobado que la instalación ha sido
correcta podemos empezar a hackear el planeta, o por lo menos a
escanearlo, para ello debemos antes que nada hacer una instanciación de
la clase PortScanner(), así podremos acceder al método mas importante:
scan. Una buena practica para entender como trabaja una función, método u
objeto es usar la función help(), o dir() para saber las
funciones/métodos disponibles en un modulo u objeto
ahora, si ejecutamos help(escaneo.scan) tendremos:
el método recibe tres argumentos el host(s) victima, los
puertos y los argumentos, además al final agrega como deben ser enviados
los parámetros (todos deben ser string), un ejemplo verdadero sería:
el resultado del escaneo es diccionario de estrafalaria
proporción que contiene la misma información que devolvería un escaneo
hecho con Nmap directamente.
A los “values” como es lógico se accede a través de sus
“keys”, sin embargo hacerlo en este diccionario sería titanico debido a
su tamaño, lo que podemos hacer es listar con dir() los métodos
disponibles en el “value” IP de el diccionario que devuelve el escaneo
con el método tcp() y pasando el valor numérico del puerto
que queremos consultar obtendremos versión del mismo ademas servidor y
estado
también podemos volver al objeto que instanciamos con la clase PortScanner() y probar sus métodos
Si desean hacer algo mas complejo todo es cuestión de
probar la variedad de métodos disponibles e integrar otras
librerías/módulos
#HappyCoding #HappyHacking
No hay comentarios:
Publicar un comentario