Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Següent revisió | Revisió prèvia | ||
|
frida_telegram [2026/11/08 10:55] enric_mieza_sanchez creat |
frida_telegram [2026/11/08 11:45] (actual) enric_mieza_sanchez [Captura i edició dels missatges a Telegram] |
||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| ====== Intercepta i manipula els missatges de Telegram: FRIDA! ====== | ====== Intercepta i manipula els missatges de Telegram: FRIDA! ====== | ||
| Per josepmariabella / març 26, 2025 | Per josepmariabella / març 26, 2025 | ||
| - | (Aquesta és una còpia de l' | + | (Aquesta és una còpia de l' |
| Frida és una de les eines que més m’ha sorprès, no només per ser multiplataforma, | Frida és una de les eines que més m’ha sorprès, no només per ser multiplataforma, | ||
| En el següent mostrarem un exemple curt de com provar-ho en entorns Android i com som capaços de manipular i interceptar els missatges enviats a través de Telegram. | En el següent mostrarem un exemple curt de com provar-ho en entorns Android i com som capaços de manipular i interceptar els missatges enviats a través de Telegram. | ||
| + | |||
| + | \\ | ||
| ===== Preparem Ubuntu 24.04 ===== | ===== Preparem Ubuntu 24.04 ===== | ||
| Línia 34: | Línia 36: | ||
| Tot i que no és una molt bona praxis de seguretat, editarem el PATH d’Ubuntu per a poder-hi treballar directament amb les tools de l’Android Command Line. | Tot i que no és una molt bona praxis de seguretat, editarem el PATH d’Ubuntu per a poder-hi treballar directament amb les tools de l’Android Command Line. | ||
| + | < | ||
| export ANDROID_HOME=$HOME/ | export ANDROID_HOME=$HOME/ | ||
| export PATH=$ANDROID_HOME/ | export PATH=$ANDROID_HOME/ | ||
| + | </ | ||
| I apliquem els canvis: | I apliquem els canvis: | ||
| - | source ~/.bashrc | + | |
| Una vegada instal·lades i preparades les command tools d’Android descarreguem l’Android 11 i iniciem una instància d’avdmanager: | Una vegada instal·lades i preparades les command tools d’Android descarreguem l’Android 11 i iniciem una instància d’avdmanager: | ||
| + | <code bash> | ||
| #Android 11 | #Android 11 | ||
| sdkmanager " | sdkmanager " | ||
| avdmanager create avd -n android11_emulator -k " | avdmanager create avd -n android11_emulator -k " | ||
| emulator -avd android11_emulator | emulator -avd android11_emulator | ||
| + | </ | ||
| Una vegada creada, apaguem l’Android 11 i configurem per poder interaccionar amb l’emulador a través del nostre teclat, per això, configurem l’arxiu config.ini: | Una vegada creada, apaguem l’Android 11 i configurem per poder interaccionar amb l’emulador a través del nostre teclat, per això, configurem l’arxiu config.ini: | ||
| + | <code bash> | ||
| nano ~/ | nano ~/ | ||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ||
| Línia 55: | Línia 62: | ||
| hw.keyboard=yes | hw.keyboard=yes | ||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ||
| + | </ | ||
| I tornem a carregar l’emulador: | I tornem a carregar l’emulador: | ||
| + | <code bash> | ||
| #Llista les avd disponibles: | #Llista les avd disponibles: | ||
| advmanager list avd | advmanager list avd | ||
| #Emular android11 | #Emular android11 | ||
| emulator -avd android11_emulator | emulator -avd android11_emulator | ||
| + | </ | ||
| Una vegada tingueu l’Android emulat i funcionant, us podeu descarregar el Telegram a través de l’APK https:// | Una vegada tingueu l’Android emulat i funcionant, us podeu descarregar el Telegram a través de l’APK https:// | ||
| - | Instal·lació FRIDA! | ||
| - | Comencem preparant la nostra màquina Ubuntu per poder treballar amb Frida, per fer-ho, crearem un entorn virtual amb python3 i instal·larem les frida-tools amb pip3: | + | \\ |
| + | ===== Instal·lació FRIDA! ===== | ||
| + | |||
| + | Comencem preparant la nostra màquina Ubuntu per poder treballar amb Frida, per fer-ho, crearem un entorn virtual amb python3 i instal·larem les '' | ||
| + | |||
| + | <code bash> | ||
| sudo apt update | sudo apt update | ||
| python3 -m venv frida | python3 -m venv frida | ||
| Línia 73: | Línia 87: | ||
| (frida) pip3 install -U frida-tools | (frida) pip3 install -U frida-tools | ||
| (frida) frida --version | (frida) frida --version | ||
| + | </ | ||
| Ara, el que ens toca es descarregar-nos la versió de Frida server que necessitem, en el nostre cas, la versió per android-x86_64: | Ara, el que ens toca es descarregar-nos la versió de Frida server que necessitem, en el nostre cas, la versió per android-x86_64: | ||
| + | <code bash> | ||
| wget https:// | wget https:// | ||
| xz -d frida-server-16.1.7-android-x86_64.xz | xz -d frida-server-16.1.7-android-x86_64.xz | ||
| chmod +x frida-server-16.1.7-android-x86_64 | chmod +x frida-server-16.1.7-android-x86_64 | ||
| mv frida-server-16.1.7-android-x86_64 frida-server | mv frida-server-16.1.7-android-x86_64 frida-server | ||
| + | </ | ||
| Fins aquí, tota la part de preparació i configuració inicial. Fixeu-vos que hem acabat amb un arxiu executable frida-server que serà el que enviem a Android i serà a través del qual enviarem les nostres peticions. | Fins aquí, tota la part de preparació i configuració inicial. Fixeu-vos que hem acabat amb un arxiu executable frida-server que serà el que enviem a Android i serà a través del qual enviarem les nostres peticions. | ||
| - | Execució Frida | + | |
| + | ===== Execució Frida ===== | ||
| El primer que farem és enviar l’arxiu executable a l’Android, | El primer que farem és enviar l’arxiu executable a l’Android, | ||
| + | <code bash> | ||
| adb root # posa l' | adb root # posa l' | ||
| adb remount | adb remount | ||
| adb push frida-server / | adb push frida-server / | ||
| adb shell chmod +x / | adb shell chmod +x / | ||
| + | </ | ||
| I ara accedim a l’Android emulat i executem el servidor: | I ara accedim a l’Android emulat i executem el servidor: | ||
| + | <code bash> | ||
| adb shell | adb shell | ||
| cd / | cd / | ||
| ./ | ./ | ||
| + | </ | ||
| - | Una vegada fet això, hauríeu de veure una pantalla informant que frida es posa en mode escolta activa. | + | Una vegada fet això, hauríeu de veure una pantalla informant que '' |
| Una vegada Frida està escoltant dins el nostre Android ja podem fer algunes consultes interessants, | Una vegada Frida està escoltant dins el nostre Android ja podem fer algunes consultes interessants, | ||
| - | (frida) frida-ps -Uai | + | |
| - | Captura i edició dels missatges a Telegram | + | ===== Captura i edició dels missatges a Telegram |
| Frida és una aplicació, que s’instal·la en el sistema, i que a través de JavaScript és capaç de modificar les funcions de l’aplicació original. | Frida és una aplicació, que s’instal·la en el sistema, i que a través de JavaScript és capaç de modificar les funcions de l’aplicació original. | ||
| Línia 111: | Línia 133: | ||
| En el nostre cas, crearem un javascript que afegeixi «hacked» al missatge original, i a més a més, ens imprimeixi per el log el missatge original i la seva modificació: | En el nostre cas, crearem un javascript que afegeixi «hacked» al missatge original, i a més a més, ens imprimeixi per el log el missatge original i la seva modificació: | ||
| + | <file javascript hook.js> | ||
| Java.perform(function () { | Java.perform(function () { | ||
| var SendMessagesHelper = Java.use(" | var SendMessagesHelper = Java.use(" | ||
| Línia 137: | Línia 160: | ||
| }; | }; | ||
| }); | }); | ||
| + | </ | ||
| - | Aquest script el que ens fa és agafar l’objecte params.message, | + | Aquest script el que ens fa és agafar l’objecte |
| Ara, per poder executar aquest script dins de Frida executem: | Ara, per poder executar aquest script dins de Frida executem: | ||
| + | <code bash> | ||
| #hook.js és el nom de l' | #hook.js és el nom de l' | ||
| frida -U -n Telegram -l hook.js | frida -U -n Telegram -l hook.js | ||
| + | </ | ||
| I ja podeu testejar i comprovar com s’altera el missatge. | I ja podeu testejar i comprovar com s’altera el missatge. | ||
| + | |||