Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
✇SOSPC

Microsoft va lancer un outil similaire à CCleaner, vous pouvez déjà le tester en version bêta

Merci à vous de suivre le flux Rss de www.sospc.name. ;o)<

Ce nouvel outil, qui n'est pas encore disponible en français, a pour but de faire de l'ombre aux nettoyeurs concurrents… qui peuvent dormir tranquille. Cela fait six mois que son développement a commencé. Je ne vous en ai pas parlé alors car je ne voulais pas que nous essuyions les plâtres, et aussi parce qu'à […]

Cet article Microsoft va lancer un outil similaire à CCleaner, vous pouvez déjà le tester en version bêta est apparu en premier sur votre site préféré www.sospc.name ;o)<

✇Korben

Automatiser les installations de Kali pour les pentesters qui ont la flemme

Vous le savez, Kali est un Linux spécialisé pour la cybersécurité, qui permet de faire de l’analyse de vulnérabilité, du test d’intrusion, de l’analyse de paquets réseau, du reverse engineering et tout un tas d’autres trucs. Si vous êtes un pentester, vous l’utilisez probablement et vous savez que la création de VM Kali Linux pour chaque mission peut être une tâche un poil relou !

Heureusement, un nouveau projet open source baptisé Kali-automation-install va vous faciliter grandement la vie. Cet outil permet en effet de créer automatiquement une VM Kali Linux avec tous les outils nécessaires pré-installés dessus, le tout en utilisant un simple script bash qui peut être rapidement et facilement modifié. Cela permet de répondre à vos besoins spécifiques sur chacune de vos missions d’expert ;-).

Logo de Kali Linux, une distribution de pentesting basée sur Debian

Ce projet a été développé par sKillseries, un habitué du monde offensif cyber et permet aussi de configurer Kali en français pour qu’il fonctionne avec les deux hyperviseurs les plus courants : VirtualBox et VMware.

Pour l’utiliser, vous devrez d’abord installer packer ainsi que l’hyperviseur de votre choix (J’ai choisi Virtualbox pour l’exemple).

apt install packer virtualbox virtuabox-ext-pack

Ensuite, vous pouvez modifier les variables qui sont dans le fichier kali-var.json pour personnaliser votre VM Kali Linux.

{
    "iso_url": "<Lien de Téléchargement Kali-Linux>",
    "iso_checksum": "<SHA256Checksum de l'ISO>
}

Enfin, une fois ces modifications faites, vous pourrez initier la création de la VM avec une seule commande directement depuis votre terminal ou vos propres scripts.

packer build -var-file=kali-vars.json config-virtualbox.json

Vous pouvez même le faire en mode headless si vous le souhaitez (sans interaction) en ajoutant le paramètre suivant au fichier json de votre hyperviseur.

"headless": "1",

Vous trouverez toutes les infos sur ce projet sur sa page Github.

✇Faire soi-même

LoRaGate (Projet complet) – partie 1 – l’étude

Bon … avant toute chose, je dois dire que je n’ai pas suivi de cursus dans l’électronique mais plutôt dans l’informatique et que la vie a fait que je me suis lancé dans ce domaine. Je n’ai donc pas les bases scolaires et je me défini plutôt comme autodidacte en la matière.

Du coup, si vous, vous êtes du métier et que je dis des bêtises ou qu’il y a des manquements ou améliorations à apporter, n’hésitez pas à le signaler en commentaire, je ne vous en voudrai pas.

Parce que c’est toujours plus simple de montrer les choses par l’exemple, je vais partir d’un produit qui devrait sortir (à l’issue des articles) sur la boutique LiXee. A savoir la LoRaGate

 

Introduction au projet LoRaGate

Ce projet est un projet assez simple et permet de comprendre les bases sans trop rentrer dans la complexité technique. En effet, cet appareil sera un simple modem LoRaWAN permettant d’envoyer des commandes AT au travers d’une interface USB.

Comme il va être compliqué de tout condenser dans un seul article, il y aura une série de 1, 2, 3 ou 4 articles sur le sujet.

Voici toutes les étapes du projet que je vais tenter de détailler :

  • L’étude (permet de lancer le projet et de répertorier tous les besoins)
  • La conception (grâce à un outil de CAO, on lance la schématisation et le design de la carte électronique)
  • La réalisation (on affine le design, on optimise et on corrige ce qui ne va pas grâce à certains outils avant d’envoyer en production)
  • L’optimisation. On adapte l’antenne pour qu’elle résonne à la fréquence voulue

L’étude de la LoRaGate

A quoi sert la LoRaGate

