El banner de un servicio es el tipo de servicios que están funcionando dentro del servidor de la máquina que nos proponemos analizar, así como las versiones en el que se encuentra.
El fundamento de esta práctica es aprovechar la pantalla de error que nos sale al tratar de penetrar en el servidor por un puerto determinado y así conocer el servicio que se encuentra funcionando.
El inicio de nuestro programa será importando los módulos socket y sys, no necesitaremos nada más.
A continuación, introduciremos la llamada para control de fallos de nuestro programa.
Ahora comencemos con las variables de la función main que serán un input con el que introduciremos la IP que vayamos a analizar, la variable port en la que cogeremos como valor de numero entero el puerto y finalmente la llamada a la función banner que desarrollaremos en el siguiente paso.
Definimos la función banner que le mandaremos desde main los parámetros que aquí se convertirán en ip y puerto. Creamos la variable s y llamamos a la librería socket y a la función socket. Por último, mandamos la conexión desde “s” a la conexión con la ip y el puerto.
Para terminar, mandaremos los datos en 1024 bytes, y modelaremos un poco el print para hacerlo más fácil de leer.
El resultado final del código es este.
Ahora solo queda hacerle funcionar, lo ejecutamos y lo enviamos hacia una IP y enviémoslo a dos puertos de una máquina que conozco que esta abiertos para ver el resultado.
Aquí comprobamos que nos da el servicio y la versión en funcionamiento
En caso de que no detecte el servicio, la mejor opción suele ser buscar los hacer una investigación de los servicios que corren por esos puertos desde un buscador.