Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SlackShell — PowerShell から Slack への C2 | Kitploit
ツール/GitHubGitHub/bkup/slackshell
ポストエクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングリモートアクセスツールペイロード開発
GitHubbkup/slackshell

SlackShell

PowerShell から Slack への C2

リポジトリを見る
107208年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SlackShell

説明と変更履歴

v1.0

このPowerShellモジュールには、Slack APIを利用してコマンド&コントロールチャンネルを作成するさまざまな関数が含まれています。メイン関数であるStart-Shellは、ユーザーが指定したSlackチャンネルに接続し、指定されたSlackチームとユーザーに対して提供されたAPI認証トークンを使用して認証します。チャンネルに入力されたコマンドは、ホスト上でPowerShellによって実行されます。

SlackShellプロジェクトは、API呼び出しにInvoke-RestMethodを使用するため、PowerShell v3以上が必要です。今後の開発でも現在のPowerShellコマンドレットと関数を使用し続ける予定です。ただし、Powershell v2用のポートがSlackShell-Poshv2.psm1として作成されています。

v1.1

追加のPSスクリプトは、最初にSlackチャンネルにアップロードすることで、実行中のセッションにインポートできます。インポート機能は、デフォルトで https://slack-files.com でホストされているファイルをダウンロードし、メモリ内にインポートします。ファイルはディスクに触れません。逆に、ダウンロード機能を使用して、任意のファイルのローカルコピーをディスクに保存することもできます。

ローカルファイルは、アップロード機能を使用してAPI経由でSlackチャンネルにアップロードできます。

必要に応じて、組み込みのInvoke-Commandコマンドレットを利用してコマンドを実行するための別のPSプロセスを生成できます。

関数

Start-Shell

PowerShellで実行するコマンドを監視するためにSlackチャンネルの監視を開始します。$sleep秒ごとにSlackチャンネルに接続し、すべての新しいコマンドを取得します。コマンドはホスト上でPowerShellによって実行されます。

Send-Message

APIを通じて特定のSlackチャンネルにメッセージを送信します。メッセージはテキストヘッダー付きで送信され、メッセージの本文はSlackアタッチメントになります。

Invoke-Job

新しいプロセスを開始し、ホスト上でPowerShellのコマンドを実行します。PowerShellのStart-Jobメソッドを利用して新しいプロセスを生成し、ジョブが完了するのを待ってから出力を返します。

Invoke-Command

実行中のプロセスの現在のコンテキストで、ホスト上でPowerShellのコマンドを実行し、出力を返します。

Get-SlackMessage

特定のSlackチャンネル内のすべてのメッセージを、最も古い期間から現在まで返します。メッセージはAPI仕様に従ってJSON形式で返されます。

Test-Connection

Slack API呼び出しを使用して、指定されたAPIトークンが有効かどうかをテストします。

Get-FileList

Slack API呼び出しを使用して、現在Slackチャンネルでホストされているファイルのリストを返します。

Import-File

ファイルリストを更新し、指定されたファイルをメモリにダウンロードして、新しいモジュールを作成し、そのモジュールをインポートします。そのモジュール固有のコマンドは、Slackチャンネルに直接入力できます。ダウンロードされたファイルはディスクに触れません。 この関数は、追加のテストが行われている間はベータ版と見なす必要があります。一部のモジュールは不安定に動作します

Receive-File

ファイルリストを更新し、指定されたファイルをディスクにダウンロードします。追加の保存パスを含めることができ、デフォルトは現在の場所です。

Send-file

ローカルファイルをSlackチャンネルにアップロードします。

主要パラメータ

Token

認証に使用されるAPIトークン。このトークンは、特定のSlackチーム上の特定のユーザーを表します。詳細はこちら: https://api.slack.com/custom-integrations/legacy-tokens

Channel

チーム内のどのSlackチャンネルを使用するかを指定するチャンネル識別子。Start-Shellが実行されると、このチャンネル内のすべてのテキストがホスト上のコマンドとして処理されます。チャンネルIDは、WebベースのSlackサイトからチャンネルページにアクセスするときのURLにあります。

例: https://slackteam1.slack.com/messages/ABC123456. チャンネルIDは「ABC123456」です。

使用法

Import-Module ./SlackShell.psm1

Start-Shell -Token "xoxp-175828824580-175707545555-176600001223-826315a84e533c482bb7e20e8312fh45k" -Channel "ABC123456" -Sleep 5

トークンの作成に使用されたユーザーとは異なるユーザーとして、同じSlackチャンネルに参加します。別のユーザーとしてチャンネルに書き込まれたものはすべて、スクリプトの開始に使用されたのと同じローカルユーザーコンテキストでホスト上で実行されます。あるいは、「runjob」を使用して、新しく生成されたPowerShellプロセスでコマンドを実行することもできます。

予約済みシェルコマンド(Slackチャンネル内)

exit

シェルと接続を閉じます。

cd <path>

メインプロセスのコンテキストでディレクトリを変更します。相対パスを使用できます(例: cd ..)

sleep <int>

スリープ時間を変更します。

files

関連付けられたSlackチャンネルで利用可能なファイルを一覧表示します。

import <filename>

指定されたファイルをインポートします。ファイルは、使用中のSlackチャンネルと共有されている必要があります。

download <filename> <path>

指定されたファイルをディスクにダウンロードし、オプションのパスパラメータの場所に保存します。ファイルは、使用中のSlackチャンネルと共有されている必要があります。

upload <local filename>

ローカルファイルをSlackにアップロードし、使用中のチャンネルと共有します。

runjob <command>

新しいPowerShellプロセスで指定されたコマンドを実行します。

謝辞

PowerShellでSlack APIを操作するためのインスピレーションはWarren Frameによるものです。彼のリポジトリは始めるための優れたリソースでした: https://github.com/RamblingCookieMonster/PSSlack

POSHv2への移植と機能拡張を行ってくれた@thesubtletyに特別な感謝を捧げます。

ツールをダウンロード