web-dev-qa-db-fra.com

Comment renseigner les informations de proxy dans le fichier de configuration cntlm?

Cntlm est un proxy HTTP authentifiant NTLM/NTLM Session Response/NTLMv2 destiné à vous aider à vous libérer des chaînes du monde propriétaire de Microsoft. 

J'ai l'URL du proxy au format suivant:

http://user:passwords@my_proxy_server.com:80

Et je dois fournir cette information à cntlm. Son fichier de configuration cntlm.ini a la structure et les paramètres suivants:

Username 
Domain
Password    
Proxy   

Je ne sais pas trop comment diviser ma propriété de proxy d'origine pour remplir ces quatre options?

72
Dilawar

Mettez à jour vos informations d'utilisateur, de domaine et de proxy dans cntlm.ini, puis testez votre proxy avec cette commande (exécutée dans votre dossier d'installation Cntlm):

cntlm -c cntlm.ini -I -M http://google.ro

Il vous demandera votre mot de passe et, si possible, imprimera les informations d'authentification requises, qui devront être enregistrées dans votre cntlm.ini

Exemple cntlm.ini:

Username            user
Domain              domain

# provide actual value if autodetection fails
# Workstation         pc-name

Proxy               my_proxy_server.com:80
NoProxy             127.0.0.*, 192.168.*

Listen              127.0.0.1:54321
Listen              192.168.1.42:8080
Gateway             no

SOCKS5Proxy         5000
# provide socks auth info if you want it
# SOCKS5User          socks-user:socks-password

# printed authentication info from the previous step
Auth            NTLMv2
PassNTLMv2      98D6986BCFA9886E41698C1686B58A09

Remarque: sur linux, le fichier de configuration est cntlm.conf

98
alexandrul

La solution prend deux étapes!

Commencez par compléter les champs utilisateur, domaine et proxy dans cntlm.ini. Le nom d'utilisateur et le domaine doivent probablement correspondre à ceux que vous utilisez pour vous connecter à Windows dans votre bureau, par exemple.

Username            employee1730
Domain              corporate
Proxy               proxy.infosys.corp:8080

Puis testez cntlm avec une commande telle que

cntlm.exe -c cntlm.ini -I -M http://www.bbc.co.uk

Il vous demandera votre mot de passe (encore une fois ce que vous utiliserez pour vous connecter à Windows_). J'espère qu'il imprimera «http 200 ok» quelque part et imprimera vos informations d'authentification de jetons cryptiques. Ajoutez maintenant ceux-ci à cntlm.ini, par exemple:

Auth            NTLM
PassNT          A2A7104B1CE00000000000000007E1E1
PassLM          C66000000000000000000000008060C8

Enfin, définissez la variable d’environnement http_proxy dans Windows (en supposant que vous n’ayez pas changé avec le champ Listen qui est défini par défaut sur 3128) comme suit:

http://localhost:3128
51
Colonel Panic

http://forum.kde.org/viewtopic.php?f=83&t=119352

Voilà mon propre fil. J'ai clairement montré là.

Je ne peux rien y changer, je ne peux plus accéder à mon compte, idk pourquoi, mais lorsque vous définissez tout dans le fichier cntlm.conf (le mot de passe n'est pas obligatoire), enregistrez le fichier et accédez à torminal. commande type:

cntlm -H

et entrez votre mot de passe proxy. ensuite, il imprimera 3 lignes de hachage - copiez-les toutes et collez-les dans le fichier cntlm.conf au lieu de la ligne "mot de passe".

Donc, vous aurez un mot de passe chiffré et les utilisateurs ne le trouveront pas avec ettercap;)

15
Erikas

Sans configuration, vous pouvez simplement lancer la commande suivante (en modifiant myusername et mydomain avec vos propres informations):

cntlm -u myusername -d mydomain -H

ou

cntlm -u myusername@mydomain -H

Il vous demandera le mot de passe de myusername et vous donnera le résultat suivant:

PassLM          1AD35398BE6565DDB5C4EF70C0593492
PassNT          77B9081511704EE852F94227CF48A793
PassNTLMv2      A8FC9092D566461E6BEA971931EF1AEC    # Only for user 'myusername', domain 'mydomain'

Créez ensuite le fichier cntlm.ini (ou cntlm.conf sous Linux avec le chemin par défaut) avec le contenu suivant (en remplaçant votre myusername, mydomain et A8FC9092D566461E6BEA971931EF1AEC par vos informations et le résultat de la commande précédente):

