Eviter les piratages « bêtes »

Le Monde raconte de quelle façon il s’est fait « piraté » son compte Twitter.

C’est intéressant comme dé-mystification de l’image du pirate. On y voit que les attaquants :

  • cherchent à provoquer l’erreur humaine en envoyant des faux mails (n’importe qui peut choisir le nom et l’adresse de l’émetteur des mails qu’il envoie) qui contiennent un lien vers une page web imitant l’interface d’administration des sites qu’elle connaît (LeMonde, Facebook, Gmail, etc…) dans le but de lui soutirer son mot de passe. Et ça marche !
  • volent le compte en parvenant à répondre à la fameuse « question personnelle » qui permet de récupérer son compte ou son mot de passe sur la majorité des services en ligne comme Gmail, Facebook ou Twitter.

Il n’y a donc point d’exploit informatique ici, juste une méconnaissance des usagers vis à vis des bonnes pratiques:

  • Ayez un ordinateur non compromis (pas de virus, pas de cheval de Troie). Ceux qui ont compris ça utilisent uniquement des logiciels de confiance (pas de crack qui vient de n’importe où, pas de logiciel gratuits à publicités qui viennent t’espionner). Le mieux est d’utiliser uniquement des logiciels libres compilés par une tierce personne de confiance. Ça diminue encore les risques.
  • Vérifier toujours l’adresse de la page web sur laquelle vous êtes quand vous rentrez un mot de passe. C’est la seule garantie que vous envoyez le mot de passe au bon site. Ne vous fiez pas à la charte graphique. Vérifiez également que le cadenas SSL est présent.
  • Hébergez vos services vous même, comme ca pas besoin de « question personnelle » pour récupérer votre compte puisque vous avez accès à la machine pour modifier le mot de passe si besoin :-)
    • ou activez la double authentification (il faut une confirmation depuis votre smartphone pour changer le mot de passe du compte) et donnez une « question vraiment très personnelle » pour récupérer votre compte que ni un recherche Google ni votre plus proche ami, mère ou copain ne pourrait trouver. Sinon cette question devient une porte d’entrée plutôt qu’une sécurité.
J'aime(9)Ferme-la !(1)

Installer un serveur Mumble sur Debian

Ils commencent à m’emmerder ces ploutocrates à vouloir m’espionner sans juges ! Voici comment avoir des discussions audio en toute intimité avec le logiciel libre Mumble.

Et ce sera la preuve que leurs systèmes d’écoute automatisée sur les réseau téléphone, Skype, etc… ne va renifler que les honnêtes gens, ou les terroristes de pacotille.

mumbleDonc pour discuter en toute discrétion, il vous faut:

  • un PC
  • dont vous connaissez l’IP sur Internet
    (astuce pour la connaître en ligne de commande : $ curl ifconfig.me)
  • et qui accessible depuis Internet sur les ports UDP and TCP 64738. Ca se configure dans la box/routeur de votre FAI si vous avez ça.

Une fois que vous avez ça. Il suffit d’installer le serveur libre Murmur.

Je donne l’exemple d’installation pour Linux pour la suite, mais Murmur marche aussi sous Windows et Mac OS. Donc voila la commande d’installation et configuration pour Debian :

# apt-get install mumble-server

Et voila, c’est tout! Dur hein?

Le serveur tourne, est accessible à tous les clients Mumble et les communications sont chiffrées entre le serveur et chaque client (chacun a un certificat). La classe.

Vous pouvez y accéder depuis votre Linux,Windows,Mac avec Mumble et de votre smartphone android avec Plumble, un logiciel libre disponible sur Fdroid ou Mumblefy sur iPhone.

Pour rendre le serveur privé, vous avez juste à renseigner un mot de passe derrière le paramètre serverpassword= dans le fichier /etc/mumble-server.ini.

Et cerise sur le gateau, le codec audio Opus est supporté par défaut :

J'aime(9)Ferme-la !(0)

Comment se faire traquer sur internet sans cookies avec HSTS

Sam Greenhalgh a montré qu’on pouvait utiliser la fonctionnalité HSTS pour facilement tracer les utilisateurs. La faille est intéressante car elle est conceptuelle va être très compliquée à bloquer et touche quasiment tous les navigateurs web même les assez vieux ( >= Firefox 4 ).

Explication

Le principe d’ HSTS est simple. Lorsque le navigateur arrive sur un site web en HTTPS, et que le site web implémente HSTS, alors le navigateur reçoit du site web une directive indiquant qu’il doit toujours revenir en HTTPS sur le site web pour les prochaines visites sur ce nom de domaine.

HSTS permet ainsi de contenter les visiteurs qui veulent toujours accéder aux site web en HTTPS sans bloquer les autres visiteurs qui préfèrent utiliser HTTP.

Imaginons maintenant que http://1.toto.com renvoie un texte : « 0 » mais que https://1.toto.com renvoie une valeur différente : « 1 », ce qui est tout à fait faisable. Il n’y a pas d’obligation que les services HTTP et HTTPS soient des miroirs.

