# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-mobile/android/bluetooth-android.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
