Comandos Python Ciber
Comandos Python Ciber
Ciberseguridad
Luciana Herrera Vargas
August 5, 2024
Este documento proporciona una lista de 100 comandos y herramientas de Python utilizados en ciberse-
guridad, organizados por categorı́as de funcionalidad, junto con una breve explicación de cada uno. Además,
se incluye una explicación general sobre lo que debe tener el código para que cada comando funcione.
• Instalación de Paquetes: Asegúrate de que todos los paquetes necesarios estén instalados en tu
entorno de Python. Puedes usar pip para instalar bibliotecas y módulos adicionales, como requests,
scapy, o cryptography. Ejemplo de instalación:
• Importación de Módulos: Los módulos y bibliotecas deben ser importados en tu script antes de que
puedan ser utilizados. Asegúrate de incluir las declaraciones import necesarias al inicio de tu código:
import requests
import scapy.all as scapy
from cryptography.fernet import Fernet
• Permisos de Ejecución: Algunos comandos pueden requerir permisos especiales para ejecutarse,
como permisos de administrador o root. Asegúrate de tener los permisos adecuados para ejecutar
comandos que interactúan con la red o el sistema.
• Configuración de Entorno: Asegúrate de que tu entorno de desarrollo esté correctamente config-
urado. Esto incluye la configuración de variables de entorno, la configuración de red, y la correcta
configuración de tu entorno virtual si estás utilizando uno.
• Manejo de Excepciones: Es buena práctica incluir manejo de excepciones para capturar y mane-
jar errores que puedan ocurrir durante la ejecución de comandos. Utiliza bloques try-except para
gestionar errores y excepciones:
try:
response = requests.get(’http://example.com’)
response.raise_for_status()
except requests.RequestException as e:
print(f"Error: {e}")
1
• Uso de Recursos Externos: Para herramientas que interactúan con recursos externos como servi-
dores web, redes o archivos, asegúrate de que estos recursos estén disponibles y accesibles desde tu
entorno de desarrollo.
• Actualización de Herramientas: Mantén tus herramientas y bibliotecas actualizadas para aprovechar
las últimas caracterı́sticas y correcciones de seguridad. Puedes actualizar paquetes utilizando:
2 Gestión de Archivos
2.1 Lectura y Escritura de Archivos
• open(): Abre un archivo para leerlo, escribirlo o agregarle contenido.
• read(): Lee el contenido completo de un archivo.
• readlines(): Lee todas las lı́neas de un archivo y las devuelve como una lista.
• write(): Escribe una cadena en un archivo.
• writelines(): Escribe una lista de cadenas en un archivo.
• with open() as: Maneja la apertura y cierre de archivos de forma automática.
• seek(): Cambia la posición del cursor en un archivo.
• tell(): Devuelve la posición actual del cursor en un archivo.
• os.remove(): Elimina un archivo del sistema.
• os.rename(): Cambia el nombre de un archivo.
3 Redes
3.1 Sockets
• socket.socket(): Crea un objeto socket.
• socket.bind(): Asocia un socket a una dirección IP y puerto.
• socket.listen(): Escucha conexiones entrantes en un socket.
• socket.accept(): Acepta una conexión entrante.
• socket.connect(): Establece una conexión con un servidor.
• socket.send(): Envı́a datos a través de un socket.
• socket.recv(): Recibe datos a través de un socket.
• socket.close(): Cierra un socket.
• socket.gethostbyname(): Obtiene la dirección IP de un nombre de host.
• socket.gethostname(): Obtiene el nombre de host de la máquina actual.
2
3.2 HTTP Requests
• requests.get(): Envı́a una solicitud GET a un servidor.
• requests.post(): Envı́a una solicitud POST a un servidor.
• requests.put(): Envı́a una solicitud PUT a un servidor.
• requests.delete(): Envı́a una solicitud DELETE a un servidor.
• requests.head(): Envı́a una solicitud HEAD a un servidor.
• requests.options(): Envı́a una solicitud OPTIONS a un servidor.
• requests.patch(): Envı́a una solicitud PATCH a un servidor.
• requests.auth: Maneja la autenticación en solicitudes HTTP.
• requests.session(): Crea una sesión persistente para realizar múltiples solicitudes.
• requests.cookies: Maneja cookies en solicitudes HTTP.
4 Escaneo y Enumeración
4.1 Escaneo de Puertos
• scapy: Librerı́a para manipulación de paquetes de red.
• nmap: Herramienta para escaneo de puertos y servicios.
• python-nmap: Wrapper de Python para la herramienta Nmap.
• socket.socket(): Utilizado para crear conexiones TCP y UDP.
• socket.connect ex(): Método para probar la conexión a un puerto especı́fico.
• asyncio: Librerı́a para manejo de I/O asincrónico, útil para escaneos rápidos.
• multiprocessing: Módulo para paralelizar escaneos de puertos.
• shodan: Librerı́a para interactuar con la API de Shodan y obtener información de dispositivos.
• dns.resolver: Utilizado para resolver nombres de dominio.
• subprocess.Popen(): Ejecuta comandos de sistema como nmap.
3
5 Criptografı́a
5.1 Hashing
• hashlib.md5(): Genera un hash MD5.
6 Análisis Forense
6.1 Análisis de Archivos
• pefile: Análisis de archivos ejecutables en formato PE.
• pyExifTool: Extrae metadatos de archivos multimedia.
• pdfminer: Analiza y extrae texto de archivos PDF.
• olefile: Analiza archivos OLE (Object Linking and Embedding) de Microsoft.
4
6.2 Análisis de Memoria
• volatility: Framework para análisis de memoria RAM.
• rekall: Herramienta para análisis forense de memoria.
• memdump: Utilizado para volcar la memoria de un sistema.
• pymem: Acceso a la memoria de procesos en sistemas Windows.
• objdump: Herramienta para analizar binarios y obtener información del contenido de la memoria.
• strings: Extrae cadenas de texto imprimibles de archivos binarios.
• pyew: Analizador forense de archivos ejecutables.
• radare2: Framework para ingenierı́a inversa y análisis forense de memoria.
• capstone: Framework para desensamblado y análisis de código binario.
• lief: Biblioteca para manipular y analizar archivos binarios.
7 Ingenierı́a Inversa
7.1 Desensamblado y Depuración
• pycparser: Analiza y convierte código C a un formato manejable en Python.
• uncompyle6: Descompila código Python compilado (bytecode).
• distorm3: Desensamblador rápido de instrucciones x86.
• frida: Framework para instrumentación dinámica de aplicaciones.
• capstone: Utilizado para desensamblado de código máquina.
• radare2: Framework de ingenierı́a inversa.
• angr: Framework para análisis estático y dinámico de binarios.
• gdb: Depurador de GNU, utilizado con extensiones para analizar binarios.
• ropgadget: Herramienta para encontrar gadgets ROP en binarios.
• pwntools: Librerı́a para explotación de binarios y CTFs.
5
8 Explotación
8.1 Creación de Payloads
• msfvenom: Utilizado para generar payloads con Metasploit.