web-dev-qa-db-ja.com

認証にNTLM v2またはv1が使用されているかどうかを確認する方法

  1. 使用されているNTLM認証を確認するには、どのツールを使用すればよいですか?私がWebアプリケーションのユーザーであり、所有者ではないという事実を考えてみてください。
  2. サイトがフォームベースの認証と比較してNTLM認証を使用する場合、セキュリティ上の懸念はありますか?
3
one

検証済みの適切なTLSを介したフォームベースの認証は、非SSO(シングルサインオン)機能(SAML、OpenID、OAuth2、FIDOなど)を必要とするWebアプリケーション認証の最新の方法です。

NTLM認証は、レガシーネットワークでのみ使用されます。 Microsoftは、IIS以降、デフォルトでこの機能をオンにしなくなりました。7。Windows Server 2012 R2のMicrosoftドメインおよび/またはフォレスト 機能レベル は、デフォルトでNTLM認証さえサポートしていません。したがって、その使用は禁忌です。

非SSL/TLS HTTPなどを介したクリアテキスト認証は、主に中間者(MITM)が原因で、NTLM認証(または他の認証)がどれほど強力であるかに関係なく、Webアプリの資格情報が侵害される結果になりますシナリオだけでなく、他の多くの資格情報収集の理由( net-creds または PCredz ツールを参照)。

NTLMがネットワーク上でどのように見えるかを確認したい場合(MITMシナリオはオプション)、これをチェックしてください ブログ投稿 は次のように述べています:

NTLMとNTLMv2の本質的な違いは、応答の計算方法です。 NTLMは、よく知られている弱い方法でMD4とDESを使用します(5 NULLバイトyada yada yada); NTLMv2は、「blob」の出番であるパスワードとチャレンジだけではなく、それに基づいてHMAC-MD5を使用します。そのため、JohnハッシュIにない「チャレンジ」、「HMAC-MD5」、および「blob」はカバーされます。ゼロから構築する必要があります。

次に、作成者はWiresharkツールを使用してHTTPメッセージを表示します。

一部のシナリオでは、HTTP-NTLM認証Webサーバーに接続するだけで、どのNTLMプロトコルが使用されているかを逆にすることができると思います。

本、ネットワークセキュリティアセスメント、第3版に見られるように:

root@kali:~# telnet 192.168.0.10 80
Trying 192.168.0.10...
Connected to 192.168.0.10.
Escape character is '^]'.
GET / HTTP/1.1
Host: iis-server
Authorization: Negotiate TlRMTVNTUAABAAAAB4IAoAAAAAAAAAAAAAAAAAAAAAA

HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.0
Date: Mon, 09 Jul 2007 19:03:51 GMT
WWW-Authenticate: Negotiate TlRMTVNTUAACAAAADgAOADAAAAAFgoGg9IrB7KA92AQAAAAAAAAAAGAAYAA+AAAAVwBJAEQARwBFAFQAUwACAA4AVwBJAEQARwBFAFQAUwABAAgATQBBAFIAUwAEABYAdwBpAGQAZwBlAHQAcwAuAGMAbwBtAAMAIABtAGEAcgBzAC4AdwBpAGQAZwBlAHQAcwAuAGMAbwBtAAAAAAA=
Content-Length: 4033
Content-Type: text/html

データをデコードすると、次の文字列が明らかになります。

NTLMSSP0
WIDGETS
MARS
widgets.com
mars.widgets.com

これらの変数と、さらにHTTPベースのNTLM認証を理解するには、こちらのリソース http://www.innovation.ch/personal/ronald/ntlm.html -およびNTLMv2認証のクラッキングに関する古いプレゼンテーション http://www.blackhat.com/presentations/win-usa-02/urity-winsec02.ppt (for a different NTLM SSP provider internals )

1
atdre