0% encontró este documento útil (0 votos)
18 vistas

Comandos Python Ciber

Cargado por

pelislh28
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas

Comandos Python Ciber

Cargado por

pelislh28
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Comandos y Herramientas de Python más Utilizados en

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.

1 Requisitos Generales para Ejecutar Comandos en Python


Para que los comandos y herramientas de Python mencionados en este documento funcionen correctamente,
debes tener en cuenta los siguientes requisitos generales:

• 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:

pip install requests scapy cryptography

• 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:

pip install --upgrade <paquete>

• Documentación: Consulta la documentación oficial de las bibliotecas y herramientas que utilizas


para comprender su funcionamiento y las opciones disponibles. La documentación suele proporcionar
ejemplos de uso y detalles importantes sobre cada comando o función.

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.

4.2 Enumeración de Redes


• scapy: Utilizado para enviar, recibir y analizar paquetes de red.
• os.system(): Ejecuta comandos del sistema como arp-scan.
• netifaces: Librerı́a para obtener información sobre interfaces de red.
• getmac: Librerı́a para obtener la dirección MAC de dispositivos en la red.
• pyping: Librerı́a para realizar pings a dispositivos en la red.
• python-wifi: Utilizada para interactuar con redes inalámbricas.
• requests.get(): Utilizado para obtener información de servicios web.
• dnspython: Librerı́a para consultas DNS.
• netaddr: Utilizada para manipulación y análisis de direcciones IP.
• ipwhois: Librerı́a para realizar consultas WHOIS.

3
5 Criptografı́a
5.1 Hashing
• hashlib.md5(): Genera un hash MD5.

• hashlib.sha1(): Genera un hash SHA-1.


• hashlib.sha256(): Genera un hash SHA-256.
• hashlib.sha512(): Genera un hash SHA-512.

• hushlib.pbkdf2 hmac(): Genera un hash utilizando PBKDF2 y HMAC.


• hashlib.blake2b(): Genera un hash BLAKE2b.
• hashlib.blake2s(): Genera un hash BLAKE2s.
• hashlib.new(): Crea un objeto hash con el algoritmo especificado.

• binascii.hexlify(): Convierte datos binarios en una representación hexadecimal.


• binascii.unhexlify(): Convierte datos hexadecimales en una representación binaria.

5.2 Encriptación y Desencriptación


• cryptography.fernet.Fernet(): Proporciona cifrado simétrico utilizando el algoritmo Fernet.
• cryptography.hazmat.primitives.ciphers.Cipher(): Crea un objeto de cifrado para diferentes
algoritmos.
• cryptography.hazmat.primitives.ciphers.algorithms.AES(): Implementa el algoritmo AES.

• cryptography.hazmat.primitives.ciphers.algorithms.DES(): Implementa el algoritmo DES.


• cryptography.hazmat.primitives.ciphers.algorithms.TripleDES(): Implementa el algoritmo Triple
DES.
• cryptography.hazmat.primitives.ciphers.modes.CFB(): Implementa el modo de cifrado CFB.

• cryptography.hazmat.primitives.ciphers.modes.ECB(): Implementa el modo de cifrado ECB.


• cryptography.hazmat.primitives.ciphers.modes.CBC(): Implementa el modo de cifrado CBC.
• cryptography.hazmat.primitives.kdf.pbkdf2.PBKDF2HMAC(): Implementa la función de derivación
de clave PBKDF2.

• cryptography.hazmat.primitives.kdf.scrypt.Scrypt(): Implementa la función de derivación de


clave Scrypt.

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.

7.2 Análisis de Código


• pyflakes: Analiza código Python en busca de errores.
• pylint: Analizador de código Python que también revisa el estilo de codificación.
• bandit: Busca vulnerabilidades de seguridad en código Python.
• mypy: Chequeo de tipos estático para Python.
• ast: Proporciona funciones para interactuar con el árbol sintáctico abstracto de Python.
• jedi: Librerı́a para análisis de código y autocompletado.
• pycparser: Utilizado para parsear y analizar código C.
• autopep8: Formatea código Python para seguir la guı́a de estilo PEP8.
• flake8: Combinación de PyFlakes, PEP8 y McCabe para análisis de código.
• pycodestyle: Verifica que el código Python siga las convenciones de estilo PEP8.

5
8 Explotación
8.1 Creación de Payloads
• msfvenom: Utilizado para generar payloads con Metasploit.

• shellcode generator: Genera shellcode para diversas arquitecturas.


• pwn: Utilizado para explotación binaria y creación de payloads.
• venom: Framework para generar payloads en múltiples lenguajes.

• mimikatz: Herramienta para extraer credenciales y generar payloads en Windows.


• empire: Framework para la explotación y control post-explotación de sistemas.
• veil: Framework para crear payloads que evadan antivirus.
• pupy: Framework de post-explotación multiplataforma.

• unicorn: Genera payloads shellcode de forma sencilla.


• pyinstaller: Utilizado para empaquetar payloads en ejecutables.

8.2 Fuerza Bruta y Ataques de Diccionario


• paramiko: Librerı́a para conectarse a servidores SSH, útil para ataques de fuerza bruta.
• pexpect: Automatiza interacciones con programas de lı́nea de comandos, útil para ataques de dic-
cionario.
• hydra: Herramienta para ataques de fuerza bruta, invocable desde Python.

• wordlist-generator: Genera listas de palabras personalizadas para ataques de diccionario.


• hashcat: Interfaz de Python para utilizar Hashcat en ataques de fuerza bruta.
• bruter: Herramienta de fuerza bruta escrita en Python.

• hydra-python: Interfaz de Python para invocar Hydra.


• cewl: Genera listas de palabras a partir de contenido web para ataques de diccionario.
• rockyou: Archivo comúnmente utilizado como lista de palabras en ataques de diccionario.
• patator: Herramienta modular para ataques de fuerza bruta que soporta múltiples protocolos.

También podría gustarte