Donc si, sur mon site web « bidon.com », j’inclus un lien vers un contenu situé à l’adresse http://1.toto.com le contenu aura une valeur différente selon que l’utilisateur a déjà ou non visité « 1.toto.com » en HTTPS. Intéressant !

Avec seulement 33 requêtes différentes (1.toto.com, 2.toto.com, etc…, 33.toto.com) qui peuvent valoir 2 valeurs différentes : 0 ou 1 (HTTPS visité ou pas), j’ai 2^33 possibilités soit 8.6 milliards de valeurs différentes, soit suffisamment pour assigner une valeur différente à chaque humain sur Terre.

La faille est donc simple, un visiteur lambda arrive sur mon site « bidon.com », j’ai envie de lui coller un numéro, par exemple « 5 ». Je convertis ce numéro en binaire sur 33 bits ce qui fait 00000000000000000000000000000101. Je le fait charger des contenus en HTTP sur http://1.toto.com, http://2.toto.com, etc… sauf https://31.toto.com et https://33.toto.com où je lui donne des liens en HTTPS.

Quand le visiteur lambda reviendra sur mon site « bidon.com », je lui ferai encore charger charger mes 33 contenus mais en mettant des liens HTTP uniquement (http://1.toto.com, http://2.toto.com, etc…, http://33.toto.com). Normalement, ça devrait renvoyer 33 fois « 0 » sil m’était inconnu . Mais comme il a déjà visité 31.toto.com 33.toto.com en HTTPS, son navigateur va automatiquement modifier ses requêtes de http://31.toto.com et http://33.toto.com en https://31.toto.com et https://33.toto.com et ça renverra 00000000000000000000000000000101. Bingo, je l’ai reconnu.

Comment s’en protéger?

HSTS est enregistré comme préférence du site et non comme un cookie. Supprimer les cookies est donc inutile.

Votre identifiant peut être stocké dans dans les préférences de multiples sites web et non dans celui qui vous traque.

Or pour supprimer la préférence HSTS d’un domaine, il faut supprimer les toutes les préférences du site web depuis la page about:permissions sur Firefox, ce qui supprime aussi les mots de passe et son historique… Bref, pas très utilisable.

Bloquer Javascript sur le site du traqueur rend aussi la technique inefficace, mais difficile de savoir différencier le bon script du mauvais script sur un site web.

Dur dur…

J'aime(13)Ferme-la !(0)

Cacher ses adresses mail, numéros de téléphone, etc… des spammeurs sur WordPress

Si vous laissez votre adresse email sur un site web, nul doute qu’un robot va venir la lire et l’ajouter à son fichier de SPAM. Pour éviter cela, on peut encoder l’email en Javascript.

Les humains regardant la page web verront l’email proprement car leur navigateur va décoder le javascript. (Aucun problème de copier coller contrairement aux images)

Les robots ne vont pas exécuter le javascript car c’est trop long et trop complexe pour eux.

Cette technique s’applique aux emails mais aussi à tout contenu que vous voudriez protéger des bots comme votre numéro de téléphone etc…

Il existe un plugin pour WordPress pour mettre en place cette technique facilement : Email encoder bundle

Pour cacher un email ou tout autre contenu des robots, écrivez celui-ci entre balises dans votre article :

[eeb_content]toto@gmail.com[/eeb_content]

J'aime(8)Ferme-la !(2)

Forcer l’utilisation de SSL pour se connecter à WordPress

Un des moyens de ne pas se faire voler son mot de passe et login WordPress est de se connecter uniquement en chiffrant la connexion par SSL (HTTPS). WordPress a une fonctionnalité, un peu cachée, pour forcer l’utilisateur à utiliser SSL lors de sa connexion.

Pour activer cette fonctionnalité, vous devez rajouter dans le fichier wp-config.php la ligne suivante :

define('FORCE_SSL_ADMIN', true);

Source : Codex WordPress

J'aime(1)Ferme-la !(0)

Mettre à jour le plugin Flash sous Debian

J’ai récemment eu un petit problème avec Flash, Youtube m’avertissant que le plugin Flash n’était pas à jour !

Vous pouvez vérifier que vous avez la dernière version :
# update-flashplugin-nonfree --status
Flash Player version installed on this system : 11.2.202.406
Flash Player version available on upstream site: 11.2.202.425

En effet, une nouvelle version de Flash est disponible et fixe des problèmes de sécurité dont notamment le CVE-2014-9163 déjà en cours d’exploitation en décembre.

Vous pouvez mettre à jour par cette commande en root:
# update-flashplugin-nonfree --install

Il faudrait vraiment que le plugin Flash se mette à jour tout seul sous Debian à chaque nouvelle version d’Adobe !

J'aime(4)Ferme-la !(2)

Générer un mot de passe aléatoire avec OpenSSL

Parfois, on a besoin de générer un mot de passe aléatoire complexe.

Se pose alors la question comment en trouver un?
Oubliez la méthode de la frappe au hasard sur le clavier. C’est chiant et vous y verrez des motifs récurrents (genre « sdfsdf » :D).

Rien de plus simple avec OpenSSL. Par exemple, pour générer un mot de passe de 8 caractères :

$ openssl rand -base64 8 | cut -c 1-8
Q+0F+Hwb

Notez que ca doit marcher sous MacOS aussi.

Autre solution encore plus pratique, en utilisant la commande mkpasswd contenu dans le paquet whois. (appuyez juste sur entrée quand vous demande le Password :

$ mkpasswd
Password:
KELshv5A8StGo

Par défaut le mot de passe fait 13 caractères ce qui me semble robuste.

J'aime(2)Ferme-la !(0)

Transférer facilement ses fichiers avec une ligne de Python

Imaginez que vous devez partager un fichier de quelques Go avec quelqu’un qui est sur le même réseau Wifi que vous.

Votre PC est sous WindowsXP (lol) et l’autre sous un OS bizarre.

Pas de clé USB assez grande, pas de logiciel de transfert multiplateforme… Hum!

Installez Python sur votre machine, et lancez la commande suivante depuis le dossier que vous voulez partager:

  • Si vous avez Python2 : python2 -m SimpleHTTPServer 8080
  • Si vous avez Python3 : python3 -m http.server 8080

Ca va lancer un serveur web sur sur votre ordinateur qui partage tous les fichiers contenus dans le dossier d’où vous avez lancé python.

Vous pouvez y accéder depuis votre navigateur web à l’adresse http://0.0.0.0:8080 en local.
Remplacez 0.0.0.0 dans l’adresse par l’adresse IP réseau(wifi) de l’ordinateur partageant les fichiers (ex:http://192.168.0.4:8080) et communiquez celle-ci à l’autre ordinateur. Il devrait normalement pouvoir y accéder aussi depuis son navigateur web et télécharger vos fichiers.

Dès que vous arrêtez le programme python, le serveur s’arrête et vous ne partagez plus rien. Attention à ne pas lancer cette commande depuis n’importe où sous peine de partager tout le contenu de son ordinateur. Attention aussi au fait que tout le monde sur le réseau peut télécharger les données partagées dès lors qu’il connaît l’adresse.

Mais ça peut bien dépanner pour partager un film, de la musique ou des bricoles depuis un vieux PC.

J'aime(5)Ferme-la !(0)

Panopticon

Le panopticon est un type d’architecture carcérale imaginée à la fin du XVIIIe siècle. L’objectif de la structure panoptique est de permettre à un gardien, logé dans une tour centrale, d’observer tous les prisonniers, enfermés dans des cellules individuelles autour de la tour, sans que ceux-ci puissent savoir s’ils sont observés. Ce dispositif devait ainsi créer un « sentiment d’omniscience invisible » chez les détenus.

L’historien et philosophe Michel Foucault reprend le concept du Panopticon, en 1975, dans Surveiller et punir :

« Le vrai effet du Panopticon, c’est d’être tel que, même lorsqu’il n’y a personne, l’individu dans sa cellule, non seulement se croie, mais se sache observé. (…) Pas besoin d’armes, de violences physiques, de contraintes matérielles. Mais un regard qui surveille et que chacun, en le sentant peser sur lui, finira par intérioriser au point de s’observer lui-même : chacun, ainsi, exercera cette surveillance sur et contre lui-même. » […]


L’intérieur de la prison Presidio Modelo, à Cuba, construite sur le modèle du panoptique

C’est le même effet, à mon avis, que créent les croyances religieuses ou la surveillance électronique de masse.

J'aime(3)Ferme-la !(1)

Changer son adresse MAC

L’adresse MAC est un identifiant physique stocké dans votre carte réseau. Elle ressemble à ceci :

5E:FF:56:A2:AF:15

Elle est définie par le fabricant de votre carte réseau parmi les 248 (environ 281 000 milliards) d’adresses MAC possibles et donc unique au monde. C’est pourquoi on l’appelle souvent « adresse physique » car elle identifie de façon unique votre ordinateur.

Cette adresse est utilisée pour vous assigner un IP fixe, filtrer votre connexion réseau, vous traquer, lier une licence logicielle à votre ordinateur, ou vous donner seulement 15 minutes gratuites de wifi dans les aéroports…

Mais on peut la changer logiciellement. Sous linux, avec le logiciel macchanger vous pouvez générer une nouvelle adresse MAC de cette façon, en root dans un terminal :

# macchanger -A eth0

Remplacer eth0 par l’interface réseau qui vous intéresse: wlan0 pour le wifi par exemple.

Pour revenir à votre adresse MAC d’origine:

# macchanger -p eth0

J'aime(8)Ferme-la !(0)