PsExecの良いものとなっています。

0 Comments

ほとんどのツールを使用していますの管理ネットワークが、諸刃の剣です。 これらのツールは、多くの柔軟性を提供し、同様にデバイス、サービス、およびソフトウェアの容易な管理を可能にします。 右の手では心配することは何もありませんが、間違った手では、私たちのリモート管理ツールは、攻撃者が悪意のある活動の広い配列を実行するために使, この記事では、この説明に合ったツールについて説明します。 このツールは、Microsoft Sysinternals PsExecツールです。 この記事では、PsExecが何であるか、そしてその機能が管理上の観点からどのようなものであるかの概要を説明します。 これに続いて、私は敵の役割を果たし、それがネットワーク上で使用できる厄介なもののいくつかを実証するつもりです。

, 最初の聴衆は、悪意のある目的のためにPsExecのようなツールの使用から自分のネットワークを保護する責任があるシステム管理者で構成されています。 他の対象読者は、倫理的なハッカーとプロの浸透テスターで構成されており、PsExecが使用できるもののいくつかについてもう少し知っていることからいく, どの聴衆にもかかわらず、あなたは私がここで議論するコマンドやテクニックのいくつかは、それらが使用されている状況に応じて非常に違法であ

PsExecとは何ですか?

PsExecユーティリティは、もともとSysinternalsのMark Russinovichによって開発され、現在はMicrosoftが所有しているPsToolsスイートの一部として設計されました。, ツールは造語ですとしてコマンドラインに基づくリモート管理ツールを可能にする、リモートの実行プロセスその他のシステム。 ユーザーの認証資格情報ではなく、代替認証資格情報を使用できるため、ドメインとサイトの境界で区切られたデバイスを管理できるという点で、非常に PsExecはリモートシステム上でプログラムを実行できるだけでなく、システム間でコンソールの入出力をリダイレクトして、対話型ツールをリモートで使用でき,

ほとんどのMicrosoft関連ソフトウェアとは異なり、PsExecの内部の仕組みは秘密ではなく、かなり簡単です。 PsExecでは、SMBとリモートシステム上の隠された$ADMIN共有を使用して、リモートで起動された実行可能ファイルの入力と出力をリダイレクトできます。 この共有により、PsExecはWindows Service control Manager APIを使用して、PsExecが通信する名前付きパイプを作成するリモートシステム上でPsExecsvcサービスを開始します。 この名前付きパイプは、PsExecを起動したシステムへの入出力リダイレクトを可能にするものです。,

PsExecでうまく遊ぶ

オリジナルのデザインに従って、PsExecはシステム管理者を補佐することができる非常に便利な多くのことを行うために使 私が何度も自分自身を見つけたそのようなシナリオの一つは、私がコンピュータのDNS名を知っていたが、正確なIP構成設定(DNSサーバー、デフォルトゲートウェイなど)を知らなかったものである。 通常の状況下では、ローカルシステムでipconfigを使用してこの情報を決定します。, しかし、ほとんどの場合、これは私が別の場所に運転したり、ユーザーのコンピュータを借りたりしなければならないことを意味し、本質的にその日の生産性 Ipconfigにはローカルでないマシンに対して実行する機能がないため、図1に示すように、PsExecを使用して正常に起動できます。

図1:PsExecを使用してリモートシステムでipconfigを起動する

PsExecが呼び出された後、リモートコンピュータはダブルスラッシュ(\\)の後に指定され、その後にipconfigコマンドが続きます。, PsExecを実行すると、コマンドを実行しようとしているリモートシステム上の%SYSTEM%ディレクトリにデフォルトで設定されるため、ここでフルパスを指定する必 最後に、利用可能なすべてのipconfig情報を出力するために、ipconfigの/allスイッチが指定されています。

PsExecのもう一つの一般的な実装は、更新、パッチ、および修正プログラムの展開のためにそれを使用することです。 これを行う一般的な推奨方法はグループポリシーを使用する方法ですが、その方法が遅すぎる場合があります。, 私は多くの状況で、標準のグループポリシーの更新時間を待つことができない優先度の高いセキュリティパッチを展開する必要があったため、PsExecに目を向けてファイルをより迅速に展開しました。 この例を図2に示します。

図2:実行可能パッチをリモートで起動する

上のコマンド画像は、いくつかの追加機能を利用しています。 まず、通知をするつもりですが、いつまでもコンピュータ名をカンマ区切りの後にダブルスラッシュ(\\)., PsExecを使用すると、ここで複数のターゲットデバイスを指定することができます。 このスイッチは、リモートシステムで実行されるローカルシステム上のファイルを指定する場合に使用されます。/cスイッチは、リモートシステムで実行 この場合、私はファイルパッチを指定しました。エグゼ ファイルはCドライブのルートにあるローカルシステムにあるため、完全なファイルパスを指定する必要がありました。 /Cスイッチは、デフォルトでローカルシステム上の%SYSTEM%ディレクトリを検索します。, ご覧のとおり、ファイルは正常に実行され、出力はPsExecを実行しているローカルコンソールにリダイレクトされます。

PsExecの最後の使いやすい使い方は、より低い特権レベルのシステムを使用しながら、より高い特権レベルのシステムをリモートで管理することです。 私は、ユーザーのコンピュータで作業しているサイトにいた回数を数えることができず、パスワード変更などの管理機能を実行する必要がある電話を受け, もちろん、Active Directory環境では、ドメインコントローラにRDPしてこの変更を実行できましたが、さまざまな理由でactive directoryまたはRDPを使用しないクライアントがい その場合、USBフラッシュドライブにポップアップして、私がインストールしたPsExecのコピーにアクセスするのはかなり簡単です。 図3の場合、psexecによって実行されるnetツールの特権を昇格させることによって、PsExecを使用してシステム上のユーザーパスワードをリセットしました。,

