Modification of open source revers proxy on the golang
Budget: $250 – $750 USD
Hello folks!
Im team-lead of small CTF team. We need to get some modification of open-src tool:
Fast reverse proxy--- > https://github.com/fatedier/frp
Thats a revers-proxy written on golang.
We need to add 2 points:
-First - it must have dynamic port forwarding and revers-proxy functionality. It must works like: ssh -D [LOCAL_IP:]LOCAL_PORT SERVER ( it must work without auth and with auth ). Dynamic port forwarding must working under the NAT.
-Second - it must be compiled for windows and windows server platforms and working there without errors.
-Third - it must create a service then it run.
Add the ability to store a data of cofiguration file in memory and in some temp folder for implementing service-creation-functionality
Example : frpc.exe --type tcp --remote-ip 200.1.1.1 --remote_port 6000 --dir c:\windows\temp
That example must generate config in c:\windows\temp and connect to the server with given ip:port
Service functionality - frpc.exe (client) must connect to statically hard-coded server ip:port
The minimum requirements for a service on windows are the following (without them impossible create service with sc cmd):
A Main Entry point (like any application)
A Service Entry point
A Service Control Handler
The Service Main Entry Point performs the following tasks:
Initialize any required things that we postponed from the Main Entry Point.
Register the service control handler (ControlHandler) that will process Service Stop, Pause, Continue, etc. control commands.
These are registered as a bit mask via the dwControlsAccepted field of the SERVICE STATUS structure.
Set Service Status to SERVICE RUNNING.
Perform initialization procedures. Such as creating threads/events/mutex/IPCs, etc.
The Service Control Handler was registered in your Service Main Entry point.
Each service must have a handler to handle control requests from the SCM.
Im team-lead of small CTF team. We need to get some modification of open-src tool:
Fast reverse proxy--- > https://github.com/fatedier/frp
Thats a revers-proxy written on golang.
We need to add 2 points:
-First - it must have dynamic port forwarding and revers-proxy functionality. It must works like: ssh -D [LOCAL_IP:]LOCAL_PORT SERVER ( it must work without auth and with auth ). Dynamic port forwarding must working under the NAT.
-Second - it must be compiled for windows and windows server platforms and working there without errors.
-Third - it must create a service then it run.
Add the ability to store a data of cofiguration file in memory and in some temp folder for implementing service-creation-functionality
Example : frpc.exe --type tcp --remote-ip 200.1.1.1 --remote_port 6000 --dir c:\windows\temp
That example must generate config in c:\windows\temp and connect to the server with given ip:port
Service functionality - frpc.exe (client) must connect to statically hard-coded server ip:port
The minimum requirements for a service on windows are the following (without them impossible create service with sc cmd):
A Main Entry point (like any application)
A Service Entry point
A Service Control Handler
The Service Main Entry Point performs the following tasks:
Initialize any required things that we postponed from the Main Entry Point.
Register the service control handler (ControlHandler) that will process Service Stop, Pause, Continue, etc. control commands.
These are registered as a bit mask via the dwControlsAccepted field of the SERVICE STATUS structure.
Set Service Status to SERVICE RUNNING.
Perform initialization procedures. Such as creating threads/events/mutex/IPCs, etc.
The Service Control Handler was registered in your Service Main Entry point.
Each service must have a handler to handle control requests from the SCM.