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

Feature request: add interfaces and proxy routes directly from ligolo. #60

Closed
LucasParsy opened this issue Feb 21, 2024 · 5 comments
Closed
Labels
enhancement New feature or request

Comments

@LucasParsy
Copy link

Hi! Just discovered Ligolo, it's an excellent tool!
the tool is so useful I only have one feature i'd like:

automatically create tunnels and routing from the tool.

feature description:

let's imagine I have an agent with this interface:

| Interface 6                          |
│ Name         │ tun0                  │
│ IPv4 Address │ 192.168.45.176/24     │

if i'd run the new command

tunnel_start_if 
    ? Specify an interface : 6

it would do under the hood:

sudo ip tuntap add user kali mode tun ligolo192_168_45_0
sudo ip link set ligolo192_168_45_0 up
sudo ip route add 192.168.45.0/24 dev ligolo192_168_45_0
tunnel_start --tun ligolo192_168_45_0

caveats

I don't know how complex it would be to create this feature and integrate it to the tool.
It would require Sudo elevation of privilege from with ligolo to set interfaces (run elevated sub-process?)

I don't have knowledge in Go (yet!) and I'm pretty busy these next months, otherwise I would have tried for a pull request.
And I think it's more polite to ask feedback for a new feature to the app's creator ;)

By the way, I'm curious, where does the name "ligolo" comes from?

@LucasParsy
Copy link
Author

adding additional info as I am interested in developing this feature and would request your feedback before coding:

  • On developing the feature, there would be 2 philosophies:

    • using the netlink and water Go libraries
    • using the linux ip binary directly via exec command

    In my opinion, using exec may seem too simple and bad practice, but in the end it is just a matter of trusting a project and using it correctly, and I'm more confident doing so with ip than with the 2 libraries.

  • I know how to create interfaces/tunnels on Linux, as you documented it, but not in Windows.
    Is it possible to create from the command line/ libraries in Windows,
    or would you accept this feature as Linux only, at least initially?

@nicocha30
Copy link
Owner

Good idea. For Windows, the tun interface is automatically created, but not for Linux.

I will implement this functionality soon.

@LucasParsy
Copy link
Author

LucasParsy commented Mar 8, 2024

Thanks a lot! (Great talk also 👍)
Note that in the example I gave initially, the new tunnel name I gave is apparently not a valid name.

@nicocha30 nicocha30 added the enhancement New feature or request label Mar 8, 2024
@arty-hlr
Copy link

This would be great to fully automate the proxying instead of having to type in manually 3 commands each time :)

@nicocha30
Copy link
Owner

Implemented in Ligolo-ng v0.6!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants