如何填写在cntlm配置文件中的代理信息?

问题描述 投票:74回答:8

Cntlm是NTLM / NTLM会话应答/ NTLMv2的旨在帮助您摆脱微软的专有世界的锁链认证HTTP代理。

我有以下格式我的代理网址:

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

我必须将此信息提供给cntlm。它的配置文件cntlm.ini具有以下结构和参数:

Username 
Domain
Password    
Proxy   

我不知道,如何打破了我原来的代理财产,以填补这四个选项?

proxy
8个回答
103
投票

更新您的用户,域和代理信息cntlm.ini,然后用这个命令来测试您的代理(在你的Cntlm安装文件夹中运行):

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

它会询问您的密码,并希望打印您所需的认证信息,必须保存在您的cntlm.ini

样品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

注:在Linux上的配置文件是cntlm.conf


52
投票

该解决方案采用两个步骤!

首先,完成用户,域和代理在cntlm.ini领域。用户名和域名也许应该是你使用任何在办公室登录到Windows,例如。

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

然后测试cntlm的命令如

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

它会询问您的密码(又不管你使用登录到Windows_)。希望这将打印“HTTP 200 OK”的地方,并打印了一些神秘的令牌身份验证信息。现在,添加这些到cntlm.ini,例如:

Auth            NTLM
PassNT          A2A7104B1CE00000000000000007E1E1
PassLM          C66000000000000000000000008060C8

最后,在Windows中设置的http_proxy环境变量(假设你没有用它默认设置为Listen3128字段更改)以下

http://localhost:3128

16
投票

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

在那里,你走我自己的线程。我清楚地表明那里。

我不能有任何改变,我无法再访问我的帐户,IDK的为什么,但是当你设置cntlm.conf文件的一切(不需要密码设置存在) - 保存文件,然后转到torminal。键入命令:

cntlm -H

并输入您的代理密码。然后它会打印出你3线哈希 - 复制所有这些,粘贴到cntlm.conf文件,而不是“密码”行。

所以,你将有加密的密码,并使用ettercap用户将无法找到;)


11
投票

无需任何配置,你可以简单地发出以下命令(修改myusernamemydomain使用自己的信息):

cntlm -u myusername -d mydomain -H

要么

cntlm -u myusername@mydomain -H

它会问你myusername的密码,并会为您提供以下的输出:

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

然后创建文件cntlm.ini(或使用默认路径上的Linux cntlm.conf)具有以下内容(与您的信息与先前命令的结果替换您myusernamemydomainA8FC9092D566461E6BEA971931EF1AEC):

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

然后,你将有本地端口qazxsw POI和本地端口qazxsw POI另一个理解SOCKS5协议的本地开放代理。


2
投票

下面是关于如何使用cntlm指南

什么是cntlm?

cntlm是NTLM / NTLMv2的认证HTTP代理

这需要你的代理服务器的地址,并打开一个监听套接字,转发每个请求到父代理

为什么cntlm?

使用cntlm我们有可能从一个命令行运行像5865工具

5866

cntlm的主要优点是密码保护。

随着cntlm您可以使用密码哈希值。

因此,在choro, pip3, apt-getpip3 install requests choco install git 环境变量NO纯文本密码

安装cntlm

你可以从%HTTP_PROXY%最新cntlm发布

Note! Username and domain

我的用户名是%HTTPS_PROXY%

我的域名是sourceforge

当我运行命令我使用zezulinsky

请将您的用户名,当你运行命令

Generate password hash

运行命令

local

输入您的密码:

zezulinsky@local

因此,你越来越哈希密码:

cntlm -u zezulinsky@local -H

验证你产生的散列是有效的

运行命令

Password:

输入您的密码

PassLM          AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT          PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2      46738B2E607F9093296AA4C319C3A259

结果输出

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

注意!检查PassNTLMv2散列是相同的将所得的散列是两个命令的同

Password:

更改配置文件

放置所产生的哈希值到Config profile 1/4... OK (HTTP code: 301) ----------------------------[ Profile 0 ]------ Auth NTLMv2 PassNTLMv2 46738B2E607F9093296AA4C319C3A259 ------------------------------------------------ 配置文件

PassNTLMv2      46738B2E607F9093296AA4C319C3A259

这里是你应该cntlm.ini怎么样子

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

注意!换行符在cntlm.ini的端

在该cntlm.ini配置文件的末尾添加一个新行是很重要的

设置环境变量

Username    zezulinsky
Domain      local
PassLM      AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT      PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2  46738B2E607F9093296AA4C319C3A259

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

检查您的cntlm作品

停止所有命名cntlm.ini与进程资源管理流程

运行命令

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

输出类似于

cntlm.exe

打开一个新的CMD,然后运行命令:

cntlm -u zezulinsky@local -H

你应该有安装要求Python包

重新启动机器

恭喜,现在你已经cntlm安装和配置


1
投票

我想补充,如果你执行的是“点子”的操作,您可能需要增加的额外“--proxy =本地主机:端口号”

e.g 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

访问这个pip3 install requests 看到的全部细节。


0
投票

一旦你生成的文件,并更改密码后,您可以按照以下运行,

pip install --proxy=localhost:3128 matplotlib

用户名是相同的。它会询问密码,给它,然后复制PassNTLMv2,编辑cntlm.ini,然后只需运行以下

link

-3
投票

对我来说,只是用cntlm -H 不生成正确的哈希值,但它下面提供的用户名的命令一样。

如果你需要生成cntlm一个新的密码哈希,因为你改变它,或者你已经被迫更新,您只需键入以下命令,并更新与输出的cntlm.conf配置文件:

cntlm -v
© www.soinside.com 2019 - 2024. All rights reserved.