La LoRaGate sera une passerelle/modem LoRaWAN permettant d’envoyer et recevoir des messages. Elle permettra donc de rendre votre box domotique (par exemple) compatible avec ce réseau destiné aux objets connectés.

Le protocole LoRa et le réseau LoRaWAN

Mais qu’est-ce que le LoRa / LoRaWAN ?

Comme d’habitude (vous commencez à me connaître), je ne vais pas entrer trop dans les détails. Si vous le souhaitez vous pouvez le faire en suivant le lien Wikipedia.

Premièrement, il faut distinguer le LoRa du LoRaWAN car ce n’est pas exactement la même chose et souvent, on les mélange par abus de langage.

La modulation

Le LoRa est une modulation de fréquence généralement sur la bande 868Mhz (en Europe) 915Mhz (au USA ou ceux qui utilisent la FCC) mais aussi récemment sur le 2.4Ghz

C’est une modulation qui a été développée par des frenchies (Cycléo) à la base !! (cocorico) puis rachetée par Semtech. C’est une modulation assez révolutionnaire (à mon sens) car elle permet de communiquer en dessous du niveau de bruit radio.

En effet, normalement, il est compliqué, voir impossible, de communiquer dans le bruit. Le niveau de bruit radio ambiant / interférence se situe généralement aux alentours de -90dBm. C’est comme si vous tentiez de discuter avec un ami avec la musique à fond. Difficile de communiquer. C’est un « peu » pareil avec la radio, soit c’est lié à beaucoup d’interférences, soit c’est lié à la distance. Ce bruit va constituer la limite des performances de votre conversation.

Spectrum_analyzer_display_noise_floor

D’ailleurs si vous regardez la sensibilité des modules radio bluetooth, zigbee, WiFi etc … vous verrez qu’ils ne descendent quasiment jamais en dessous du bruit, soit -100dBm max (en condition de laboratoire).

Voici donc la première innovation de la modulation et contrairement à une modulation classique qui possède 2 fréquences pour signaler les 1 et 0, le LoRa repose sur des sauts de fréquences qui représentent des groupes de bits.

modulation_lora

Et pour garantir l’intégrité des données, la modulation utilise le Spreading Factor (SF) qui va utiliser une signature du motif plus ou moins longue. Plus le motif est important, moins il y a de perte d’intégrité et plus on peut aller loin.

Spreading factor LoRa

Bien entendu, tous ces avantages entraînent forcément un inconvénient (quoi que…) qui est le débit. En effet, on ne peut pas tout avoir… Cette modulation n’est pas faite pour faire du débit mais pour aller loin.

data rate

Bon la technologie est complexe et il y aurait beaucoup à dire mais ce qu’il faut retenir c’est que :

  • Cette modulation LoRa permet de communiquer sur de longues distances (jusqu’à 15 Km environ)
  • Elle ne peut faire transiter que des messages très courts (51 octets utiles)

Le réseau LoRaWAN

Maintenant que l’on a vu la modulation de fréquence, qu’est-ce que le LoRaWAN.

Hé bien, le LoRaWAN est tout simplement un réseau qui permet d’interfacer les appareils qui communiquent en LoRa.

Alors pareil, difficile de synthétiser tout ça en quelques lignes mais ce qu’il faut retenir, c’est que le LoRaWAN rassemble une infrastructure plus ou moins complexe à mettre en place, permettant de traiter / décoder les informations remontées par les appareils LoRa pour les rendre exploitables.

lorawan_network

Il existe 2 types d’infrastructures possible en LoRaWAN :

  • La publique qui est en quelque sorte l’opérateur (Orange, Objenious, The Things Network(TTN), etc… )
  • La privée qui peut être développée à la maison (whouaouuuu !!)

Pour l’opérateur, c’est assez simple. Il faut prendre un abonnement et vous pourrez (sous réserve de couverture) récupérer les informations de votre appareil LoRa pour les rediriger vers votre serveur d’exploitation de données. En effet, ils mettent à disposition des API ou « routage » vous permettant de rediriger la donnée brute vers votre serveur personnel.

Pour le réseau privé, il vous faudra :

  • Une passerelle LoRaWAN pour récupérer la donnée brute et assurer l’intégrité des données. Il existe beaucoup de passerelles plus ou moins professionnelles. Vous pouvez les retrouver en partie ici : https://www.thethingsnetwork.org/docs/gateways/start/list.html
  • Un/des serveur(s) pour stocker les données et la rediriger vers votre service de traitement de l’information.

Bien entendu, ce réseau LoRaWAN est sécurisé de bout en bout et vous serez le seul à pouvoir interpréter les données. (sachant que le risque de piratage ne peut pas être égal à zéro)

