Si, vamos a ver. Un exploit lanzado a traves de internet, al igual q cualkier programa q intente contactar con otro pc atraves de internet necesita utilizar un puerto.
Cuando tu te pones un router, aunke tengas 17 ordenadores conectados a el, pasas a tener una sola ip y no 17. Si por ej tu necesitas usar el puerto 2001 con el Pc3 por cualkier motivo tienes q redireccionar dicho puerto hacia ese Pc. Entonces a el router (ip externa) le llegaran los paketes por el puerto 2001 y los rediccionará hacia el Pc3.
Esto tb es aplicable a un exploit. Tu con el exploit lanzas unos paketes por internet y al llegar al router "victima" este los rediccionará o los blokeará dependiendo de si el puerto está o no abierto.
Por lo q para lanzar un exploit a traves de internet necesitas q el puerto q usa esté abierto.
Te recomiendo q le heches un vistazo al protocolo TCP/Ip (googlea

)
1S4ludo