If the remote computer is behind NAT/Firewall, than you won't be able to attack it directly. You will need to get around it, by using a reverse_TCP_connection.
You can do that, by encoding a reverse shell into a PDF file and opening it on the remote computer.
Furthermore, if your attacker machine is also behind a NAT/Firewall, you will need to enable port forwarding on the router, or else you won't get the reverse shell.