s810car
Active Member
- 190
- 12/09/16
- 97
Thread Author
First Post here, looking forward to learning new programming/hacking technique, site looks promising. In the spirit of offering information before just leeching it, I'm going to describe a simple hack technique for games with poorly setup backend server using one of my favorite network analysis tools, Charles Web Debugging Proxy
From their website:
Simply translated, this program allows you to see the "hidden" communication between your browser and the target server.
"Big Deal I can get that information off Firefox/Chrome etc. already"
Well the key difference is how the information is displayed and what you can do with it. Looking at a few of the key features:
As you can see, this will allow us to not only read and understand the severs response from a HTTPS game server (or most web pages using SSL), its able to easily modify requests sent to the server as a MITM application.
Ok Let's get started, for this PoC hack I will be using a completely unedited game from the Play store, Prince Billy Bob (Playstore Link: Game Lastely, the Android phone I have the game installed on normally, which will have to be run on wifi to connect to the proxy computer.
1st Step: Setup Charles
All right you're all setup. Next post I'll have up shortly to detail what kind of details you want to focus on, how to get the server to throw you a bone to work with and not just facebook tracking data, etc. Lastly I'll show my specific exploit I used for Billy Bob .
From their website:
About Charles
Charles is a web proxy (HTTP Proxy / HTTP Monitor) that runs on your own computer. Your web browser (or any other Internet application) is then configured to access the Internet through Charles, and Charles is then able to record and display for you all of the data that is sent and received.
In Web and Internet development you are unable to see what is being sent and received between your web browser / client and the server. Without this visibility it is difficult and time-consuming to determine exactly where the fault is. Charles makes it easy to see what is happening, so you can quickly diagnose and fix problems.
Simply translated, this program allows you to see the "hidden" communication between your browser and the target server.
"Big Deal I can get that information off Firefox/Chrome etc. already"
Well the key difference is how the information is displayed and what you can do with it. Looking at a few of the key features:
(Only partial list of key features, the ones that we will put to use)
- SSL Proxying – view SSL requests and responses in plain text
- AJAX debugging – view XML and JSON requests and responses as a tree or as text
- Repeat requests to test back-end changes
- Edit requests to test different inputs
As you can see, this will allow us to not only read and understand the severs response from a HTTPS game server (or most web pages using SSL), its able to easily modify requests sent to the server as a MITM application.
Ok Let's get started, for this PoC hack I will be using a completely unedited game from the Play store, Prince Billy Bob (Playstore Link: Game Lastely, the Android phone I have the game installed on normally, which will have to be run on wifi to connect to the proxy computer.
1st Step: Setup Charles
- Install Charles following its standard direction, if you can't get that far without needing more detailed help, please exit stage right
- Start up the program and setup the SSL web proxy. Here's how (DISCLAIMER: I have seen a few different versions of the toolbars in Charles, heres my version, just find the same information if you have a diff versiion):
- Go to Proxy > Proxy Settings
- In the Proxies tab enter "8888" in the HTTP Proxy Port field
- Enable Transparent HTTP Proxying as well
- In same window, Go to SSL tab
- Check enable SSL and ensure under locations, it has a checkbox with * next to it and the checkbox is checked. Example:
- Check your computer's ipv4 address, if on the same LAN with your computer use the internal ip address before the router, should start with 192.168... or 10.0... assuming standard LAN setup. save this number for later. If not on the LAN with the computer, get on it (or setup an external proxy which is beyond the scope of this tutorial, as LAN setup will allow SSL responses in plaintext, you'll have to figure out your proper configuration to use an external proxy).
- Lastly, prep your two SSL certificates. Go to Help > Install Charles CA SSL Certificate. You are going to install on both your PC, and your android. PC installation easy, simply hit Install Certificate and let it select its certificate store, save and done. Next for Android, after hitting the menu item Install Charles CA SSL Certificate, choose the details tab, then copy to file. Save as a DER encoded binary X.509 (CER file) name it whatever and after choosing its destination, send it to your android phone via usb, wifi, sd card, NFC, bluetooth, aliens, IDGAF just send it onto your phone then use any decent file explorer to select and install it.
- Alright leave Charles open and now setup the target phone
- (if not already done) Install the game from Play store link above (or Gapps/sideload obv fine, just stating the point that the game itself remains untouched with this method, no version conflict to worry about, achievements are available, etc.)
- Change your LAN wifi settings. I believe its pretty universal among android versions on how to do this. Go to Settings >Wifi. Long press your network name, and select modify network.. Check the advanced options. Change Proxy settings to manual, scroll down the menu to proxy hostname, change to the LAN ipv4 address you saved from your PC. change proxy port to 8888 to match your settings above. You can leave the rest of the settings alone. Scroll back up and enter wifi password so you can save settings.
All right you're all setup. Next post I'll have up shortly to detail what kind of details you want to focus on, how to get the server to throw you a bone to work with and not just facebook tracking data, etc. Lastly I'll show my specific exploit I used for Billy Bob .
Last edited: