3 semaines avec le Vortex ViBE

Après avoir utilisé mon nouveau clavier mécanique Vortex ViBE pendant un peu plus de 3 semaines il est temps de faire un petit retour sur l'engin. J'utilise depuis plus de 20 ans des claviers Apple français dont la disposition des touches diffère un peu de celle d'un clavier PC.
Le passage de l'un à l'autre n'est donc pas immédiatement naturel, a fortiori quand on abuse comme moi des raccourcis clavier. La touche maîtresse sur Mac est , qui est "mappée" sur la touche Win dont la position est inversée avec la touche Alt entre les deux types de clavier. Je me retrouve donc assez régulièrement à tenter des raccourcis clavier "alt-truc" en voulant taper ⌘-truc alors qu'il faudrait que je tape Win-truc (qui sur un clavier Mac donnerait "alt-truc"). C'est très frustrant sur macOS où je passe le plus clair de mon temps, mais pas sur d'autres OS où la touche utilisée pour les raccourcis est ctrl.

Autre aspect un peu pénible : sur un clavier Apple, la touche ⌘ est en deux exemplaires, de part et d'autre de la barre espace. Sur les claviers PC la touche Win n'existe qu'à gauche. Et ça s'est compliqué car la réalisation de certains raccourcis juste avec la main droite n'est plus possible tout en étant parfois trop tendue pour la main gauche, ce qui impose de faire Win avec la main gauche et la lettre ad-hoc avec la main droite. Les utilisateurs PC de longue date n'ont pas forcément ce souci, au moins ils en ont l'habitude et leurs doigts ne cherchent pas un raccourci que jamais ils ne trouvèrent. Dans le même ordre d'idée, l'emplacement du signe moins sur un clavier PC est une calamité incroyable, très hors d'atteinte alors qu'il (me) sert littéralement tout le temps. Sur clavier Apple il est à la place du signe égal à gauche de la tabulation ce qui le rends très facile d'accès sans traverser tout le clavier.
Je pourrai continuer un certain temps sur les différences entre clavier Apple et clavier PC. C'est totalement pertinent dans mon vécu quotidien avec le ViBE mais cela concerne sans doute assez peu de gens car j'imagine que la majorité des utilisateurs de ViBE utilisaient déjà un clavier PC auparavant.

L'accès aux touches de fonction en surcouche de la rangée numérique du haut du clavier n'est par contre pas un souci. J'utilise très peu les touches fonction et sur Mac je suis déjà habitué à devoir activer la touche Fn pour y accéder. Simplement ici la touche Fn n'est pas au même endroit que sur Mac.

L'accès aux flèches et autres touches de navigation se fait sur le pavé numérique, immédiatement car par défaut le pavé n'est pas en verrouillage numérique. Cela se fait très naturellement et sans regarder tant leur disposition est proche de ce que l'on trouve sur des claviers étendus classiques. C'est très agréable car ça tombe naturellement sous les doigts.
Ce fonctionnement que Vortex nomme "Tenkeyless mode" (en référence aux claviers TKL) neutralise malheureusement les touches moins, plus et entrée du pavé numérique : moins devient pause, plus et entrée ne font rien. C'est à mon avis un mauvais choix, j'aurais largement préféré que ces touches gardent leur fonction native.

