General flow chart

1. General flow chart

Fig. 1.1. Framework flow chart

During framework launch, third party python modules check initiated. The framework automatically installs missing modules from “3rdPartyTools” folder. With availability of all modules then goes launch of: a) web socket server (WSServer) which is the core and b) HTTPServer, responsible for GUI visualization. GUI connection information displayed to console (host and port) for GUI connection through web browser.

1.1. Commands system.

Websocket server listens defined port. Clients can connect to it by websocket protocol. All framework entities (except server itself), such as exploits, listeners and GUI, play clients role. Request standard form looks like an item (dictionary) with the structure indicated below:

Next, this item serialized in JSON. Server has specified commands list. JSON – string is sent to the server. Then JSON->dict parsing happens and dictionary with “command” and “args” compulsory keys appears. “commands” contains on server initialization command. Depending on command, server functions differently, argument for functions is “args” value, as well as request item which allows to send a response to the client who initiated current command. Standard form of command agent function looks like:

Explanation: In strings 2,3  ‘a’ and ‘b’ keys value assignment occurs in args dictionary. Usually key entity test is made before assignment. Onwards received values used as any function argument that can recall any value. After this value serialized in json and sent back to the client who can have its own command agent (with the same structure).