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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
shootback — 역방향 TCP 터널을 통해 NAT나 방화벽 뒤에 있는 대상에 접근할 수 있습니다. | Kitploit
도구/GitHubGitHub/aploium/shootback
Reverse EngineeringNetwork SecurityPenetration TestingRed Teaming
GitHubaploium/shootback

shootback

역방향 TCP 터널을 통해 NAT나 방화벽 뒤에 있는 대상에 접근할 수 있습니다.

저장소 보기
9762334개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

shootback

shootback는 NAT나 방화벽 뒤에 있는 대상을 접근할 수 있게 해주는 역방향 TCP 터널입니다.
反向TCP隧道, 使得NAT或防火墙后的内网机器可以被外网访问.
800개의 동시 연결에서 CPU 1% 미만, 메모리 8MB를 사용합니다.
slaver는 __단일 파일__이며 python(2.7/3.4+) 표준 라이브러리만 필요합니다.

작동 방식

How shoot back works

일반적인 사용 시나리오

  1. 집에서 회사/학교 컴퓨터(인터넷 IP 없음)에 접속
    从家里连接公司或学校里没有独立外网IP的电脑
  2. 사설 네트워크/사이트를 공개
    使内网或内网站点能从公网访问
  3. 사설망 침투 지원
    辅助内网渗透
  4. CTF 오프라인 대회 지원
    辅助CTF线下赛, 使场外选手也获得比赛网络环境
  5. 동적 IP(예: ADSL)를 가진 장치에 연결
    连接动态IP的设备, 如ADSL
  6. slaver와 master 간 SSL 암호화
    slaver和master间支持SSL加密

시작하기

  1. 요구 사항:

    • Master: Python3.4+, OS 무관
    • Slaver: Python2.7/3.4+, OS 무관
    • 외부 종속성 없음, python 표준 라이브러리만 사용
  2. 다운로드 git clone https://github.com/aploium/shootback

  3. (선택 사항) 단일 파일 slaver.py가 필요하면 python3 build_singlefile_slaver.py 실행

  4. 다음 명령 실행

    root@kitploit:~
    # master는 slaver를 위해 :10000, 사용자를 위해 :10080을 수신
    python3 master.py -m 0.0.0.0:10000 -c 127.0.0.1:10080
    
    # slaver는 master에 연결하고 터널 대상으로 example.com 사용
    # 참고: slaver에서는 python2도 사용 가능하며 py3만 필요한 것은 아님
    python3 slaver.py -m 127.0.0.1:10000 -t example.com:80
    
    # master에 요청 보내기
    curl -v -H "host: example.com" 127.0.0.1:10080
    # -- example.com의 HTML 내용 일부 --
    # -- example.com의 HTML 내용 일부 --
    # -- example.com의 HTML 내용 일부 --
    
  5. 보다 현실적인 예제 (SSL 사용):
    master IP가 22.33.44.55라고 가정 (위 그림과 동일)

    root@kitploit:~
    # slaver_local_ssh <---> slaver <--[SSL]--> master(22.33.44.55) <--> 사용자
    
    # ---- master ----
    python3 master.py -m 0.0.0.0:10000 -c 0.0.0.0:10022 --ssl
    
    # ---- slaver ----
    # 참고: `--ssl` 옵션은 slaver-master 암호화를 위한 것이며 SSH용이 아님
    python(or python3) slaver.py -m 22.33.44.55:10000 -t 127.0.0.1:22 --ssl
    
    # ---- 사용자 ----
    ssh 22.33.44.55 -p 10022
    
  6. 더 많은 도움말은 python3 master.py --help 및 python3 slaver.py --help 참조

팁

  1. 데몬으로 실행:
    nohup python(or python3) slaver.py -m host:port -t host:port -q &
    또는:

    root@kitploit:~
    # screen은 리눅스 명령어
    screen
    python(or python3) slaver.py -m host:port -t host:port
    # ctrl-a d 를 눌러 screen 분리
    # 필요한 경우 "screen -r"로 재연결
    
  2. TCP를 사용하는 모든 서비스는 shootback 가능합니다. HTTP/FTP/프록시/SSH/VNC/...

  3. shootback 자체는 전송 작업만 수행하며 암호화나 프록시를 처리하지 않습니다.
    하지만 3rd party 프록시(예: shadowsocks)를 slaver 대상으로 사용할 수 있습니다.
    예:
    shadowsocks_server<-->shootback_slaver<-->shootback_master<-->shadowsocks_client(socks5)

경고

  1. Windows에서는 CPython select.select()의 제한으로 인해
    shootback이 512개 이상의 동시 연결을 처리할 수 없으며,
    ValueError: too many file descriptors in select() 오류가 발생할 수 있습니다.
    Windows에서 높은 동시 연결을 처리해야 한다면
    Anaconda-Python3를 권장합니다.
    Windows에서의 제한은 2048입니다

성능

  1. Intel I7-4710MQ, win10 x64 노트북 기준:
    • 루프백 전송 1.6Gbits/s (iperf 사용), CPU 점유율 약 5%
    • 800 스레드 ApacheBench, CPU 1% 미만, 메모리 8MB 사용
도구 다운로드