-
Notifications
You must be signed in to change notification settings - Fork 69
Home
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.
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 theconfiguration
wiki page for more details). -
/
- the home page for this web server, serves a simple page that automatically injects thejsshell.js
file, so a client navigating to this endpoint will register to our server.
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
.
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)
If you have any issues or questions that are not covered in this wiki, please reach out on twitter @Daniel_Abeles.