Mais mon vrai souci avec le ViBE c'est l'accès aux chiffres du pavé numérique. Il se fait via le verrouillage numérique : sur Mac il faut presser Fn+Numlock alors que sur les autres OS il faut presser Numlock. Déjà c'est un problème si vous passez d'un OS à l'autre fréquemment, mais ce n'est pas tout. La course des touches est sensiblement plus longue que sur mes claviers Apple Alu, si bien qu'il m'arrive assez fréquemment (tapant trop vite) de rater l'activation soit de Fn soit de Numlock, quand je tape la combinaison de touches (sous réserve que j'ai pensé à le faire). Il y a bien une LED sur le clavier pour indiquer que le pavé numérique est activé, malheureusement elle se trouve sous la touche capslock. Cette touche est totalement masquée à ma vue par ma main gauche quand je suis en position de frappe. Si bien que pour valider le mode de fonctionnement du pavé numérique, je dois faire une pause dans ma frappe, décaler ma main gauche et alors seulement je sais si je vais taper des chiffres ou déplacer mon curseur avec l'autre main.
Cette partie de l'expérience utilisateur n'est pas du tout agréable et de dépit je me trouve parfois à taper des chiffres sur la rangée du haut ce qui est bien plus lent que sur le pavé numérique mais à l'avantage de ne pas envoyer mon point d'insertion de balader si je rate l'activation du verrouillage numérique. Par ailleurs mon utilisation des flèches est aussi très importante (rappel de commandes dans le terminal, sélection des messages dans le webmail du boulot, etc.). Donc impossible de laisser le pavé numérique en Numlock en permanence.
Pour moi c'est une régression sérieuse. Sur un clavier normal je vais pouvoir taper d'une seule traite des chiffres, lettres, positionner mon curseur ou rappeler une commande avec les flèches, etc. Sur le ViBE c'est un vrai saut d'obstacles. Il serait bien plus agréable avoir la LED sous la touche Numlock et que cette dernière soit utilisable directement sur Mac sans recours à la touche Fn. C'est pour moi un vrai problème de conception.

Bref, j'aime bien le ViBE mais j'ai sérieusement hâte d'avoir un Vortex Tab90M sur mon bureau.

Premiers pas sur un clavier mécanique moderne

Compte tenu que mes débuts avec l'informatique, ou tout au moins avec le matériel informatique, remontent à 1985, je ne peux pas réellement parler de premiers pas avec un clavier mécanique. Ici il s'agit par contre réellement de ma première expérience avec un équipement moderne : un clavier VortexGear ViBE en ISO-FR, doté de switches MX silent red. Une bestiole assez rare finalement puisqu'elle a été importée de Taïwan spécialement pour moi, en un seul exemplaire.

Tout d'abord il faut savoir que le monde des claviers mécaniques de bonne facture est riche et varié, plein de formes, de couleurs et de sons qui ont en général pour effet de créer l'addiction chez les gens qui s'y intéressent d'un peu trop prêt. Avant même d'en avoir touché un j'en voulais déjà deux. Mettre un pied dans cet univers c'est aussi découvrir l'attente et la frustration. Certaines pièces rares produites à la demande à l'issue de longues procédures d'achat groupé peuvent se faire attendre plus d'un an.
Moi j'ai presque de la chance, ayant fixé mon dévolu sur une marque puis sur un modèle, j'ai modestement attendu 5 mois. Les modèles ISO-FR étant particulièrement rares, il faut d'abord avoir la chance que le fabricant le propose, ensuite qu'il constitue des stocks, pour finir qu'il daigne vendre et expédier ces stocks.

Je remercie d'ailleurs énormément l'importateur/revendeur français sans qui je n'aurais sans doute jamais pu acheter mon clavier : Gamers Industry.

Un clavier mécanique de bonne facture, correctement construit, avec des matériaux qui tiennent la route, c'est une expérience unique. Tout ou presque peut se choisir pourvu qu'on y mette les moyens : matière, couleurs, typo des touches, profil, switches (linéaires ou pas, silencieux ou pas, durs ou tendres), nombre et disposition des touches, avec ou sans fil, boîtier en plastic, bois ou métal, programmable ou pas, etc.
Celui que j'ai acheté ne démérite pas. Je l'ai choisi sur la base de son look et de la promesse d'une ergonomie originale mais aussi parce qu'il était disponible dans les options que je souhaitais : disposition des touches ISO-FR, avec fil, boîtier métal, switches silencieux. Ce n'est pas un clavier haut de gamme, mais il coûte déjà autour de 155€.

