Cntlm es un proxy HTTP de autenticación NTLM / NTLM Session Response / NTLMv2 destinado a ayudarlo a liberarse de las cadenas del mundo propietario de Microsoft.
Tengo mi URL de proxy en el siguiente formato:
http://user:passwords@my_proxy_server.com:80
Y tengo que proporcionar esta información a cntlm
. Su archivo de configuración cntlm.ini
tiene la siguiente estructura y parámetros:
Username
Domain
Password
Proxy
No estoy seguro, ¿cómo dividir mi propiedad de proxy original para llenar estas cuatro opciones?
http://user:passwords@my_proxy_server.com:80
o debo preguntarle al administrador del sistema?Domain domain
línea y ejecute la prueba, podría funcionar.Password my-password
línea. Lamentablemente, no puedo replicar tu configuración aquí./etc/cntlm.conf
Ubuntu 14.04.¡La solución requiere dos pasos!
Primero, complete los campos de usuario, dominio y proxy en
cntlm.ini
. El nombre de usuario y el dominio probablemente deberían ser los que utilice para iniciar sesión en Windows en su oficina, por ejemplo.Luego pruebe cntlm con un comando como
Le pedirá su contraseña (de nuevo, la que utilice para iniciar sesión en Windows_). Con suerte, imprimirá 'http 200 ok' en algún lugar e imprimirá su información de autenticación de tokens crípticos. Ahora agregue estos a
cntlm.ini
, por ejemplo:Finalmente, configure la
http_proxy
variable de entorno en Windows (asumiendo que no cambió con elListen
campo que por defecto está configurado en3128
) a lo siguientefuente
Sin ninguna configuración, simplemente puede emitir el siguiente comando (modificando
myusername
ymydomain
con su propia información):o
Le pedirá la contraseña de
myusername
y le dará el siguiente resultado:Luego cree el archivo
cntlm.ini
(ocntlm.conf
en Linux usando la ruta predeterminada) con el siguiente contenido (reemplazando sumyusername
,mydomain
yA8FC9092D566461E6BEA971931EF1AEC
con su información y el resultado del comando anterior):Luego, tendrá un proxy abierto local en el puerto local
5865
y otro que comprenderá el protocolo SOCKS5 en el puerto local5866
.fuente
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 comandoLa 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 entornoInstalar 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
Ingresa tu contraseña:
Como resultado, obtiene una contraseña hash:
Verifique que su hash generado sea válido
Ejecutar un comando
Ingresa tu contraseña
La salida de resultados
¡Nota! compruebe que el hash PassNTLMv2 es el mismo El hash resultante es el mismo para ambos comandos
Cambiar archivo de configuración
Coloque los hash generados en el
cntlm.ini
archivo de configuraciónAsí es como
cntlm.ini
debería verse tu¡Nota! nueva línea al final de cntlm.ini
Es importante agregar una nueva línea al final del
cntlm.ini
archivo de configuraciónConfigura tus variables de entorno
Comprueba que tu cntlm funciona
Detenga todos los procesos nombrados
cntlm.exe
con el explorador de procesosEjecuta el comando
La salida parece
Abra un nuevo cmd y ejecute un comando:
Deberías tener el paquete de solicitudes Python instalado
Reinicia tu máquina
Felicidades, ahora tiene cntlm instalado y configurado
fuente
Solo para agregar, si está realizando una operación "pip", es posible que deba agregar un "--proxy = localhost: port_number" adicional
p.ej
pip install --proxy=localhost:3128 matplotlib
Visite este enlace para ver todos los detalles.
fuente
Una vez que generó el archivo y cambió su contraseña, puede ejecutar lo siguiente:
El nombre de usuario será el mismo. le pedirá una contraseña, la proporcione, luego copie el PassNTLMv2, edite el cntlm.ini, luego simplemente ejecute lo siguiente
fuente
Para mí, el simple hecho de usar
cntlm -H
no estaba generando el hash correcto, pero lo hace con el siguiente comando que proporciona el nombre de usuario.Si necesita generar un nuevo hash de contraseña para cntlm, porque lo ha cambiado o se ha visto obligado a actualizarlo, puede simplemente escribir el siguiente comando y actualizar su archivo de configuración cntlm.conf con el resultado:
fuente