-
Notifications
You must be signed in to change notification settings - Fork 34
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
💡 [REQUEST] - Remote Command Execution - Support for SSH #50
Comments
For SSH and other protocols, it will be best to break them up into their own little blocks. This would effectively allow you to create a keyword like:
But you also get to leverage the same logic as the subttp block. So this network protocol can have a list of basic steps which can then be used over the connection. This could be applied across all network protocols essentially. As for realistic options, just have to expose those as values for the block. |
This is a very good idea that I'd be super psyched to see. I started to ideate on this problem a few weeks ago and figured I'd share some of what I found/was planning to use if I got the SSH task: I forked this since it covered most of the stuff I had started to write for in my own client (that I abandoned after). It may be worth forking the original and building on that. One of the reasons I chose it was that it had an exceptionally compatible license.
PR for proxy support
I think the quickest way we can determine that is to enlist one of our partners for some testing to see how our output sizes up against the real thing. There were several TTPs that could be used from Ouroboros for testing purposes. |
Agreed, this approach will provide the best foundation to handle whatever params we need to support over time. |
Blocked by work required for the C2 functionality. |
Will revisit once impl for #49 lands - top-level args code structure may influence this design substantially |
Implementation PR
No response
Reference Issues
No response
Summary
Dedicated yaml syntax for ssh remote command execution:
Basic Example
It could look like this:
We can support this natively in golang with the appropriate package:
https://stackoverflow.com/a/41528181
Although we may want to just pipe stdin to a real ssh process - that's "hacky" but
would create more realistic telemetry of attacker activity so hacky might be significantly better in this instance.
Later, We can extend the
create_remote_session
architecture to support connecting to a remote C2 implant, use WinRM, etcDrawbacks
No response
Unresolved questions
The text was updated successfully, but these errors were encountered: