mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
64 lines
6.2 KiB
Markdown
64 lines
6.2 KiB
Markdown
<details>
|
|
|
|
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Condividi i tuoi trucchi di hacking inviando PR ai repository di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) su GitHub.
|
|
|
|
</details>
|
|
|
|
## Tecniche di **De-obfuscation Manuale**
|
|
|
|
Nel campo della **sicurezza del software**, il processo di rendere comprensibile il codice oscurato, noto come **de-obfuscation**, è cruciale. Questa guida approfondisce diverse strategie per la de-obfuscation, concentrandosi sulle tecniche di analisi statica e sul riconoscimento dei modelli di obfuscation. Inoltre, introduce un esercizio per l'applicazione pratica e suggerisce ulteriori risorse per coloro interessati ad esplorare argomenti più avanzati.
|
|
|
|
### **Strategie per la De-obfuscation Statica**
|
|
|
|
Nel trattare con il **codice oscurato**, possono essere utilizzate diverse strategie a seconda della natura dell'obfuscation:
|
|
|
|
- **Bytecode DEX (Java)**: Un approccio efficace consiste nell'identificare i metodi di de-obfuscation dell'applicazione, quindi replicare questi metodi in un file Java. Questo file viene eseguito per invertire l'obfuscation sugli elementi mirati.
|
|
- **Java e Codice Nativo**: Un altro metodo consiste nel tradurre l'algoritmo di de-obfuscation in un linguaggio di scripting come Python. Questa strategia sottolinea che l'obiettivo principale non è comprendere completamente l'algoritmo, ma eseguirlo in modo efficace.
|
|
|
|
### **Riconoscimento dell'Obfuscation**
|
|
|
|
Il riconoscimento del codice obfuscato è il primo passo nel processo di de-obfuscation. Gli indicatori chiave includono:
|
|
|
|
- L'**assenza o la confusione delle stringhe** in Java e Android, che possono suggerire l'obfuscation delle stringhe.
|
|
- La **presenza di file binari** nella directory delle risorse o chiamate a `DexClassLoader`, che suggeriscono il decompressione del codice e il caricamento dinamico.
|
|
- L'uso di **librerie native insieme a funzioni JNI non identificabili**, che indicano un'eventuale obfuscation dei metodi nativi.
|
|
|
|
## **Analisi Dinamica nella De-obfuscation**
|
|
|
|
Eseguendo il codice in un ambiente controllato, l'analisi dinamica **consente di osservare come il codice obfuscato si comporta in tempo reale**. Questo metodo è particolarmente efficace nel rivelare il funzionamento interno di modelli di obfuscation complessi progettati per nascondere la vera intenzione del codice.
|
|
|
|
### **Applicazioni dell'Analisi Dinamica**
|
|
|
|
- **Decrittazione in Tempo di Esecuzione**: Molte tecniche di obfuscation prevedono la crittografia di stringhe o segmenti di codice che vengono decrittati solo durante l'esecuzione. Attraverso l'analisi dinamica, questi elementi crittografati possono essere catturati nel momento della decrittazione, rivelando la loro vera forma.
|
|
- **Identificazione delle Tecniche di Obfuscation**: Monitorando il comportamento dell'applicazione, l'analisi dinamica può aiutare a identificare specifiche tecniche di obfuscation utilizzate, come la virtualizzazione del codice, i packer o la generazione dinamica del codice.
|
|
- **Scoperta di Funzionalità Nascoste**: Il codice obfuscato può contenere funzionalità nascoste che non sono evidenti solo attraverso l'analisi statica. L'analisi dinamica consente di osservare tutti i percorsi del codice, inclusi quelli eseguiti condizionalmente, per scoprire tali funzionalità nascoste.
|
|
|
|
## Riferimenti e Ulteriori Letture
|
|
* [https://maddiestone.github.io/AndroidAppRE/obfuscation.html](https://maddiestone.github.io/AndroidAppRE/obfuscation.html)
|
|
* BlackHat USA 2018: "Unpacking the Packed Unpacker: Reverse Engineering an Android Anti-Analysis Library" \[[video](https://www.youtube.com/watch?v=s0Tqi7fuOSU)]
|
|
* Questa presentazione illustra l'ingegneria inversa di una delle librerie native anti-analisi più complesse che ho visto utilizzate da un'applicazione Android. Copre principalmente le tecniche di obfuscation nel codice nativo.
|
|
* REcon 2019: "The Path to the Payload: Android Edition" \[[video](https://recon.cx/media-archive/2019/Session.005.Maddie_Stone.The_path_to_the_payload_Android_Edition-J3ZnNl2GYjEfa.mp4)]
|
|
* Questa presentazione discute una serie di tecniche di obfuscation, esclusivamente nel codice Java, che un botnet Android stava utilizzando per nascondere il suo comportamento.
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Altri modi per supportare HackTricks:
|
|
|
|
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Condividi i tuoi trucchi di hacking inviando PR ai repository di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) su GitHub.
|
|
|
|
</details>
|