web-dev-qa-db-ja.com

CNTLMがパスワードを要求するのはなぜですか?

WindowsでCNTLMプロキシ認証を次のような構成ファイルで構成しました。

Auth            NTLM
PassNT          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassLM          YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
PassNTLMv2      ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Proxy           proxy.xxxx.com:8080

Listen          3130

そして、LAN設定でプロキシとしてlocalhost:3130を使用し、ブラウザで任意のURLを押すと、パスワードを再度要求されます。ハッシュを生成したのと同じパスワードを入力すると、機能します。単にCntlmの目的は打ち負かされます。誰かがこれに直面しましたか?これはどのように作動しますか?この問題を回避する方法はありますか?

16
anoopelias

<[〜#〜] edit [〜#〜]> Windowsを使用している場合は、Cntlmよりも px を強くお勧めしますそれはハンズケメカニズムを必要としないので。

Pxに関する注記:

これは主にWindowsシステムで実行するように設計されており、現在ログインしているWindowsユーザーアカウントを使用してアプリケーションに代わって認証します

</ EDIT>

1)CNTLMをデフォルトのディレクトリ(WindowsではC:\ Program Files(x86)\ cntlm \)にインストールします。

2)_cmd.exe_を実行します

3)タイプ:cd "C:\Program Files (x86)\cntlm\"

4)タイプ:_cntlm.exe -H -d your_domain -u your_username_

それはあなたのパスワードを尋ねます。パスワードを入力すると、cntlmからハッシュが表示されます。このようなもの:

_c:\Program Files (x86)\Cntlm>cntlm -H -d your_domain -u your_username
Password:
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassNTLMv2      2A0B7C2457FB7DD8DA4EB737C4FA224F  
_

これで、パスワードがハッシュされました。それらをテキストエディタに保存します。

5)タイプ:_cntlm -M http://www.google.com_

もう一度パスワードを入力してください。それはあなたにこのようなものを与えるでしょう:

_c:\Program Files (x86)\Cntlm>cntlm -M http://www.google.com
Password:
Config profile  1/4... Credentials rejected
Config profile  2/4... OK (HTTP code: 302)
----------------------------[ Profile  1 ]------
Auth            NTLM
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
------------------------------------------------
_

これで、プロファイル2が成功したことがわかります。プロファイル2でOKと表示されているためです。システムによって異なる場合があります。

トリックは、

  • authがNTの場合、PassNTのみを使用する必要があります
  • 認証がLMの場合、PassLMのみを使用する必要があります
  • 認証がNTLMの場合、PassNTとPassLMの両方を使用する必要があります
  • 認証がNTLMv2の場合、PassNTLMv2のみを使用する必要があります

今、私たちは欲しいものをすべて手に入れました。私の構成では、AuthはNTLMと言っているので、cntlm.ini構成ファイルでPassNTとPassLMの両方を使用します。

これは、構成ファイルNTLMの例です(NTLMv2ではありません!)。

_#
# Cntlm Authentication Proxy Configuration File
#

Username yourusername
Domain yourdomain

Auth NTLM
PassNT 6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM 4E9C185900C7CF0B6FFCB2044F81920C

Workstation yourhostname.yourdomain

# Most probably proxy.yourdomain:8080
Proxy  yourProxyIP:yourProxyPort

NoProxy  localhost, 127.0.0.*, 10.*, 192.168.*

Listen  3132

Gateway yes
# end of config
_

6)構成をテストするには、次のように入力します。_cntlm -c cntlm.ini -I -M http://www.google.com_

7)cntlmを起動するには、次のように入力します。_net start cntlm_

これで、コンピュータのIPアドレスとポート3132をプロキシとして使用できます。


ここで最新のCntlmバイナリを入手できます: http://cntlm.sourceforge.net/

27
Ramazan Polat