A general problem in networks: tools that allow session hijacking make it possible to position themselves between connections. The key point is that the connections are routed transparently through this program: the user doesn't notice it. This also works across switches - the corresponding programs steal the connection via ARP spoofing and then insert themselves in between. The only solution here is a consistent migration to protocols that work with mutual certificates and encryption - where both server and client ensure that they are communicating with the correct partner. But even here, attack vectors are still possible. Absolute security in networks where you have no control over the infrastructure does not exist.
By the way, the technology behind the attack is quite interesting: first, ARP spoofing is used to steal the connection. Then all connections are routed through the intermediate computer. In doing so, the computer presents itself to the server as the client, and vice versa. Encryption is therefore only useful if the protocol regularly performs checks using a shared secret and if the two partners identify themselves to each other using asymmetric methods. Still, the man-in-the-middle can often impersonate the other by using data from a transparently passed-through connection to replay it later (this can crack some encryption setups).
Ultimately, the problem can only be solved at the lowest level - securing connections at the lowest protocol level. Only when appropriate security mechanisms are in place at the IP level can we even hope to get this problem under control.
In the meantime, admins can provide some protection by using ARP watchers and monitoring programs to detect when such attacks occur. But this too is only a very shaky and unreliable tool, since the admin theoretically has to regularly review all protocols - and the signs are often only very minimal (such as the brief appearance of an unknown MAC address in the network).
At RP-Online: Multimedia I found the original article.