May 27, 2010

How To Hack Your MagicJack To Make Calls From Any SIP Enabled Softphone in Windows and Linux Part 3 – Using Your MagicJack info in Linux

Okay, if you have been following along all week I have showed you how to obtain your Magicjack username and password by doing a memory dump, and I showed you how to use that information to connect a softphone in Windows. What about you Linux users? Well, I am a Linux user myself, so I will show you guys how to do it too.
Like I said before, using other methods to connect to you Magicjack service other than the way magicjack wants you to (USB dongle in Windows) violates their TOS. I accept no responsibility if you lose your account because you want to hack your Magicjack. The following is for educational purposes only, and if you do this, you do so at your own risk.
Ok, lets get what we need:

As I mentioned in yesterday’s post, the way I believe Magicjack authenticates with their proxies is they combine your password with their proxy info to create an MD5 hash. With that hash your can authenticate with their proxies to make and receive calls. Without it, you will not be able to connect. In Windows I mentioned a tool called MJMD5 that creates this hash authentication for you. In Linux, it is a little bit different. In Linux, you have to compile the tool yourself. I am using Ubuntu 10.04 for this.
  1. magicjack Install gcc so you can compile the source code

    >sudo apt-get install gcc
  2. Create a directory called mjproxy

    >mkdir mjproxy
  3. Change into the newly extracted directory

    >cd mjproxy/
  4. Download the mjproxy source

    >wget http://ftp.bauer-power.net/misc/magicjack/mjproxy.c.tgz
  5. Extract it

    >tar -xzvf mjproxy.c.tgz
  6. Compile the source code into a program

    >sudo gcc -o mjproxy md5.c mjproxy.c
  7. Give everyone full permissions

    >sudo chmod 777 mjproxy
  8. Make the program file executable

    >sudo chmod +x mjproxy
  9. Run the following to start the proxy authentication process and leave it running

    >./mjproxy 0.0.0.0 5070 proxy01.<yourcity>.talk4free.com 5070 <MagicjackPassword>
mjproxy
Now that we have our MD5 proxy running, we are ready to setup our SIP softphone! For this I used Twinkle which is available in the repositories. To get it working, do the following:
  1. Install Twinkle

    >sudo apt-get install twinkle
  2. After installation open Twinkle from Menu > Internet > Twinkle
  3. Setup your account information with the following:
    • Your name: Whatever you want
    • Username: Your Magicjack Username (E<YourPhoneNumber>01)
    • Domain: 127.0.0.1:5070
    • Realm: Blank
    • Authentication Name: Your Magicjack Username (E<YourPhoneNumber>01)
    • Password: Your Magicjack Password
    • AKA OP: Leave Deafault
    • AKA AMF: Leave Default
  4. Click OK and you are ready to go!
twinkle1
Now you can make Magicjack calls from your Linux machine! Make sure you have a good USB microphone headset though. When I tried it on my laptop with the internal mic there were a lot of echoes.
The cool part of this setup is that you could configure mjproxy to run as a service by adding it to init.d… Hmmmm, with that you could configure say…. Asterisk or 3CX to authenticate with Magicjack, and share out that number with a bunch of users using extensions.



Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | stopping spam