Aquí hay una guía sobre cómo usar cntlm
¿Qué es cntlm?
cntlm es un proxy HTTP de autenticación NTLM / NTLMv2
Toma la dirección de su proxy y abre un socket de escucha, reenviando cada solicitud al proxy principal
¿Por qué cntlm?
Usando cntlm hacemos posible ejecutar herramientas como choro, pip3, apt-get
desde una línea de comando
pip3 install requests
choco install git
La principal ventaja de cntlm es la protección con contraseña.
Con cntlm puede utilizar hash de contraseña.
Entonces, NO HAY CONTRASEÑA EN PLAINTEXT en %HTTP_PROXY%
y %HTTPS_PROXY%
variables de entorno
Instalar cntlm
Puede obtener la última versión de cntlm de sourceforge
¡Nota! Nombre de usuario y dominio
Mi nombre de usuario es zezulinsky
Mi dominio es local
Cuando ejecuto comandos, uso zezulinsky@local
Coloque su nombre de usuario cuando ejecute comandos
Generar hash de contraseña
Ejecutar un comando
cntlm -u zezulinsky@local -H
Ingresa tu contraseña:
Password:
Como resultado, obtiene una contraseña hash:
PassLM AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Verifique que su hash generado sea válido
Ejecutar un comando
cntlm -u zezulinsky@local -M http://google.com
Ingresa tu contraseña
Password:
La salida de resultados
Config profile 1/4... OK (HTTP code: 301)
----------------------------[ Profile 0 ]------
Auth NTLMv2
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
------------------------------------------------
¡Nota! compruebe que el hash PassNTLMv2 es el mismo El hash resultante es el mismo para ambos comandos
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Cambiar archivo de configuración
Coloque los hash generados en el cntlm.ini
archivo de configuración
C:\Program Files (x86)\Cntlm\cntlm.ini
Así es como cntlm.ini
debería verse tu
Username zezulinsky
Domain local
PassLM AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Proxy PROXYSERVER:8080
NoProxy localhost, 127.0.0.*
Listen 3128
¡Nota! nueva línea al final de cntlm.ini
Es importante agregar una nueva línea al final del cntlm.ini
archivo de configuración
Configura tus variables de entorno
HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128
Comprueba que tu cntlm funciona
Detenga todos los procesos nombrados cntlm.exe
con el explorador de procesos
Ejecuta el comando
cntlm -u zezulinsky@local -H
La salida parece
cygwin warning:
MS-DOS style path detected: C:\Program Files (x86)\Cntlm\cntlm.ini
Preferred POSIX equivalent is: /Cntlm/cntlm.ini
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
section: local, Username = 'zezulinsky'
section: local, Domain = 'local'
section: local, PassLM = 'AB7D42F42QQQQ407552C4BCA4AEBFB11'
section: local, PassNT = 'PE78D847E35FA7FA59710D1231AAAF99'
section: local, PassNTLMv2 = '46738B2E607F9093296AA4C319C3A259'
section: local, Proxy = 'PROXYSERVER:8080'
section: local, NoProxy = 'localhost, 10.*, 127.0.0.*
section: local, Listen = '3128'
Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:3128
Adding no-proxy for: 'localhost'
Adding no-proxy for: '10.*'
Adding no-proxy for: '127.0.0.*'
cntlm: Workstation name used: MYWORKSTATION
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm: PID 1234: Cntlm ready, staying in the foreground
Abra un nuevo cmd y ejecute un comando:
pip3 install requests
Deberías tener el paquete de solicitudes Python instalado
Reinicia tu máquina
Felicidades, ahora tiene cntlm instalado y configurado
http://user:passwords@my_proxy_server.com:80
o debo preguntarle al administrador del sistema?