Skip to content
Den1al edited this page Jul 27, 2019 · 7 revisions

Welcome to the JSShell wiki! Here you will find most of the information you need to download, deploy and use the JSShell framework.

The JSShell framework is comprised from 3 main components:

  • Web Server
  • Database
  • Shell

Each one of them has special responsibilities to give you as the end user the best experience from this framework.

Web Server

This component is responsible of handling all the network requests between our victims/clients to our application. This web server is implemented using the awesome Flask library. It is also responsible to serve our special jsshell.js file which contains all the client side logic of this framework. There are a couple of special API endpoints you should be familiar with:

  • /content/js - when navigating to this endpoint, we are being served with a version of JSShell that our configuration is being reflected with, such as the URL to beacon back, the domain name and much more (The a look at the configuration wiki page for more details).
  • / - the home page for this web server, serves a simple page that automatically injects the jsshell.js file, so a client navigating to this endpoint will register to our server.

Database

This component is responsible of holding all the precious information our system produces, like victims/clients information (ip, user agent, etc.), our commands that we run against our clients and their corresponding outputs. The type of database JSShell uses is mongoDB.

Shell

This component is the main one we as end users will interact with. This part uses the great library cmd2 to display a gorgeous command line interface (the cmd2 developers even stated JSShell as one of the open source projects using their library)

Clone this wiki locally