Hack: Pidgin-Gtalk Connection Problems – Get Around The Corporate Firewall
Blog | Tech Blog | Secure Coding | Twitter | RSS Feed | Get Email Updates
I recently wrote a simple answering machine program/plugin for pidgin and someone asked me to port it to 32 bit. So I fired up pidgin within my virtual box installation at work (as I have only a 64 bit machine at home) but couldn’t get it to connect. Tried all sorts of methods found over the net of changing ports etc, set port forwarding in Virtual Box NAT, even switched to using a bridged host interface but still no go. On a whim, installed pidgin in the host, i.e., windows and still the same issue. Hmm, interesting.. But wait, gtalk client works, then what gives.
Well, after a bit of snooping around, discovered that it’s a special funda that my company employs (and probably yours too) to monitor your IM conversations. The server talk.google.com was redirected to another server set up by my company that masquerades as gtalk server and tries to act as a “Man In The Middle” to hijack your connection and listen to everything while you live in the fantasy that since its an “SSL encrypted” connection, everything is secure. However, “fortunately” pidgin refuses to connect here (More details in the end)
But as they say, rules are meant to be bent and broken. Here, is a simple way 3-step procedure to circumvent around this.
- Open up your gtalk account settings in pidgin and go to Advanced tab.
- Check “Force old port”, uncheck “plaintext auth” and uncheck “Require SSL/TLS”. Also change “Connect port” to 443.
- The main part: Go to an online nslookup service and do an nslookup for talk.google.com. Put the IP that you get in place of “talk.google.com” in the settings.
That’s it. Go and chat away. (or if you want to know the reasoning behind this, hit the link below)
More Details:
Skip this if you want, only for the people who are interested, here are some details on why pidgin does not connect in this situation and how you can find out if your company is using this tactic.
- How pidgin tries to connect to gtalk servers is that first it makes a connection to talk.google.com and gets and verifies the certificate from there. Then it tries to connect to gmail.com. Now there can be various situations:
-
- Its unable to complete the transaction in the first place because you didn’t use the port 443, so firewall blocks it hence it can’t communand tries to fallback to plaintext authorization which is not supported by google and hence it fails.
- You chose correct settings to go around firewall but now after verifying certificate, it just keeps “connecting”. Basically, it passes through the talk.google.com phase and then tries to connect to gmail.com (don’t know why) and gets stuck on this step because the company is masquerading the gtalk server but not the gmail server.
-
- Look for the following symptoms to see if your company is doing “something”
-
- Do “nslookup talk.google.com” in your command prompt (not through web), then say you get an IP x.y.z.w. Now do “nslookup x.y.z.w” again in command prompt. Now you will get the real name of the server that is your company’s. Can try this for other IM servers as well (e.g. yahoo)
- When pidgin asks you to verify the certificate, don’t take it lightly. Just fetch and see the certificate and it’ll definitely be pointing to some other domain.
-
Enough fundas for today. Let me know if this helped you out or if you have your own techniques of finding and circumventing around such stuff.
© Shantanu Goel | Hack: Pidgin-Gtalk Connection Problems – Get Around The Corporate Firewall
|
Liked this post? Get FREE Updates Subscribe to RSS feed |






This post has 19 comments
September 8th, 2008
Great Stuff… i’ll also try this at office..
September 9th, 2008
Wow! I am online from office network
September 9th, 2008
helped me at my home workplace,thanks
September 22nd, 2008
Thanks.. It works..!
September 27th, 2008
if you use a alternate dns (i highly recommend level3’s 4.2.2.2, 4.2.2.3, 4.2.2.4 as other free dns’s are slow and play the same bs) then you will be immune to this attach and all secure/ssl/tls connections should be completely secure, they can still look at unencrypted connections.
September 27th, 2008
Thanks for the info, Shawn…
December 7th, 2008
Thanx, it works!!
February 10th, 2009
Hi, thanks 4 the info. I tried at office, but pidgin returns “SSL handshake failed”. The extrange situation is that the icon is in green… Any idea? Thanks in advance
December 22nd, 2009
I have the same here, any help?
April 20th, 2009
I had weird problems with pidgin and gtalk at a friend’s house. Some problem with their budget router?
Anyway, following the steps described here cleared it up nicely. I wonder if the gtalk ip was what was giving me grief?
Anyway, I’m not going to probe – it works.
June 23rd, 2009
Wow dude, thanx
June 24th, 2009
wow dude u r genius
July 8th, 2009
You say: “Put the IP that you get in place of “talk.google.com” in the settings.” But in what settings? Pidgin settings? Gtalk settings? I’m trying to make this work and I’m not sure what I’m doing.
July 8th, 2009
@Whitney: I mean pidgin settings, where you configure the account.
July 8th, 2009
I still cannot connect. It says “read error”. Oh well, thanks for the help.
July 21st, 2009
I’m not finding talk.google.com any where in the advance tab under modify account window. I’m getting connect server. I’m using PidGin 2.5.8
December 22nd, 2009
I have SSL error here , any help? thanks in advance
March 10th, 2010
Great stuff! Thanks
July 9th, 2009
@Whitney: What does it say in the debug console? There is a debug window that you can enable somewhere in settings. Don’t remember where exactly..