mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
149 lines
6.5 KiB
Markdown
149 lines
6.5 KiB
Markdown
# Frida Tutorial 3
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Bug bounty tip**: **inscrivez-vous** sur **Intigriti**, une **plateforme de bug bounty premium créée par des hackers, pour des hackers** ! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) aujourd'hui, et commencez à gagner des primes allant jusqu'à **100 000 $** !
|
|
|
|
{% embed url="https://go.intigriti.com/hacktricks" %}
|
|
|
|
***
|
|
|
|
**Ceci est un résumé du post**: [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)\
|
|
**APK**: [https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk)
|
|
|
|
## Solution 1
|
|
|
|
Basé sur [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)
|
|
|
|
**Accrochez la fonction \_exit()**\_ et **la fonction de décryptage** afin qu'elle imprime le drapeau dans la console frida lorsque vous appuyez sur vérifier :
|
|
```javascript
|
|
Java.perform(function () {
|
|
send("Starting hooks OWASP uncrackable1...");
|
|
|
|
function getString(data){
|
|
var ret = "";
|
|
for (var i=0; i < data.length; i++){
|
|
ret += "#" + data[i].toString();
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var aes_decrypt = Java.use("sg.vantagepoint.a.a");
|
|
aes_decrypt.a.overload("[B","[B").implementation = function(var_0,var_1) {
|
|
send("sg.vantagepoint.a.a.a([B[B)[B doFinal(enc) // AES/ECB/PKCS7Padding");
|
|
send("Key : " + getString(var_0));
|
|
send("Encrypted : " + getString(var_1));
|
|
var ret = this.a.overload("[B","[B").call(this,var_0,var_1);
|
|
send("Decrypted : " + getString(ret));
|
|
|
|
var flag = "";
|
|
for (var i=0; i < ret.length; i++){
|
|
flag += String.fromCharCode(ret[i]);
|
|
}
|
|
send("Decrypted flag: " + flag);
|
|
return ret; //[B
|
|
};
|
|
|
|
var sysexit = Java.use("java.lang.System");
|
|
sysexit.exit.overload("int").implementation = function(var_0) {
|
|
send("java.lang.System.exit(I)V // We avoid exiting the application :)");
|
|
};
|
|
|
|
send("Hooks installed.");
|
|
});
|
|
```
|
|
## Solution 2
|
|
|
|
Basé sur [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)
|
|
|
|
**Hook rootchecks** et la fonction de décryptage afin qu'elle imprime le drapeau dans la console frida lorsque vous appuyez sur vérifier :
|
|
```javascript
|
|
Java.perform(function () {
|
|
send("Starting hooks OWASP uncrackable1...");
|
|
|
|
function getString(data){
|
|
var ret = "";
|
|
for (var i=0; i < data.length; i++){
|
|
ret += "#" + data[i].toString();
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var aes_decrypt = Java.use("sg.vantagepoint.a.a");
|
|
aes_decrypt.a.overload("[B","[B").implementation = function(var_0,var_1) {
|
|
send("sg.vantagepoint.a.a.a([B[B)[B doFinal(enc) // AES/ECB/PKCS7Padding");
|
|
send("Key : " + getString(var_0));
|
|
send("Encrypted : " + getString(var_1));
|
|
var ret = this.a.overload("[B","[B").call(this,var_0,var_1);
|
|
send("Decrypted : " + getString(ret));
|
|
|
|
var flag = "";
|
|
for (var i=0; i < ret.length; i++){
|
|
flag += String.fromCharCode(ret[i]);
|
|
}
|
|
send("Decrypted flag: " + flag);
|
|
return ret; //[B
|
|
};
|
|
|
|
var rootcheck1 = Java.use("sg.vantagepoint.a.c");
|
|
rootcheck1.a.overload().implementation = function() {
|
|
send("sg.vantagepoint.a.c.a()Z Root check 1 HIT! su.exists()");
|
|
return false;
|
|
};
|
|
|
|
var rootcheck2 = Java.use("sg.vantagepoint.a.c");
|
|
rootcheck2.b.overload().implementation = function() {
|
|
send("sg.vantagepoint.a.c.b()Z Root check 2 HIT! test-keys");
|
|
return false;
|
|
};
|
|
|
|
var rootcheck3 = Java.use("sg.vantagepoint.a.c");
|
|
rootcheck3.c.overload().implementation = function() {
|
|
send("sg.vantagepoint.a.c.c()Z Root check 3 HIT! Root packages");
|
|
return false;
|
|
};
|
|
|
|
var debugcheck = Java.use("sg.vantagepoint.a.b");
|
|
debugcheck.a.overload("android.content.Context").implementation = function(var_0) {
|
|
send("sg.vantagepoint.a.b.a(Landroid/content/Context;)Z Debug check HIT! ");
|
|
return false;
|
|
};
|
|
|
|
send("Hooks installed.");
|
|
});
|
|
```
|
|
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Conseil de bug bounty** : **inscrivez-vous** sur **Intigriti**, une plateforme de **bug bounty premium créée par des hackers, pour des hackers** ! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) aujourd'hui, et commencez à gagner des récompenses allant jusqu'à **100 000 $** !
|
|
|
|
{% embed url="https://go.intigriti.com/hacktricks" %}
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Soutenir HackTricks</summary>
|
|
|
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|