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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ShellPop — 마스터처럼 셸을 띄우세요. | Kitploit
도구/GitHubGitHub/0x00-0x00/shellpop
Encryption/Decryption ToolsPayload GenerationExploitationShellcodePenetration TestingCommand and ControlRed TeamingShellcode GenerationPayload Development
GitHub0x00-0x00/shellpop

ShellPop

마스터처럼 셸을 띄우세요.

1.5k229207년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

ShellPop

소개

Shellpop은 셸을 생성하는 모든 것에 관한 도구입니다. 이 도구를 사용하면 침투 테스트 중에 쉽고 정교한 리버스 또는 바인드 셸 명령을 생성할 수 있습니다.

더 이상 리버스 셸을 저장하는 .txt 파일에 시간을 낭비하지 마세요!

설치

Python 2.7이 필요합니다.

3.0+ 버전은 작동하지 않습니다.

필수 종속성 설치

root@kitploit:~
root@kali# apt-get install python-argcomplete metasploit-framework -y
root@kitploit:~
root@kali# pip install -r requirements.txt

설치 설정

root@kitploit:~
root@kali# python setup.py install

참고: 설치 후, 탭 자동 완성은 터미널을 재시작해야만 작동합니다.

목차

  • 도움말
  • 목록
  • 기본
  • 난독화
  • 인코더
  • 핸들러
  • 미터프리터 셸
  • 스테이저
  • 프로토콜
  • 크레딧
  • 팀 멤버
  • 기여자

도움말 섹션

이 도구의 모든 사용 가능한 옵션을 빠르게 나열하려면 --help를 사용하세요.

명령줄 예시

root@kitploit:~
root@kali# shellpop --help

Screenshot


셸 목록

셸 목록

--list 옵션을 사용하여 사용 가능한 모든 shellpop 셸을 나열할 수 있습니다.

명령줄 예시

root@kitploit:~
root@kali# shellpop --list

ShellsList

자동 완성 [NEW]

이제 shellpop에는 자동 완성 기능이 있습니다. 사용하려면 --number 및 (--reverse 또는 --bind)를 잊고 --payload 인수만 사용하면 됩니다. 아래 이미지와 같습니다:

Autocomplete

기본


클립보드에 복사

시간을 낭비하지 마세요. 이 도구는 시간을 절약하는 것이 전부입니다. 따라서 생성된 모든 페이로드에 --clip 옵션을 사용하여 자동으로 클립보드에 복사할 수 있습니다.

셸 유형

이 프로그램에는 두 가지 유형의 페이로드가 있습니다: 바인드 또는 리버스.


1. 리버스 셸

리버스 셸은 공격자 머신을 "서버" 역할로 사용합니다. 이 유형의 페이로드에서는 --host와 --port 모두 사용자 머신을 가리켜야 합니다. 핸들러를 설정해야 합니다.


2. 바인드 셸

바인드 셸은 원격 호스트가 연결을 제공하도록 합니다. 이 유형의 페이로드에서는 유효한 포트 번호를 가진 --port 옵션만 있으면 됩니다.

명령줄 예시

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸 생성

Screenshot

포트 1337에 대한 Powershell TCP 바인드 셸 생성

Screenshot


난독화

현재 생성된 페이로드에 사용 가능한 두 가지 주요 난독화 방법이 있습니다:

  1. 변수 이름 변경 난독화

페이로드의 모든 변수를 무작위로 명명된 변수로 대체합니다. 모든 페이로드에 자동으로 적용됩니다.

Screenshot

  1. IPfuscation

페이로드가 사용하는 IP 주소와 포트를 난독화합니다

@vysecurity가 만든 용어로, IPfuscation은 IP 주소를 10진수, 8진수, 16진수 또는 이들의 조합으로 변환해도 계속 사용할 수 있다는 잘 알려지지 않은 사실을 활용합니다.

포트 난독화는 포트 번호를 포트 번호로 평가되는 수학적 표현식으로 대체하여 수행됩니다.

Screenshot

여기서 생성된 페이로드의 IP 주소는 다양한 숫자 기반의 조합입니다. 첫 번째 부분은 일반 10진수 표기법, 두 번째와 세 번째 부분은 2와 3을 8진수로 변환하고 무작위 0으로 패딩, 네 번째 부분은 4를 16진수로 변환하고 일부 0으로 패딩한 것입니다. IP 주소의 각 부분에 사용할 기반 선택은 무작위이며, 16진수 및 8진수에 사용되는 패딩 0의 개수도 무작위입니다.

포트는 443을 443으로 평가되는 표현식으로 대체하여 난독화됩니다. 이 표현식도 무작위로 생성됩니다.


크기 관련 사항

IPfuscation은 선택 사항이지만, 랜덤 변수 난독화는 이제 모든 페이로드에 자동으로 적용됩니다. 페이로드 크기가 중요한 경우 --obfuscate-small 옵션을 사용하여 난독화로 인한 크기 증가를 최소화할 수 있습니다. 이 옵션을 사용하면 변수 이름, IP 주소 및 포트 번호가 훨씬 짧아집니다.

Screenshot


인코더

인코더는 shellpop 페이로드를 생성하는 동안 사용할 수 있는 특수 옵션입니다.

현재 단독으로 또는 동시에 적용할 수 있는 세 가지 인코딩 방법이 있습니다:

  1. XOR 인코딩

무작위 숫자 키(1-255)를 사용하여 페이로드를 난독화하고 이를 해독하기 위한 복호화 스텁을 추가합니다.

  1. Base64 인코딩

페이로드 데이터에 간단한 base64 인코딩을 적용하고 이를 해독하기 위한 복호화 스텁을 추가합니다.

  1. URL 인코딩

최종 페이로드에 간단한 URL 인코딩을 적용합니다.

명령줄 예시

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸을 생성하되 URL 인코딩을 사용하여 HTTP 프로토콜에서 사용하기 적합하게 만듭니다.

Screenshot

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸을 생성하되 base64로 인코딩하고 이를 디코딩하기 위한 래퍼를 설정합니다. 따옴표가 문제가 될 때 유용합니다.

Screenshot

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸을 URL 인코딩 및 base64로 인코딩하여 생성합니다... 네, 과정을 알고 계시죠!

Screenshot

포트 1337에 대한 Powershell 바인드 셸을 base64로 인코딩하여 생성합니다.

Screenshot

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸을 --xor 인코딩을 사용하여 생성합니다.

Screenshot

IP 1.2.3.4, 포트 443에 대한 Python TCP 리버스 셸을 모든 인코딩 방법을 사용하여 생성합니다!

Screenshot


핸들러

핸들러는 수신 연결을 받기 위해 소켓을 제공하거나 셸을 설정하기 위해 서버 엔드포인트에 연결하는 작업을 "처리"하는 메커니즘입니다.

현재 다음 TCP 핸들러가 지원됩니다:

  1. TCP PTY 핸들러
  2. TCP 메타 핸들러 [NEW]

이는 모든 TCP 셸에 명령줄 인수로 --handler 옵션을 추가할 수 있음을 의미합니다. 이로 인해 운영자가 직접 핸들러(아마도 ncat 또는 nc)를 실행할 필요가 없습니다.

Screenshot

미터프리터 셸 [NEW]

이 기능은 이 도구를 사용하는 사람들이 많이 요청한 기능입니다. 이제 0.3.6부터 핸들러가 기본적으로 Metasploit Framework를 사용하여 셸을 연결하므로 모든 shellpop 셸을 미터프리터로 업그레이드하는 것이 기술적으로 가능해졌습니다.

Meterpreter


스테이저

스테이저는 페이로드를 단계적으로 제공하는 메커니즘입니다. 때로는 페이로드의 복잡성이나 크기가 문제가 될 수 있습니다. 이러한 경우, 작은 페이로드를 제작하여 더 큰 페이로드를 요청하고 실행할 수 있습니다.

현재 다음 스테이저 프로토콜이 지원됩니다:

  1. HTTP

HTTP 스테이저

ShellPop은 원하는 모든 시나리오에 맞는 다음과 같은 HTTP 스테이저 세트를 제공합니다:

  1. Linux 스테이저 (Python, Perl, Wget 및 cURL)
  2. Windows 스테이저 (Powershell, CertUtil, BitsAdmin 및 Cscript)

HTTP 스테이징을 사용하려면 명령줄에 --stager http를 추가하고, 선택적으로 HTTP 서버 포트를 지정하려면 --http-port 플래그를 사용하여 미리 정의된 포트 앞에 포트 번호를 추가합니다.

Screenshot


프로토콜

현재 셸을 연결하기 위해 두 가지 프로토콜이 지원됩니다:

  1. TCP
  2. UDP
  3. ICMP (Nishang ICMP 셸)

명령줄 예시

TCP가 차단되었지만 UDP는 차단되지 않았나요? 셸이 생성됩니다!

Screenshot


크레딧

이 코드는 Andre Marques (@zc00l)와 이 프로젝트의 기여자들이 작성했습니다.

이 GitHub에 릴리스된 순간부터 공개적으로 제공됩니다.

이 도구로 인해 발생한 모든 피해에 대해 저자를 포함한 어떤 기여자도 책임을 지지 않습니다.


팀 멤버

  • Andre Marques (zc00l)
  • Touhid M.Shaikh (touhidshaikh)
  • Rοbеrt Εѕрі (lowfuel)

기여자

모든 기여자분들께 진심으로 감사드립니다.

도구 다운로드