
PowerShellベースのリバースシェルで、バックグラウンドタスクの実行、ファイル転送、レジストリとスタートアップフォルダを介した二重の永続化メカニズムを備え、レッドチーム運用に対応。
Shell3er PowerShell リバースシェル

Get-RandomProcessName 関数
Get-RandomProcessName 関数は、"PS_" と新しい GUID を連結してランダムなプロセス名を生成します。これにより、ユニークで一見ランダムなプロセス名を作成し、不審なプロセスを特定しにくくします。

Run-BackgroundTask 関数
Run-BackgroundTask 関数は、ScriptBlock とオプションの ProcessName をパラメーターとして受け取ります。ランダムなジョブ名で新しいバックグラウンドジョブを開始し、スクリプトブロックを実行して出力を取得します。この関数の主な目的は、メインスクリプトに干渉せずにバックグラウンドでタスクを実行することです。
ダウンロードとアップロード関数
ダウンロード関数とアップロード関数は、クライアントとサーバー間でファイルを転送するために使用されます。ファイルデータをネットワーク経由で送信するために Base64 エンコードを使用します。ファイル転送中にエラーが発生した場合は、クライアントにエラーが送り返されます。

永続化メカニズム
スクリプトは、ターゲットシステム上で永続化を実現するために 2 つの異なる方法を使用します。まず、自身を "C:\ProgramData" フォルダにコピーし、レジストリキー "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" を変更して、ユーザーがログインするたびにスクリプトが起動するようにします。次に、スクリプトをユーザーのスタートアップフォルダにコピーし、ユーザーがシステムを起動するたびに実行されるようにします。
Shell3er は以下のソリューションで手動テストを実施しました (Checkpoint EDR version E85.40) (Kaspersky Total Security) (Widdows Defender)

nc -nlvp 4444 を実行素晴らしい! 貢献を歓迎し、大いに感謝します。すべての提案は GitHub のプルリクエストトラッカーに提出してください。一緒にこれをさらに素晴らしいものにしましょう! 🚀