Je me suis imprégné de culture "méca" pendant plus de 6 mois, j'ai beaucoup lu pour prendre la mesure de la chose, connaître les termes et les techno, savoir ce qui est possible et ce qui ne l'est pas et à quel prix. Et c'est finalement une fois que j'ai l'objet sur le bureau, que je m'en sers, que je me confronte à ses qualités et à ses limites que je vis enfin les choses pour de vrai loin du tumulte des forums d'aficionados et des vidéo d'unboxing.

L'expérience en elle même est dure à raconter. Je suis ravi de mon achat, la bête est compacte, trapue, lourde et sa construction lui donne une belle sonorité. Il était primordial pour moi que le clavier soit silencieux. Il l'est absolument comparé à un méca quelconque, mais il reste plus sonore que mon clavier Apple alu. La frappe est très douce grâce à ses switches silent red mais l'ergonomie me comble un peu moins que l'esthétique. Ce n'est pas étonnant : il faudra quelques semaines ou mois d'utilisation avant d'habituer mes doigts à une disposition sur plusieurs couches. Comme je l'avais mesuré, je fais une utilisation non négligeable des flèches de navigation et du pavé numérique. Ici les deux sont sur les mêmes touches physiques et on passe de l'un à l'autre via l'activation d'une couche logique : la touche numlock transforme le pavé numérique en pavé de navigation avec flèches, page-up etc. Pour compliquer les choses sur MacOS c'est Fn-Numlock au lieu de seulement NumLock.

Si le look général du clavier est extrêmement satisfaisant, dans le détail la réalisation pêche parfois. Au nombre des défauts je mentionnerai particulièrement la touche "entrée" du pavé numérique qui était installée à l'envers et dont un des stabilisateurs est grippé. Si bien que si la touche est convenablement enfoncée sur le switch et ses deux stabilisateurs, alors quand on la presse elle reste coincée en position basse. Il suffit de démonter la touche et de la remonter en douceur pour ne pas enfoncer le stabilisateur récalcitrant et tout fonctionne bien. Il aura besoin d'un coup de lubrifiant probablement. Les légendes de certaines touches aussi sont mal alignées, comme la touche 5 du pavé numérique qui est légèrement décentrée. Le signe € ajouté un peu "à l'arrache" sur la touche E n'est pas du tout plaisant à l'œil non plus.

Autre défaut significatif : le clavier probablement fabriqué assez récemment est pourtant livré avec un firmware très ancien qui ne fonctionne pas bien. Il faut donc le mettre à jour dans sa dernière version datant elle-même de plus d'un an. Une fois mis à jour le clavier fonctionne parfaitement.

Moyennant quelques réglages côté système, je suis parvenu à le faire fonctionner à 100% sur OSX et sur FreeBSD, le fonctionnent complet sur Windows 10 étant lui immédiat. Il me reste encore des tonnes de choses à découvrir puisque le ViBE dispose de 4 couches dont 3 sont programmables. C'est à dire qu'il est possible de créer 3 personnalisations complètes du clavier, chacune étant activable par une combinaison de touches et repérée par une led de couleur différente sous la barre espace.

J'ai déjà hâte d'acheter le prochain, sans doute un Vortex Tab 90M dès qu'il sera disponible en ISO-FR, ou un Planck EZ, ou les deux... :)

Cartographie de l’utilisation d’un clavier

