Slashdot Mirror


New Exploit Uses JavaScript To Compromise Intranets, VPNs

redsoxh8r writes "Security researcher Robert Hansen, known as Rsnake, has developed a new class of attack that abuses a weakness in many corporate intranets and most browsers to compromise remote machines with persistent JavaScript backdoors. Threatpost reports: 'The attacks rely on the long-term caching policies of some browsers and take advantage of the collisions that can occur when two different networks use the same non-routable IP address space, which happens fairly often because the amount of address space is quite small. The bottom line is that even a moderately skilled attacker has the ability to compromise remote machines without the use of any vulnerability or weakness in the client software.'"

56 of 87 comments (clear)

  1. IPv6? by Facegarden · · Score: 3, Interesting

    Knowing basically nothing about anything involved, i see address space limitations are a partial issue here - does that mean some use of IPv6 would help somewhere somehow?
    -Taylor

    --
    Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
    1. Re:IPv6? by mellon · · Score: 4, Insightful

      Yes, IPv6 would help here, and in a lot of other instances. With IPv6, unless you're already communicating with a host, or it has a public identity because it's a server, the chances of you guessing its IP address are vanishingly small. So this attack wouldn't work, and also the typical attack that internet worms do where they just randomly try ports on various IP addresses en masse also wouldn't work, because the statistics are no longer in their favor.

    2. Re:IPv6? by Vuojo · · Score: 2, Interesting

      I would think so. It seems like everyone is using either 192.168.0.0/24 or 192.168.1.0/24 subnets and once in a while somebody has set up 10.0.0.0/24 subnet so your internal addresses wouldn't be that hard to guess. With IPv6 we could forget all this NAT crap and use "real" IP addresses.

    3. Re:IPv6? by Facegarden · · Score: 1

      I would think so. It seems like everyone is using either 192.168.0.0/24 or 192.168.1.0/24 subnets and once in a while somebody has set up 10.0.0.0/24 subnet so your internal addresses wouldn't be that hard to guess. With IPv6 we could forget all this NAT crap and use "real" IP addresses.

      Hmm, that is pretty cool actually, I never realized that we could just forgo NAT completely, but it makes sense! Man, that would be nice.
      -Taylor

      --
      Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
    4. Re:IPv6? by Shadow-isoHunt · · Score: 1

      Actually, not really. Exploits could go after the default addresses interfaces take.

      --
      www.isoHunt.com
    5. Re:IPv6? by TCM · · Score: 2, Informative

      172.16.0.0/12

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    6. Re:IPv6? by mellon · · Score: 3, Insightful

      64 bits, actually.

      The address is usually made up of the prefix and the interface identifier, so technically the addresses aren't random - the interface identifier is derived from the MAC address of the interface, typically. But you'd have to know the ethernet address of the device you're trying to reach, *and* its prefix, at the same time, in order to be able to attack it. Since this particular attack is valuable precisely because you don't need to know those things, IPv6 would in fact render it useless.

      Having said that, I think CGA (cryptographically generated addresses) are going to get popular, and if that's so, then even knowing the MAC address won't be able to help you.

    7. Re:IPv6? by TheRaven64 · · Score: 1

      Unless, of course, your IPv6 network is set up by one of the persistent idiots that post here saying that they are going to use the IPv6 private range and NAT their networks for 'security' rather than giving them publicly-routable addresses and configuring their firewall sensibly. In this case, the same exploit is possible as long as you can find a valid IP address in the private v6 range.

      Another win for the NAT-is-security crowd.

      --
      I am TheRaven on Soylent News
    8. Re:IPv6? by TheRaven64 · · Score: 1

      I like protocols with encryption. IPv6 supports no encryption at all on the IP layer.

      Are you a troll, or are you really unaware of the fact that IPSec is an optional part of IPv4 and a required part of IPv6?

      --
      I am TheRaven on Soylent News
    9. Re:IPv6? by RazzleDazzle · · Score: 1

      the chances of you guessing its IP address are vanishingly small.

      Indeed. Vanishingly small is an understatement

      --
      ZERO ZERO ONE ZERO ONE ZERO ONE ONE! Just brushing up for my next big invention: Ethernet over Voice (EoV)
    10. Re:IPv6? by lavacano201014 · · Score: 1

      But if we were right, we wouldn't be Slashdot.

      --
      A wise man once said, "Where is my other quotation mark?
  2. Definition of vulnerability or weakness? by 280Z28 · · Score: 4, Insightful

    Isn't this the definition of a vulnerability or weakness in the client software? Just because you don't see xxxx as a threat in advance doesn't mean someone won't eventually use it as one.

    --
    Turning coffee into code.
    1. Re:Definition of vulnerability or weakness? by Facegarden · · Score: 1

      Isn't this the definition of a vulnerability or weakness in the client software? Just because you don't see xxxx as a threat in advance doesn't mean someone won't eventually use it as one.

      Agreed. Clearly if it is susceptible to attacks, that is a "weakness".
      -Taylor

      --
      Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
  3. Phew! by unifyingtheory · · Score: 5, Funny

    Good thing I don't use the Internet.

    1. Re:Phew! by dominious · · Score: 1

      Has anyone else read the title as "New Exploit Uses JavaScript To Compromise the Internets" ?

  4. Straight from the horse mouth by Saija · · Score: 5, Informative
    --
    Slashdot ya no es que lo era! ;)
  5. Network 10 has more than 1280 addresses. by John+Hasler · · Score: 1

    Use it, and use random IP numbers

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Network 10 has more than 1280 addresses. by skelly33 · · Score: 1

      10 net has 16,777,216 addresses to be precise : it's a full class A network. I had the same thought. It's only "quite" small because people use the default settings that ship with their routers which are generally 192.168*

    2. Re:Network 10 has more than 1280 addresses. by prockcore · · Score: 4, Interesting

      While we're clearing up misconceptions, the 127.x.x.x network is an entire class A loopback.

      That means 127.44.55.66 is identical to 127.0.0.1

    3. Re:Network 10 has more than 1280 addresses. by SCHecklerX · · Score: 1

      I just got done re-numbering my home LAN for similar reasons. I want to make sure that wherever I am, I can likely use my VPN without collision. I re-did everything for a random spot within 172.16.0.0/12.

  6. o..k by QuantumG · · Score: 5, Informative

    Yes, if you control the server end of a VPN connection you can tell the other end what to route you.. assuming the client has been configured that way. Why are VPN connections configured that way? Because the admin is considered the trusted party. The user (typically an employee) trusts the admin to be more secure than he is.

    If the server was setup to route whatever the client said to route, that would be bad, but it's mostly not the case.

    --
    How we know is more important than what we know.
    1. Re:o..k by DarkOx · · Score: 1

      Which is exactly why despite the bitching of my users, the VPN at our company routes everything to the gateway at my end of the VPN tunnels except of course VPN traffic itself which is obviously routed to the users normal gateway. Everything is axed via the firewall policy in the client.

      People don't like it because it means they can't use their network printers they have at home and their downloads to outside sites break whenever they connect or disconnect from the VPN. This is the only way though to guard against these types of attacks.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    2. Re:o..k by Tony+Hoyle · · Score: 1

      You're guarding against nothing.. just pushing extra traffic through the VPN and slowing down their internet connection.

      I bet 90% of them have just changed the default route back anyway.

    3. Re:o..k by Sprinkels · · Score: 1

      I bet 90% of them have just changed the default route back anyway.

      The Grandparent does not talk about changing the default route, but about forcing all trafic, including local traffic which does not use the default route, through the VPN. The VPN client forces this at lower level than IP.

      Yes I, this is evil. A better solution is to use Remote Desktop Service through SSL or similar. This way the local webbrowser at home never connect to the business netwerk. However the exploit is stil posible if you use your laptop at home and at work. (Or visit the unsafe websites with your work computer.

    4. Re:o..k by IceCreamGuy · · Score: 1

      First of all, any good VPN client allows the admin to prevent that (i.e., I don't consider the built in Windows PPTP client to be an example of a "good client"). However, that being said, for almost any circumstance I'm pretty confident the number of users who would know to do that would be 1%.

  7. Re:Only an issue if you use IP based URLs by QuantumG · · Score: 4, Informative

    It's right there in the first demonstrated attack.. if you control the server end of the VPN you can control where DNS traffic goes and so redirect any url to any IP.

    --
    How we know is more important than what we know.
  8. The moral of the story by rednip · · Score: 1

    VPN connections need special routing. If you don't trust your VPN partner totally, you should be sure that only the traffic you want goes over the connection.

    --
    The force that blew the Big Bang continues to accelerate.
  9. Address space limitation? by kosmosik · · Score: 2, Interesting

    I think address space limitation is not an issue here. If I correctly understand this vulnerability means that for example some user has cached session cookies for intranet site like http://10.0.0.1/intranet - then if he connects to other network (that I control) via VPN I can forge http://10.0.0.1/intranet site in my network trick the browser by injecting JavaScript code and read this users session cookies? Do I understand this correctly?

    Well if I do then SSL/TLS certificates and cryptography in general are the means to authenticate someones (or some servers) indentity.

    So my question is: if sites in my intranet use proper PKI and SSL/TLS mechanisms am I still voulnerable to this flaw?

    1. Re:Address space limitation? by BikeHelmet · · Score: 4, Insightful

      Nope, you won't. It was stated in his article that HTTPS is immune.

      You could also dump all cached content when the browser closes. (That's what I do)

      The only thing that can get me is cookies!... but they're so useful and tasty...

    2. Re:Address space limitation? by bwcbwc · · Score: 1

      I think it's the other way around. First, you get malicious javascript loaded on http://10.0.0.1/myscript.js when you visit the exploit site.
      Then when you connect to http://10.0.0.1/myscript.js on a different non-routable subnet you end up running the malicious script instead of the local version, which could include doing fun stuff against the HTTP server you are connecting to.

      --
      We are the 198 proof..
  10. I don't see any actual erxploit here by brunes69 · · Score: 5, Insightful

    All it is is a pretty wild theory that an exploit could occur... and there are a vast number of increasingly unlikely events that have to transpire for it to happen.

    a) Your browser has to have unpatched remote script injection exploits.

    b) You have to be using VPN to connect to *an untrusted network*. This is the opposite of what you normally use VPN for

    c) Once connected to this insecure network via VPN, you have to for some reason visit a page on it that shares the IP address as another web server in your network. As well, the person who is hosting the exploit script on this page (that they are trying to cache) has to also know the name of the exact same script file *on your network*, so that the cache will pick it up the next time you connect to your own resources.

    To me, all seems very unlikely. Sure, you could do this in a lab environment, but in the real world, if a would-be-intruder already knew that much about your network, and you are for some reason VPN'ing into a network that they control, then you likely have bigger issues with physical security and meat-space trust relationships in our business, and are already screwed over.

    1. Re:I don't see any actual erxploit here by jrumney · · Score: 2, Interesting

      I doesn't have to be an intranet addresses either. Consider that the DNS at Starbucks could have been compromised to redirect slashdot.org to the attacker's servers, thus gaining your login cookies for slashdot. And they could update your cached copy of slashdot's javascript while they're at it. What this boils down to is that connecting over http on an insecure network is a security risk, and not just for the period that you are connected.

    2. Re:I don't see any actual erxploit here by IntlHarvester · · Score: 1

      Yes, but if you control the starbucks network, there's much easier ways to own people that don't rely on their internal network details.

      --
      Business. Numbers. Money. People. Computer World.
    3. Re:I don't see any actual erxploit here by ToasterMonkey · · Score: 1

      You wouldn't be 'owning' the laptop users, you'd be gaining access to their private networks. If you logged enough info from the starbucks network, you could probably discover lots of internal sites that people had bookmarked and forgot which network they were on when clicking it.

      The root of the problem seems to be caching scripts from sites the browser can't positively identify. Why didn't anyone think of this when XSS vulnerabilities first hit the front pages? You just shouldn't cache dynamic content from sites without trusted certificates, period :\

  11. Don't assume... by FranTaylor · · Score: 2, Interesting

    That your internal network is "safe"

    Keep up those firewalls and security on all machines on a network with Internet access.

    Belt-and-suspenders security is the only way if your resources are finite.

  12. Maybe I'm missing something... by azrider · · Score: 2, Interesting

    The article specifically mentions VPN's (Virtual Private Networks). By definition, these are encrypted. Unless the attack happens prior to the VPN connection, how does the attacker inject anything into an encrypted datastream? If it is done prior to the connection, what is new about the attack vector
    Once the VPN is connected, for all intents and purposes the equipment on both ends of the line are on the same LAN (different segment maybe, but not necessarily). This is much smoke and no flame.

    --
    And ye shall know the truth, and the truth shall make you free.
    John 8:32(King James Version)
    1. Re:Maybe I'm missing something... by Anonymous Coward · · Score: 1

      Exploit: user connects to free WiFi which uses 10. or 192.168. addresses. That WiFi connection inserts iframes into google.com with whatever they want to cache. User views google.com, doesn't notice the iframes. User later connects to their VPN and brings up one of their intranet pages that got cache-poisoned via an IP URL. Attacker's cached Javascript now runs with the user's rights to that intranet page.

    2. Re:Maybe I'm missing something... by IceCreamGuy · · Score: 1

      Once the VPN is connected, for all intents and purposes the equipment on both ends of the line are on the same LAN

      You're missing the point, which is that whether or not you're connected to the VPN, chances are good that your browser stores some credential information. If you're on a LAN that's the same subnet as your VPN endpoint, then once you disconnect, a malicious local user would be able to coax your browser to give up cookies about the VPN-accessed pages. Your browser uses IP addresses to associate a cookie with a host, which is what makes this possible, and explains why the certificate model of HTTPS on the corporate Intranet foils this attack.

  13. Say What??? by al0ha · · Score: 1

    >> But because the amount of non-routable IP address space most commonly used for intranets is so small--about 1280 addresses, Hansen estimates--collisions between networks often occur.

    First of all there is no such thing as non-routable IP addresses. While private IP space may not be routed on the Internet, it is all routable on the private network.

    Secondly, 10. private IP space is a Class A assignment which translates to 16,777,216 IP addresses. Where did they get 1280?

    Or am I missing something here?

    --
    Did you ever wake up in the morning, with a Zombie Woof behind your eyes? -- FZ
    1. Re:Say What??? by Tony+Hoyle · · Score: 3, Informative

      Yes.. the writer of the article doesn't know squat about IP and/or is pushing an agenda (like suggesting ipv6 as an alternative).

      As another poster mentioned, the number of things that have to happen for this to be a practical exploit makes it laughable. If your VPN is compromised to that extent a few cookies is the *last* of your problems.

      btw. there are non-routable IP addresses.. the whole 127/8 block, broadcast addresses, etc. but the original article just got it completely wrong.

  14. You need your eyes examined by rattaroaz · · Score: 1

    Robert Hansen is a MAN, not a horse. Get your facts straight!

    1. Re:You need your eyes examined by Anonymous Coward · · Score: 4, Funny

      That's not what the ladies say... ;)

  15. Re:Only an issue if you use IP based URLs by Tony+Hoyle · · Score: 1

    If bad guys control the server end of the VPN the entire network is likely compromised and needs to be shut down for de-lousing. DNS injection attacks (hell, why bother, ARP spoof) are just the icing on the cake.

    And of course the server end of a VPN can redirect any URL to any IP. It's called a proxy. Lots of companies use them.

  16. Another possible mitigation by Burz · · Score: 1

    It might be interesting to have the VPN software tell client programs (browsers) to flush cache whenever the former makes or breaks connection.

  17. Re:Only an issue if you use IP based URLs by QuantumG · · Score: 1

    Ya.. I don't really get why this attack would be of much concern to anyone, but that's not a requirement for security research these days :)

    --
    How we know is more important than what we know.
  18. Re:Author of article is a fucking cunt by Philip_the_physicist · · Score: 2, Informative

    RTFA. He is saying that only about 1280 non-routable addresses are normally used, not that only 1280 exist. It is the small number which are normally used which makes guessing addresses viable.

  19. It's a switcheroo by Anonymous Coward · · Score: 1, Informative

    The attack scenario involves two separate networks with RFC1918 addresses. The victim is on one network, the attacker is (to some extent) in control of the other network. The victim connects to the other network with a VPN client and requests pages from a webserver on that network.

    The VPN connection is the key here, because it allows the attacker to create routes for servers which are normally on the victim's network. If the addresses used were public addresses, the client could be configured to reject overriding routes, but since collisions of RFC1918 addresses are to be expected, it accepts the routes.

    The attacker can use these routes to poison the victim's browser cache: The browser can't tell the difference between the attacker's server and the server which the victim normally connects to, because they're named the same and have the same IP address. Only the routing has changed.

    When the victim disconnects the VPN, the attacker's files remain in the browser cache and when the victim connects to the local server, they're used instead of the correct files.

    The attacker could steal cookies directly, without poisoning the cache, but capturing a live login (or other locked-down resources) requires control over the login page while the victim logs in to the local server, i.e. when the victim is not connected to the rogue network via VPN. That's where the cache poisoning comes in.

    1. Re:It's a switcheroo by wintermute000 · · Score: 3, Insightful

      As others have pointed out above: why the heck would anyone VPN to an untrusted network? The only way that would be remotely feasible is with some kind of DNS exploit.

      Then that's assuming that you've got your 'trap' network setup to accept connections from whatever VPN software the target is using?!?!? (Cisco client? Juniper??!?! SSL web based? Nortel? what version??!?!?! What if split tunnelling is disabled??!!) And you know what credentials the end user is using so the connection is 'accepted'.

      And you know what internal servers the end user is going to target.

      If you know that much about your target's intranet then whats the point of doing this, you're already in anyway via other easier more deadly means. brunes69 (86786) sums it up nicely

      And oh its obviously complete BS that there's only 1280 'non routable' private addresses, yes they're routable, yes there's more but the point is most people use 10.0.0.x/24, 10.1.1.x/24, 192.168.1.x/24 and the like. So effectively you only have to cover a dozen or so of the common /24s. But my above point still stands

  20. Er...that is not a new exploit, and makes no sense by brunes69 · · Score: 3, Insightful

    Because if the attacker could do that at Starbucks, he would not need to cache-poison my browser to get my login cookies to slashdot... they would already be sent with every request.

    This is why DNSSEC is important to get rolled out. And also why you should not use public WiFi to do anything online that you worry about someone compromising.

  21. upnp, arp, javascript, iframes, pork me more! by Anonymous Coward · · Score: 1, Interesting

    Let's not forget upnp, which a ton of fools leave enabled:

    http://www.gnucitizen.org/blog/flash-upnp-attack-faq
    http://www.gnucitizen.org/blog/hacking-with-upnp-universal-plug-and-play

    Ask 20 random people outside of a computing environment how they disable javascript in their browser and gauge their responses, now ask about Iframes. A growing number of javascript attacts are targeting arp in interesting ways, upnp or no. If you're not in a static arp environment, do the research *now*.

    I simply won't use NoScript since the recent negative news about it. I won't use Firefox, either. Opera offers a much wider and simpler blocking ability of content across the board. It's proprietary, but so is the flash plugin which most of you swallow while using Firefox. So are the graphics drivers in a lot of your *nix setups.

  22. Use 10.$((RANDOM%256)).$((RANDOM%256)).0/24 by rdebath · · Score: 1

    This all relies on being able to arrange a collision of RFC1597 addresses if you use

    echo 10.$((RANDOM%256)).$((RANDOM%256)).0/24

    ,

    echo 172.$((RANDOM%16+16)).$((RANDOM%256)).0/24

    or

    echo 192.168.$((RANDOM%250+4)).0/24

    to choose your trusted network it becomes a lot harder. The 172 range seems especially overlooked.

    A targeted attack, where the attacker isn't guessing addresses, is still possible of course.

    BTW: This has always been suggested because of the possibility of later merges of multiple private networks.

  23. Re:Author of article is a fucking cunt by iggymanz · · Score: 2, Informative

    in the real world, where NAT boxes spit out dhcp on a default subnet with a default gateway address, what the author presents is indeed the case. but you may insert your head back into your rectum if you think the air smells better in there.

  24. Re:Er...that is not a new exploit, and makes no se by Gunstick · · Score: 1

    what I don't understand. I thought browsers would cache via server names and URI, not on base of the resolved IP address. So as long as your intranet is on intranet.example.com and not on 192.168.1.3 I can't see a problem.

    --
    Atari rules... ermm... ruled.
  25. Not identical by TheLink · · Score: 2, Interesting

    127.x.x.x addresses are supposed to go to the loopback device. But that does not mean they are identical.

    You could have different services/servers listening on different loopback IPs (though same ports). Then have your firewall rules redirect[1] different connections to the different servers.

    For some of the programs I write, to help prevent multiple instances from running I have the program bind exclusively to a "loopback address:port". It's ugly, but pretty effective :). If my program ever crashes or gets SIGKILLed, the O/S will automatically free up the "lock", which is harder to do reliably and safely if I use filebased locking. Yes it's a waste of addresses and ports, but there are about 16 million loopback addresses I figure the server can spare a few of them.

    Anyway there are plenty of uncommon 10.x.x.x addresses. When I had to select 10.x.x.x address ranges for work-related purposes, I just picked ones that I thought that would be relatively unused and then googled for them to confirm they were relatively unused. I found it quite easy to guess which ones would be rare for some reason.

    I won't say which ones I picked of course ;).

    [1] If a hacker or a fault removes the firewall rules or the firewall stops working, hopefully the servers become inaccessible to the outside world.

    --
  26. Possible? Yes. Realistic? No. by Mathinker · · Score: 1

    From Wikipedia about IPv6 private addresses: "The addresses include a 40-bit pseudorandom number that minimizes the risk of address collisions if sites merge or packets are misrouted."

    So you are technically correct that the exploit is still possible --- but it isn't practical unless the attacker knows most of the bits of that 40-bit salt. And even then, since subnets are 64-bits wide in IPv6, it looks to me like the probability of the attacker guessing the IP address of some resource in the private network is vanishingly small.

    Or am I missing something? I'm far from being an expert on networking.

    1. Re:Possible? Yes. Realistic? No. by TheRaven64 · · Score: 1

      You're not missing anything other than the fact that two exploits can be used in conjunction. There is a vulnerability in most browsers currently, for example, which lets some JS find whether a link has ever been visited by interrogating the stylesheet. Similar vulnerabilities can be used to get the address of the VPN server. Once you've done that, you can use this vulnerability to compromise the intranet. The second exploit is much harder if it's a publicly-routable (but firewalled) address.

      --
      I am TheRaven on Soylent News