I believe the path and platform abstraction is more or less complete.
You are able to abstractly run processes and interactive with the remote
FS in the same way as the local one (mimicked pathlib and subprocess).
I now need to convert the modules and the rest of the commands to work
with the new manager/session architecture. 😭
- Added ability to exit w/ C-q shortcut from local prompt.
- Multiple sessions are at least supported (no option to switch atm).
- Active session show in bottom toolbar at local prompt.
- Added some last touches to module system.
- Modified connect syntax to allow more flexible parameters
- Still need to update enumeration API docs and connect command docs
- Got the pam persistence module working
- Added persistence escalation module to utilize installed persistence
- Added escalation module priorities (EscalateModule.PRIORITY)
- Should be > 0.
- Default is 100.
- Persistence escalation has priority of -1 to ensure it runs first.
- Added enumeration module for passwords retrieved from pam persistence.
- Removed version specifier for python-rich (it was very old for some reason).
Watched some youtube clips on this and though I'd try this software
I got an error soon after installing - the error was because `shlex.join` is being used:
5f12a12968/pwncat/__main__.py (L29)
Turns out this requires Python 3.8:
https://docs.python.org/3/library/shlex.html#shlex.join
I propose to explicitly require this at install time so a more appropriate error is thrown to the user.
Thoughts?
Mainly worked on authorized_keys and pam persistence modules. Also added
the `load` command allowing users to load custom modules from different
directories. Lastly, added the optional inclusion of a
`$XDG_CONFIG_HOME/pwncat/pwncatrc` configuration allowing you to specify
configuration for all invocations of pwncat (like a custom module directory).