Skip to main content

Posts

OWASP crackme write up version 1 level 2 !(•̀ᴗ•́)و ̑̑ (day 12)

From the previous posts i have showed all of you three different approach to solve owasp crackme level 1 problem. Now it's time to level up the challenge! lets try to solve the owasp crackme LEVEL 2 ! To solve this level the first few steps is same with the level 1, you need to get the java source code using reverse engineer tool  (procyon, fernflower or enjarify) in order to know the flow of the application in deeper manner. Once you got the code go to the Mainactivity.java (located in /sg/vantagepoint/ folder) file to see the main execution of the program like the figure below. if you take a look there are two function inside the Mainactivity.java. Inside the onCreate function it is same with the 1st challenge it has a debugging and root checking to prevent user for tamper with program execution and second function is the verify function that check with user input with the secret string. The second function using the "a" method from the "m" class to...

OWASP crackme write up version 3 level 1 ∠( ᐛ 」∠)_ (day 11)

This is again "another" way to crack the owasp crack me challenge, but this time i used xposed framework to bypass the function authentication. Before using the xposed framework, you guys remember that the application has a root detection method inside the main function that will prevent us to hook into the method using xposed framework, to circumvent the check of the root detection i tamper the smali code of the application like the figure below. as you can see i tamper three function of the root checker inside the main function. This 3 function is equivalent to this source code:  if (c.a() || c.b() || c.c()) {             this.a("Root detected!");         } repackage the application and install it to the rooted vm or rooted device. Because we already taking care of the root detection now its time to move on to the xposed framework. This is the code i write to bypass the au...

OWASP crackme write up version 2 level 1 ∠( ᐛ 」∠)_ (day 10)

  So this is another alternative way to solve owasp crackme challenge level 1. In this post i will use adb jdwp to bypass the anti-debugging feature of the application and retrieve the clear text secret string of the application i already told you from my previous post of debugging jdwp ( https://court-of-testing-analysing.blogspot.com/2018/11/going-old-fashion-debugging-android.html ) that in order to debug an application you need to add android:debuggable="true" option inside the application tag but this application is not stupid, as soon as we want to launch the app, the app is force to close because it has an anti debugging feature on them. Thus, we cannot tap into our jdwp :( so how do we do circumvent the anti-debugging feature inside the application ? According to OWASP documentation "Android's 'Developer options' contain the useful "Wait for Debugger" feature, which allows you to automatically suspend an app doing startup unti...

OWASP crackme write up version 1 level 1 ∠( ᐛ 」∠)_ (day 9)

Hi guys ! sorry if have to gone for a while, i have to postponed the 100dayspentesing challenge to finished my bachelor thesis report and it took a lot of time to finish it. So because i have spare time before the final thesis test, i decide to do some stretching again with CTF challenge. This time i take the the owasp crackme challenge level 01 (you can download it in the following link: https://github.com/OWASP/owasp-mstg/tree/master/Crackmes/Android/Level_01 ) LET THE GAME BEGIN ! First of all, you need to setup a machine to install the owasp level 01 apk you can use your own devide or vm (just choose the most comfortable one) and after you decide which one to use, install it with adb utility: ~# adb install UnCrackable-Level1.apk The above figure is the interface when you opened the installed apk. From first glance you can tell that we only need to find a secret string (so no fancy function that we need to explore). At this point i just straightly reverse engi...

Attacking android application activity by repackaging ٩(ↀДↀ)۶ (day 8)

I think that most of the android developer forgot about danger of the open source nature of android application. Because the fact that once their application is posted in any play store in the world. There are no guarantee that anyone could tweak your application. In this post i will show you how to attacking android application component(activity) by repackaging the application. I hope it will open developer eye about how easy for anyone to change your application structure. To start the post, You guys may be familiar with Androidmanifest.xml file in APK file right?!(if you not ? do your research m8) Long story short the file is the one that responsible for any permission and components use in android application and it pretty much show like this. as you can see from the following image there are 3 activities contain in the application and all of them cannot be query outside of the application. So what are we going to do? lets try to modify the file as shown below ...

Exploiting android clipboard manager └(=^‥^=)┐ (day 7)

who doesn't like to copy pasting? it is faster and very convenience, right ? why do you have to type some long line of text over and over again if you can just simply copy and paste it ? why do you have to remember disss long account number of number if you can just simply copy and paste it ? well my friend i think you should reconsider you life decision wkwkwkw In the following post i will show you how any android application could easily just copied your credential. Android give user a very convenient user interface one of them is have ability to copy and paste any object including text. As developer android you may notice that in order to user the functionality inside your application you could use ClipboardManager functionality. In order to use ClipboardManager you have to instantiate the object by calling getSystemService(): ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE) to copy value: ClipData clip = ClipDat...

Going old fashion: debugging android with JDWP (ง ͡ʘ ͜ʖ ͡ʘ)ง (day 6)

Tampering and reverse engineering android application is always been my favorite activity when i try to do android application pentesting. Using reverse engineering we would able to understand the nature of the application code and tampering is when you try to change the value of the runtime(at debugging state) and capable of change the code flow. in this blog post i will try to show how to use one of the old tool to do java debugging activity which is JDWP and for the testing app i will use insecurebankv2 application. luckily JDWP has already been pre installed inside the adb utility. But In order to use jdwp for tampering application, we should do at least couple of things: 1. First we need to know where is the application PID is in order for us to attach into the process. run ~# adb jdwp (don't execute your application first) run it again ~# adb jdwp (execute your application) as you can see from the the second picture the id 1309 is appear when we try to ...