Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.
/ Screaming-Mars Public archive

Screaming-Mars is a remote managment and server managment software runs on an linux/windows based operating system

License

Notifications You must be signed in to change notification settings

ConniBug/Screaming-Mars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screaming Mars

Screaming mars is a remote managment software created for the purpose of remote control and remote managment of remote/local servers/computers

This has been tested and deployed on a linux client and linux server this hasnt been tested on windows but is assumed to work on windows with a little compatibility

Basic explaination on topology

The client functions by storing multiple .sh scripts on the client in the commands folder, the client will say to the server ever X seconds asking if it should do anything, the server will respond saying "Yes execute this file." or "No dont do anything", If the server says yes execute this file, the client will crossrefference the file name with the files name the server passed on, then execute the relevent file.

Simple and unintuitive system, but allows the client to work behind most firewalls etc as it just requests data via http/s directly from the server, along with this everything is coded from scratch (excluding libCurl) meaning most av's do not detect it as mallicious code, i run the stub/compiled binary through virustotal and had no flags.

Contributing

I am fully open to pull requests if what you have done is cool or helpful then your pull will be accepted

Setting up server

Config

You can edit the values at the top of the server.js such as the port at the top of the server.js file const port = 1040;

to add more valid commands modify these lines

// Valid commands
var ster = ["shutdown", "SpamShutdown", "SayHey", "delall"];

var commandsNonPerm = [ ["shutdown", "Shutdown"], 
                 ["SpamShutdown", "Perm Shutdown"], 
                 ["SayHey", "Display Hello Message"] 
];
                 
var commandsPerm = [ ["delall", "Erase Device"] ];

add the name of the commands file name from the clients commands folder of the .sh script to execute(without the extention)

for example if you had

/
    /screamingmars
        /commands
            /lockAllUsers.sh

you would add lockAllUsers to the ster array eg

// Valid commands
var ster = ["shutdown", "SpamShutdown", "SayHey", "delall", "lockAllUsers"];

then you must add the command and the text to be shown on the Web GUI for that command to either the non perm array or the perm array

this will indicate to the web gui what page to show the command button under

to add it to the perm/non perm array you would append ["Command File name should match the name in array 'ster'", "Display name in web GUI"]

In our Example we would create this ["lockAllUsers", "Lock out all currently logged in users"]

and as this command wont be perminent OS damage we would add it to the non perm array eg

var commandsNonPerm = [ ["shutdown", "Shutdown"], 
                 ["SpamShutdown", "Perm Shutdown"], 
                 ["SayHey", "Display Hello Message"],
                 ["lockAllUsers", "Lock out all currently logged in users"]
];

And thats all.

Installation

sudo apt-get update -y 
sudo apt-get install -y libcurl-dev 
sudo apt install nodejs -y
sudo apt install npm -y
sudo npm install http 
sudo npm install url 

node    server.js
nodemon server.js 

Setting up Client

Config

First create your own conf.t file the formatting of this file is shown in conf.t.example

dont change the line space or anything about its order or what line the values are on as the code reads specific lines and passes them as the config values

Installation

sudo apt-get upgrade -y 
sudo apt-get update  -y 
sudo apt-get install -y libcurl-dev 
sudo apt-get install -y net-tools

sudo mkdir /screamingmars/src/
sudo mkdir /screamingmars/bin/
sudo mkdir /screamingmars/commands/

mv ./conf.t /screamingmars/

g++ client.cpp -o /screamingmars/bin -lcurl

/screamingmars/bin/client