This is an old revision of the document!


Mumble

Credit/Source: http://huertanix.tumblr.com/post/55261352264/location-anonymous-voice-communication-a-step-by-step by @huertanix

Mumble, on the other hand, is an open source project intended for gaming, but which can also siphon all voice traffic over TCP exclusively and also run well without much bandwidth (presumably to leave more bandwidth for WoW raids). The fact that it’s designed for low-bandwidth situations also makes it ideal for being bounced around in encrypted chunks across the global Tor network.

Mumble is set up as a client and a server, with the client being the thing you talk to on your computer and the server offering the connection between computers wanting to talk. There’s many servers on the public internet to connect to, but to verify that our setup is doing what we think it is, we’ll roll our own.

Step 1: Set up a Mumble Server

For simplicity’s sake, we’ll be using an Amazon EC2 instance. If you’re planning to chat with Julian Assange, I’d highly recommend using a dedicated server in Iceland or Bajor instead.

The process of creating an EC2 instance can easily be found by searching Google DuckDuckGo, so we’ll assume that you’ve already created an Ubuntu GNU/Linux instance and are logged in and ready to type commands n’ stuff.

Install the mumble server software:

  $ sudo apt-get update
  $ sudo apt-get install mumble-server
  $ sudo dpkg-reconfigure mumble-server

For the prompts that ensue, say yes to autostart and high priority and set up an administrator password of your choice, but don’t pick a dumb password.

Possibly optional* but do it anyway: In your AWS console, configure your security group and add some custom TCP (but not UDP) rules to allow inbound traffic on the port Mumble is using (default is 64738). This will leave other ports and UDP traffic in general unallowed to reach the server. If you’re too cool for the AWS console, feel free to edit iptables rules manually at your leisure.

Step 2: Set up Tor

Tor is a program that can be installed on Windows PCs, Macs, Linux haxor machines and uber-leet haxor Nokia N900s. Download the Tor browser bundle for your system and follow the setup directions. Before starting tour, take a note of your actual IP address. Make sure the NSA isn’t looking over your shoulder. Use IP Chicken to check your public IP address. After you’ve made note of that, start up the Tor Browser, give it a minute or two to kick in and check IP Chicken inside the Tor browser again. Now your IP address in the Tor browser should be that of a random Tor exit node. Success! =====Step 3: Set up Mumble Client===== Like Tor, Mumble can probably also run on your computer unless you use a D-Wave quantum computer or Commodore 64. Download the Mumble client for your system and install it. The first time you run Mumble it will ask you to go through an audio tuning wizard, so do that and fine-tune your audio settings as much as you’d like. In Mumble, go to Configure > Settings > Network and make sure “Advanced“ is checked. Check “Force TCP mode.” https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/736f05879076eef1c51b08a5b919dd85/tumblr_inline_mpsyt0HWj01qz4rgp.png Under Proxy, choose “SOCKS5 proxy“ and enter “Localhost” for the Hostname and 9050 for the port. While we’re still paranoid, also uncheck “Reconnect automatically,“ check “Suppress certificate and password storage” and uncheck “Submit anonymous statistics.“ Click OK. https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/e7f7f43e2ad53f759a6c8fdd80b2d6f7/tumblr_inline_mpsyyd0Siv1qz4rgp.png =====Step 4: Call Your Friends!===== Now that you have Mumble and Tor running, go to Server > Connect > Add New and add the IP address and port number of the Mumble server you set up in Step 1. Use whatever label you want to name the server with and whatever username you want to make up. If you have friends, invite them to do Steps 2 to 4 and talk about Pokemon/anarchism/whatever. A Mumble chatroom is basically a group voice chat, much like a conference call but without a phone system. Your chat will be encrypted using TLS with 256-bit AES-SHA for the control channel and 128-bit OCB-AES for voice. Combine that with the fact that fatty TCP packets are being thrown around Tor and the voice quality will sound a bit like Starfleet’s SOS message from Star Trek 4: The Voyage Home. Personally, I find that aesthetic appropriate; Subverting the NSA shouldn’t sound the same as calling Mom on Skype. =====Step 5: Audit for Shenanigans===== Since we have our own Mumble server, we can take a peek at the logs and see what sort of IP addresses have been recorded. Incoming connections are logged in /var/log/mumble-server/mumble-server.log. If you run “tail /var/log/mumble-server/mumble-server.log” as root, the latest incoming connection should look like this: <W>2013-07-12 02:48:45.672 1 ⇒ <122:(-1)> New connection: [tor exit node ip address]:45367 <W>2013-07-12 02:48:47.042 1 ⇒ <122:(-1)> Client version 1.2.3 (X11: 1.2.3-2ubuntu4.1) <W>2013-07-12 02:48:47.071 1 ⇒ Starting voice thread <W>2013-07-12 02:48:47.092 1 ⇒ CELT codec switch ffffffff8000000b ffffffff80000010 (prefer ffffffff8000000b) (Opus 0) <W>2013-07-12 02:48:47.112 1 ⇒ <122:JuggaloPrideIzBack(-1)> Authenticated Generally, clients generate their own certificates, which usually end up looking something like this: https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/72c48f6185234413017fc7c42a6046eb/tumblr_inline_mpszp4nyWR1qz4rgp.png The lack of any real-world personal information is great for anonymity, but a lot of commercial Mumble servers will require a certificate issued by a certificate authority, which normally entails forking over personal details, and would thus defeat the purpose of this exercise and why Step 1 is particularly useful for anonymity. * There might be a UDP “ping“ sent to the server, but I haven’t been able to verify that claim yet, so block UDP to be on the safe side. According to this leaked document, they’ll be easy to spot since they apparently look like cartoon animals dressed in intensely 90s regalia.