
完全にモジュール化された永続性フレームワーク
PersistAssistは、C#で書かれた完全にモジュール化された永続化フレームワークです。すべての永続化手法には、永続化コード自体に加えて、永続化を削除するためのクリーンアップメソッドが含まれています。これは開発中のプロジェクトであり、多くの空のクラスが存在します。このプロジェクトの当初の主な目的は、クラスを継承してコードを追加するだけで新しい機能を追加できる、完全にモジュール化されたフレームワークを構築することでした。
作者 - Victor Suarez (@Gr1mmie)
PersistAssistにはプリコンパイルされたバイナリは含まれていないため、手動でコードをコンパイルする必要があります。これを行うには、ソリューションファイルを開き、ビルドメニューで「Release」と目的のアーキテクチャを選択し、開始を押します。
ヘルプメニューを表示するには、PersistAssist.exe -h を使用します。
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
使用法: PersistAssist.exe -t [手法] -<追加オプション>
永続化手法とその手法で行う操作(永続化、クリーンアップ、情報表示)を指定します。
利用可能なすべての永続化手法を一覧表示するには、PersistAssist.exe -l を使用します。
-t, --technique=VALUE 使用する永続化手法
-a, --action=VALUE 実行するアクション
-s, --search=VALUE 検索するキーワード
--cmd, --command=VALUE ペイロードとして使用するコマンド
--rk, --rootkey=VALUE レジストリ操作のルートキー
--sk, --subkey=VALUE レジストリ操作のサブキー
--kv, --keyvalue=VALUE レジストリキーに割り当てる値
--rc, --registrycontext=VALUE
レジストリキーを書き込むコンテキスト(オプション: hkcu または hklm)
--tn, --taskname=VALUE MSBuild操作に設定するタスク名
--pl, --payload=VALUE テンプレートに置き換えるペイロード
--fp, --filepath=VALUE 対象のファイル/ディレクトリのパス
--dp, --duplicatepath=VALUE
ファイルタイムスタンプを複製するパス(すべてのタイムスタンプを変更)
--ts, --timestamp=VALUE
タイムスタンプの指定(M: 修正、A: アクセス、C: 作成)。ALL ですべてのタイムスタンプを対象
--nt, --newtime=VALUE 指定したタイムスタンプを変更する新しい日時を指定
--un, --username=VALUE credCheck のユーザー名を指定
--pw, --passwd=VALUE credCheck のパスワードを指定
--efq, --eventFilterQuery=VALUE
WMIイベントサブスクリプションの EventFilter クエリ
--efn, --eventFilterName=VALUE
WMIイベントサブスクリプションの EventFilter 名
--ecn, --eventConsumerName=VALUE
WMIイベントサブスクリプションの EventConsumer 名
--efv, --eventConsumerValue=VALUE
WMIイベントサブスクリプションの EventConsumer 値
-q, --query=VALUE 実行するクエリ
--dn, --domain=VALUE 現在のドメインを指定
-p, --persist 指定した手法を実行
-c, --cleanup 指定した手法をクリーンアップ
-l, --list 利用可能な手法を一覧表示
--lm, --listmodule=VALUE
指定したモジュールカテゴリから利用可能な手法を一覧表示
-i, --info 指定した手法の情報を表示
-h, --help このメッセージを表示して終了
利用可能なモジュールを一覧表示するには、PersistAssist.exe -l を使用します。
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
[*] 利用可能なモジュール:
永続化:
============
レジストリ:
GenericRegAdd - 任意のレジストリキーを追加
RunKeys - HKLM または HKCU に RunKey を登録
MSBuild:
InlineTasks - MSBuild InlineTask ベースのペイロードを展開。ファイルをディスクに配置
OverrideTask - MSBuild OverrideTask ベースの永続化を展開。ファイルをディスクに配置し、管理者アクセスが必要
AccountOperations:
WMI:
その他:
PSProfile - PowerShell プロファイルファイルをバックドア化
StartupFolder - スタートアップパスにショートカットを配置
トレードクラフト:
===========
SvcList - マシン上のサービスを一覧表示
Creds - 資格情報操作
FileRead - ファイルをダウンロードせずにメモリ内で読み取る
NetList - 基本的に ipconfig
ProcList - 実行中のプロセスを一覧表示
RegList - 指定されたレジストリキーの内容を一覧表示
SchList - マシン上のスケジュールタスクを一覧表示
TimeStomp - ファイルおよびディレクトリのタイムスタンプを変更。エントリタイムスタンプは変更しない
WMIQuery - 任意の WMI クエリを実行
Compile - フレームワークに含まれる C# ペイロードに基づいて実行可能ファイルをコンパイルするスタンドアロンユーティリティ
ペイロード:
=========
CSharp:
HelloWorld - hola mundo
MsgBox - MessageBox を表示
PopCalc - 電卓を起動
PopCalcAPI - API 経由で電卓を起動
VBA:
特定のカテゴリに属するモジュールのみを一覧表示するには、-lm を使用します。例:利用可能なすべてのトレードクラフトモジュールを一覧表示: PersistAssist.exe -lm Tradecraft
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
トレードクラフト:
==========
SvcList - マシン上のサービスを一覧表示
Creds - 資格情報操作
FileRead - ファイルをダウンロードせずにメモリ内で読み取る
NetList - 基本的に ipconfig
ProcList - 実行中のプロセスを一覧表示
RegList - 指定されたレジストリキーの内容を一覧表示
SchList - マシン上のスケジュールタスクを一覧表示
TimeStomp - ファイルおよびディレクトリのタイムスタンプを変更。エントリタイムスタンプは変更しない
WMIQuery - 任意の WMI クエリを実行
Compile - フレームワークに含まれる C# ペイロードに基づいて実行可能ファイルをコンパイルするスタンドアロンユーティリティ
永続化(Persistence)には使用可能な手法が含まれ、トレードクラフトモジュールは様々な操作を実行するためのユーティリティ関数として機能し、ペイロードモジュールは様々な永続化タスクに使用できるペイロードを含みます(ただし、現在は OverrideTask モジュールでのみ利用可能です)。
モジュールの情報を表示するには、PersistAssist.exe -t [手法] -i を使用します。
Name: OverrideTask
Desc: MSBuild OverrideTask ベースの永続化を展開。ファイルをディスクに配置し、管理者アクセスが必要
Usage:
Persist: PersistAssist.exe -t OverrideTask -p -tn [タスク名] -pl [ペイロード]
Cleanup: PersistAssist.exe -t OverrideTask -c -tn [タスク名]
Category: MSBuild
Author: