> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-mobile/android/bluetooth-android.md).

# Bluetooth (Android)

## Outils

### nRF Connect for Mobile

nRF Connect est une application mobile permettant de scanner les appareils bluetooth à proximité, de lire et d'écrire des caractéristiques et des descripteurs, de surveiller les notifications et les indications, d'effectuer des opérations GATT, etc.

Ressource: <https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=fr&pli=1>

### BtleJuice

BtleJuice permet via une interface web et un proxy d'effectuer des attaque de type « man-in-the-middle » sur les connexions BLE entre deux appareils, d'intercepter et de modifier le trafic GATT, de cloner des appareils et des services BLE, etc.

Ressource: <https://github.com/DigitalSecurity/btlejuice>

### Bettercap

Bettercap possède des fonctionnalités utiles en ligne de commande pour tester les connexions bluetooth

Ressource: <https://github.com/bettercap/bettercap>

## Reconnaissance

### Scan / Recherche de devices à proximité

#### Via une application Android

Pour rechercher les devices à proximité et récupérer quelques informations utiles à leur sujet, on peut utiliser l'application [nRF Connect](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp\&hl=fr\&pli=1) comme ceci:

* Installez et lancez l'application sur votre appareil Android.
* Appuyez sur le bouton SCAN pour lancer l'analyse.
* Consultez la liste des appareils détectés : nom, adresse MAC et valeurs RSSI.
* Appuyez sur un appareil pour afficher ses services et ses caractéristiques.
* Appuyez sur une caractéristique pour lire ou écrire sa valeur.
* Activez les notifications ou les indications si disponibles.

#### Via un PC

On peut utiliser Metasploit ou Bettercap:

Exemple avec Metasploit:

* **auxiliary/scanner/bluetooth/bluetooth\_discover**: Ce module peut rechercher les appareils Bluetooth à proximité et afficher leurs informations.
* **auxiliary/scanner/bluetooth/bluetooth\_ping**: Ce module peut envoyer un ping à un appareil Bluetooth et mesurer son temps de réponse.
* **auxiliary/scanner/bluetooth/identify\_services**: Ce module permet d'identifier les services offerts par un appareil Bluetooth.

## Exploitation

### Metasploit

Metasploit possède plusieurs modules qui peuvent être utilisés pour tenter d'exploiter des vulnérabilités Bluetooth:

* **auxiliary/scanner/bluetooth/bluetooth\_pair**: Ce module peut tenter de se coupler avec un appareil Bluetooth à l'aide d'une attaque par force brute PIN.
* **exploit/linux/bluetooth/blueborne\_l2cap\_rce**: Ce module peut exploiter une vulnérabilité d'exécution de code à distance (CVE-2017-1000251) dans l'implémentation L2CAP des versions 3.3-rc1 à 4.13.1 du noyau Linux.
* **exploit/android/bluetooth/btif\_hcicmd\_send**: Ce module peut être utilisé pour exploiter une vulnérabilité de buffer overflow Bluetooth d'Android (CVE-2020-0022)

## Ressources

Quelques ressources utiles sur le sujet:

* CVE-2020-12351 / CVE-2020-12352: <https://github.com/google/security-research/security/advisories/GHSA-h637-c88j-47wq>
* CVE-2020-0022 (Bluefrag): <https://github.com/k3vinlusec/Bluefrag_CVE-2020-0022>