Il y a quelques temps je me suis mis en tête d'investir dans des claviers mécaniques de bonne facture. L'exercice va se solder notamment par l'achat d'un Vortex ViBE sur lequel il manque pas mal de touches par rapport à un clavier étendu grand public.
J'ai donc voulu faire un état des lieux de mon utilisation actuelle du clavier étendu dans mes activités privées et professionnelles, raison pour laquelle j'ai investi dans un enregistreur de frappes clavier.
Après environ 3,5 jours d'utilisation de ce keylogger j'ai obtenu un fichier de ~55000 "touches pressées".
J'ai plusieurs options pour exploiter ce fichier : un compte-rendu statistique en chiffres et graphiques ou une cartographie visuelle (heatmap). J'ai choisi la cartographie dans un premier temps pour sa lisibilité immédiate. C'est par contre une option complexe à mettre en œuvre. Il existe différentes pistes pour réaliser une heatmap de clavier sur la base d'un texte fourni par l'utilisateur, mais toutes celles que j'ai trouvées utilisent un clavier réduit et ne proposent pas la disposition AZERTY.
La seule piste viable était donc de trouver une solution libre et ouverte, dans un langage que je comprenne a minima, de sorte que je puisse modifier le programme pour l'adapter à un clavier étendu en français.
J'ai jeté mon dévolu sur Tapmap, petit programme codé en Python 3. La première étape a été de valider que le programme fonctionne sur mon PC sous FreeBSD, après une installation via pip install --user pour épargner mon système. Le test avec un jeu de données bidons ayant été concluant, le plus gros du travail restait à faire. Avant d'attaquer la modification du code de l'application pour étendre la liste des caractères pris en charge j'ai remplacé le fichier keyboard.png représentant un clavier qwerty court par un clavier azerty étendu. Par chance le clavier initial est de marque Apple, ci-bien qu'il est exactement superposable à une image de mon propre clavier. Cela évite d'avoir à refaire toute la correspondance entre un caractère et ses coordonnées physiques sur l'image du clavier. Attention, l'image du clavier doit être en PNG avec une couche alpha, sinon le logiciel ne pourra pas lui superposer la heatmap.
À partir de là il reste le plus dur : faire correspondre chaque caractère enregistré par le keylogger à une zone de pixel sur l'image du clavier. Le programme tapmap est très simple : pour chaque caractère présent dans le fichier en entrée, il cherche une correspondance dans un tableau de coordonnées. Cela impose que chaque caractère qu'on veut représenter soit décrit de manière unique dans la table de correspondance, et que chaque touche qu'on souhaite représenter soit codée par un caractère unique.
De ce constat découlent deux problèmes : le 1 en haut à gauche du clavier doit être traité différemment du 1 du pavé numérique, les codes multi-caractères enregistrés par le keylogger doivent être convertis en caractères uniques. Par exemple quand le keylogger enregistre [1N] il indique que le 1 du pavé numérique a été tapé, quand il enregistre [Sh]1 il indique que la touche majuscule a été pressée pour taper le chiffre 1 en haut à gauche du clavier. Dans le même esprit [Alt][Sh]° représente le caractère ] obtenu par pression sur les touches alt-maj-) du clavier.
Pour palier ces deux problèmes d'un seul coup j'ai converti l'ensemble des codes spécifiques en caractères spéciaux (des lettres grecques en majorité). Ainsi le 1 du pavé numérique ([1N]) devient ρ, le 0 ([0N]) devient π, etc. Via un script shell (juste une grosse commande sed) je transforme le fichier du keylogger en fichier utilisable par tapmap où chaque caractère représente de manière univoque une touche du clavier.
Par de nombreux tests successifs la table de correspondance entre caractères et emplacements sur l'image est complétée avec les spécificités du clavier Apple français, et les touches supplémentaires du clavier étendu. Au final, j'obtiens ces résultats comme synthèse de mes ~55K touches enregistrées :




En fonction du choix de gradient de couleurs la lisibilité est très variable, le second rendu permet par exemple de distinguer bien plus de nuances que les deux autres puisqu'on y aperçoit même les frappes sur le pavé numérique.
En supprimant du fichier source tous les caractères qui ne représentent pas des chiffres il devient possible de comparer l'utilisation du pavé numérique avec l'utilisation des chiffres du haut du clavier :

