20

Everyone knows that Windows XP is highly insecure these days. However, here is an example situation:

  • Windows XP box is connected to a LAN.
  • This means the router's firewall is between the XP box and the Internet.
  • Additionally, the Windows XP box is behind the router's NAT.

Of course I don't have any doubt that Windows XP has some serious security weaknesses in the OS itself, the built-in firewall, etc. If one was to connect an Windows XP box directly to the Internet, for example:

XP Machine <----> Modem <----> Internet

it is to be expected that the box would be compromised incredibly quickly. (I would not be comfortable doing this even with the latest Windows 11 system). However, when behind a NAT + the router firewall, (without any port-forwarding, etc.), any inbound traffic from the WAN will not be let in. Obviously, this is a side effect of NAT, but even without NAT, most routers block inbound connections by default.

In addition, lets say the box is not used for general web browsing, and random software from untrusted sources is not regularly installed. In this scenario, is the OS still vulnerable? If so, how?

Of course it will be vulnerable to attack from the LAN. However, if it is on a trusted LAN this is not an issue: Others on the LAN shouldn't have reason to attack the machine, and if another device is compromised already, and a worm or something is propagating, you would have bigger problems than worrying about a little Windows XP machine being hacked.

TLDR -

Windows XP machine connected like this:

XP Machine <----> NAT Router + Firewall <----> Internet

Malicious software will not be a problem (social engineering in email with attachment, installing untrusted software, etc.), and the machine will not be used for general web browsing. Threats from internal LAN are not a concern. Is, and how is, this box still a security concern?

Perhaps it would have been more appropriate to ask: In this situation, how can the box be attacked / can it be attacked? (No inbound traffic from WAN allowed, no general web browsing, etc.)

10
  • 7
    vulnerability is not strictly determined by network reach-ability. if it were you might be on to something, but its not. Commented Aug 21, 2023 at 19:29
  • 3
    Just because the NAT protects you doesn't mean you should let that machine anywhere near the internet. XP is old enough that many browsers and programs simply don't support it meaning you have to use older versions of those programs. Those programs may themselves have vulnerabilities that let an unwanted program into your system. From there the rest of remaining vulnerabilities in XP itself could make it trivial for the unwanted program to completely take over your system. If you are still using XP then you should rip out the Wifi card and epoxy bits of plastic into the ethernet ports.
    – Mokubai
    Commented Aug 21, 2023 at 20:09
  • 2
    The above applies to any program running on that machine with any kind of internet access. Some programs connect to your router and open up ports using UPnP and essentially redirects network traffic from your router directly to your PC, thereby exposing that software directly to the internet. Old programs may connect to defunct domains for updates and those domains may have been hijacked so the program could download malware posing as an update. There are a lot of ways insecurity can manifest.
    – Mokubai
    Commented Aug 21, 2023 at 20:13
  • 2
    @Criggie - I do have a reason to use XP still (Legacy software interfacing with legacy hardware), but i am having trouble getting hands on a (working) XP system. However, this question itself is mainly hypothetical at this point, to educate me a bit as to possible attack vectors.
    – M_D
    Commented Aug 22, 2023 at 6:58
  • 2
    UPnP would definitely be disabled in the router anyway (First thing to do when getting new router!), however i hadn't thought of what you say about domain hijacking etc - Good Point!
    – M_D
    Commented Aug 22, 2023 at 7:00

11 Answers 11

26

Yes, it can still be attacked, using a web browser (or anything else, really) on a seemingly secure device on the same network as a proxy of sorts. There’s a lengthy paper on this method. As it explains:

JavaScript loaded from a malicious site can connect to services running on the user’s local computer (localhost) or on other internal hosts in many circumstances. Modern web browsers do not completely prevent attacking the internal network using a victim browser as a proxy. In fact, not only can we have the victim browser send requests internally, but we can also discover internal hosts, do limited port scanning, do service fingerprinting and finally we may even be able to compromise vulnerable services via a malicious JavaScript.

In essence, this is a specific case of cross-origin request forgery or cross-site scripting. How well this works depends on what the XP device is doing.

Keep in mind that the browser can even be used to exploit some non-HTTP targets. After all, the goal is not getting an HTTP response, but rather making the target device do things.

Note that this type of attack doesn't require the "proxy" computer to be compromised in any way, just to run JavaScript from a malicious source. It doesn't even have to have visited a malicious website, since malicious content is sometimes smuggled into legitimate ad networks, and therefore loaded from pages on completely innocent websites (a practice known as malvertising).

tl;dr: Your XP device must also be secured against attacks from the local network.


I recommend using a VM (with NAT connectivity only, not bridged) instead, unless 3D acceleration is absolutely required.

