I have a home computer running ubuntu (lets call it A), a remote computer running some version of linux (B), and a 2nd remote computer running windows (C). I can connect from A to shell on B using putty, and I can connect fom C to a shell on B using putty. Is it possible to route from A through B to C and then out to browse the internet, such that the I.P. address showing when browsing will be that of C? How to do this?

The remote computer C is part of a network and is behind firewall, so I can not successfully set up an ssh server such as freeSSHd on it.