Dans mon cas le petit doigt de la main gauche appuie sur "maj" et l'index et le majeur atteignent les chiffres de 1 à 5, alors que la main droite se reporte spontanément sur le pavé numérique, que j'utilise aussi systématiquement pour poser des calculs ou taper des adresses IP.

Short review of the KeyGrabber USB keylogger

keygrapper © keelog.comFew days ago I've bought a USB keylogger to use on my own computers (explanation in french here). Since then, and as I'm sitting in front of a computer more than 12 hours a day, I've got plenty of time to test it.
The exact model I've tested is the KeyGrabber USB MPC 8GB. I've had to choose the MPC model because both my current keyboards are Apple's Aluminum keyboards. They act as USB hubs, hence requiring some sort of filtering so that the keylogger won't try and log everything passing through the hub (mouse, usb headset, whatever…) and will get only what you type.
My setup is close to factory settings: I've just set LogSpecialKeys to "full" instead of "medium" and added a French layout to the keylogger, so that typing "a" will record "a", and not "q".

First of all, using the device on a Mac with a French Apple keyboard is a little bit frustrating: the French layout is for a PC keyboard, so typing alt-shift-( to get a [ will log [Alt][Sh][Up]. "[Up]"? Seriously? The only Macintosh layout available is for a US keyboard, so it's unusable here.

The KeyGrabber has a nice feature, especially on it's MPC version, that allows the user to transform the device into a USB thumbdrive with a key combination. By default if you press k-b-s the USB key is activated and mounts on your system desktop. The MPC version allows you to continue using your keyboard without having to plug it on another USB port after activation of the thumbdrive mode, which is great. You can then retrieve the log file, edit the config file, etc.
Going back to regular mode requires that you unplug and plug back the KeyGrabber.
Applying the "kbs" key combo needs some patience: press all three keys for about 5 seconds, wait about 15-20 seconds more, and the thumbdrive could show up. If it does not, try again. I've not tested it on Windows, but I'm not very optimistic, see below.

I'm using a quite special physical and logical setup on my home workstation. Basically, it's an ESXi hypervisor hosting a bunch of virtual machines. Two of these VM are extensively using PCI passthrough: dedicated GPU, audio controller, USB host controller. Different USB controllers are plugged to a USB switch, so I can share my mouse, keyboard, yubikey, USB headset, etc. between different VMs. Then, the KeyGrabber being plugged between the keyboard and the USB switch, it's shared between VMs too.
Unfortunately, for an unidentified reason, the Windows 10 VM will completely loose it's USB controller few seconds after I've switched USB devices from OSX to Windows. So for now on, I have to unplug the keylogger when I want to use the Windows VM, and that's a bummer. Being able to use a single device on my many systems was one of the reasons I've opted for a physical keylogger, instead of a piece of software.
Worse: rebooting the VM will not restore access to the USB controller, I have to reboot the ESXi. A real pain.

But in the end, it's the log file that matters, right? Well, it's a bit difficult here too, I'm afraid. I've contacted the support at Keelog, because way too often what I see in the log file does not match what I type. I'm not a fast typist, say about 50 to 55 words per minute. But it looks like it's too fast for the KeyGrabber which will happily drop letters, up to 4 letters in a 6 letters word (typed "jambon", logged "jb").
Here is a made-up phrase I've typed as a test:

c'est assez marrant parce qu'il ne me faut pas de modèle pour taper

And here is the result as logged by the device:

cesae assez ma[Alt][Ent][Alt]
rrant parc qu'l ne e faut pa de modèl pour taper

This can't be good. May be it's a matter of settings, some are not clearly described in the documentation, so I'm waiting for the vendor support to reply.

Overall, I'm not thrilled by this device. It's a 75€ gadget that won't work properly out of the box, and will crash my Win 10 system (and probably a part of the underlying ESXi). I'll update this post if the support helps me to achieve proper key logging.

Bref, j’ai acheté un keylogger

Avant d'en venir au dispositif qui donne son titre à cet article il me semble important de donner un peu de contexte. Je cherche depuis plusieurs mois maintenant à me procurer un bon et beau clavier mécanique. "Beau" est bien évidemment un critère totalement subjectif, et si "bon" inclue des éléments objectifs comme la solidité, la fiabilité, il intègre lui-aussi des éléments totalement subjectifs.
Ce qu'il y a de merveilleux dans le monde des claviers mécaniques haut de gamme, c'est qu'il est presque possible de faire n'importe quoi : si aucune marque ne propose un clavier tout fait qui vous corresponde, il est presque toujours possible d'en construire un qui répondent à nombre de vos critères. Presque, parce que la France n'est pas tout à fait cœur de cible : trop peu de demande pour susciter une offre variée, me suis-je laissé dire. Aussi le critère "AZERTY" ou ISO-FR est sans doute un des plus difficiles à remplir. Vous trouverez tous les claviers ou jeux de touches en ANSI-US, une portion raisonnable en ISO-UK, ISO-NO, ISO-DE, mais presque aucuns en ISO-FR. Ceux que vous trouverez seront les plus grand public, souvent des claviers de gamer dans des formats réduits comme le populaire TLK ("ten key less"), qui comme son nom l'indique fait l'impasse sur pas mal de touches.
Vortex ViBE © vortexgear.twAprès quelques mois d'étude du marché, de documentation sur les technologies, sur les capacités des claviers, sur les marques et leur réputation, de recherche d'un modèle qui réponde à mes besoins et à mes envies (surtout), j'ai fini par jeter mon dévolu sur deux modèles : le ViBE de Vortex Gear (photo ci-dessus), et le Tab 90M aussi chez Vortex Gear.
Bien sûr, je les veux en ISO-FR : je tape autant de texte que je code ou que je joue. J'ai besoin que mes accents et cédille soient accessibles sans contorsion. Et très honnêtement si je devais changer de disposition de touches j'irais sur un BEPO, pas sur l'archaïque ANSI-US.
J'ai plein d'autres critères que je ne détaille pas ici car ils n'ont aucun lien avec cette histoire de keylogger.
Comme on le remarque rapidement, le Vortex ViBE ne dispose pas de toutes les touches habituelles d'un clavier étendu : exit les flèches, page-down, page-up, etc. Toutes les touches entre le pavé numérique et le bloc de touches principal ont disparu. Par un jeu de combinaison de touches, il est possible d'utiliser le pavé numérique pour jouer le rôle des touches absentes. Dans mon quotidien, je fais un grand usage des flèches de navigation et du pavé numérique. En tout cas c'est ce qu'il me semble. J'utilise aussi les touches de fonctions (absentes sur le ViBE), et les touches "multimédia" du clavier étendu Apple qui est branché sur mes machines au travail et à la maison.
Je tenais donc à évaluer précisément l'usage que je fais de ces touches, histoire de ne pas prendre une trop grosse claque quand le fameux clavier arriverait. Et quoi de mieux pour savoir ce qu'on l'on tape toute la journée qu'un keylogger ? (réponse : rien).
La solution gratuite est assez facile à mettre en œuvre : trouver et installer sur mon poste un keylogger logiciel qui écrit dans un fichier texte tout ce qui passe par mon clavier. Mais cette solution est problématique à plusieurs égards. Notamment j'ai plusieurs machines. À la maison j'ai un OSX, un Windows et un FreeBSD, utilisés via un unique clavier physique au travers d'un switch USB. Il faudrait que je trouve une solution logicielle homogène à installer sur les trois systèmes. Au boulot et bien, juste non. Installer un keylogger logiciel qui pourrait exfiltrer à mon insu mes frappes clavier n'est réellement pas une bonne idée. Par ailleurs une solution logicielle attraperait aussi au vol ce qui sort de mes Yubikeys, et ça non plus ça ne me convient pas.
keygrapper © keelog.comLa solution matérielle qui stocke mes frappes clavier en son sein, sans rien faire sortir et qui s'affranchit totalement du système sur lequel est branché le clavier me semble donc la plus sûre à tout point de vue, et la plus adaptée à mes besoins. Bien évidement je me suis assuré que le dongle n'exfiltre aucune données via mes machines. L'exfiltration de données via un réseau hertzien est assez peu probable même si le dispositif semble assez grand pour héberger une SIM et l'électronique nécessaire pour tout renvoyer par SMS. Par ailleurs comme le dongle est branché sur un unique clavier, il m'est toujours possible de saisir des données sensibles via un autre clavier :)
Ceci posé, n'installez pas de keylogger chez vous sans savoir très exactement ce que vous faites et dans quoi vous mettez le doigt.

J'utilise le keylogger matériel depuis quelques dizaines de minutes, mais je vois déjà qu'il me faudra peut être tenter de le régler un peu finement : je tape trop vite pour lui, et pas mal de mots sont tronqués dans la capture. Cela a peut être aussi à voir avec le fait que c'est un modèle spécial supposé filtrer le trafic USB d'un clavier Apple. Les claviers Apple sont des hub USB, et sur le mien j'ai branché un casque/micro USB qui peut donc générer pas mal d'interférences au niveau du dongle qui connecte le clavier au switch USB. Quoi qu'il en soit ce n'est pas un drame puisque ce que je cherche à obtenir c'est une vue statistique de mes frappes, de mon utilisation du clavier.
Petit exemple de ce que cela donne :
[Sh]Parailleur comme le donge est branc sur un uniqu cver, il n[Bck]mest [Bck][Bck][Bck][Bck]e'est
Certains mots sont sévèrement amputés, mais l'esprit est là ! J'espère pouvoir obtenir des statistiques représentatives assez rapidement.

Bref, j'ai acheté un keylogger.

Cherche administrateur système

L'université Lyon 2 recherche un admin système H/F. CDD d'un an, renouvelable.
Le profil est détaillé ci-dessous. Si vous avez des questions vous pouvez me contacter.
Envoyez CV et lettre de motivation à la RH Lyon 2

Poste à pourvoir à partir de : ASAP
Affectation Direction des Systèmes d’Information
Localisation géographique Campus Porte des Alpes – Bron
Niveau de rémunération IGE 2 C échelon 5 – 25,3 K€ brut annuels, avec 55 jours de congés
Niveau diplôme requis Bac +3 mini en informatique

Mission : Au sein de l'équipe Système du pôle Opérations de la DSI Lyon 2, vous avez en charge l’administration et l’exploitation des infrastructures serveur physique et virtuelle.

ACTIVITES PRINCIPALES :
• Configuration et supervision des systèmes informatiques physiques et virtuels (VMware)
• Exploitation des applications en production à l’université Administration des serveurs (web,
bases de données, messagerie, etc.)
• Collaboration avec le pôle Support, le pôle Etudes, intervenants et fournisseurs
• Participation à l’élaboration de cahiers des charges dans le cadre de nouveaux projets
• Gestion des incidents
• Veille technologique, évolution, et modernisation

Compétences

SAVOIR-FAIRE :
• VMware ESXi / VSphere / VCloud Director Linux (préférentiellement RedHat), FreeBSD est un plus.
• Outils et procédures liés à l’exploitation des services (supervision, sauvegarde...)
• Réseaux TCP/IP
• Script Shell
• Bonnes capacités d'expression, rigueur, et organisation Anglais technique

SAVOIR-FAIRE APPRÉCIÉS :
• Systèmes Windows Serveur et Linux Debian,
• Outils de métrologie, d’analyse et de forensic
• ITILv3
• Postfix, filtrage antispam, Firewall iptables
• Serveurs Apache, Glassfish, Tomcat, nginx,
• SAN/NAS, LDAP, CAS, Shibboleth, Active Directory, Oracle, MySQL

COMPORTEMENTS ATTENDUS :
• Autonome
• Rigoureux
• Capacité à travailler en équipe

Moyens mis à disposition (matériels, humains, financiers)

Le candidat exercera son activité sur le campus Portes des Alpes au sein du pôle "Opérations" (8 personnes) de la D.S.I. (40 personnes).

Contexte de travail

Champs des relations :
• Internes entre les différents pôles de la DSI,
• Externes, pilotage prestataires, fournisseurs.

Spécificités :
Disponibilité éventuelle lors de la fermeture de l’Université.

My take on the MySpace dump

About a year ago, a full MySpace data breach dump surfaced on the average-Joe Internet. This huge dump (15 GiB compressed) is very interesting because many user accounts have two different password hashes. The first hash is non-salted, and represents a lower-cased, striped to 10 characters, version of the user original password. The second hash, not always present, is salted, and represents the full original user password.
Hence, the dump content can be summarized by this :

id : email : id/username : sha1(strtolower(substr($pass, 0, 9))) : sha1($id . $pass) 

It contains about 116.8 million unique unsalted sha1 hashes, and about 68.5 million salted sha1 hashes.

Of course, people who crack passwords will tell you that the unsalted hashes have no value, because then don't represent real user passwords. They are right. But when you crack those hashes you have a very interesting password candidate to crack the salted hashes. And this is very interesting!

After you cracked most of unsalted hashes, the question is: how do you proceed to crack their salted counterpart? Spoiler alert: hashcat on an Nvidia GTX 1080 is more than 200 times slower than John the Ripper on a single CPU core on this very particular job.

I'm a long time John the Ripper user (on CPU), and I'm pretty fan of it's intelligent design. Working on CPU requires wits and planing. And the more versatile your software is, the more efficient you can be. Hashcat sits on the other end of the spectrum: huge raw power thanks to GPU optimization. But it lacks the most sensible attack mode: "single".

Single mode works by computing password candidates from GECOS data like login, user name, email address, etc. So it makes sense to provide a full password file to JtR, instead of just naked hashes. These passwords metadata are very efficient when you want to create contextual password candidates.
The password retrieved from unsalted hash is more than a clue to retrieve its salted counterpart, in many case it's also the real user password. And when it's not, simple variations handled by mangling rules will do the trick.
You've probably guessed by now: I've created a file where password cracked from non-salted hashes are paired with the corresponding salted hash. The known password impersonate the user login, so that with proper tuning John the Ripper will try only this particular candidate against the corresponding salted hash.
Because of a bug in JtR, I was not able to use this attack on a huge file, I had to split it into small chucks. Nevertheless, I was able to retrieve 36708130 passwords in just 87 minutes. On a single CPU core.
In order to find those passwords with hashcat, I had to rely on a wordlist attack with on a GTX 1080. It took about 14 days to complete. No matter how fast your GPU is (about 1000 MH/s in that particular case), it will brainlessly try every single candidate on every single hash. Remember hashes are salted, so each one requires its own computation. If your file is 60M hashes long, then your GPU will only try 16.6 candidates per second (1000/60). It's very slow and inefficient.

Hashcat performance on a file containing 50% of total hashes.

Sometime, brain is better than raw power. Thank you John ;)

More on this topic:
https://hashes.org/forum/viewtopic.php?t=1715
http://cynosureprime.blogspot.fr/2016/07/myspace-hashes-length-10-and-beyond.html

Escaping the Apple ecosystem: a view of the setup

Here is a quick & dirty view of the physical and logical setup of my new workstation. The linux part is not finished yet (no drivers for Radeon GPU, thank you Ubuntu), it's a work in progress.

esx
Not depicted: each USB controller sports 4 USB ports (yellow) or 2 USB ports (pink and blue). It allows me to plug few devices that won't be "managed" by the USB switch.
USB devices plugged-in on the switch are made available to only one VM at a time. When I press the switch button, they disappear for the current VM and are presented to the next one.