6
  • 2
    @ThorbjørnRavnAndersen An application running on a local device would initiate the actual connection in this attack method. The NAT router doesn’t even see this connection.
    – Daniel B
    Commented Aug 22, 2023 at 8:47
  • 2
    _ Of course it will be vulnerable to attack from the LAN. However, if it is on a trusted LAN this is not an issue:_ Commented Aug 22, 2023 at 9:10
  • 7
    @ThorbjørnRavnAndersen Did you even read the answer and the linked paper? Do you understand the attack vector?
    – Daniel B
    Commented Aug 22, 2023 at 9:30
  • 5
    If another machine on the internal network is already compromised, what difference does it make if the XP machine is subsequently attacked? It's too late already. Either you have an even more vulnerable machine you shouldn't have, or a more secure machine that got compromised anyway. Either way, you have bigger problems.
    – Atario
    Commented Aug 23, 2023 at 0:33
  • 4
    @Atario I wouldn't call the "proxy" machine compromised in this case. Again, I suggest reading the paper.
    – Daniel B
    Commented Aug 23, 2023 at 4:39
15

I'm going to dissent from the other posts and say you have covered - or at least touched on most of the attack vectors you need to worry about for an XP system.

In other words, if you very much control how the XP system can reach out to other systems, and you can be absolutely sure your LAN is secure and won't be subject to any kind of reflection or other attack you will be ok but this is a big ask - maybe bigger than you think

If you are serious about this, have you considered putting a separate firewall between the XP box and the rest of the LAN?

I'm reasonably sure a fair number of large organizations (especially in the medical field) contend with exactly the issues you describe due to the cost of equipment not supported on newer OS's that is vital to the operation. I expect they are locked down as much as possible, and in many cases will have highly restricted access than other devices.

2
  • 2
    Anecdote: I recently saw in a hospital a device (EKG result logger?) connected to a Windows XP machine. The techie told me it's not online at all, and they ferry data to/from the device to actual machine using disk-on-keys. Still, they once got malware on the machine, presumably through the disk-on-key itself.
    – Jonathan
    Commented Aug 23, 2023 at 11:02
  • 1
    indeed, this is part of why hospitals keep falling to ransomware. Keep in mind that Hospitals are prime targets in cyber-warfare so their threat actors are often nation-state level entities. Commented Aug 23, 2023 at 23:36
9

You currently have no secure way to download/install any software on XP. Computers is pointless without software.

But with an old OS like XP, it doesn't support the latest version of TLS. There has been a number of major TLS vulnerabilities found since XP went out of support. Trying to connect out to any servers to download anything will be insecure, even if you absolutely trust the server and the downloaded file itself.

Even if there are still download servers that still have backwards compatibility to allow you to connect with old SSL versions, most of the included the CA root certificate in XP are already long expired. You won't have any way to download updated root certificates either. You won't be able to load most websites as they'll have TLS configuration that's not supported by XP.

I'm not quite sure if Microsoft even still maintain Windows Update servers for you to download the root certificate from there and even Firefox has already dropped support for XP.

And there won't be a way to get new certificates for old CAs if you want to run your own download server.

You won't have any way to verify integrity of downloaded files either. AFAIK, there's no way to calculate file checksums with modern algorithms in XP.

You may be able to use USB drive to transfer root certificates and software installers from an up to date machine, but this opens you up to USB attacks. If the USB drive is infected with a malware, XP will happily autorun the malware.

Also, Windows Update itself may also be a problem. The auto updater component of the OS, which IIRC was enabled by default, would try to connect to old Microsoft servers to download updates, but XP will try to do that using old, vulnerable SSL version. An attacker that can sit between your network and the Microsoft server can potentially use vulnerabilities in the SSL connection used by XP to pretend to be Microsoft Update server and inject malicious patches.

There's a number of other vulnerable components that automatically makes outgoing network requests. Windows XP can sync system clock to Internet Time, so an attacker can try to exploit NTP vulnerabilities. Same with DNS, XP would try to ping Microsoft Update or other old Microsoft services, and to do that it'll need to resolve DNS. Any vulnerabilities in the DNS component may be exploitable.

Basically, yes, you can probably run an XP machine behind a firewall and if you disable all of the automatic outgoing network connection it does, then yeah, you probably can run it without getting attacked. But you're going to open up yourself to various attacks if you try to do anything with it.

If you're doing something like this, you definitely would want to configure your firewall to treat the XP machine such that it is on a separate network from the rest of your regular LAN. You should not allow any network connections between your XP and your LAN that hasn't been specifically whitelisted.