図3:PsExecの権限を昇格させてユーザーのパスワードを変更する

PsExecで厄介なことをする

さて、”ダークサイドを歩いて、PsExecでできるいくつかのことを見てみましょう潜在的に邪悪な意図を持つものによって。 まず、攻撃者がシステムの資格情報を取得しているが、システムに直接アクセスできないシナリオを考えてみましょう。, この場合、攻撃者はシステムのGUIまたはコマンドライン制御を取得することを目指していますが、これらの資格情報を使用するために利用可能な道 この状況で役立つ一つの方法は、図4に示すように、PsExecを使用してシステム上でバックドア実行可能ファイルを実行することです。

図4:悪意のある実行可能ファイルがリモートで起動されている

このスクリーンショットの場合、リモートの攻撃者はPsExecを/cスイッチで使用してローカルファイルncを実行しています。リモートシステム上のexe。, これに伴い、-uおよび-pスイッチを使用して、侵害されたユーザー名とパスワードを指定し、ファイルをルートレベルの特権で実行できるようにします。 被害者に知られていない、実際に攻撃者がシステムに接続し、管理コマンドプロンプトを受信することができますバックドアで静かに実行されてい

私たちが見た攻撃について興味深いことは、実際にそれを実行するためにユーザーのパスワードさえ必要ではないということです。 実際には、必要なのはユーザーのユーザー名とパスワードのハッシュだけです。, Windowsでは、数学的な計算は、ハッシュと呼ばれる暗号化された固定長の文字列にそれらのパスワードを作るために、ユーザーが提供したパスワードに適用され これらのハッシュにはセキュリティ機能を維持するための明確なテキストパスワードから送信されている全ネットワーク. 時に認証が発生し、これらのパスワードハッシュから送られてホストです。 PsExecを使用する図5に示すように、パスワードの代わりにパスワードハッシュを指定するだけで、これを利用できます。,

図5:パスワードハッシュを使用してファイルをリモートで実行する

この例は図4に示すものと同じですが、唯一の違いはパスワードの代わりにパスワードハッシュが使用されることです。 の受信システムでも問題なく受け入れるこのハッシュのための認証。 パスワードハッシュを取得するためのさまざまな方法がありますが、この記事の範囲を少し超えています。 私はここで見られるこのトピックに関する別の記事を書いてきました。,

PsExecが可能にするもう一つのきちんとしたトリックは、システム組み込みアカウントでファイルにアクセスしてプロセスを生成する機能です。 Windowsマシン上のシステムアカウントは、最も強力なアカウントであり、管理者アカウントとユーザーが作成したアカウントによってアクセスできないいく. 図6に、regeditアプリケーションへのアクセス例を示します。,

図6:被害者のレジストリへのアクセス

上記のコマンドはローカルシステム上で直接実行されますが、ローカルシステムアカウントを使用する これは、対話モードでregeditを実行する-I(interactive)オプションと組み合わされます。 このコマ このような例は、ユーザーパスワードハッシュを含むSAMファイルです。, 適切な動機を与えると、システムとPsExecにアクセスできる攻撃者は、この手法を使用してシステムからすべてのパスワードハッシュを簡単に抽出し、他のシステムまたはアカウントの侵害を可能にする可能性のある情報を提供する可能性があります。

いくつかの注意点

クリアの資格情報-あなたのネットワークアクティビティで誰が聞いているのか心配しているなら、PsExecはおそらく使うのに最適なツールではありません。, つまり、リモートでシステムにアクセスするためのユーザー名とパスワードを指定すると、WiresharkまたはTcpdumpのコピーを実行している人は誰でも資格情報を傍受でき

アンチウイルス検出-これは問題のように多くではないために使用されますが、今、ほとんどのウイルススキャンアプリケーションは、システムとメモリ, あなたは、Windowsシステム上で侵入テストを行っているとPsExecは、それがあるべきであるとして働いていない場合は、チャンスは、あなたがウイルス対策によっPsExecとMetasploit-可能であれば、PsExecを単独で使用することは決してありません。 PsExecの修正バージョンがMetasploitフレームワークに含まれるようになりました。 Metasploitは、かなりの機能を提供する侵入テストフレームワークです。, 何らかの形のセキュリティ評価にPsExecを使用したい場合は、Metasploitが提供する追加機能を検討することを検討してください。 私は実際に私がハッシュ技術を渡すことについて以前に書いた記事でPsExecのこのバージョンを使用しました。

結論

PsExecツールは、ユーザーのさまざまな意図のために多くの用途を持っています。 この記事への教育であり、その特徴は、どのように用いたときにはいつも問題を解決しています。 PsExecは、攻撃者が創造的であることを可能にする一種のツールです。, 私はここでツールのいくつかのユニークな用途をカバーしているだけですが、私はその機能セットを使用して数十または数百の興味深い攻撃ベクトルが いくつかの時点で、私はPsExecのためのより興味深く、高度な用途を含むフォローアップ記事を書くことを計画します。 その間に、興味深いPsExecのトリックがあれば、次の記事に含めるために直接私に書いて自由に感じてください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です