4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / install.py PY
#!/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()