Page 1 of 1

Exploration clé USB hybride TI 1Mio et erreur de conception

Unread postPosted: 17 Sep 2019, 11:33
by critor
11548Pour 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. :#roll#:

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 : :o
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 :
  • zw
  • qa
  • aq
  • !/
  • :.
  • ,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. :#non#:

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) : :o
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 ! :bj:



11549Question 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.



1153011531Bref, 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. ;)

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 12:44
by Diolum

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 13:36
by Adriweb
C'est en effet une technique bien connue, ce BadUSB.

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 14:47
by Diolum
Plusieurs méthodes du lien ci dessus peuvent êtres utilisés pour trouver ce qui se cache en dessous. Et peu être même, avec un peu de chance, le titi complet marchera.

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 18:35
by critor
Bonsoir et merci.

Malheureusement, l'outil http://www.antspec.com/files/usbflashinfo.zip lié depuis https://null-byte.wonderhowto.com/how-t ... b-0165419/ ne trouve pas la clé, et ne permet donc pas d'identifier le contrôleur Flash qu'elle utilise.
Image

Je précise qu'il détecte d'autres clés sans problème.

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 19:11
by Wistaro
Intéressant.

Mais sérieusement, 1Mio en 2019, c'est possible? Même les disquettes ont quasiment plus de stockage.

Au passage, aucune problème sur cette clef USB :D
Image

Je m'en sert régulièrement ^^

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 17 Sep 2019, 19:52
by critor
Oui oui, toutes les autres clés que l'on a dont la tienne ont été testées, notamment pour en annoncer la capacité, et sont parfaitement normales/standard.
11531

Y'a juste cette clé TI rouge qui fait exception.

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 19 Sep 2019, 10:06
by critor
Peut-être une explication de pourquoi la clé USB TI 1Mio n'est pas détectée par l'outil USBflashinfo.

Selon les descripteurs postés dans l'article, elle ne se présente pas en tant que disque Flash USB, mais en tant que lecteur CDROM USB :
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


Je ne comprends pas du tout quel peut bien être l'intérêt technique de cette anomalie.
En tous cas l'espace de 1Mio qu'elle offre reste bien inscriptible.

Re: Exploration clé USB hybride TI 1Mio et erreur de concept

Unread postPosted: 04 Oct 2019, 20:07
by critor
Je me suis demandé si la clé USB T3 France bleue de 2Go pouvait nous donner quelques indices, vu qu'elle utilise exactement le même boîtier, et partage donc peut-être la même source.
1154811625

Mais non, une fois ouverte ça n'a absolument rien à voir.
115491162911630

On a ici une carte peuplée des deux côtés et apparemment conçue le 25 février 2013.
Pas de référence visible sur la carte, et la puce Flash est elle aussi peu bavarde avec une référence KN02GA130321-03 inconnue de Google et sans logo de marque, chose peu habituelle.