Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement some more "malware-like" features #14

Closed
dzervas opened this issue Jun 20, 2016 · 7 comments
Closed

Implement some more "malware-like" features #14

dzervas opened this issue Jun 20, 2016 · 7 comments

Comments

@dzervas
Copy link
Contributor

dzervas commented Jun 20, 2016

I was thinking about OS detection, some basic persistence mechanisms for each OS (nothing fancy) and basic environment information scouting (open ports for example)

But the main question is "do we really want these?"
I'd love to turn this into a R.A.T. framework (with spreading support, screen & webcam capture and all the other good stuff) but it's kinda up to you on where this project is going.

@panagiks
Copy link
Owner

I like the idea of some basic persistence mechanisms and I've had it in my mind for quite some time (well since b3mb4m opened #7 ) so I'd be totally open to a few changes towards that way.

In the contrary I believe that turning the project into a full blown R.A.T. exceeds this projects scope/purpose.

@b3mb4m
Copy link
Contributor

b3mb4m commented Jun 20, 2016

I'll implement something soon.I'm consider bind with some old post-exploitation projects and some hard "malware-like" features, lol.

@dzervas
Copy link
Contributor Author

dzervas commented Jun 20, 2016

I'd advise you to wait some time (about a week) because I'm refactoring the whole code to be oo and I'll have plugin integration (you'll be able to add commands).
It will make your life much easier and you (or we) won't have to port what you've written.

@b3mb4m
Copy link
Contributor

b3mb4m commented Jun 20, 2016

Just pls, do not forget oop structure for it, thanks for you effort :)

@dzervas
Copy link
Contributor Author

dzervas commented Jun 20, 2016

I've made a design on my repo (https://github.com/dzervas/RSPET/tree/oo-redesign/Server). See server.dia for the plugin design. The whole plugin is just some info vars for the module (name, version n' stuff) and command variable: commands = {'cmd1': function(Host, arg1, arg2, ....) }

I'm also thinking about implementing some hooks (enc/dec/send/receive/....) but I'm not sure.

@dzervas
Copy link
Contributor Author

dzervas commented Jun 25, 2016

@b3mb4m the plugin system is done. The whole refactoring is not ready to be merged (I'm currently writing all the commands as plugins) but you can now start writing the plugin.
For reference see this test plugin (https://github.com/dzervas/RSPET/blob/oo-redesign/Server/Plugins/test.py).

The principal is simple: Via a plugin you can add commands. Either server-side commands or client (host) commands. On both occasions a function inside your class will be executed which takes 2 arguments: host/server & args. args are the arguments given by the user on the command line and the host or server is the object passed to you (depends if it's client or server command).

From there you can do whatever you want. Things to keep in mind:
example plugin class:
from mount import Plugin
class TheNameDoesNotMatter(Plugin)
do not use __<whatever>_cmds__ variables
do not use __<whatever>_commands__ variables in your logic (used to define which command executes which function)
Help about each command on its function's docstring.

The merge is coming soon! :D

Happy coding!

@panagiks
Copy link
Owner

Also closing this. Feature was implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants