From 9af7fa58d9ea8ad98d015fc52ef9e5704fca30c3 Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Tue, 6 Jun 2023 17:33:28 +0200 Subject: [PATCH] Add exercise 2 by script-hacking course Signed-off-by: Manuel Vergara --- scripts-hacking-etico/README.md | 7 ++++++- scripts-hacking-etico/src/02-impacket.py | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 scripts-hacking-etico/src/02-impacket.py diff --git a/scripts-hacking-etico/README.md b/scripts-hacking-etico/README.md index a3ba0cb..d3e6b4d 100644 --- a/scripts-hacking-etico/README.md +++ b/scripts-hacking-etico/README.md @@ -8,7 +8,7 @@ Estos ejercicios se han creado directamente usando Inteligencias Artificales. Bibliotecas útiles para la manipulación de paquetes de red, la programación de red asincrónica, la generación de datos falsos, la criptografía, la creación de exploits y pruebas de penetración, etc - **Python-nmap**: es una biblioteca de Python que se utiliza para interactuar con el escáner de puertos nmap. Proporciona una interfaz de Python para nmap y permite a los usuarios realizar escaneos de red, descubrir hosts y puertos abiertos, y obtener información detallada sobre los sistemas y servicios de red. *Documentación*: https://pypi.org/project/python-nmap/ -- **IMPacket**: es una biblioteca de Python para la manipulación de paquetes de red. Proporciona una amplia gama de herramientas para la creación, manipulación y envío de paquetes de red, y es muy útil en aplicaciones de pruebas de penetración y seguridad de red. *Documentación*: https://impacket.readthedocs.io/ +- **IMPacket**: es una biblioteca de Python para la manipulación de paquetes de red. Proporciona una amplia gama de herramientas para la creación, manipulación y envío de paquetes de red, y es muy útil en aplicaciones de pruebas de penetración y seguridad de red. *Documentación*: https://pypi.org/project/impacket/ - **Requests**: es una biblioteca de Python para hacer solicitudes HTTP. Proporciona una interfaz fácil de usar para realizar solicitudes HTTP, como GET y POST, y permite a los usuarios interactuar con servidores web y API. *Documentación*: https://docs.python-requests.org/en/latest/ - **Twisted**: es una biblioteca de Python para programación de red asincrónica. Proporciona una amplia gama de herramientas para crear servidores y clientes de red asincrónicos, y es muy útil en aplicaciones de comunicación de red en tiempo real, como chat y videoconferencia. *Documentación*: https://twistedmatrix.com/documents/current/ - **Faker**: es una biblioteca de Python para generar datos falsos. Proporciona una amplia gama de herramientas para generar nombres, direcciones, números de teléfono y otra información falsa, y es muy útil en aplicaciones de pruebas y simulaciones de datos. *Documentación*: https://faker.readthedocs.io/en/master/ @@ -62,6 +62,11 @@ for port in result['scan']['192.168.1.1']['tcp']: En este ejercicio, utilizamos la biblioteca impacket para realizar un escaneo de puertos utilizando el protocolo SMB (Server Message Block). Creamos un objeto de SMB cliente y nos conectamos al servidor SMB en la dirección IP especificada. Luego, llamamos al método scan_ports para escanear los puertos. Finalmente, iteramos sobre los puertos encontrados e imprimimos los puertos abiertos. +Antes de nada se debe instalar la dependencia: +```shell +pip install impacket +``` + ```python from impacket import smb diff --git a/scripts-hacking-etico/src/02-impacket.py b/scripts-hacking-etico/src/02-impacket.py new file mode 100644 index 0000000..8dec088 --- /dev/null +++ b/scripts-hacking-etico/src/02-impacket.py @@ -0,0 +1,19 @@ +""" +Instalar la biblioteca de Python `impacket` +y realizar un escaneo de puertos +a la dirección IP `192.168.1.1` +""" +from impacket import smb + +# Crear un objeto de cliente SMB +client = smb.SMB('*SMBSERVER', '192.168.1.1') + +# Conectar al servidor SMB +client.connect() + +# Escanear puertos +ports = client.scan_ports() + +# Imprimir puertos abiertos +for port in ports: + print(f'El puerto {port} está abierto')