README.md
Rendering markdown...
#!/usr/bin/env python3
"""
Script de instalación y verificación para FuxIOS.py v2.0
"""
import sys
import subprocess
import platform
import os
def check_python_version():
"""Verifica la versión de Python"""
if sys.version_info < (3, 7):
print("❌ Error: Se requiere Python 3.7 o superior")
print(f"Versión actual: {sys.version}")
return False
print(f"✅ Python {sys.version.split()[0]} - OK")
return True
def check_admin_privileges():
"""Verifica privilegios de administrador"""
if platform.system() == "Windows":
try:
import ctypes
is_admin = ctypes.windll.shell32.IsUserAnAdmin()
if is_admin:
print("✅ Privilegios de administrador - OK")
else:
print("⚠️ Advertencia: No tienes privilegios de administrador")
print(" Ejecuta como administrador para usar el exploit")
return is_admin
except:
return False
else:
try:
is_root = os.geteuid() == 0
except AttributeError:
# geteuid no existe en Windows
is_root = False
if is_root:
print("✅ Privilegios root - OK")
else:
print("⚠️ Advertencia: No tienes privilegios root")
print(" Ejecuta con sudo para usar el exploit")
return is_root
def install_package(package):
"""Instala un paquete de Python"""
try:
print(f"📦 Instalando {package}...")
subprocess.check_call([sys.executable, "-m", "pip", "install", package])
print(f"✅ {package} instalado correctamente")
return True
except subprocess.CalledProcessError:
print(f"❌ Error instalando {package}")
return False
def check_nmap():
"""Verifica si nmap está instalado"""
try:
result = subprocess.run(["nmap", "--version"],
capture_output=True, text=True, timeout=10)
if result.returncode == 0:
version = result.stdout.split('\n')[0]
print(f"✅ {version} - OK")
return True
else:
print("❌ nmap no encontrado")
return False
except (subprocess.TimeoutExpired, FileNotFoundError):
print("❌ nmap no está instalado")
print("📋 Instalar nmap:")
if platform.system() == "Windows":
print(" - Descarga desde: https://nmap.org/download.html")
elif platform.system() == "Darwin": # macOS
print(" - brew install nmap")
else: # Linux
print(" - sudo apt-get install nmap (Ubuntu/Debian)")
print(" - sudo yum install nmap (CentOS/RHEL)")
return False
def main():
print("🔧 FuxIOS.py v2.0 - Script de Instalación")
print("=" * 50)
# Verificar Python
if not check_python_version():
sys.exit(1)
# Verificar privilegios
check_admin_privileges()
# Verificar nmap
nmap_ok = check_nmap()
# Instalar dependencias Python
print("\n📦 Instalando dependencias de Python...")
packages = ["scapy", "python-nmap"]
all_installed = True
for package in packages:
if not install_package(package):
all_installed = False
print("\n" + "=" * 50)
print("📋 RESUMEN DE INSTALACIÓN")
print("=" * 50)
if all_installed and nmap_ok:
print("✅ ¡Instalación completada exitosamente!")
print("🚀 Puedes ejecutar FuxIOS.py con:")
if platform.system() == "Windows":
print(" python FuxIOS.py -h")
else:
print(" sudo python3 FuxIOS.py -h")
else:
print("⚠️ Instalación completada con advertencias")
if not nmap_ok:
print("❌ nmap necesita ser instalado manualmente")
if not all_installed:
print("❌ Algunas dependencias de Python fallaron")
print("\n📚 Para ver la ayuda completa:")
print(" python3 FuxIOS.py --help")
if __name__ == "__main__":
main()