I think you are sort of missing what we are talking about. Intranets aren't on the Internet, they are non-routable. They are behind firewalls and not pingable from the outside (RFC1918). However, since the user is behind the firewall they can see the addresses for us. PHP and all server side port scanning is unable to see what the client can see. So we are using their browser to do what we would normally be able to do for ourselves if we could route to the IPs.
Network Address Translation (NAT) is a security measure used by firewalls to protect the internal networks by not giving them actual world route-able addresses. So we get the user to see a malicious piece of JavaScript and that JavaScript runs on their computer which is behind the firewall and on the same subnet as the other non-route-able machines and therefore has access to do things we cannot do from a server side scan of the network since all we would see is one filtered IP rather than the machines behind that IP.
- RSnake
Gotta love it.
http://ha.ckers.org