10
  • 6
    "You currently have no secure way to download/install any software on XP" - CDs
    – 9072997
    Commented Aug 22, 2023 at 12:42
  • 1
    @9072997 Good luck finding a printed CD with a copy of the latest version of software you wanted to install that's still compatible with XP, and good luck hoping that that copy still can still correctly validate its license key. And before you say that you can burn your own CD, that has the same problems as USB drives, in that burning your own CD is a vector for autorun malware. Might as well just use USB drive, as that's much cheaper. Also, downloading the CD images from abandonware sites are also quite sketchy, both legally and security wise.
    – Lie Ryan
    Commented Aug 22, 2023 at 13:20
  • 6
    But that’s trivial. If OP needs XP, some legacy software is probably already there. And even if it isn’t, downloading on a modern system would include all the latest AV checks and whatnot. If that’s not secure enough, what is?
    – Daniel B
    Commented Aug 22, 2023 at 17:53
  • 4
    Plenty of us still have lots of CDs of XP-era (or earlier) software... Commented Aug 23, 2023 at 3:25
  • 5
    @Peter-ReinstateMonica what? XP wasn't released 20 years -- oh god no Commented Aug 23, 2023 at 13:44
7

I am going to have a go at answering my own question - Just to summarize the great info in other answers. If anyone disagrees with me, or wants to add something please do!

Windows XP should not be used (Internet Connected) if it can possibly be avoided: That's a given. If it absolutely must be used with an internet connection the following steps should be taken.

  • Running in a VM is a great idea. In this case, we will say we are not virtualizing though.
  • The XP Box should, at least, be connected like this:
XP Machine <----> NAT Router / Firewall <----> Internet

Never do this

XP Machine <----> Modem <----> Internet

You should NEVER rely on the internal XP firewall for anything!

  • At this point, the router should be blocking inbound connections by default, and you have a baseline level of security. Now, you should think about general network security (I.E UPnP OFF) and implement a policy of deny all connections, except those that are explicitly needed. (Putting the XP machine in a dedicated VLAN could make this easier). So:
  • Block all connections XP Machine ---> WAN, except what is needed. For example, you could allow connections to a specific IP on port 443, and nothing else.
  • Block connections LAN Devices ---> XP Machine, to prevent such attacks as described in the paper in Daniel B's answer. You could allow connections XP Machine ---> LAN Devices if needed, however if not needed, it would be best to block those as well. NOTE: Allowing connections to the XP machine from LAN devices, or worse, from WAN to the XP machine, I.E using XP as a server, is outside the scope of this answer, and EVEN MORE RISKY!

In this case, inbound connections to the XP box are all blocked, and all outbound connections, except those specifically used, are also blocked. This prevents issues as described by Mokubai with random programs creating connections for "updates" etc.

1

Is, and how is, this box still a security concern?

Windows XP has little built-in security and what is there is still substandard in today's terms.

So is it still insecure? Yes. Anything that can attack it by any method can still get to the administrator account.

I really suggest you do not use Windows XP any more.

1

I note that the usage case is running ancient software to control ancient but still valuable hardware. IMO the only good reason for keeping ancient OSes alive.

The answer is a strict network block on a firewall between XP and the internet. Also strict restrictions between it and the LAN. Any packet from its IP address or its MAC address arriving at the firewall, gets dropped. Any incoming packet fron outside to its IP address, likewise.

The average NAT router can't do this. A Linux system used as a firewall, can. That same Linux system can allow XP to use SMB1 or FTP or whatever, to copy data from itself to the firewall machine and nowhere else. This data can then be further copied from another host on the LAN. Sending stuff inwards does the same in reverse, but security-vetted personnel only, and there had better be a good reason!

XP box -- single x-over Ethernet Cable -- Linux box Ethernet port 1
                    isolated network, two fixed class C private addresses.

                               software (no packets cross this firewall) +
                               staging storage, preferably readonly from your LAN

                   Your LAN -- ethernet --Linux box port 2
                     fairly normal LAN connection, a different class C private net.

Users will hate this. They want to browse the net while the machine does its stuff. If you are certain you have the zero-routing firewall set up right and the XP-accessible filestore suffickiently well protected from their browsing, maybe you can let them browse using the Linux box.

Oh, and make sure you have an image backup of the XP system's disk, so if anything bad gets through (or if XP nukes itself, which isn't impossible), you can entirely erase the disk and restart from the backup.

1

Let's assume that the following hold:

  • the box has either the embedded firewall or a third party software firewall installed that disallows all incoming access,
  • on the LAN router NAT is enabled, UPnP is disabled and no port forwarding is enabled,
  • the local LAN is absolutely secure, or the XP box is the sole system in the LAN

