If you have access to the Internet through a proxy server and a computer that is waiting for you outside, you can provide almost completely unlimited access to the Internet. A number of techniques that allow, using limited Internet access, to expand it to a full-fledged one, is known as firewall piercing .
It is possible to organize Internet access even when there is only the possibility of resolving DNS names (DNS tunneling), only pinging (ICMP tunneling) and so on. If there is a proxy, then it is generally elementary.
If the proxy server allows the CONNECT method, everything is done in two accounts. Usually the CONNECT method is allowed for at least port 443, but often for 80.
In this case, you can start out with SSH. Use the corkscrew program.
In the configuration file ssh ~/.ssh/config write
ProxyCommand /usr/local/bin/corkscrew proxy.work.com 80 %h %p
Thereafter:
ssh -L 8080:localhost:80 user@server.at.home -p 443
Here you not only went to your remote computer via SSH, but also at the same time and forwarded port 80 to 8080 of the local machine.

(image source: daniel.haxx.se)
SSH is very, very much, already almost everything.
If you have root access on the computer from which you start ssh (in our client terminology), you can not only forward ports, but also raise a full-fledged tunnel with routing.
This can be done not only with the help of SSH, but also with the help of OpenVPN, VTUN and many other similar programs.
Unlike ssh these programs require root permissions locally. ssh even without root rights allows quite a lot (except for creating interfaces and routing through them).
If CONNECT on a proxy is prohibited, it is also possible to go through it, but a little more difficult. One of the tools to do this is httptunnel .
Two programs are used:
- client,
htc ; - server
hts .
You start the server at home, the client at work:
hts -F localhost:22 80 htc -P proxy.corp.com:80 -F 8022 server.at.home:80
Here you forwarded the SSH port to port 8022 locally, and then everything is as usual.
More details:
Learn more about the aforementioned DNS tunneling (although your conditions are not so severe yet):