Pitón

Python para piratear, construir un escáner de puertos

Python para piratear, construir un escáner de puertos

Python para piratería: construya un escáner de puertos en 13 líneas con Python

Convertirse en un probador de penetración no es solo poder explotar cierto objetivo al instante.  Usar las herramientas pentest de otras personas no convertirá a alguien en un gran hacker. En realidad, aquellos que tienen la dependencia de depender de las herramientas suelen tener el sello de script kiddies. Cada campo de especialización debe tener niveles, también se le llama proceso, uno de los cuales es el campo de la piratería. Como dice la siguiente cita popular, "No nacieron leyendas, las leyendas se hacen". No se trata del talento de uno, sino del conjunto de habilidades.

En el siguiente artículo, aprenderemos sobre la implementación de un lenguaje de programación en el campo de la piratería. ¿Quién no conoce el lenguaje de programación Python?? Si, por supuesto que ya lo sabes. Python se crea para fines generales, como el desarrollo de aplicaciones de escritorio con su GUI, el desarrollo web y las pruebas de piratería o penetración. Python tiene una comunidad activa (algunos de ellos están locos, un.k.un fanático) y Python también tiene ricos módulos de biblioteca.

Python también se ha convertido en mi lenguaje de programación favorito desde que conocí el campo de las pruebas de penetración. No solo lo amo por sentado. Sin embargo, por alguna razón, en esencia, Python es un lenguaje de programación menos complejo y más eficiente. Lo que quiero decir con eso es que está casi cerca del lenguaje humano, ¿no es así?? Desde un punto de vista novato como el mío, la tasa de legibilidad de Python es una locura.

Ok, suficiente para exagerar Python. Ahora explicaré el punto de este artículo. Aquí aprenderemos a crear un escáner de puertos simple con verbosidad con solo 13 líneas. (me gusta 13). Aquí no vamos a vencer al "rey del escáner de puertos" NMap, en cambio, el objetivo de esto es comprender cómo funciona una herramienta de tal manera que produzca lo que queremos, en este caso para ver si los puertos en un objetivo están abiertos o no. Por otro lado, existen otras ventajas, yo.mi. cuando en algún momento nos enfrentamos a una condición en la que cuando queremos hacer un escaneo de puertos del enrutador que no se puede conectar a Internet y no tenemos ninguna herramienta. Esto será más fácil, por supuesto, si podemos hacer el escáner de puertos nosotros mismos. Cita de la cita anterior. Agregué: "Los piratas informáticos no usan herramientas, crean herramientas"

Hagámoslo con práctica, abre tu editor de texto favorito. No pierda su tiempo utilizando un IDE con muchas funciones para realizar secuencias de comandos simples. Solo sé eficiente. Prefiero Gedit, en lugar del editor de texto precompilado de Kali Linux, Leafpad. Por una razón, Gedit admite el resaltado de color para varios lenguajes de programación. Escriba el siguiente texto en su editor de texto.

importar socket
calcetín = enchufe.enchufe (enchufe.AF_INET, enchufe.SOCK_STREAM)

En la línea 1 necesitamos importar el socket del módulo para poder usar la función socket (). En la línea 2 creamos un objeto socket con la sintaxis:

enchufe.socket (familia_enchufe, tipo_enchufe)

Socket_family podría ser: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH y AF_ALG.

Socket_kind las opciones son SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, etc. Usamos SOCK_STREAM porque nos comunicaremos a través del protocolo TCP.

Para obtener más información sobre el módulo de socket, visite la documentación oficial de socket en https: // docs.pitón.org / 3 / library / socket.html

Continuemos el programa con las siguientes líneas:
https: // análisis.Google.com / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input ("[+] Enter Target IP:")

Le pedimos al usuario que ingrese una IP de destino, ya que estamos usando AF_INET para crear socket.

def escáner (puerto):
intentar:
calcetín.conectar ((destino, puerto))
volver verdadero
excepto:
falso retorno

En las siguientes líneas de arriba, definimos escáner() función. En escáner() usamos intentar sintaxis para asegurarnos de que no arrojamos ningún error si ocurre algún problema. Intentamos hacer una conexión a la IP de destino y su puerto. La variable de puerto se pasa a la función como se muestra a continuación.

para portNumber en el rango (1100):
print ("Puerto de escaneo", portNumber)
si escáner (número de puerto):
print ('[*] Port', portNumber, '/ tcp', 'is open')

Esto para el bucle anterior, es iterar a través de una serie de puertos que vamos a escanear. La sintaxis de distancia() la función es, rango (comenzar desde x, detenerse antes de x). Entonces, en la línea 10, escanearemos 100 puertos, que es el puerto 1 al 99. Usamos una llamada al método de impresión para saber qué puerto se está escaneando ahora. Luego devolvemos el tipo booleano, Verdadero o Falso. Llama a nuestro escáner() función que intenta establecer una conexión con el puerto suministrado; si es devuelve Falso (el intento de conexión falló).  Si vuelve Cierto (conexión exitosa) luego vaya a la siguiente línea. Que muestra un mensaje que indica que este puerto determinado es Abierto. Este bucle se detendrá una vez que escaneemos el puerto 99.

Entonces, para terminar, nuestro escáner de código de puerto de 13 líneas debería verse así:

Muy bien, ahora es el momento de probarlo, veamos cómo funciona. Guárdalo como escáner.py. En caso de que vayamos a buscar puertos abiertos de nuestro propio enrutador en el rango entre 1 y 99. Créame, esto no será elegante en comparación con NMap, solo concéntrese en nuestro objetivo que mencioné anteriormente.

IP de destino: 192.168.1.1

La sintaxis para llamar escáner.py es:

~ # escáner python3.py

Debido a que no configuramos nuestro entorno de script en la primera línea, por lo tanto, necesitamos llamar al intérprete de Python, usé python3 en lugar de su versión inferior.

Y la salida no elegante debería verse así:

EN CONCLUSIÓN

Sí, logramos construir un escáner de puertos simple desde cero usando Python solo en 13 líneas. Logramos alcanzar nuestro objetivo, y ahora sabemos cómo funcionan las cosas, ¿verdad??. Incluso no te dije si hay un tipo que hizo el módulo NMap-python, no te sorprendería. Básicamente, este módulo puede ejecutar el comando NMap utilizando el lenguaje de programación Python.

Oh, sí, si se pregunta dónde está la parte de piratería con solo hacer escaneo de puertos? Hmm ... Bueno, ¿qué apunta un pirata informático si no tiene ni idea del objetivo en sí?. ¿Recuerda las fases o ciclos de las pruebas de penetración?? Si no es así, es posible que deba leer el artículo aquí:

https: // linuxhint.com / kali-linux-tutorial /

Los 5 mejores productos ergonómicos de mouse de computadora para Linux
¿El uso prolongado de la computadora causa dolor en la muñeca o los dedos?? ¿Sufre de rigidez en las articulaciones y constantemente tiene que dar la ...
Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...
Vuelva a asignar los botones del mouse de manera diferente para diferentes programas con X-Mouse Button Control
Tal vez necesite una herramienta que pueda hacer que el control de su mouse cambie con cada aplicación que use. Si este es el caso, puede probar una a...