Basically, it all depends on the type of applications used:

  • if they are specialized network-aware applications (say some sort of medical equipment application that connects to the manufacturer network to upload data, get firmware upgrades etc), there is always the danger of man-in-the-middle attacks, as others have suggested. Cross-check the version of the application installed with the National Vulnerability Database: is the version used exploitable on your setup? Bold is used here, because NVD assigns a weighted score on a vulnerability, meaning that it might be vulnerable, but not in your own case. If however your use case signifies that there is impact on your setup, then there might be significant danger: if we were not talking about an EOL OS here, then one could simply upgrade the application to the next version not affected, but in most cases there is no other version to install on XP, due to missing facilities (current .NET libraries, TLS 1.2 connectivity etc). All applications on XP are basically monolithic now: no upgrade routes -> no way to overcome old-version vulnerabilities...
  • if they are generic network-aware applications, similar constraints exist (example: a torrent application)
  • if the applications are not network-aware normally (Microsoft Office comes to mind) and no processing of externally brought material takes place, then the box can work as though as it was airtight, even though the applications themselves might be vulnerable. However, if external material is brought in (file transfer with USB sticks, for example), then there is a good chance that files might be infected. This is a huge problem, especially considering that no (AFAIK) antivirus products exist for the XP platform. In this case, avoid operating this software category on the box at all costs!
2
  • 1
    Sorry but its way too long and way to rantish to be useful to anyone. Can you make it more ti the point please. Commented Aug 31, 2023 at 7:16
  • Sure, will cut it down a bit, but give me an hour; in the middle of some AD work atm.
    – carmik
    Commented Aug 31, 2023 at 11:12
1

Interesting to hear all of the panicky views about how insecure XP is in light of the fact that I have had an XP machine connected to the internet ever since 2006, in part due to legacy hardware needs, in part because I still think its one of the best OS Microsoft has ever produced and I feel familiarity allows for efficiency by avoiding the many wasted hours trying to find out where features have been hidden in new operating systems. Admittedly it has been connected via a router which has its own firewall active and with full internet security packages installed throughout ...I have changed internet security packages over the years as each company in turn has dropped XP support, with Avast the latest to finally stop working about 10 days ago. I am currently looking for an alternative!

The machine is used daily for email and internet browsing (I don't access any dodgy sites, but do a fair amount of searching), although more & more websites are ceasing to work with the outdated Firefox 52.9.0 that is the last browser standing on the machine...

Despite this, I have yet to be hacked, scans show no viruses on the system (maybe I'm jinxing things by saying this!) and I have to say I am rather skeptical of the fear-mongering that seems to prevail when anyone mentions "XP"!

0

Things which you definitely need to additionally check are HW/firmware which does not receive updates due to the system being outdated:

  • WLAN. e.g. There have been problems with certain key generation procedures
  • Bluetooth. Low level weaknesses in cryptography

Also, software updates of installed SW

  • may be insecure since the SW versions for XP are not maintained/updated
  • may also be insecure since it downloads updates an/or relies on outdated cryptography in verifying updates and/or other dynamic content (design templates or something like that)

May be affected by outdated cryptography (e.g. XP does not have bitlocker, is your HD encrypted?)

If you want to use this in a productive setting it may be difficult to obtain SW versions (e.g. drivers) from a proper source.

So while it is possible that there is a use case for what you want to do, your security considerations need to go significantly beyond "i put it behind a firewall", and I would only recommend it for edge cases.

0

It depends on what that machine does.

If it is solely powering something (I saw an XP running a tire leveling machine) AND is alone in its LAN AND is behind a NAT then you are quite safe.

If there is a user connecting to the Internet then you have just opened a breach by watching possibly malicious pages that will use vulnerabilities on your system, or reading emails, getting their attachments and launching an attack. Or other similar attacks.

If the machine is not alone on its LAN, it can be attacked by another compromised machine. This is called lateral movement.

There can be legitimate reasons to keep an XP (this is the reality of the real world) but special care should be taken. One of the first things would be to disconnect it from any networks to avoid the vast majority of issues.

0

Because anyone with access to a computer and youtube could eventually get an MSF console running and if directed at AutoPown it is game over...

https://www.rapid7.com/blog/post/2015/07/15/the-new-metasploit-browser-autopwn-strikes-faster-and-smarter-part-1/

Past that anything on the network could move latterly into it in a myriad of ways.

Real dangers too numerous to count overall. But the bottom line is lots of things that will never be fixed.

IF you have to run one for specific reasons such as old serial devices/software/drivers like cutters, embroiders, lab equipment, etc. There are ways to virtualize it inside a safer LAN host, deny it all access to a network, and in THOSE cases it implies physical access at least.

Last but not least, been doing this a LONG time and done security work for a large part of it, and I have never in my life seen a "Trusted LAN" some safer than others would argue, but LANS are like secrets, they are only safe if everything on them is not connected to anything else, and therefore no longer a LAN. "two people can keep a secret if one of them is dead." -- Mark Twain same for computers :-)

Presence of a networked XP system to me would be one definition of an "Untrusted LAN"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .