← Back
H1 Thermostat | Avishai’s CTF Writeups

Avishai's CTF Writeups

Yalla Balagan! A collection of my CTF writeups and solutions.

View on GitHub

We start with downloading the apk thermostat.apkfrom the website.

Let’s install it on our emulator which we set on genymotion, using adb:

adb install thermostat.apk

375

Okay, this is the application. We cam play with the plus and minus and by this way adjust the degrees, nothing too interesting.

Let’s decompile the apk using jadx, we’ll use jadx-gui:

jadx-gui thermostat.apk

Inside AndroidManifest.xml we can see that the package name is com.hacker101.level11, and that there is one activity that is called `ThermostatActivity, which we also start with:

<activity  
		android:name="com.hacker101.level11.ThermostatActivity"  
		android:screenOrientation="portrait">  
		<intent-filter>  
			<action android:name="android.intent.action.MAIN"/>  
			<category android:name="android.intent.category.LAUNCHER"/>  
		</intent-filter>  
</activity>

I searched the source code, and easily found the flag:

It is being sent as http header to the website at https://ff44007ddac41e191388e9a2f1d87785.ctf.hacker101.com/, we can verify that by setting a proxy:

adb shell settings put global http_proxy localhost:3333
adb reverse tcp:3333 tcp:8082

and of course set up the proxy on our burp suite:

We also might need to install certificates as system authority, for this you’ll need you can use the script I wrote, which can be found here https://github.com/avishaigonen123/CTF_writeups/tree/master/stuff/emulator_tool.sh.

So, the flag can be found by inspecting the request being sent:

and the flag is: ^FLAG^b82b2741081d8d457d698c69f9f0e9c548e308763a7fea50882360423ea705ab$FLAG$

The second flag can be found in the source code too, its base64 encoded md5 hash is being sent as the X-MAC header. ^FLAG^28af9b237d604c10ae89b17f8e2b32dcc3fa07f1100b09fa8561e9ba32fec7db$FLAG$.