hacktricks/mobile-pentesting/android-app-pentesting/README.md

840 lines
58 KiB
Markdown
Raw Normal View History

2022-04-28 23:27:22 +00:00
# Android Applications Pentesting
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<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>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-03 10:43:38 +00:00
2024-02-10 13:03:23 +00:00
* 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 a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2022-10-27 23:22:18 +00:00
2024-02-10 13:03:23 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Insight sull'hacking**\
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Notizie sull'hacking in tempo reale**\
Resta aggiornato sul mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
2024-02-10 13:03:23 +00:00
**Ultime notizie**\
Rimani informato sul lancio delle nuove bug bounty e sugli aggiornamenti cruciali della piattaforma
2024-02-10 13:03:23 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
2024-02-10 13:03:23 +00:00
## Concetti di base delle applicazioni Android
2024-02-10 13:03:23 +00:00
È altamente consigliato iniziare a leggere questa pagina per conoscere le **parti più importanti relative alla sicurezza di Android e i componenti più pericolosi in un'applicazione Android**:
{% content-ref url="android-applications-basics.md" %}
[android-applications-basics.md](android-applications-basics.md)
{% endcontent-ref %}
2021-04-20 15:03:28 +00:00
2022-05-01 13:25:53 +00:00
## ADB (Android Debug Bridge)
2024-02-10 13:03:23 +00:00
Questo è lo strumento principale di cui hai bisogno per connetterti a un dispositivo Android (emulato o fisico).\
**ADB** consente di controllare i dispositivi tramite **USB** o **Rete** da un computer. Questa utility consente la **copia** di file in entrambe le direzioni, l'**installazione** e la **disinstallazione** di app, l'**esecuzione** di comandi shell, il **backup** dei dati, la **lettura** dei log, tra le altre funzioni.
2024-02-10 13:03:23 +00:00
Dai un'occhiata alla seguente lista di [**Comandi ADB**](adb-commands.md) per imparare come utilizzare adb.
2022-05-01 13:25:53 +00:00
## Smali
2024-02-10 13:03:23 +00:00
A volte è interessante **modificare il codice dell'applicazione** per accedere a **informazioni nascoste** (ad esempio password o flag ben oscurati). Quindi, potrebbe essere interessante decompilare l'apk, modificare il codice e ricompilarlo.\
[**In questo tutorial** puoi **imparare come decompilare un APK, modificare il codice Smali e ricompilare l'APK** con la nuova funzionalità](smali-changes.md). Questo potrebbe essere molto utile come **alternativa per diversi test durante l'analisi dinamica** che verranno presentati. Quindi, **tieni sempre presente questa possibilità**.
2024-02-10 13:03:23 +00:00
## Altri trucchi interessanti
2022-03-01 00:31:19 +00:00
2024-02-10 13:03:23 +00:00
* [Falsificare la tua posizione su Play Store](spoofing-your-location-in-play-store.md)
* **Scarica APK**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/)
* Estrai APK dal dispositivo:
```bash
2022-03-01 00:31:19 +00:00
adb shell pm list packages
com.android.insecurebankv2
2024-02-10 13:03:23 +00:00
adb shell pm path com.android.insecurebankv2
2022-03-01 00:31:19 +00:00
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2- Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
```
2024-02-10 13:03:23 +00:00
## Analisi statica
2024-02-10 13:03:23 +00:00
Innanzitutto, per analizzare un APK dovresti **dare un'occhiata al codice Java** utilizzando un decompiler.\
Per favore, [**leggi qui per trovare informazioni sui diversi decompiler disponibili**](apk-decompilers.md).
2024-02-10 13:03:23 +00:00
### Ricerca di informazioni interessanti
2024-02-10 13:03:23 +00:00
Semplicemente dando un'occhiata alle **stringhe** dell'APK puoi cercare **password**, **URL** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **chiavi api**, **crittografia**, **UUID Bluetooth**, **token** e qualsiasi altra cosa interessante... cerca anche backdoor di esecuzione del codice o backdoor di autenticazione (credenziali admin codificate nell'app).
2022-04-28 23:27:22 +00:00
**Firebase**
2024-02-10 13:03:23 +00:00
Presta particolare attenzione agli **URL di Firebase** e verifica se sono configurati in modo errato. [Ulteriori informazioni su cosa è Firebase e come sfruttarlo qui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
2024-02-10 13:03:23 +00:00
### Comprensione di base dell'applicazione - Manifest.xml, strings.xml
2024-02-10 13:03:23 +00:00
L'**esame dei file _Manifest.xml_ e _strings.xml_ di un'applicazione può rivelare potenziali vulnerabilità di sicurezza**. Questi file possono essere accessibili utilizzando decompiler o rinominando l'estensione del file APK in .zip e quindi decomprimendolo.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
Le **vulnerabilità** identificate dal **Manifest.xml** includono:
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Applicazioni in modalità di debug**: Le applicazioni impostate come debuggable (`debuggable="true"`) nel file _Manifest.xml_ rappresentano un rischio in quanto consentono connessioni che possono portare a sfruttamenti. Per una comprensione più approfondita su come sfruttare le applicazioni in modalità di debug, consulta un tutorial su come trovare ed esplorare le applicazioni in modalità di debug su un dispositivo.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Impostazioni di backup**: L'attributo `android:allowBackup="false"` dovrebbe essere impostato esplicitamente per le applicazioni che gestiscono informazioni sensibili per impedire il backup non autorizzato dei dati tramite adb, soprattutto quando il debug USB è abilitato.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Sicurezza di rete**: Le configurazioni personalizzate di sicurezza di rete (`android:networkSecurityConfig="@xml/network_security_config"`) in _res/xml/_ possono specificare dettagli di sicurezza come pin dei certificati e impostazioni del traffico HTTP. Un esempio è consentire il traffico HTTP per domini specifici.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Attività e servizi esportati**: L'individuazione di attività e servizi esportati nel manifesto può evidenziare componenti che potrebbero essere utilizzati impropriamente. Un'analisi ulteriore durante il testing dinamico può rivelare come sfruttare questi componenti.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Provider di contenuti e FileProviders**: I provider di contenuti esposti potrebbero consentire l'accesso o la modifica non autorizzati dei dati. Anche la configurazione dei FileProviders dovrebbe essere attentamente esaminata.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Broadcast Receiver e URL Scheme**: Questi componenti potrebbero essere sfruttati per scopi malevoli, prestando particolare attenzione a come vengono gestiti gli URL Scheme per le vulnerabilità di input.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
* **Versioni SDK**: Gli attributi `minSdkVersion`, `targetSDKVersion` e `maxSdkVersion` indicano le versioni di Android supportate, evidenziando l'importanza di non supportare versioni obsolete e vulnerabili di Android per motivi di sicurezza.
Dal file **strings.xml**, è possibile scoprire informazioni sensibili come chiavi API, schemi personalizzati e altre note degli sviluppatori, sottolineando la necessità di una revisione attenta di queste risorse.
2024-02-08 03:08:28 +00:00
2020-10-13 11:29:54 +00:00
2022-05-01 13:25:53 +00:00
### Tapjacking
2021-04-22 11:37:18 +00:00
2024-02-10 13:03:23 +00:00
**Tapjacking** è un attacco in cui un'applicazione **malintenzionata** viene avviata e si posiziona sopra un'applicazione vittima. Una volta che oscura visivamente l'app vittima, la sua interfaccia utente è progettata in modo tale da ingannare l'utente a interagire con essa, mentre passa l'interazione all'app vittima.\
In pratica, **acceca l'utente facendogli credere di eseguire azioni sull'app vittima**.
2021-05-29 13:27:23 +00:00
2024-02-10 13:03:23 +00:00
Trova ulteriori informazioni in:
{% content-ref url="tapjacking.md" %}
[tapjacking.md](tapjacking.md)
{% endcontent-ref %}
2021-04-22 11:51:49 +00:00
2022-05-01 13:25:53 +00:00
### Task Hijacking
2024-02-10 13:03:23 +00:00
Un'**attività** con **`launchMode`** impostato su **`singleTask` senza alcun `taskAffinity`** definito è vulnerabile all'hijacking del task. Ciò significa che un'**applicazione** può essere installata e se viene avviata prima dell'applicazione reale può **dirottare il task dell'applicazione reale** (quindi l'utente interagirà con l'applicazione malevola pensando di utilizzare quella reale).
2024-02-10 13:03:23 +00:00
Ulteriori informazioni in:
{% content-ref url="android-task-hijacking.md" %}
[android-task-hijacking.md](android-task-hijacking.md)
{% endcontent-ref %}
2024-02-10 13:03:23 +00:00
### Archiviazione non sicura dei dati
2024-02-10 13:03:23 +00:00
**Archiviazione interna**
2024-02-10 13:03:23 +00:00
In Android, i file **archiviati** nell'**archiviazione interna** sono **progettati** per essere **accessibili** esclusivamente dall'**app** che li ha **creati**. Questa misura di sicurezza è **imposta** dal sistema operativo Android ed è generalmente adeguata alle esigenze di sicurezza della maggior parte delle applicazioni. Tuttavia, gli sviluppatori talvolta utilizzano modalità come `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` per **consentire** la condivisione di file tra diverse applicazioni. Tuttavia, queste modalità **non limitano l'accesso** a questi file da parte di altre applicazioni, comprese quelle potenzialmente malevole.
2024-02-05 02:28:59 +00:00
2024-02-10 13:03:23 +00:00
1. **Analisi statica:**
- **Assicurarsi** che l'uso di `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` sia **scrupolosamente esaminato**. Queste modalità **possono potenzialmente esporre** i file a **accessi non intenzionali o non autorizzati**.
2024-02-05 02:28:59 +00:00
2024-02-10 13:03:23 +00:00
2. **Analisi dinamica:**
- **Verificare** le **autorizzazioni** impostate sui file creati dall'app. In particolare, **verificare** se alcuni file sono **impostati come leggibili o scrivibili a livello globale**. Ciò può rappresentare un rischio significativo per la sicurezza, in quanto consentirebbe a **qualsiasi applicazione** installata sul dispositivo, indipendentemente dalla sua origine o intento, di **leggere o modificare** questi file.
2024-02-10 13:03:23 +00:00
**Archiviazione esterna**
2024-02-10 13:03:23 +00:00
Quando si lavora con file su **archiviazione esterna**, come le schede SD, è necessario prendere alcune precauzioni:
2024-02-05 02:28:59 +00:00
2024-02-10 13:03:23 +00:00
1. **Accessibilità**:
- I file su archiviazione esterna sono **leggibili e scrivibili globalmente**. Ciò significa che qualsiasi applicazione o utente può accedere a questi file.
2024-02-05 02:28:59 +00:00
2024-02-10 13:03:23 +00:00
2. **Preoccupazioni per la sicurezza**:
- Date le facilità di accesso, è consigliabile **non archiviare informazioni sensibili** su archiviazione esterna.
- L'archiviazione esterna può essere rimossa o accessibile da qualsiasi applicazione, rendendola meno sicura.
2024-02-05 02:28:59 +00:00
2024-02-10 13:03:23 +00:00
3. **Gestione dei dati da archiviazione esterna**:
- Effettuare sempre una **validazione dell'input** sui dati recuperati dall'archiviazione esterna. Questo è fondamentale perché i dati provengono da una fonte non attendibile.
- È fortemente sconsigliato archiviare eseguibili o file di classe su archiviazione esterna per il caricamento dinamico.
- Se la tua applicazione deve recuperare file eseguibili da archiviazione esterna, assicurati che questi file siano **firmati e verificati crittograficamente** prima di essere caricati dinamicamente. Questo passaggio è fondamentale per mantenere l'integrità della sicurezza della tua applicazione.
2024-02-10 13:03:23 +00:00
L'archiviazione esterna può essere **accessibile** in `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard`
2021-04-22 10:23:13 +00:00
{% hint style="info" %}
2024-02-10 13:03:23 +00:00
A partire da Android 4.4 (**API 17**), la scheda SD ha una struttura delle directory che **limita l'accesso di un'app alla directory specifica per quell'app**. Ciò impedisce alle applicazioni malevole di ottenere accesso in lettura o scrittura ai file di un'altra app.
2021-04-22 10:23:13 +00:00
{% endhint %}
2024-02-10 13:03:23 +00:00
**Dati sensibili archiviati in chiaro**
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
* **Preferenze condivise**: Android consente a ogni applicazione di salvare facilmente file XML nel percorso `/data/data/<nomedelpackage>/shared_prefs/` e talvolta è possibile trovare informazioni sensibili in chiaro in quella cartella.
* **Database**: Android consente a ogni applicazione di salvare facilmente database SQLite nel percorso `/data/data/<nomedelpackage>/databases/` e talvolta è possibile trovare informazioni sensibili in chiaro in quella cartella.
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
### TLS non sicuro
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
**Accettare tutti i certificati**
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
Per qualche motivo, a volte gli sviluppatori accettano tutti i certificati anche se, ad esempio, il nome host non corrisponde con righe di codice come la seguente:
2021-04-21 16:33:42 +00:00
```java
2021-04-22 09:27:31 +00:00
SSLSocketFactory sf = new cc(trustStore);
2021-04-21 16:33:42 +00:00
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
```
2024-02-10 13:03:23 +00:00
Un buon modo per testare ciò è cercare di catturare il traffico utilizzando un proxy come Burp senza autorizzare Burp CA all'interno del dispositivo. Inoltre, è possibile generare con Burp un certificato per un nome host diverso e utilizzarlo.
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
### Crittografia non sicura
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
**Processi di gestione delle chiavi scadenti**
2024-02-10 13:03:23 +00:00
Alcuni sviluppatori salvano dati sensibili nella memoria locale e li crittografano con una chiave codificata/predicibile nel codice. Questo non dovrebbe essere fatto poiché un'operazione di reversing potrebbe consentire agli attaccanti di estrarre le informazioni confidenziali.
2024-02-10 13:03:23 +00:00
**Utilizzo di algoritmi non sicuri e/o deprecati**
2024-02-10 13:03:23 +00:00
Gli sviluppatori non dovrebbero utilizzare algoritmi **deprecati** per eseguire **controlli** di **autorizzazione**, **memorizzare** o **inviare** dati. Alcuni di questi algoritmi sono: RC4, MD4, MD5, SHA1... Se ad esempio vengono utilizzati hash per memorizzare le password, dovrebbero essere utilizzati hash resistenti all'attacco di forza bruta con salt.
2024-02-10 13:03:23 +00:00
### Altri controlli
2024-02-10 13:03:23 +00:00
* È consigliabile **oscurare l'APK** per rendere più difficile il lavoro di reverse engineering agli attaccanti.
* Se l'app è sensibile (come le app bancarie), dovrebbe effettuare i **propri controlli per verificare se il dispositivo mobile è rootato** e agire di conseguenza.
* Se l'app è sensibile (come le app bancarie), dovrebbe verificare se viene utilizzato un **emulatore**.
* Se l'app è sensibile (come le app bancarie), dovrebbe **verificare la propria integrità prima di eseguirsi** per verificare se è stata modificata.
* Utilizzare [**APKiD**](https://github.com/rednaga/APKiD) per verificare quale compilatore/packer/obfuscator è stato utilizzato per creare l'APK.
2024-02-10 13:03:23 +00:00
### Applicazione React Native
2024-02-10 13:03:23 +00:00
Leggi la seguente pagina per imparare come accedere facilmente al codice JavaScript delle applicazioni React:
2021-02-01 09:24:10 +00:00
{% content-ref url="react-native-application.md" %}
[react-native-application.md](react-native-application.md)
{% endcontent-ref %}
2021-02-01 09:24:10 +00:00
2024-02-10 13:03:23 +00:00
### Applicazioni Xamarin
2021-08-11 20:47:23 +00:00
2024-02-10 13:03:23 +00:00
Leggi la seguente pagina per imparare come accedere facilmente al codice C# di un'applicazione Xamarin:
2021-08-11 20:47:23 +00:00
{% content-ref url="../xamarin-apps.md" %}
[xamarin-apps.md](../xamarin-apps.md)
{% endcontent-ref %}
2021-08-11 20:47:23 +00:00
2024-02-10 13:03:23 +00:00
### Applicazioni Superpacked
2024-02-10 13:03:23 +00:00
Secondo questo [**post del blog**](https://clearbluejar.github.io/posts/desuperpacking-meta-superpacked-apks-with-github-actions/), Superpacked è un algoritmo Meta che comprime il contenuto di un'applicazione in un singolo file. Il blog parla della possibilità di creare un'app che decomprime questo tipo di app... e un modo più veloce che consiste nell'**eseguire l'applicazione e raccogliere i file decompressi dal filesystem**.
2024-02-10 13:03:23 +00:00
### Analisi statica automatizzata del codice
2021-11-07 16:13:04 +00:00
2024-02-10 13:03:23 +00:00
Lo strumento [**mariana-trench**](https://github.com/facebook/mariana-trench) è in grado di individuare **vulnerabilità** analizzando il **codice** dell'applicazione. Questo strumento contiene una serie di **fonti conosciute** (che indicano allo strumento i **luoghi** in cui l'**input** è **controllato dall'utente**), **sink** (che indicano allo strumento **luoghi pericolosi** in cui l'input utente malintenzionato potrebbe causare danni) e **regole**. Queste regole indicano la **combinazione** di **fonti-sink** che indica una vulnerabilità.
2021-11-07 16:13:04 +00:00
2024-02-10 13:03:23 +00:00
Con questa conoscenza, **mariana-trench esaminerà il codice e troverà possibili vulnerabilità**.
2021-11-07 16:13:04 +00:00
2024-02-10 13:03:23 +00:00
### Leaks di segreti
2022-05-19 12:02:10 +00:00
2024-02-10 13:03:23 +00:00
Un'applicazione potrebbe contenere segreti (API key, password, URL nascosti, sottodomini...) al suo interno che potresti essere in grado di scoprire. Puoi utilizzare uno strumento come [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks)
2022-05-19 12:02:10 +00:00
2024-02-10 13:03:23 +00:00
### Bypass dell'autenticazione biometrica
2022-10-26 09:06:33 +00:00
{% content-ref url="bypass-biometric-authentication-android.md" %}
[bypass-biometric-authentication-android.md](bypass-biometric-authentication-android.md)
{% endcontent-ref %}
2024-02-10 13:03:23 +00:00
### Altre funzioni interessanti
2024-02-10 13:03:23 +00:00
* **Esecuzione di codice**: `Runtime.exec(), ProcessBuilder(), codice nativo: system()`
* **Invio di SMS**: `sendTextMessage, sendMultipartTestMessage`
* **Funzioni native** dichiarate come `native`: `public native, System.loadLibrary, System.load`
* [Leggi questo per imparare **come invertire le funzioni native**](reversing-native-libraries.md)
2024-02-10 13:03:23 +00:00
### **Altri trucchi**
2021-05-04 11:44:49 +00:00
{% content-ref url="content-protocol.md" %}
[content-protocol.md](content-protocol.md)
{% endcontent-ref %}
***
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-07-14 15:03:41 +00:00
2024-02-10 13:03:23 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug!
2023-02-27 09:28:45 +00:00
2023-12-04 15:45:05 +00:00
**Hacking Insights**\
2024-02-10 13:03:23 +00:00
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Notizie sull'hacking in tempo reale**\
Resta aggiornato sul mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
2022-10-27 23:22:18 +00:00
2024-02-10 13:03:23 +00:00
**Ultime novità**\
Rimani informato sul lancio delle nuove taglie di bug e sugli aggiornamenti cruciali della piattaforma
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
2022-10-27 23:22:18 +00:00
***
2024-02-10 13:03:23 +00:00
## Analisi dinamica
2024-02-10 13:03:23 +00:00
> Innanzitutto, è necessario un ambiente in cui è possibile installare l'applicazione e tutto l'ambiente (certificato Burp CA, Drozer e Frida principalmente). Pertanto, è estremamente consigliato un dispositivo rootato (emulato o meno).
2024-02-10 13:03:23 +00:00
### Analisi dinamica online
2024-02-10 13:03:23 +00:00
Puoi creare un **account gratuito** su: [https://appetize.io/](https://appetize.io). Questa piattaforma ti consente di **caricare** ed **eseguire** APK, quindi è utile per vedere come si comporta un APK.
2024-02-10 13:03:23 +00:00
Puoi persino **visualizzare i log della tua applicazione** sul web e connetterti tramite **adb**.
![](<../../.gitbook/assets/image (60).png>)
2024-02-10 13:03:23 +00:00
Grazie alla connessione ADB, puoi utilizzare **Drozer** e **Frida** all'interno degli emulatori.
2024-02-10 13:03:23 +00:00
### Analisi dinamica locale
2024-02-10 13:03:23 +00:00
#### Utilizzo di un emulatore
2024-02-10 13:03:23 +00:00
* [**Android Studio**](https://developer.android.com/studio) (Puoi creare dispositivi **x86** e **arm**, e secondo [**questo** ](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**ultime versioni x86** **supportano le librerie ARM** senza la necessità di un lento emulatore ARM).
* Impara come configurarlo in questa pagina:
{% content-ref url="avd-android-virtual-device.md" %}
[avd-android-virtual-device.md](avd-android-virtual-device.md)
{% endcontent-ref %}
2024-02-10 13:03:23 +00:00
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Versione gratuita:** Personal Edition, è necessario creare un account. _Si consiglia di **scaricare** la versione **CON**_ _**VirtualBox** per evitare errori potenziali._)
* [**Nox**](https://es.bignox.com) (Gratuito, ma non supporta Frida o Drozer).
{% hint style="info" %}
2024-02-10 13:03:23 +00:00
Quando si crea un nuovo emulatore su qualsiasi piattaforma, ricorda che più grande è lo schermo, più lento sarà l'emulatore. Quindi seleziona schermi piccoli se possibile.
{% endhint %}
2024-02-10 13:03:23 +00:00
Per **installare i servizi Google** (come AppStore) in Genymotion, è necessario fare clic sul pulsante evidenziato in rosso nell'immagine seguente:
2022-10-22 15:26:54 +00:00
![](<../../.gitbook/assets/image (200) (1).png>)
2024-02-10 13:03:23 +00:00
Inoltre, nota che nella **configurazione della VM Android in Genymotion** puoi selezionare la modalità **Bridge Network** (questo sarà utile se ti connetterai alla VM Android da una diversa VM con gli strumenti).
#### Utilizzare un dispositivo fisico
2024-02-10 13:03:23 +00:00
È necessario attivare le opzioni di **debugging** ed è consigliabile **eseguire il root**:
2024-02-10 13:03:23 +00:00
1. **Impostazioni**.
2. (Da Android 8.0) Seleziona **Sistema**.
3. Seleziona **Informazioni sul telefono**.
4. Premi **Numero build** 7 volte.
5. Torna indietro e troverai le **Opzioni sviluppatore**.
2024-02-10 13:03:23 +00:00
> Una volta installata l'applicazione, la prima cosa da fare è provarla e indagare su cosa fa, come funziona e familiarizzare con essa.\
> Suggerisco di **effettuare questa analisi dinamica iniziale utilizzando l'analisi dinamica di MobSF + pidcat**, in modo da poter **imparare come funziona l'applicazione** mentre MobSF **acquisisce** molti **dati interessanti** che potrai rivedere in seguito.
2024-02-10 13:03:23 +00:00
### Divulgazione non intenzionale di dati
2022-04-28 23:27:22 +00:00
**Logging**
2024-02-10 13:03:23 +00:00
Gli sviluppatori dovrebbero fare attenzione a esporre informazioni di **debugging** pubblicamente, poiché ciò può portare a falle di sicurezza con la divulgazione di dati sensibili. Gli strumenti [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` sono consigliati per monitorare i log dell'applicazione al fine di identificare e proteggere informazioni sensibili. **Pidcat** è preferito per la sua facilità d'uso e leggibilità.
2021-04-22 13:58:44 +00:00
{% hint style="warning" %}
2024-02-10 13:03:23 +00:00
Nota che a partire da **versioni successive ad Android 4.0**, **le applicazioni possono accedere solo ai propri log**. Quindi le applicazioni non possono accedere ai log di altre app.\
In ogni caso, è comunque consigliabile **non registrare informazioni sensibili**.
2021-04-22 13:58:44 +00:00
{% endhint %}
2024-02-10 13:03:23 +00:00
**Copia/Incolla nella cache del buffer**
2024-02-10 13:03:23 +00:00
Il framework basato sulla **clipboard** di Android consente la funzionalità di copia e incolla nelle app, ma rappresenta un rischio in quanto **altre applicazioni** possono **accedere** alla clipboard, potenzialmente esponendo dati sensibili. È fondamentale **disabilitare le funzioni di copia/incolla** per sezioni sensibili di un'applicazione, come i dettagli della carta di credito, per evitare fughe di dati.
2024-02-10 13:03:23 +00:00
**Log di crash**
2024-02-10 13:03:23 +00:00
Se un'applicazione **si blocca** e **salva i log**, questi log possono essere utili agli attaccanti, soprattutto quando l'applicazione non può essere decompilata. Per mitigare questo rischio, evitare di registrare i crash e, se i log devono essere trasmessi tramite la rete, assicurarsi che vengano inviati tramite un canale SSL per la sicurezza.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
Come pentester, **cerca di dare un'occhiata a questi log**.
2024-02-10 13:03:23 +00:00
**Dati di analisi inviati a terze parti**
2024-02-10 13:03:23 +00:00
Le applicazioni spesso integrano servizi come Google Adsense, che possono involontariamente **divulgare dati sensibili** a causa di un'implementazione impropria da parte degli sviluppatori. Per identificare possibili fughe di dati, è consigliabile **intercettare il traffico dell'applicazione** e verificare se vengono inviate informazioni sensibili a servizi di terze parti.
2024-02-10 13:03:23 +00:00
### Database SQLite
2024-02-10 13:03:23 +00:00
La maggior parte delle applicazioni utilizzerà **database SQLite interni** per salvare le informazioni. Durante il pentest, **controlla** i **database** creati, i nomi delle **tabelle** e delle **colonne** e tutti i **dati** salvati, poiché potresti trovare **informazioni sensibili** (che costituirebbero una vulnerabilità).\
I database dovrebbero trovarsi in `/data/data/nome.pacchetto/databases` come `/data/data/com.mwr.example.sieve/databases`
2024-02-10 13:03:23 +00:00
Se il database sta salvando informazioni confidenziali ed è **crittografato** ma puoi **trovare** la **password** all'interno dell'applicazione, è comunque una **vulnerabilità**.
2024-02-10 13:03:23 +00:00
Elenca le tabelle utilizzando `.tables` e elenca le colonne delle tabelle con `.schema <nome_tabella>`
2024-02-10 13:03:23 +00:00
### Drozer (Attività di exploit, Content Provider e Servizi)
2024-02-10 13:03:23 +00:00
Da [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** ti consente di **assumere il ruolo di un'app Android** e interagire con altre app. Può fare **tutto ciò che un'applicazione installata può fare**, come utilizzare il meccanismo di comunicazione interprocesso (IPC) di Android e interagire con il sistema operativo sottostante.\
Drozer è uno strumento utile per **sfruttare attività esportate, servizi esportati e Content Provider**, come imparerai nelle sezioni seguenti.
2024-02-10 13:03:23 +00:00
### Sfruttare attività esportate
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
[**Leggi questo se vuoi rinfrescarti su cosa sia un'attività Android.**](android-applications-basics.md#launcher-activity-and-other-activities)\
Ricorda anche che il codice di un'attività inizia nel metodo **`onCreate`**.
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
**Bypass dell'autorizzazione**
2024-02-10 13:03:23 +00:00
Quando un'attività viene esportata, è possibile invocare la sua schermata da un'app esterna. Pertanto, se un'attività con **informazioni sensibili** è **esportata**, potresti **eludere** i meccanismi di **autenticazione** per accedervi.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
[**Scopri come sfruttare le attività esportate con Drozer.**](drozer-tutorial/#activities)
2024-02-10 13:03:23 +00:00
Puoi anche avviare un'attività esportata da adb:
2024-02-10 13:03:23 +00:00
* PackageName è com.example.demo
* Nome attività esportata è com.example.test.MainActivity
```bash
adb shell am start -n com.example.demo/com.example.test.MainActivity
```
2024-02-10 13:03:23 +00:00
**NOTA**: MobSF rileverà come dannoso l'uso di _**singleTask/singleInstance**_ come `android:launchMode` in un'attività, ma a causa di [questo](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), apparentemente ciò è pericoloso solo nelle vecchie versioni (versioni API < 21).
2021-04-22 12:26:30 +00:00
{% hint style="info" %}
2024-02-10 13:03:23 +00:00
Nota che un bypass di autorizzazione non è sempre una vulnerabilità, dipenderà da come funziona il bypass e quali informazioni vengono esposte.
2021-04-22 12:26:30 +00:00
{% endhint %}
2024-02-10 13:03:23 +00:00
**Divulgazione di informazioni sensibili**
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
**Le attività possono anche restituire risultati**. Se riesci a trovare un'attività esportata e non protetta che chiama il metodo **`setResult`** e **restituisce informazioni sensibili**, si tratta di una divulgazione di informazioni sensibili.
2021-04-22 12:26:30 +00:00
#### Tapjacking
2024-02-10 13:03:23 +00:00
Se il tapjacking non viene impedito, è possibile abusare dell'attività esportata per far sì che l'**utente esegua azioni impreviste**. Per ulteriori informazioni su [**cosa è il Tapjacking segui il link**](./#tapjacking).
2024-02-10 13:03:23 +00:00
### Sfruttare i Content Provider - Accesso e manipolazione di informazioni sensibili
2024-02-10 13:03:23 +00:00
[**Leggi questo se vuoi rinfrescare cosa è un Content Provider.**](android-applications-basics.md#content-provider)\
I content provider vengono utilizzati principalmente per **condividere dati**. Se un'app dispone di content provider disponibili, potresti essere in grado di **estrarre dati sensibili** da essi. È anche interessante testare possibili **iniezioni SQL** e **traversali di percorso** in quanto potrebbero essere vulnerabili.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
[**Scopri come sfruttare i Content Provider con Drozer.**](drozer-tutorial/#content-providers)
2024-02-10 13:03:23 +00:00
### **Sfruttare i Servizi**
2024-02-10 13:03:23 +00:00
[**Leggi questo se vuoi rinfrescare cosa è un Servizio.**](android-applications-basics.md#services)\
Ricorda che le azioni di un servizio iniziano nel metodo `onStartCommand`.
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
Un servizio è fondamentalmente qualcosa che **può ricevere dati**, **elaborarli** e **restituire** (o meno) una risposta. Quindi, se un'applicazione esporta alcuni servizi, dovresti **controllare** il **codice** per capire cosa sta facendo e **testarlo** **dinamicamente** per estrarre informazioni confidenziali, eludere le misure di autenticazione...\
[**Scopri come sfruttare i Servizi con Drozer.**](drozer-tutorial/#services)
2024-02-10 13:03:23 +00:00
### **Sfruttare i Ricevitori di Trasmissione**
2024-02-10 13:03:23 +00:00
[**Leggi questo se vuoi rinfrescare cosa è un Ricevitore di Trasmissione.**](android-applications-basics.md#broadcast-receivers)\
Ricorda che le azioni di un ricevitore di trasmissione iniziano nel metodo `onReceive`.
2021-04-22 12:26:30 +00:00
2024-02-10 13:03:23 +00:00
Un ricevitore di trasmissione sarà in attesa di un tipo di messaggio. A seconda di come il ricevitore gestisce il messaggio, potrebbe essere vulnerabile.\
[**Scopri come sfruttare i Ricevitori di Trasmissione con Drozer.**](./#exploiting-broadcast-receivers)
2024-02-10 13:03:23 +00:00
### **Sfruttare gli Schemi / Deep links**
2024-02-10 13:03:23 +00:00
Puoi cercare i deep link manualmente, utilizzando strumenti come MobSF o script come [questo](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py).\
Puoi **aprire** uno **schema** dichiarato utilizzando **adb** o un **browser**:
{% code overflow="wrap" %}
```bash
adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]
```
{% endcode %}
2024-02-10 13:03:23 +00:00
_Nota che puoi **ommettere il nome del pacchetto** e il dispositivo mobile chiamerà automaticamente l'app che dovrebbe aprire quel link._
{% code overflow="wrap" %}
```markup
<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>
```
{% endcode %}
2024-02-10 13:03:23 +00:00
**Codice eseguito**
2024-02-10 13:03:23 +00:00
Per trovare il **codice che verrà eseguito nell'app**, vai all'attività chiamata dal deeplink e cerca la funzione **`onNewIntent`**.
![](<../../.gitbook/assets/image (436) (1) (1) (1).png>)
2024-02-10 13:03:23 +00:00
**Informazioni sensibili**
2020-12-30 09:57:37 +00:00
2024-02-10 13:03:23 +00:00
Ogni volta che trovi un deeplink, controlla che **non stia ricevendo dati sensibili (come password) tramite parametri URL**, perché qualsiasi altra applicazione potrebbe **fingere il deeplink e rubare quei dati!**
2020-12-30 09:57:37 +00:00
2024-02-10 13:03:23 +00:00
**Parametri nel percorso**
2020-12-30 09:57:37 +00:00
2024-02-10 13:03:23 +00:00
Devi controllare anche se un deeplink sta utilizzando un parametro all'interno del percorso dell'URL come: `https://api.example.com/v1/users/{username}`, in tal caso puoi forzare una traversa del percorso accedendo a qualcosa del genere: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\
Nota che se trovi gli endpoint corretti all'interno dell'applicazione potresti essere in grado di causare un **Open Redirect** (se parte del percorso viene utilizzato come nome di dominio), **account takeover** (se puoi modificare i dettagli degli utenti senza token CSRF e l'endpoint vulnerabile utilizza il metodo corretto) e qualsiasi altra vulnerabilità. Maggiori [informazioni su questo qui](http://dphoeniixx.com/2020/12/13-2/).
2020-12-30 09:57:37 +00:00
2024-02-10 13:03:23 +00:00
**Altri esempi**
2020-11-28 17:30:36 +00:00
2024-02-10 13:03:23 +00:00
Un [interessante rapporto di bug bounty](https://hackerone.com/reports/855618) sui link (_/.well-known/assetlinks.json_).
2020-07-29 09:22:22 +00:00
2024-02-10 13:03:23 +00:00
### Fallimenti di ispezione e verifica del livello di trasporto
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
- **I certificati non vengono sempre ispezionati correttamente** dalle applicazioni Android. È comune che queste applicazioni ignorino gli avvisi e accettino certificati autofirmati o, in alcuni casi, tornino a utilizzare connessioni HTTP.
- **Le negoziazioni durante la handshake SSL/TLS sono talvolta deboli**, utilizzando suite di cifratura non sicure. Questa vulnerabilità rende la connessione suscettibile ad attacchi di tipo man-in-the-middle (MITM), consentendo agli attaccanti di decifrare i dati.
- **La divulgazione di informazioni private** è un rischio quando le applicazioni si autenticano utilizzando canali sicuri ma poi comunicano su canali non sicuri per altre transazioni. Questo approccio non protegge i dati sensibili, come i cookie di sessione o i dettagli dell'utente, dall'intercettazione da parte di entità malevole.
2024-02-10 13:03:23 +00:00
#### Verifica del certificato
2024-02-10 13:03:23 +00:00
Ci concentreremo sulla **verifica del certificato**. È necessario verificare l'integrità del certificato del server per migliorare la sicurezza. Questo è fondamentale perché le configurazioni TLS non sicure e la trasmissione di dati sensibili su canali non crittografati possono comportare rischi significativi. Per dettagliati passaggi sulla verifica dei certificati del server e sulla risoluzione delle vulnerabilità, **[questa risorsa](https://manifestsecurity.com/android-application-security-part-10/)** fornisce una guida completa.
2024-02-08 03:08:28 +00:00
#### SSL Pinning
2024-02-10 13:03:23 +00:00
SSL Pinning è una misura di sicurezza in cui l'applicazione verifica il certificato del server rispetto a una copia nota memorizzata all'interno dell'applicazione stessa. Questo metodo è essenziale per prevenire attacchi MITM. L'implementazione di SSL Pinning è fortemente consigliata per le applicazioni che gestiscono informazioni sensibili.
2024-02-10 13:03:23 +00:00
#### Ispezione del traffico
2024-02-10 13:03:23 +00:00
Per ispezionare il traffico HTTP, è necessario **installare il certificato dello strumento di proxy** (ad esempio, Burp). Senza installare questo certificato, il traffico crittografato potrebbe non essere visibile attraverso il proxy. Per una guida sull'installazione di un certificato CA personalizzato, **[clicca qui](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine)**.
2021-04-21 16:33:42 +00:00
2024-02-10 13:03:23 +00:00
Le applicazioni che mirano a **API Level 24 e superiori** richiedono modifiche alla configurazione di sicurezza di rete per accettare il certificato CA del proxy. Questo passaggio è fondamentale per l'ispezione del traffico crittografato. Per istruzioni su come modificare la configurazione di sicurezza di rete, **[consulta questo tutorial](make-apk-accept-ca-certificate.md)**.
2024-02-10 13:03:23 +00:00
#### Bypassare SSL Pinning
2024-02-10 13:03:23 +00:00
Quando viene implementato SSL Pinning, diventa necessario bypassarlo per ispezionare il traffico HTTPS. Sono disponibili vari metodi a tal fine:
2024-02-10 13:03:23 +00:00
* Modificare automaticamente l'**apk** per **bypassare** SSL Pinning con [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Il vantaggio principale di questa opzione è che non sarà necessario ottenere i permessi di root per bypassare l'SSL Pinning, ma sarà necessario eliminare l'applicazione e reinstallarne una nuova, e ciò non funzionerà sempre.
* Puoi utilizzare **Frida** (discusso di seguito) per bypassare questa protezione. Qui trovi una guida su come utilizzare Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* Puoi anche provare a **bypassare automaticamente l'SSL Pinning** utilizzando [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* Puoi anche provare a **bypassare automaticamente l'SSL Pinning** utilizzando l'**analisi dinamica di MobSF** (spiegata di seguito)
* Se pensi ancora che ci sia del traffico che non stai catturando, puoi provare a **inoltrare il traffico a burp utilizzando iptables**. Leggi questo blog: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
2024-02-10 13:03:23 +00:00
#### Ricerca di vulnerabilità web comuni
2024-02-10 13:03:23 +00:00
È importante cercare anche vulnerabilità web comuni all'interno dell'applicazione. Le informazioni dettagliate sull'individuazione e sulla mitigazione di queste vulnerabilità esulano dallo scopo di questo riassunto, ma sono ampiamente trattate altrove.
2022-05-01 13:25:53 +00:00
### Frida
2024-02-10 13:03:23 +00:00
[Frida](https://www.frida.re) è un toolkit di strumenti di strumentazione dinamica per sviluppatori, reverse engineer e ricercatori di sicurezza.\
**Puoi accedere all'applicazione in esecuzione e agganciare i metodi in tempo di esecuzione per cambiare il comportamento, cambiare i valori, estrarre valori, eseguire codice diverso...**\
Se vuoi fare pentesting delle applicazioni Android, devi sapere come usare Frida.
2024-02-10 13:03:23 +00:00
* Impara come usare Frida: [**Tutorial su Frida**](frida-tutorial/)
* Alcuni "GUI" per azioni con Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
* Ojection è ottimo per automatizzare l'uso di Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
* Puoi trovare alcuni script Frida fantastici qui: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
2024-02-10 13:03:23 +00:00
### **Dump della memoria - Fridump**
2024-02-10 13:03:23 +00:00
Verifica se l'applicazione sta memorizzando informazioni sensibili all'interno della memoria che non dovrebbe memorizzare, come password o mnemonici.
2024-02-10 13:03:23 +00:00
Utilizzando [**Fridump3**](https://github.com/rootbsd/fridump3) puoi eseguire il dump della memoria dell'app con:
```bash
# With PID
2024-02-10 13:03:23 +00:00
python3 fridump3.py -u <PID>
# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"
```
2024-02-10 13:03:23 +00:00
Questo comando scaricherà la memoria nella cartella ./dump, e da lì potrai utilizzare il comando grep con qualcosa del genere:
{% code overflow="wrap" %}
```bash
strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+$"
```
{% endcode %}
2024-02-10 13:03:23 +00:00
### **Dati sensibili nel Keystore**
2024-02-10 13:03:23 +00:00
In Android, il Keystore è il posto migliore per archiviare dati sensibili, tuttavia, con sufficienti privilegi, è ancora **possibile accedervi**. Poiché le applicazioni tendono a memorizzare qui **dati sensibili in chiaro**, i test di penetrazione dovrebbero verificarlo poiché un utente root o qualcuno con accesso fisico al dispositivo potrebbe essere in grado di rubare questi dati.
2024-02-10 13:03:23 +00:00
Anche se un'app memorizza dati nel keystore, i dati dovrebbero essere criptati.
2024-02-10 13:03:23 +00:00
Per accedere ai dati all'interno del keystore, è possibile utilizzare questo script di Frida: [https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js](https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js)
```bash
frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
```
2024-02-10 13:03:23 +00:00
### **Bypass delle impronte digitali/biometria**
2024-02-10 13:03:23 +00:00
Utilizzando lo script Frida seguente potrebbe essere possibile **bypassare l'autenticazione tramite impronte digitali** che le applicazioni Android potrebbero eseguire al fine di **proteggere determinate aree sensibili:**
{% code overflow="wrap" %}
```bash
frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>
```
{% endcode %}
2024-02-10 13:03:23 +00:00
### **Immagini di sfondo**
2024-02-10 13:03:23 +00:00
Quando si mette un'applicazione in background, Android memorizza uno **snapshot dell'applicazione** in modo che quando viene ripristinata in primo piano, inizia a caricare l'immagine prima dell'app in modo che sembri che l'app sia stata caricata più velocemente.
2024-02-10 13:03:23 +00:00
Tuttavia, se questo snapshot contiene **informazioni sensibili**, qualcuno con accesso allo snapshot potrebbe **rubare tali informazioni** (nota che è necessario il root per accedervi).
2024-02-10 13:03:23 +00:00
Gli snapshot di solito vengono memorizzati in: **`/data/system_ce/0/snapshots`**
2024-02-10 13:03:23 +00:00
Android fornisce un modo per **prevenire la cattura dello screenshot impostando il parametro FLAG\_SECURE**. Utilizzando questo flag, i contenuti della finestra vengono trattati come sicuri, impedendo che vengano visualizzati negli screenshot o su display non sicuri.
```bash
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
```
2024-02-10 13:03:23 +00:00
### **Analizzatore di Applicazioni Android**
2024-02-10 13:03:23 +00:00
Questo strumento potrebbe aiutarti a gestire diversi strumenti durante l'analisi dinamica: [https://github.com/NotSoSecure/android\_application\_analyzer](https://github.com/NotSoSecure/android\_application\_analyzer)
2024-02-10 13:03:23 +00:00
### Iniezione di Intent
2021-07-19 19:50:23 +00:00
2024-02-10 13:03:23 +00:00
Gli sviluppatori spesso creano componenti proxy come attività, servizi e ricevitori di trasmissione che gestiscono questi Intent e li passano a metodi come `startActivity(...)` o `sendBroadcast(...)`, il che può essere rischioso.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
Il pericolo risiede nel permettere agli attaccanti di attivare componenti dell'app non esportati o accedere a provider di contenuti sensibili deviando questi Intent. Un esempio notevole è il componente `WebView` che converte gli URL in oggetti `Intent` tramite `Intent.parseUri(...)` e poi li esegue, potenzialmente portando a iniezioni di Intent dannose.
2024-02-08 03:08:28 +00:00
2024-02-10 13:03:23 +00:00
### Concetti Fondamentali
- **Iniezione di Intent** è simile al problema di reindirizzamento aperto del web.
- Gli exploit coinvolgono il passaggio di oggetti `Intent` come extra, che possono essere reindirizzati per eseguire operazioni non sicure.
- Può esporre componenti non esportati e provider di contenuti agli attaccanti.
- La conversione di URL di `WebView` in `Intent` può facilitare azioni non intenzionali.
2021-07-19 19:50:23 +00:00
2024-02-10 13:03:23 +00:00
### Iniezioni lato client Android e altre
2024-02-10 13:03:23 +00:00
Probabilmente conosci questo tipo di vulnerabilità dal Web. Devi fare particolare attenzione a queste vulnerabilità in un'applicazione Android:
2024-02-10 13:03:23 +00:00
* **SQL Injection:** Quando si gestiscono query dinamiche o Content-Provider, assicurarsi di utilizzare query parametrizzate.
* **JavaScript Injection (XSS):** Verificare che il supporto JavaScript e dei plugin sia disabilitato per qualsiasi WebView (disabilitato per impostazione predefinita). [Maggiori informazioni qui](webview-attacks.md#javascript-enabled).
* **Local File Inclusion:** Le WebView dovrebbero avere l'accesso al file system disabilitato (abilitato per impostazione predefinita) - `(webview.getSettings().setAllowFileAccess(false);)`. [Maggiori informazioni qui](webview-attacks.md#javascript-enabled).
* **Cookie eterni**: In diversi casi, quando l'applicazione Android termina la sessione, il cookie non viene revocato o potrebbe persino essere salvato su disco.
* [**Secure Flag** nei cookie](../../pentesting-web/hacking-with-cookies/#cookies-flags)
***
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-03-05 19:54:13 +00:00
2024-02-10 13:03:23 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Approfondimenti sull'Hacking**\
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Notizie sull'Hacking in Tempo Reale**\
Resta aggiornato sul mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
2023-07-14 15:03:41 +00:00
2024-02-10 13:03:23 +00:00
**Ultime Novità**\
Rimani informato sul lancio delle nuove bug bounty e sugli aggiornamenti cruciali della piattaforma
2023-07-14 15:03:41 +00:00
2024-02-10 13:03:23 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
2022-10-27 23:22:18 +00:00
2024-02-10 13:03:23 +00:00
## Analisi Automatica
2022-05-01 13:25:53 +00:00
### [MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF)
2024-02-10 13:03:23 +00:00
**Analisi statica**
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (61).png>)
2024-02-10 13:03:23 +00:00
**Valutazione delle vulnerabilità dell'applicazione** utilizzando un'interfaccia web-based piacevole. È anche possibile eseguire un'analisi dinamica (ma è necessario preparare l'ambiente).
```bash
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
```
2024-02-10 13:03:23 +00:00
Si noti che MobSF può analizzare le applicazioni **Android** (apk), **IOS** (ipa) e **Windows** (apx) (le applicazioni Windows devono essere analizzate da un MobSF installato in un host Windows).\
Inoltre, se crei un file **ZIP** con il codice sorgente di un'app **Android** o **IOS** (vai alla cartella principale dell'applicazione, seleziona tutto e crea un file ZIP), sarà in grado di analizzarlo anche.
2024-02-10 13:03:23 +00:00
MobSF consente anche di confrontare/analizzare le analisi e di integrare VirusTotal (è necessario impostare la chiave API in MobSF/settings.py e abilitarla: `VT_ENABLED = TRUE` `VT_API_KEY = <La tua chiave API>` `VT_UPLOAD = TRUE`). È anche possibile impostare `VT_UPLOAD` su `False`, quindi l'hash verrà caricato invece del file.
2024-02-10 13:03:23 +00:00
### Analisi dinamica assistita con MobSF
2024-02-10 13:03:23 +00:00
MobSF può essere molto utile anche per l'analisi dinamica su Android, ma in questo caso sarà necessario installare MobSF e genymotion nel tuo host (una VM o Docker non funzioneranno). Nota: è necessario **avviare prima una VM in genymotion** e **poi MobSF**.\
L'analizzatore dinamico di MobSF può:
2024-02-10 13:03:23 +00:00
* Estrarre i dati dell'applicazione (URL, log, appunti, screenshot effettuati da te, screenshot effettuati da "Exported Activity Tester", email, database SQLite, file XML e altri file creati). Tutto ciò viene fatto automaticamente tranne gli screenshot, devi premere quando desideri uno screenshot o devi premere "Exported Activity Tester" per ottenere gli screenshot di tutte le attività esportate.
* Catturare il traffico HTTPS
* Utilizzare Frida per ottenere informazioni in tempo reale
2024-02-10 13:03:23 +00:00
A partire dalle versioni di Android > 5, avvierà automaticamente Frida e imposterà le impostazioni globali del proxy per catturare il traffico. Catturerà solo il traffico dall'applicazione testata.
2024-02-10 13:03:23 +00:00
Frida
2024-02-10 13:03:23 +00:00
Per impostazione predefinita, utilizzerà anche alcuni script di Frida per aggirare il pinning SSL, la rilevazione del root e la rilevazione del debugger e per monitorare le API interessanti.\
MobSF può anche invocare attività esportate, acquisire screenshot di esse e salvarle per il report.
2024-02-10 13:03:23 +00:00
Per avviare il test dinamico, premi il pulsante verde: "Start Instrumentation". Premi "Frida Live Logs" per visualizzare i log generati dagli script di Frida e "Live API Monitor" per visualizzare tutte le invocazioni ai metodi hook, gli argomenti passati e i valori restituiti (questo apparirà dopo aver premuto "Start Instrumentation").\
MobSF consente anche di caricare i propri script di Frida (per inviare i risultati dei tuoi script di Frida a MobSF utilizza la funzione `send()`). Ha anche diversi script predefiniti che è possibile caricare (è possibile aggiungerne altri in `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), basta selezionarli, premere "Load" e premere "Start Instrumentation" (sarai in grado di vedere i log di quegli script all'interno di "Frida Live Logs").
![](<../../.gitbook/assets/image (215).png>)
2024-02-10 13:03:23 +00:00
Inoltre, hai alcune funzionalità ausiliarie di Frida:
2024-02-10 13:03:23 +00:00
* Enumera le classi caricate: Stampa tutte le classi caricate
* Cattura stringhe: Stampa tutte le stringhe catturate durante l'utilizzo dell'applicazione (molto rumoroso)
* Cattura confronti di stringhe: Potrebbe essere molto utile. Mostra le 2 stringhe confrontate e se il risultato è stato True o False.
* Enumera i metodi di classe: Inserisci il nome della classe (come "java.io.File") e stamperà tutti i metodi della classe.
* Cerca modello di classe: Cerca classi per modello
* Traccia i metodi di classe: Traccia un'intera classe (vedi input e output di tutti i metodi della classe). Ricorda che per impostazione predefinita MobSF traccia diversi metodi interessanti delle API Android.
2024-02-10 13:03:23 +00:00
Una volta selezionato il modulo ausiliario che desideri utilizzare, è necessario premere "Start Intrumentation" e vedrai tutti gli output in "Frida Live Logs".
2024-02-10 13:03:23 +00:00
Shell
2024-02-10 13:03:23 +00:00
Mobsf ti offre anche una shell con alcuni comandi adb, comandi MobSF e comandi shell comuni nella parte inferiore della pagina di analisi dinamica. Alcuni comandi interessanti:
```bash
help
shell ls
activities
exported_activities
services
receivers
```
2024-02-10 13:03:23 +00:00
**Strumenti HTTP**
2024-02-10 13:03:23 +00:00
Quando viene catturato il traffico HTTP, è possibile visualizzare una vista poco attraente del traffico catturato nella sezione "**HTTP(S) Traffic**" in basso o una vista più piacevole nel pulsante verde "**Start HTTPTools**". Dalla seconda opzione, è possibile **inviare** le **richieste catturate** a **proxy** come Burp o Owasp ZAP.\
Per farlo, _accendere Burp -->_ _disattivare l'intercettazione --> in MobSB HTTPTools selezionare la richiesta_ --> premere "**Send to Fuzzer**" --> _selezionare l'indirizzo del proxy_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
2024-02-10 13:03:23 +00:00
Una volta completata l'analisi dinamica con MobSF, è possibile premere su "**Start Web API Fuzzer**" per **fuzzare le richieste HTTP** e cercare vulnerabilità.
{% hint style="info" %}
2024-02-10 13:03:23 +00:00
Dopo aver eseguito un'analisi dinamica con MobSF, le impostazioni del proxy potrebbero essere configurate in modo errato e non sarà possibile correggerle dall'interfaccia grafica. È possibile correggere le impostazioni del proxy eseguendo:
```
adb shell settings put global http_proxy :0
```
{% endhint %}
2024-02-10 13:03:23 +00:00
### Analisi dinamica assistita con Inspeckage
2021-07-20 10:40:58 +00:00
2024-02-10 13:03:23 +00:00
Puoi ottenere lo strumento da [**Inspeckage**](https://github.com/ac-pm/Inspeckage).\
Questo strumento utilizza alcuni **Hooks** per farti sapere **cosa sta succedendo nell'applicazione** mentre esegui un'**analisi dinamica**.
2021-07-20 10:41:39 +00:00
2021-07-20 10:40:58 +00:00
2022-05-01 13:25:53 +00:00
### [Yaazhini](https://www.vegabird.com/yaazhini/)
2024-02-10 13:03:23 +00:00
Questo è un **ottimo strumento per eseguire un'analisi statica con una GUI**
![](<../../.gitbook/assets/image (527).png>)
2022-05-01 13:25:53 +00:00
### [Qark](https://github.com/linkedin/qark)
2024-02-10 13:03:23 +00:00
Questo strumento è progettato per cercare diverse **vulnerabilità di sicurezza delle applicazioni Android**, sia nel **codice sorgente** che negli **APK confezionati**. Lo strumento è inoltre **in grado di creare un APK "Proof-of-Concept" deployable** e **comandi ADB**, per sfruttare alcune delle vulnerabilità trovate (attività esposte, intenti, tapjacking...). Come Drozer, non è necessario eseguire il root del dispositivo di test.
```bash
pip3 install --user qark # --user is only needed if not using a virtualenv
2021-07-31 09:02:13 +00:00
qark --apk path/to/my.apk
qark --java path/to/parent/java/folder
qark --java path/to/specific/java/file.java
```
2022-05-01 13:25:53 +00:00
### [**ReverseAPK**](https://github.com/1N3/ReverseAPK.git)
2024-02-10 13:03:23 +00:00
* Mostra tutti i file estratti per un facile riferimento
* Decompila automaticamente i file APK nel formato Java e Smali
* Analizza AndroidManifest.xml per vulnerabilità e comportamenti comuni
* Analisi statica del codice sorgente per vulnerabilità e comportamenti comuni
* Informazioni sul dispositivo
* e altro ancora
2024-02-08 03:08:28 +00:00
```bash
reverse-apk relative/path/to/APP.apk
```
2022-05-01 13:25:53 +00:00
### [SUPER Android Analyzer](https://github.com/SUPERAndroidAnalyzer/super)
2024-02-10 13:03:23 +00:00
SUPER è un'applicazione da linea di comando che può essere utilizzata su Windows, MacOS X e Linux per analizzare i file _.apk_ alla ricerca di vulnerabilità. Lo fa decomprimendo gli APK e applicando una serie di regole per rilevare tali vulnerabilità.
2024-02-10 13:03:23 +00:00
Tutte le regole sono contenute in un file `rules.json`, e ogni azienda o tester può creare le proprie regole per analizzare ciò di cui ha bisogno.
2024-02-10 13:03:23 +00:00
Scarica le ultime versioni binarie dalla [pagina di download](https://superanalyzer.rocks/download.html)
```
super-analyzer {apk_file}
```
2022-05-01 13:25:53 +00:00
### [StaCoAn](https://github.com/vincentcox/StaCoAn)
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (62).png>)
2024-02-10 13:03:23 +00:00
StaCoAn è uno strumento **crossplatform** che aiuta sviluppatori, cacciatori di bug e hacker etici a eseguire l'analisi del codice statico sulle applicazioni mobili.
2024-02-10 13:03:23 +00:00
Il concetto è che trascini e rilasci il file dell'applicazione mobile (un file .apk o .ipa) sull'applicazione StaCoAn e genererà un rapporto visuale e portatile per te. Puoi personalizzare le impostazioni e le liste di parole per ottenere un'esperienza personalizzata.
2024-02-10 13:03:23 +00:00
Scarica l'[ultima versione](https://github.com/vincentcox/StaCoAn/releases):
```
./stacoan
```
2022-05-01 13:25:53 +00:00
### [AndroBugs](https://github.com/AndroBugs/AndroBugs\_Framework)
2024-02-10 13:03:23 +00:00
AndroBugs Framework è un sistema di analisi delle vulnerabilità di Android che aiuta sviluppatori o hacker a individuare potenziali vulnerabilità di sicurezza nelle applicazioni Android.\
[Rilasci per Windows](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
```
python androbugs.py -f [APK file]
androbugs.exe -f [APK file]
```
2022-05-01 13:25:53 +00:00
### [Androwarn](https://github.com/maaaaz/androwarn)
2024-02-10 13:03:23 +00:00
**Androwarn** è uno strumento il cui obiettivo principale è rilevare e avvertire l'utente riguardo potenziali comportamenti maligni sviluppati da un'applicazione Android.
2024-02-10 13:03:23 +00:00
La rilevazione viene effettuata tramite l'**analisi statica** del bytecode Dalvik dell'applicazione, rappresentato come **Smali**, con la libreria [`androguard`](https://github.com/androguard/androguard).
2024-02-10 13:03:23 +00:00
Questo strumento cerca comportamenti comuni delle "cattive" applicazioni come: esfiltrazione di identificatori telefonici, intercettazione di flussi audio/video, modifica dei dati PIM, esecuzione di codice arbitrario...
```
python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
```
2024-02-10 13:03:23 +00:00
### [Framework MARA](https://github.com/xtiankisutsa/MARA_Framework)
2022-09-01 22:02:18 +00:00
![](<../../.gitbook/assets/image (81).png>)
2024-02-10 13:03:23 +00:00
**MARA** è un **F**ramework di **R**everse engineering e **A**nalisi di **A**pplicazioni **M**obili. È uno strumento che riunisce strumenti comuni utilizzati per il reverse engineering e l'analisi di applicazioni mobili, al fine di testare le applicazioni mobili contro le minacce alla sicurezza mobile di OWASP. Il suo obiettivo è rendere questa attività più facile e amichevole per gli sviluppatori di applicazioni mobili e i professionisti della sicurezza.
2024-02-10 13:03:23 +00:00
È in grado di:
2024-02-10 13:03:23 +00:00
* Estrarre codice Java e Smali utilizzando diversi strumenti
* Analizzare gli APK utilizzando: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD)
* Estrarre informazioni private dall'APK utilizzando espressioni regolari.
* Analizzare il Manifest.
* Analizzare i domini trovati utilizzando: [pyssltest](https://github.com/moheshmohan/pyssltest), [testssl](https://github.com/drwetter/testssl.sh) e [whatweb](https://github.com/urbanadventurer/WhatWeb)
* Deobfuscare l'APK tramite [apk-deguard.com](http://www.apk-deguard.com)
2022-05-01 13:25:53 +00:00
### Koodous
2024-02-10 13:03:23 +00:00
Utile per rilevare malware: [https://koodous.com/](https://koodous.com)
2024-02-10 13:03:23 +00:00
## Codice di obfuscamento/deobfuscamento
2024-02-10 13:03:23 +00:00
Si noti che a seconda del servizio e della configurazione utilizzati per obfuscare il codice, i segreti possono essere o meno obfuscati.
2021-04-20 15:03:28 +00:00
2022-05-01 13:25:53 +00:00
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
2024-02-10 13:03:23 +00:00
Da [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)): **ProGuard** è uno strumento open source a riga di comando che riduce, ottimizza e obfusca il codice Java. È in grado di ottimizzare il bytecode e rilevare ed eliminare istruzioni inutilizzate. ProGuard è un software gratuito e viene distribuito con la licenza GNU General Public License, versione 2.
2024-02-10 13:03:23 +00:00
ProGuard viene distribuito come parte dell'Android SDK e viene eseguito durante la compilazione dell'applicazione in modalità di rilascio.
2022-05-03 09:20:29 +00:00
### [DexGuard](https://www.guardsquare.com/dexguard)
2024-02-10 13:03:23 +00:00
Trova una guida passo-passo per deobfuscare l'APK su [https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)
2022-05-03 09:20:29 +00:00
2024-02-10 13:03:23 +00:00
(Da quella guida) L'ultima volta che abbiamo controllato, la modalità di funzionamento di Dexguard era:
2022-05-03 09:20:29 +00:00
2024-02-10 13:03:23 +00:00
* caricare una risorsa come InputStream;
* alimentare il risultato a una classe che eredita da FilterInputStream per decifrarlo;
* fare qualche obfuscazione inutile per sprecare alcuni minuti di tempo a un reverser;
* alimentare il risultato decifrato a un ZipInputStream per ottenere un file DEX;
* infine caricare il DEX risultante come una risorsa utilizzando il metodo `loadDex`.
2022-05-03 09:20:29 +00:00
2022-05-01 13:25:53 +00:00
### [DeGuard](http://apk-deguard.com)
2024-02-10 13:03:23 +00:00
**DeGuard inverte il processo di obfuscazione eseguito dagli strumenti di obfuscazione di Android. Ciò consente numerose analisi di sicurezza, inclusa l'ispezione del codice e la previsione delle librerie.**
2024-02-10 13:03:23 +00:00
È possibile caricare un APK obfuscati sulla loro piattaforma.
2022-05-01 13:25:53 +00:00
### [Simplify](https://github.com/CalebFenton/simplify)
2024-02-10 13:03:23 +00:00
È un **deobfuscator generico per Android.** Simplify **esegue virtualmente un'app** per comprendere il suo comportamento e quindi **cerca di ottimizzare il codice** in modo che si comporti in modo identico ma sia più comprensibile per un essere umano. Ogni tipo di ottimizzazione è semplice e generico, quindi non importa quale tipo specifico di obfuscazione viene utilizzato.
2022-05-01 13:25:53 +00:00
### [APKiD](https://github.com/rednaga/APKiD)
2024-02-10 13:03:23 +00:00
APKiD fornisce informazioni su **come è stato creato un APK**. Identifica molti **compilatori**, **packer**, **obfuscatore** e altre cose strane. È [_PEiD_](https://www.aldeid.com/wiki/PEiD) per Android.
2024-02-10 13:03:23 +00:00
### Manuale
2024-02-10 13:03:23 +00:00
[Leggi questo tutorial per imparare alcuni trucchi su **come invertire l'obfuscazione personalizzata**](manual-deobfuscation.md)
2024-02-10 13:03:23 +00:00
## Laboratori
2022-05-01 13:25:53 +00:00
### [Androl4b](https://github.com/sh4hin/Androl4b)
2024-02-10 13:03:23 +00:00
AndroL4b è una macchina virtuale di sicurezza Android basata su ubuntu-mate che include la raccolta degli ultimi framework, tutorial e laboratori di diversi esperti di sicurezza e ricercatori per il reverse engineering e l'analisi del malware.
2024-02-10 13:03:23 +00:00
## Riferimenti
2024-02-08 03:08:28 +00:00
* [https://owasp.org/www-project-mobile-app-security/](https://owasp.org/www-project-mobile-app-security/)
2024-02-10 13:03:23 +00:00
* [https://appsecwiki.com/#/](https://appsecwiki.com/#/) È una grande lista di risorse
* [https://maddiestone.github.io/AndroidAppRE/](https://maddiestone.github.io/AndroidAppRE/) Corso rapido su Android
* [https://manifestsecurity.com/android-application-security/](https://manifestsecurity.com/android-application-security/)
2021-08-19 09:17:14 +00:00
* [https://github.com/Ralireza/Android-Security-Teryaagh](https://github.com/Ralireza/Android-Security-Teryaagh)
2024-02-08 03:08:28 +00:00
* [https://www.youtube.com/watch?v=PMKnPaGWxtg\&feature=youtu.be\&ab\_channel=B3nacSec](https://www.youtube.com/watch?v=PMKnPaGWxtg\&feature=youtu.be\&ab\_channel=B3nacSec)
2024-02-10 13:03:23 +00:00
## Ancora da provare
2020-09-26 09:34:54 +00:00
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
2020-09-26 10:35:08 +00:00
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-07-14 15:03:41 +00:00
2024-02-10 13:03:23 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug!
2023-03-05 19:54:13 +00:00
2023-12-04 15:45:05 +00:00
**Hacking Insights**\
2024-02-10 13:03:23 +00:00
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Notizie di Hacking in Tempo Reale**\
Resta aggiornato sul mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Ultime Novità**\
Rimani informato sul lancio delle ultime taglie di bug e sugli aggiornamenti cruciali della piattaforma
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **e inizia a collaborare con i migliori hacker oggi stesso!**
2022-10-27 23:22:18 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<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>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-03 10:43:38 +00:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata in 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 esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **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 github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) **e** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>