Chaque objet souhaitant se connecter sur le réseau devra choisir sa « classe » et son mode d’authentification (OTAA – Over The Air ou ABP – Activation By Personalization) et ensuite, renseigner, selon son mode d’authentification, ses identifiants:

Pour OTAA : DEVEUI, APPEUI, APPKEY
Pour ABP :  DEVADDR, NWSKEY, APPSKEY

Pour la classe, il en existe 3 (A, B, C). Chacune utilise un mode de communication différent:

  • Class A : On envoie un message toutes les x minutes et on se met en écoute x secondes dans la foulée au cas où il y aurait 1 message à réceptionner. Ce mode, destiné aux objets sur pile permet de très peu consommé. (majorité du temps en veille)
  • Class B : Cette classe est une sorte de compromis entre la classe A et C. Elle utilise des « beacons » permettant une synchronisation entre le serveur et l’appareil. Du coup, l’appareil se mettra en écoute au moment ou le serveur enverra un message. Ce mode est encore très peu utilisé et incompatible avec les opérateurs publiques.
  • Class C : Dans ce mode, on est en écoute permanente de messages. On peut émettre toutes les X minutes (en respectant les normes et les temps d’occupation de la fréquence). Ce mode est destiné aux appareils alimentés.

Alors je sais, je survole de très haut tout ces concepts (et ça me perturbe parce que j’ai l’impression de rien dire) mais c’est tellement vaste … Bref voici les éléments essentiels de ce réseau que je trouve encore trop peu connu.

L’autre réseau IoT…

Dans la même catégorie, il existe aussi le réseau Frenchie Sigfox (cocorico bis) qui n’utilise pas du tout la même modulation et qui a l’inconvénient de ne fonctionner qu’en passant par un opérateur (mais ça changera…). Je développerai sans doute des produits sur ce réseau et je ne manquerai pas de vous en faire part.

Alors, l’autre énorme avantage que je n’ai pas cité plus haut de ces réseaux, c’est que les appareils ne consomment quasiment rien pour émettre leur message et du coup permet de créer des IoT sur pile (ou sans pile), très petit et qui durent dans le temps. Mais bon vu que ce projet, en particulier, est sur alimentation USB, ce point est moins important. (Mais sera la base des projets suivants ;))

Les besoins du projets

Alors pour réaliser ce projet, il y a 3 points importants :

L’alimentation

Il y a de grandes chances qu’il faille du 3.3VDC (souvent utilisé dans les microcontrôleurs). La LoRaGate sera branchée en USB (5VDC) donc il faudra une régulation de tension. Contrairement au WiFi gourmant, le LoRa devrait consommer 50 mA lors de l’émission (consommation max du coup)  donc la régulation n’aura pas besoin d’être dans la « puissance ».

Le driver USB-TTL

Pour faire communiquer la LoRaGate avec son hôte, il faut évidemment pouvoir transformer les signaux TTL vers l’USB et inversement. Et pour cela, il faut un pilote. J’en ai déjà testé quelques un lors de mes projets antérieurs et je pense que le pilote FTDI répondra au besoin et notamment sur la partie régulation 3.3VDC.

Avec ce pilote, on ne se trompe pas beaucoup, il fera le taff et sera fiable. Le seul inconvénient, c’est son prix mais comme il peut nous faire économiser la partie régulation, ça compense.

Le module Radio

Enfin le dernier élément, le module LoRa. Il existe pleins de solutions et de combinaisons pour dialoguer en LoRa mais pour ce projet, je souhaitais quelque chose de simple et « ready to play ». Après quelques recherches, je suis tombé sur ce module : le E78-868LN22S

Alors, il est assez cher mais il est vraiment prêt à l’emploi. Il suffit de lui envoyer des commandes AT pour le paramétrer et envoyer des messages. Comme un vulgaire SIM800L 😉

Conclusion

Bon, on va pas se le cacher, la partie 1, c’est la partie la plus pompeuse… beaucoup de théorie et du blabla technique. Pourtant, promis, j’essaie de faire le plus synthétique (quitte à faire d’énormes raccourcis). Malgré tout, c’est le passage indispensable.

Voilà ce qu’on a appris dans cette partie.

  • L’objectif du produit est assez clair. Passerelle ou Modem LoRaWAN pour box domotiques.
  • On comprend comment la modulation radio et le réseau fonctionne.
  • On a listé les besoins primaires pour concevoir le produit.

Dans la prochaine partie, on verra comment faire la schématique et le design du produit au travers d’Eagle CAD.

A bientôt.

EDIT : Le Modem LoRaGate est désormais disponible sur la boutique

❌