Username    myusername
Domain      mydomain

Proxy       my_proxy_server.com:80
NoProxy     127.0.0.*, 192.168.*

Listen      127.0.0.1:5865
Gateway     yes

SOCKS5Proxy 5866

Auth        NTLMv2
PassNTLMv2  A8FC9092D566461E6BEA971931EF1AEC

Ensuite, vous aurez un proxy ouvert local sur le port local 5865 et un autre comprenant le protocole SOCKS5 sur le port local 5866.

8
Anthony O.

Juste pour ajouter, si vous effectuez une opération "pip", vous devrez peut-être ajouter un "--proxy = localhost: port_number" supplémentaire

par exemple pip install --proxy=localhost:3128 matplotlib

Visitez ce link pour voir tous les détails.

1

Voici un guide sur la façon d'utiliser cntlm

Qu'est ce que cntlm?

cntlm est un proxy HTTP authentifiant NTLM/NTLMv2

Il prend l’adresse de votre proxy et ouvre un socket d’écoute en transmettant chaque demande au proxy parent.

Pourquoi cntlm?

Cntlm nous permet d’exécuter des outils tels que choro, pip3, apt-get à partir d’une ligne de commande

pip3 install requests
choco install git

Le principal avantage de cntlm est la protection par mot de passe.

Avec cntlm, vous pouvez utiliser des hachages de mots de passe.

Donc NO PLAINTEXT PASSWORD dans les variables d'environnement %HTTP_PROXY% et %HTTPS_PROXY%

Installer cntlm

Vous pouvez obtenir la dernière version de cntlm sur sourceforge

Remarque! Nom d'utilisateur et domaine

Mon nom d'utilisateur est zezulinsky

Mon domaine est local

Quand j'exécute des commandes, j'utilise zezulinsky@local

Placez votre nom d'utilisateur lorsque vous exécutez des commandes

Générer un mot de passe hash

Lancer une commande

cntlm -u zezulinsky@local -H

Tapez votre mot de passe:

Password:

En conséquence, vous obtenez un mot de passe haché:

PassLM          AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT          PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2      46738B2E607F9093296AA4C319C3A259

Vérifiez que votre hachage généré est valide

Lancer une commande

cntlm -u zezulinsky@local -M http://google.com

Tapez votre mot de passe

Password:

Le résultat obtenu

Config profile  1/4... OK (HTTP code: 301)
----------------------------[ Profile  0 ]------
Auth            NTLMv2
PassNTLMv2      46738B2E607F9093296AA4C319C3A259
------------------------------------------------

Remarque! Vérifiez que le hachage PassNTLMv2 est le même Le hachage résultant est le même pour les deux commandes.

PassNTLMv2      46738B2E607F9093296AA4C319C3A259

Changer le fichier de configuration

Placez les hachages générés dans le fichier de configuration cntlm.ini

C:\Program Files (x86)\Cntlm\cntlm.ini

Voici à quoi devrait ressembler votre cntlm.ini

Username    zezulinsky
Domain      local
PassLM      AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT      PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2  46738B2E607F9093296AA4C319C3A259

Proxy       PROXYSERVER:8080
NoProxy     localhost, 127.0.0.*
Listen      3128

Remarque! nouvelle ligne à la fin de cntlm.ini

Il est important d’ajouter une nouvelle ligne à la fin du fichier de configuration cntlm.ini.

Définissez vos variables d'environnement

HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128

Vérifiez que votre cntlm fonctionne

Arrêtez tous les processus nommés cntlm.exe avec Process Explorer.

Lancer la commande

cntlm -u zezulinsky@local -H

La sortie ressemble à

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

Ouvrez une nouvelle cmd et lancez une commande:

pip3 install requests

Vous devez avoir le paquet de requêtes python installé

Redémarrez votre machine

Félicitations, cntlm est maintenant installé et configuré

0
Sasha Zezulinsky

Une fois que vous avez généré le fichier et modifié votre mot de passe, vous pouvez le lancer comme suit:

cntlm -H

Le nom d'utilisateur sera le même. il vous demandera un mot de passe, donnez-le, puis copiez le PassNTLMv2, modifiez le fichier cntlm.ini, puis exécutez simplement

cntlm -v
0
Jobin Mathew