Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SlackShell — PowerShell-Slack C2 | Kitploit
도구/GitHubGitHub/bkup/slackshell
Post-ExploitationPenetration TestingCommand and ControlRed TeamingRemote Access ToolPayload Development
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 cmdlet 및 함수를 사용할 것입니다. 그러나 PowerShell v2용 포트는 SlackShell-Poshv2.psm1에 만들어졌습니다.

v1.1

추가 PS 스크립트를 먼저 Slack 채널에 업로드한 다음 실행 중인 세션으로 가져올 수 있습니다. 가져오기 기능은 기본적으로 https://slack-files.com 에 호스팅된 파일을 다운로드하고 메모리로 가져옵니다. 파일은 디스크에 닿지 않습니다. 반대로 다운로드 기능을 사용하면 모든 파일의 로컬 사본을 디스크에 저장할 수 있습니다.

로컬 파일은 업로드 기능을 사용하여 API를 통해 Slack 채널에 업로드할 수 있습니다.

필요한 경우, 내장된 Invoke-Command cmdlet을 사용하여 명령을 실행하기 위해 별도의 PS 프로세스를 생성할 수 있습니다.

함수

Start-Shell

Slack 채널에서 PowerShell로 실행할 명령을 모니터링하기 시작합니다. $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는 웹 기반 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 프로세스에서 실행합니다.

감사의 말

Slack API를 PowerShell에서 사용하는 것에 대한 영감은 Warren Frame에게 있습니다. 그의 저장소는 시작하기에 훌륭한 자료였습니다: https://github.com/RamblingCookieMonster/PSSlack

POSHv2로 포팅하고 개선 사항을 추가해 준 @thesubtlety에게 특별히 감사드립니다.

도구 다운로드