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

add penelope tool #410

Draft
wants to merge 2 commits into
base: dev
Choose a base branch
from
Draft

add penelope tool #410

wants to merge 2 commits into from

Conversation

Frozenka
Copy link
Contributor

Description

This PR adds the installation function for Penelope, a shell handler designed to replace netcat when exploiting RCE vulnerabilities.

Related issues

If your PR responds to an issue for a bug fix or feature request, make sure to includes references to the issues (e.g. "fixes #xxxx").

Point of attention

Things you are not sure about that deserve special attention if you have doubts or questions.

@QU35T-code QU35T-code self-assigned this Oct 28, 2024
@QU35T-code QU35T-code added new tool(s) This adds one or multiple tools to Exegol under review labels Oct 28, 2024
@QU35T-code
Copy link
Member

@Frozenka,

Can you synchronize (merge) with the remote dev branch ?
In addition, the install_penelope function is not called :

image

sources/install/package_network.sh Outdated Show resolved Hide resolved
sources/install/package_network.sh Outdated Show resolved Hide resolved
sources/install/package_network.sh Outdated Show resolved Hide resolved
sources/install/package_network.sh Outdated Show resolved Hide resolved
add penelope tool

Update package_network.sh

add penelope tool

Create penelope

add alias penelope

Update penelope

Create penelope

add history for penelope

Update package_network.sh

Update package_network.sh

Update package_network.sh

Update package_network.sh

Fix penelope
@QU35T-code
Copy link
Member

@Frozenka,

Penelope needs a display to show helper menu. I haven't found an command to test, so for the moment I can't approve.

@QU35T-code QU35T-code added on hold Item on hold. Requires another matter to be resolved first. and removed pipeline in progress labels Oct 29, 2024
@QU35T-code
Copy link
Member

@QU35T-code QU35T-code marked this pull request as draft November 4, 2024 18:07
@ShutdownRepo
Copy link
Member

imo we can approve, if there's something wrong with penelope's tty we'll find a fix later on (or find a test command later on). It's not a huge priority.
The only thing I'm wondering is if we really need penelope, because pwncat-cs is already installed and it seems to me it's quite similar, am I wrong?

@QU35T-code
Copy link
Member

@Frozenka

@Frozenka
Copy link
Contributor Author

Hello, yes, actually, pwncat hasn't been maintained for several years. Penelope is a new, similar version that is currently maintained. :)

@cHJlaXpoZXI
Copy link
Contributor

Hello, yes, actually, pwncat hasn't been maintained for several years. Penelope is a new, similar version that is currently maintained. :)

Indeed ! Penelope is maintained. Pwncat-cs, the last commit was made 2 years ago.and 48 issues without answers of maintainers.

Penelope needs a display to show helper menu. I haven't found an command to test, so for the moment I can't approve.

The maintainer added a help option with argparse in the last version :

 [Nov 14, 2024 - 16:52:57 (CET)] exegol-htb-gui penelope # python3 penelope.py -h
usage: penelope.py [-i] [-c] [-a] [-l] [-h] [-Q] [-d] [-L] [-T] [-CT] [-r]
                   [-m] [-H] [-P] [-S] [-C] [-U] [-s] [-p] [-pass] [-N] [-v]
                   [ports ...]

Penelope Shell Handler

positional arguments:
  ports                 Ports to listen/connect to, depending on -i/-c
                        options. Default: 4444

Reverse or Bind shell?:
  -i , --interface      Interface or IP address to listen on. Default: 0.0.0.0
  -c , --connect        Bind shell Host

Hints:
  -a, --hints           Show sample payloads for reverse shell based on the
                        registered Listeners
  -l, --interfaces      Show the available network interfaces
  -h, --help            show this help message and exit

Verbosity:
  -Q, --silent          Be a bit less verbose
  -d, --debug           Show debug messages

Session Logging:
  -L, --no-log          Do not create session log files
  -T, --no-timestamps   Do not include timestamps in session logs
  -CT, --no-colored-timestamps
                        Do not color timestamps in session logs

Misc:
  -r , --configfile     Configuration file location
  -m , --maintain       Maintain NUM total shells per target
  -H, --no-history      Disable shell history on target
  -P, --plain           Just land to the main menu
  -S, --single-session  Accommodate only the first created session
  -C, --no-attach       Disable auto attaching sessions upon creation
  -U, --no-upgrade      Do not upgrade shells

File server:
  -s, --serve           HTTP File Server mode
  -p , --port           File Server port. Default: 8000
  -pass , --password    URL prefix

Debug:
  -N , --no-bins        Simulate binary absence on target (comma separated
                        list)
  -v, --version         Show Penelope version

Regards,

@QU35T-code
Copy link
Member

QU35T-code commented Nov 14, 2024

Hello, yes, actually, pwncat hasn't been maintained for several years. Penelope is a new, similar version that is currently maintained. :)

Indeed ! Penelope is maintained. Pwncat-cs, the last commit was made 2 years ago.and 48 issues without answers of maintainers.

Penelope needs a display to show helper menu. I haven't found an command to test, so for the moment I can't approve.

The maintainer added a help option with argparse in the last version :

 [Nov 14, 2024 - 16:52:57 (CET)] exegol-htb-gui penelope # python3 penelope.py -h
usage: penelope.py [-i] [-c] [-a] [-l] [-h] [-Q] [-d] [-L] [-T] [-CT] [-r]
                   [-m] [-H] [-P] [-S] [-C] [-U] [-s] [-p] [-pass] [-N] [-v]
                   [ports ...]

Penelope Shell Handler

positional arguments:
  ports                 Ports to listen/connect to, depending on -i/-c
                        options. Default: 4444

Reverse or Bind shell?:
  -i , --interface      Interface or IP address to listen on. Default: 0.0.0.0
  -c , --connect        Bind shell Host

Hints:
  -a, --hints           Show sample payloads for reverse shell based on the
                        registered Listeners
  -l, --interfaces      Show the available network interfaces
  -h, --help            show this help message and exit

Verbosity:
  -Q, --silent          Be a bit less verbose
  -d, --debug           Show debug messages

Session Logging:
  -L, --no-log          Do not create session log files
  -T, --no-timestamps   Do not include timestamps in session logs
  -CT, --no-colored-timestamps
                        Do not color timestamps in session logs

Misc:
  -r , --configfile     Configuration file location
  -m , --maintain       Maintain NUM total shells per target
  -H, --no-history      Disable shell history on target
  -P, --plain           Just land to the main menu
  -S, --single-session  Accommodate only the first created session
  -C, --no-attach       Disable auto attaching sessions upon creation
  -U, --no-upgrade      Do not upgrade shells

File server:
  -s, --serve           HTTP File Server mode
  -p , --port           File Server port. Default: 8000
  -pass , --password    URL prefix

Debug:
  -N , --no-bins        Simulate binary absence on target (comma separated
                        list)
  -v, --version         Show Penelope version

Regards,

Yes, but this line is called before the helper and needs a display…
#410 (comment)

Will try with the latest version

@ShutdownRepo
Copy link
Member

Since pwncat-cs is not maintained anymore and penelope seems to a maintained alternative we might as well keep both and remove one in the future.
I wouldn't be against merging here even without the display test, but with a simple -h test instead, what do you think @QU35T-code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new tool(s) This adds one or multiple tools to Exegol on hold Item on hold. Requires another matter to be resolved first.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants