IMA3/IMA4 2018/2020 P12

De Wiki de Projets IMA
Révision datée du 22 avril 2019 à 17:40 par Rex (discussion | contributions) (Semaine 5)


I. Présentation générale

Description

Trois périphériques sont envisagés :

  • un clavier
  • une souris
  • et une clef USB

Chacun des périphériques sera construit autour d'un ATMEGA16u2 gérant le protocole USB.

Le clavier aura pour fonction de gérer les entrées et quelques LED.
La fonctionnalité supplémentaire consiste à enregistrer des touches tapées par l'utilisateur. Le contenu de cet historique sera stocké dans la mémoire interne du clavier, et pourra être vidé ou supprimé via une combinaison de touches.

La souris contrôlera le déplacement du curseur et possédera des boutons. 
Elle contiendra également un mode "Berserk" qui cliquera aléatoirement sur l'écran. Ce mode sera déclenchable à distance.

Enfin, la clef USB sera utilisée comme lecteur de carte SD.
En cas d'inactivité prolongée, elle émulera un clavier qui injectera une séquence d’actions préalablement enregistrée afin de télécharger un logiciel de surveillance sur le PC auquel elle est connectée.

Objectifs

Notre objectif est de réaliser ces périphériques USB artisanaux avec les fonctionnalités supplémentaires décrites.

II. Analyse du projet

Analyse du premier concurrent

KeyGrabber USB 16Mo

Le premier concurrent, celui du clavier, est représenté par les produits de type Keylogger.

Voici un des principaux concurrents de ce marché :
Nom du produit : KeyGrabber USB
Société : Keelog

Description générale:

Ce périphérique USB se connecte entre le port USB de l’ordinateur et celui du clavier. Il enregistre l’activité du clavier dans une mémoire interne. Les données peuvent être récupérées ou effacées avec la bonne combinaison de touches.

Caractéristiques :

Sa longueur est de 38mm. Elle a une capacité de stockage de 16Mo ou 8Go.
Les données présentes sont encryptées par un cryptage 128 bits, unique à chaque produit.
Son prix est 43.99$ pour la version 16Mo ou 83,99$ pour la version 8Go.

Analyse du second concurrent

KeyGrabber USB 16Mo

Le second concurrent est celui de la clé USB.

Nom : USB RUBBER DUCKY
Société :hak5

Description général:
Il s'agit d'un périphérique USB reconnu en tant que clavier. Il injecte des instructions présentes sur la carte micro SD.

Il est facile d'utilisation car il suffit d'écrire les instructions dans un fichier texte, dans un langage spécifique.
Son prix est de 44,99$.

Positionnement par rapport à l'existant

En ce qui concerne le clavier, il aura à peu près les mêmes caractéristiques techniques que le KeyGrabber. La différence majeure réside dans la discrétion de celui-ci. En effet, le keygrabber est une clef USB et il est facilement repérable. Cela implique de le cacher à l'arrière de la tour.

Or, notre dispositif Keylogger sera directement implémentée dans le clavier. Ainsi il restera inaperçu depuis l'extérieur, sur n'importe quelle machine.

Ensuite, notre clé USB diffère de l'USB RUBBER DUCKY car elle sera en premier lieu utilisée comme lecteur de carte SD. On pourra donc s'en servir de stockage alors que chez le concurrent la carte micro SD sert de stockage pour les instructions à envoyer au PC.
Ce stockage rend donc moins suspect notre clé, qui pourra lancer le téléchargement du logiciel de surveillance en cas d'inactivité.

Scénario d'usage du produit ou du concept envisagé

le clavier

Le principal cas d’utilisation de ce clavier est la surveillance, légale ou non.

  • Surveillance de son propre pc, par exemple pour savoir ce que font ses enfants quand ils sont sur l’ordinateur.
  • Récupération de données.


la clé

Les cas d’utilisation d’un tel périphérique sont très variés mais ont la même racine : automatiser et accélérer des actions réalisables par un humain via le clavier.

  • Utilisable par un réparateur d’ordinateur pour nettoyer un pc, récupérer des données effacées….
  • Utilisable par un parent pour placer des logiciels espions, prendre le contrôle de l’ordinateur de son enfant à distance (pour parent très avertis) ...


la souris

Les cas d'utilisation de cette souris, en plus des cas normaux d'utilisation en tant que pointeur graphique, correspondent à l'utilisation du mode berserk (activable à distance).

  • Empêcher la mise en veille de l'ordinateur.
  • Tournois e-sport amateurs (ou familiaux).
  • Satisfaire un esprit blagueur.

Réponse à la question difficile

Comment activer les fonctionnalités cachées des différents périphériques ?

Pour le clavier, les fonctionnalités seront activées et désactivées à l'aide d'une combinaison de touches prédéfinies :
combinaison 1 : activation de l’enregistrement des touches
combinaison 2 : désactivation de l'enregistrement des touches
combinaison 3 : renvoie l'historique des touches pressées
combinaison 4 : suppression de la mémoire

Au sujet de la clé, le périphérique va changer son mode de fonctionnement pour devenir un HID (clavier) après une certaine durée d'inactivité de celui-ci. Voir si nous pouvons détecter une mise en veille de Windows.

L'activation de la fonctionnalité de la souris sera faite par le biais d'une télécommande infrarouge. La coque de la souris possèdera une partie laissant passer les infrarouges.

Bibliographie et webographie

  • clavier

Concurrent :

Nom du produit :KeyGrabber USB

Société : keelog

URL : http://www.keelog.com/fr/usb-keylogger/


  • la clé

Concurrent :

Nom : USB RUBBER DUCKY

Société :hak5

URL : https://shop.hak5.org/products/usb-rubber-ducky-deluxe

III. Préparation du projet

3.1 Cahier des charges du groupe

Pour chacun des périphériques nous allons utiliser un ATMega16 (u2 ou u4) combiné à la bibliothèque LUFA.

3.2 Cahier des charges des équipes

Clavier

Création d'un clavier physique avec sa mémoire interne, son microcontrôleur, et son driver.

Ce clavier doit permettre :

  • d'utiliser le clavier normalement.
  • d'enregistrer les entrées au clavier.
  • de disposer de différentes fonctions autour de l'enregistrement des entrées clavier, qui seront activées via une combinaison de touches :
    • de récupérer les entrées clavier dans un document texte .
    • de vider le stockage des entrées clavier.
    • activer et désactiver le stockage des entrées clavier.

Clé USB

Création d'un périphérique du stockage USB doté d'un microcontrôleur.

Cette clé USB doit :

  • pouvoir servir de stockage de masse
  • en cas d'inactivité prolongée, changer son statut auprès de l'ordinateur en clavier afin de lancer l'installation d'un logiciel (espion)

3.3 Choix techniques : matériel et logiciel

ATMega16 + bibliothèque LUFA

Clavier

Nous allons partir d'un clavier physique déjà existant. Mais nous n'excluons pas l'idée de créer notre propre clavier en cas de bonne avancée du projet.

Clé USB

Nous allons devoir créer cette clé de taille raisonnable, pour éviter d'éveiller des soupçons.

3.4 Liste des tâches à effectuer

  • coté documentation
    • maitriser le protocole USB
    • maitriser l'utilisation de l'ATMega 16 U2

afin d'être en mesure de créer nos composants

Clavier

Clé USB

3.5 Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

Clavier

Clé USB

IV. Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 4

  • Recherche des instructions de téléchargement et ouverture d'un fichier sous Windows.
  • Recherche/récupération du logiciel espion Iwantsoft Free Keylogger. Il récupère entre autres les recherches faites sur un navigateur, prend des captures d'écran et des photos de l'utilisateur via la webcam (si accessible).
  • Téléchargement de la lib Keyboard et essai d'implantation pour exécuter une combinaison de touches

Semaine 5

  • Suite de l'implantation de la bibliothèque Keyboard
  • Recherches sur l'utilisation de la bibliothèque LUFA

Semaine 6

premier Accomplissement avec l'Arduino : on a réussit un KeyboardLogOut sur Windows.

Recherches sur le protocole USB

Semaine 7

Nous n'avons pas réussi grand chose cette semaine. Nous avons seulement appris que le caractère '\\' était introuvable. Nous ne savons pas encore si cela vient de l'ordinateur ou de la librairie Arduino Keyboard.

Semaine 8

Semaine 9

Semaine 10

Semaine 11

Semaine 12

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus