16

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

Auth            NTLM
PassNT          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassLM          YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
PassNTLMv2      ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Proxy           proxy.xxxx.com:8080

Listen          3130

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

4

1 に答える 1

29

<編集> Windows を使用している場合は、handsake メカニズムを必要としないため、Cntlm よりもpxを強くお勧めします。

px に関する注意事項:

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

< /編集>

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 と表示されているためです。システムによって異なる場合があります。

トリックは、

  • 認証が NT の場合は、PassNT のみを使用する必要があります
  • Auth が 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/ から入手できます。

于 2014-05-30T19:42:06.230 に答える