Exploration clé USB hybride TI 1Mio et erreur de conception
Posted: 17 Sep 2019, 11:33
Pour te gâter aux concours que nous organisons de temps en temps, Texas Instruments nous a fourni un lot de clés USB rouges estampillées à son nom.
Des clés USB qui en fait se révèlent être d'une capacité extrêmement faible, 1 Mégaoctet.
On pourrait arrêter cet article de suite... Mais ne trouves-tu pas une telle capacité anachronique en 2019 ? Est-ce que ça ne cacherait pas autre chose ?...
Cette clé USB ouvre la fenêtre d'exécution Windows dès son branchement.
Ce qui pourrait être normal si nous trouvions un fichier autorun.inf à la racine de son espace de stockage, or ce n'est pas le cas.
Pas non plus de partition cachée sur cette clé selon un logiciel de partitionnement.
Mais ce qui est encore plus étrange, c'est la saisie totalement anormale dans la boîte d'exécution, qui pourrait faire croire à un virus ou autre programme malveillant :
En fait ce n'est pas n'importe quoi, c'est bizarrement symptomatique d'une saisie en disposition Qwerty sur un clavier en disposition Azerty, ce dont nous disposons en France.
Effectuons donc les substitutions suivantes :
Nous obtenons alors une adresse web relative à la TI-Primaire Plus :
Bref, pourquoi donc ce problème de caractères ? Texas Instruments ne s'est sûrement pas trompé en communiquant l'adresse à son fournisseur, et c'est forcément la clé qui se trompe.
La raison est liée à l'absence de fichier autorun.inf. Sans ce fichier, une clé USB normale serait incapable d'ouvrir une fenêtre d'exécution Windows et d'y saisir des choses.
La connexion de la clé USB fait bien apparaître un périphérique de stockage USB, certes :
Mais non, ce n'est pas une clé USB normale, car apparaît également autre chose, un périphérique d'entrée USB (clavier) :
Et oui, cette clé USB est un deux-en-un, fusionnant un espace de stockage USB et un clavier USB 'virtuel'.
A la connexion le clavier USB virtuel simule des appuis de touches. Il commence par le raccourci clavier
Sauf qu'électroniquement, un clavier ça ne transmet pas des caractères mais des codes de touches. Et ces codes sont relatifs non pas à la fonction de la touche concernée, mais à sa position sur un clavier standard.
Cette clé USB hybride suite à sa programmation ne peut visiblement fonctionner correctement que sur des ordinateurs configurés avec une disposition de touches Qwerty, ce que nous confirmons facilement.
En Europe nous avons pas moins de 3 types de claviers différents, sans compter les déclinaisons locales qui varient d'un pays à l'autre :
Si ce genre de clé USB promotionnelle peut marcher en Amérique du Nord, ce n'est pas le cas en Europe :
Se pourrait-il donc que cette clé USB faisant la promotion de la TI-Primaire Plus n'ait pas été conçue pour la France ?
Avec un nom pareil, elle ne pourrait cibler qu'un autre pays francophone.
La TI-Primaire Plus est certes distribuée en Suisse, mais aucune des deux dispositions de clavier Qwertz n'est compatible.
Peut-être pourrait-il s'agir à la différence d'un pays francophone qui n'accueille pas encore la TI-Primaire Plus ?
Mais non, le clavier Azerty de la Belgique n'est pas davantage compatible.
Ne resterait à la rigueur que le Canada francophone avec le Québec, et l'une des deux dispositions Qwerty du pays qui est certes compatible.
Mais ce serait quand même bien curieux puisque l'adresse saisie par la clé lie spécifiquement la page TI-Primaire Plus pour la France. Et de plus, ces clés nous ont été fournies par TI-Europe.
Le plus probable est qu'il s'agisse d'une erreur, soit au niveau de la commande par Texas Instruments soit au niveau du fournisseur, l'un des deux ayant oublié de prendre en compte que l'adresse saisie par la clé se devait de marcher sur le clavier français Azerty.
Ce genre d'erreur étant usuellement destinée à être retournée au fournisseur et/ou détruite, cela rend cette clé USB inestimable !
Question suivante qui en découle, serait-il possible de corriger cette clé USB ? Il suffirait de pouvoir reprogrammer le firmware de la clé pour au choix :
L'ouverture de cette clé révèle une carte de référence U-DISK V1.0, apparemment conçue en Mai 2011. Hélas, une référence totalement inconnue de Google.
On y note 2 puces de taille similaire, ce qui n'est pas du tout habituel pour une clé USB, puces malheureusement noyées sous des gouttes d'epoxy solidifié.
On note quelques emplacements de résistances et condensateurs vides ainsi qu'un jumper JP1, qui pourraient suggérer la possibilité de basculer la clé dans un mode de reprogrammation, mais difficile d'aller plus loin à l'aveugle.
Bref, tu auras de quoi t'amuser en exerçant tes compétences de hacker si tu choisis spécifiquement cette clé USB parmi la grande sélection que nous te proposerons dans nos prochains concours.
Des clés USB qui en fait se révèlent être d'une capacité extrêmement faible, 1 Mégaoctet.
On pourrait arrêter cet article de suite... Mais ne trouves-tu pas une telle capacité anachronique en 2019 ? Est-ce que ça ne cacherait pas autre chose ?...
Cette clé USB ouvre la fenêtre d'exécution Windows dès son branchement.
Ce qui pourrait être normal si nous trouvions un fichier autorun.inf à la racine de son espace de stockage, or ce n'est pas le cas.
Pas non plus de partition cachée sur cette clé selon un logiciel de partitionnement.
Mais ce qui est encore plus étrange, c'est la saisie totalement anormale dans la boîte d'exécution, qui pourrait faire croire à un virus ou autre programme malveillant :
httpM!!zzz:educqtion:ti:co,!fr!frqnce!products!cqlculqtrices)scientifiaues!ti)pri,qire)plus!tqbs!overviez
En fait ce n'est pas n'importe quoi, c'est bizarrement symptomatique d'une saisie en disposition Qwerty sur un clavier en disposition Azerty, ce dont nous disposons en France.
Effectuons donc les substitutions suivantes :
z
→w
q
→a
a
→q
!
→/
:
→.
,
→m
)
→-
M
=Shift
M
→Shift
;
=:
Nous obtenons alors une adresse web relative à la TI-Primaire Plus :
http://www.education.ti.com/fr/france/products/calculatrices-scientifiques/ti-primaire-plus/tabs/overview
Bref, pourquoi donc ce problème de caractères ? Texas Instruments ne s'est sûrement pas trompé en communiquant l'adresse à son fournisseur, et c'est forcément la clé qui se trompe.
La raison est liée à l'absence de fichier autorun.inf. Sans ce fichier, une clé USB normale serait incapable d'ouvrir une fenêtre d'exécution Windows et d'y saisir des choses.
La connexion de la clé USB fait bien apparaître un périphérique de stockage USB, certes :
- Code: Select all
Information for device CD-ROM (VID=0x8888 PID=0x8888):
Connection Information:
------------------------------
Device current bus speed: HighSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x000A
Current configuration value: 0x00
Number of open pipes: 0
Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0 (64 bytes)
0x8888 idVendor
0x8888 idProduct
0x0100 bcdDevice
0x01 iManufacturer
0x02 iProduct "CD-ROM"
0x03 iSerialNumber "992602E1569DE2D7"
0x01 bNumConfigurations
Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0 (64 bytes)
0x01 bNumConfigurations
0x00 bReserved
Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0020 wTotalLength (32 bytes)
0x01 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0x80 bmAttributes (Bus-powered Device)
0xFA bMaxPower (500 mA)
Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0x08 bInterfaceClass (Mass Storage Device Class)
0x06 bInterfaceSubClass (Transparent SCSI subclass)
0x50 bInterfaceProtocol (Bulk only transport)
0x00 iInterface
Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress (OUT endpoint 1)
0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize (512 bytes)
0x00 bInterval
Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress (IN endpoint 1)
0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize (512 bytes)
0x00 bInterval
------------------------------
Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0020 wTotalLength (32 bytes)
0x01 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0x80 bmAttributes (Bus-powered Device)
0x32 bMaxPower (100 mA)
Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0x08 bInterfaceClass (Mass Storage Device Class)
0x06 bInterfaceSubClass (Transparent SCSI subclass)
0x50 bInterfaceProtocol (Bulk only transport)
0x00 iInterface
Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress (OUT endpoint 1)
0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize (64 bytes)
0x00 bInterval
Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress (IN endpoint 1)
0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize (64 bytes)
0x00 bInterval
Microsoft OS Descriptor is not available. Error code: 0x0000001F
String Descriptor Table
--------------------------------
Index LANGID String
0x00 0x0000 0x0409
0x01 0x0409 Request failed with 0x000003E3
0x02 0x0409 "CD-ROM"
0x03 0x0409 "992602E1569DE2D7"
------------------------------
Connection path for device:
Contrôleur d’hôte compatible xHCI USB
Root Hub
CD-ROM (VID=0x8888 PID=0x8888) Port: 4
Mais non, ce n'est pas une clé USB normale, car apparaît également autre chose, un périphérique d'entrée USB (clavier) :
- Code: Select all
Information for device HID (VID=0x8888 PID=0x8888):
Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x0017
Current configuration value: 0x00
Number of open pipes: 0
Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0110 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0 (64 bytes)
0x8888 idVendor
0x8888 idProduct
0x0100 bcdDevice
0x01 iManufacturer "Generic"
0x02 iProduct "HID"
0x00 iSerialNumber
0x01 bNumConfigurations
Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0022 wTotalLength (34 bytes)
0x01 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0x80 bmAttributes (Bus-powered Device)
0x32 bMaxPower (100 mA)
Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass (Human Interface Device Class)
0x01 bInterfaceSubClass
0x01 bInterfaceProtocol
0x00 iInterface
HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0110 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType (Report descriptor)
0x0041 bDescriptorLength
Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress (IN endpoint 1)
0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize (1 x 8 bytes)
0x14 bInterval (20 frames)
Microsoft OS Descriptor is not available. Error code: 0x0000001F
String Descriptor Table
--------------------------------
Index LANGID String
0x00 0x0000 0x0409
0x01 0x0409 "Generic"
0x02 0x0409 "HID"
------------------------------
Connection path for device:
Contrôleur d’hôte compatible xHCI USB
Root Hub
HID (VID=0x8888 PID=0x8888) Port: 1
Et oui, cette clé USB est un deux-en-un, fusionnant un espace de stockage USB et un clavier USB 'virtuel'.
A la connexion le clavier USB virtuel simule des appuis de touches. Il commence par le raccourci clavier
Windows
R(Run), puis y saisit l'adresse internet, valide et enfin se déconnecte, disparaissant alors de la liste des périphériques.
Sauf qu'électroniquement, un clavier ça ne transmet pas des caractères mais des codes de touches. Et ces codes sont relatifs non pas à la fonction de la touche concernée, mais à sa position sur un clavier standard.
Cette clé USB hybride suite à sa programmation ne peut visiblement fonctionner correctement que sur des ordinateurs configurés avec une disposition de touches Qwerty, ce que nous confirmons facilement.
En Europe nous avons pas moins de 3 types de claviers différents, sans compter les déclinaisons locales qui varient d'un pays à l'autre :
- Azerty : pays francophones
- Qwertz : pays germanophones
- Qwerty : autres
Si ce genre de clé USB promotionnelle peut marcher en Amérique du Nord, ce n'est pas le cas en Europe :
- Code: Select all
http://www.education.ti.com/fr/france/products/calculatrices-scientifiques/ti-primaire-plus/tabs/overview (Qwerty Etats-Unis, Canada anglophone, Royaume-Uni, Pays-Bas)
http:ééwww.education.ti.coméfréfranceéproductsécalculatrices-scientifiqueséti-primaire-plusétabséoverview (Qwerty Canada francophone)
httpÖ--www.education.ti.com-fr-france-products-calculatricesßscientifiques-tißprimaireßplus-tabs-overview (Qwertz Allemagne, Autriche)
httpé--www.education.ti.com-fr-france-products-calculatrices'scientifiques-ti'primaire'plus-tabs-overview (Qwertz Suisse alémanique)
httpö--www.education.ti.com-fr-france-products-calculatrices'scientifiques-ti'primaire'plus-tabs-overview (Qwertz Suisse romande)
httpM!!zzz:educqtion:ti:co,!fr!frqnce!products!cqlculqtrices)scientifiaues!ti)pri,qire)plus!tqbs!overviez (Azerty France)
httpM==zzz:educqtion:ti:co,=fr=frqnce=products=cqlculqtrices)scientifiaues=ti)pri,qire)plus=tqbs=overviez (Azerty Belgique)
Se pourrait-il donc que cette clé USB faisant la promotion de la TI-Primaire Plus n'ait pas été conçue pour la France ?
Avec un nom pareil, elle ne pourrait cibler qu'un autre pays francophone.
La TI-Primaire Plus est certes distribuée en Suisse, mais aucune des deux dispositions de clavier Qwertz n'est compatible.
Peut-être pourrait-il s'agir à la différence d'un pays francophone qui n'accueille pas encore la TI-Primaire Plus ?
Mais non, le clavier Azerty de la Belgique n'est pas davantage compatible.
Ne resterait à la rigueur que le Canada francophone avec le Québec, et l'une des deux dispositions Qwerty du pays qui est certes compatible.
Mais ce serait quand même bien curieux puisque l'adresse saisie par la clé lie spécifiquement la page TI-Primaire Plus pour la France. Et de plus, ces clés nous ont été fournies par TI-Europe.
Le plus probable est qu'il s'agisse d'une erreur, soit au niveau de la commande par Texas Instruments soit au niveau du fournisseur, l'un des deux ayant oublié de prendre en compte que l'adresse saisie par la clé se devait de marcher sur le clavier français Azerty.
Ce genre d'erreur étant usuellement destinée à être retournée au fournisseur et/ou détruite, cela rend cette clé USB inestimable !
Question suivante qui en découle, serait-il possible de corriger cette clé USB ? Il suffirait de pouvoir reprogrammer le firmware de la clé pour au choix :
- désactiver le clavier USB virtuel
- corriger selon le cas la séquence de touches pressées ou la chaîne de caractères de l'adresse saisie, ou même la remplacer par tout autre chose
L'ouverture de cette clé révèle une carte de référence U-DISK V1.0, apparemment conçue en Mai 2011. Hélas, une référence totalement inconnue de Google.
On y note 2 puces de taille similaire, ce qui n'est pas du tout habituel pour une clé USB, puces malheureusement noyées sous des gouttes d'epoxy solidifié.
On note quelques emplacements de résistances et condensateurs vides ainsi qu'un jumper JP1, qui pourraient suggérer la possibilité de basculer la clé dans un mode de reprogrammation, mais difficile d'aller plus loin à l'aveugle.
Bref, tu auras de quoi t'amuser en exerçant tes compétences de hacker si tu choisis spécifiquement cette clé USB parmi la grande sélection que nous te proposerons dans nos prochains concours.