Using ngrok to access internal services
Ngrok allows us to share internal services to Internet facing systems. It's an incredibly useful way to access internal systems or create a way to directly access sensitive network systems.
Configure the ngrok preferences with the applicable key
ngrok config add-authtoken ***REDACTED KEY***
As always, we ask for help to learn what to do.
To start a listener, we can simply run the code below:
ngrok http 9999
This will result in a window similar to below:
After starting the listener, this shows the web interface to reach the internal port
ngrok http 80 # secure public URL for port 80 web server
ngrok http -subdomain=baz 8080 # port 8080 available at baz.ngrok.io
ngrok http foo.dev:80 # tunnel to host:port instead of localhost
ngrok http https://localhost # expose a local https server
ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22
ngrok tls -hostname=foo.com 443 # TLS traffic for foo.com to port 443
ngrok start foo bar baz # start tunnels from the configuration file