All remote desktop software that I know about needs to modify firewall settings and open ports.
How can Teamviewer work without modifying them? Does some alternative software exist that can also do remote control without modifying network settings?
TeamViewer on the remote PC maintains an idle connection to the TeamViewer proxy servers and waits for a connection request. After receiving it, a direct UDP connection can be set up; see UDP hole punching.
Also try pwnat.