« SE5 IdO sécurité des objets 2024/2025 b1 » : différence entre les versions
Aucun résumé des modifications |
|||
(40 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
== '''Configuration du routeur wifi pour notre Vlan 11''' == | |||
le vlan est aparent sur le reseau mais pas d'acces internet | |||
pourtant is semble que on a la meme configuration que les binomes qui avaient un wifi fonctionel. | |||
Configuration de l'interface '''eth0 (172.26.145.101)''' et '''eth1 (172.16.11.111)''' sur la VM SE5-WIJSMAN-LEFRANC sur capbreton. | |||
'''Dans la VM,''' configuration de Freeradius''':''' | |||
/etc/freeradius/3.0/users: | |||
<pre> | |||
louis Cleartext-Password := "glopglop" | louis Cleartext-Password := "glopglop" | ||
MS-CHAP-Use-NTLM-Auth := Yes | |||
</pre> | |||
/etc/freeradius/3.0/clients.conf: | |||
<pre> | |||
client wifi_ap { | |||
ipaddr = 172.26.145.1 | |||
secret = glopglop | |||
shortname = VM_binome_11 | |||
} | |||
</pre> | |||
'''Sur le routeur CISCO:''' | |||
mise en place d'un poin d'acces VM_binome_11 avec comme mot de passe glopglop en suivant les comandes du wiki. | |||
<pre> | |||
ssh -l admin -o KexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -o HostKeyAlgorithms=ssh-rsa -c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc 172.26.145.1 | |||
</pre> | |||
<pre> | |||
... | |||
aaa new-model | |||
aaa authentication login eap_binome_11 group radius_binome_11 | |||
radius-server host 172.26.145.101 auth-port 1812 acct-port 1813 key glopglop | |||
aaa group server radius radius_binome_11 | |||
server 172.26.145.101 auth-port 1812 acct-port 1813 | |||
! | |||
... | |||
dot11 ssid VM_binome_11 | |||
vlan 411 | |||
authentication open eap eap_binome_11 | |||
authentication network-eap eap_binome_11 | |||
authentication key-management wpa | |||
mbssid guest-mode | |||
! | |||
... | |||
interface Dot11Radio0 | |||
encryption vlan 411 mode ciphers aes-ccm | |||
... | |||
! | |||
... | |||
interface Dot11Radio0.11 | |||
encapsulation dot1Q 411 | |||
bridge-group 11 | |||
! | |||
interface GigabitEthernet0.11 | |||
encapsulation dot1Q 411 | |||
bridge-group 11 | |||
! | |||
</pre> | |||
Ligne 24 : | Ligne 70 : | ||
== '''Piratage d’objets connectés:''' == | |||
'''Objectif :''' | '''Objectif :''' | ||
Ligne 30 : | Ligne 77 : | ||
Puis nous allons egalement tenter de cracker un capteur de temperature LIBERO CS. | Puis nous allons egalement tenter de cracker un capteur de temperature LIBERO CS. | ||
== '''Sonnete sans fil:''' == | |||
'''Sonnete sans fil:''' | |||
'''Matériel utilisé :''' | '''Matériel utilisé :''' | ||
Ligne 44 : | Ligne 89 : | ||
# '''Analyse des trames :''' Nous analysons la trame envoyée à chaque appui sur le bouton. Après une série de tests, nous avons découvert que la trame envoyée est toujours la même. | # '''Analyse des trames :''' Nous analysons la trame envoyée à chaque appui sur le bouton. Après une série de tests, nous avons découvert que la trame envoyée est toujours la même. | ||
# '''Reproduction du signal :''' Dans un deuxième temps, nous mettons en place un programme sur GNU Radio pour reproduire le signal, afin de faire croire à la sonnette que le bouton a été appuyé. | # '''Reproduction du signal :''' Dans un deuxième temps, nous mettons en place un programme sur GNU Radio pour reproduire le signal, afin de faire croire à la sonnette que le bouton a été appuyé. | ||
=== Première méthode (PARROT) : === | |||
On écoute la télécommande et on réémet le signal. | |||
Méthode PARROT où l'on enregistre pour réémettre. | |||
On utilise le programme GNU Radio suivant : | |||
[[Fichier:Screenshot from 2024-11-27 14-33-26.png|vignette|Méthode PARROT où l'on enregistre pour réémettre.]] | |||
Cela ne fonctionne pas, nous avons donc opté pour une autre méthode. | |||
=== Méthode 2 : Recréation du signal === | |||
Nous avons créé un programme GNU Radio plus complexe qui recrée le signal de la télécommande. | |||
Le signal est le suivant : | |||
75 trames avec le codage binaire suivant : | |||
<blockquote>0001010011000111100110000</blockquote> | |||
Les timings sont les suivants : | |||
* 0 : 0,2 ms high et 0,6 ms low | |||
* 1 : 0,6 ms high et 0,2 ms low | |||
Nous prenons le PGCD de 6 2 est 2 donc on prend 0,2 ms comme plus petit pas: | |||
On code de maniere suivante: | |||
* 0 = 1000 | |||
* 1 = 1110 | |||
Par exemple pour coder le message "101" on envoie 1110 1000 1110. | |||
Nous utilisons un sampling_rate de 10MHz mais nous voulons envoyer un signal dont la frequence maximale est 5KHz. | |||
Nous utilisons donc un bloc ressampling. | |||
Cela fonctionne et nous parvenons à actionner la sonnette via la SDR ! | |||
[[Fichier:Trame.jpg|vignette|Visualisation de la trame émise par le SDR.]] | |||
[[Fichier:Montage fonctionel.png|vignette|Programme qui recrée le signal à émettre et l'émet.]] | |||
== '''Capteur de température LIBERO:''' == | |||
Le but est de trouver un moyen de contourner le système pour lui faire retenir en mémoire des valeurs différentes de celles normales. | |||
Nous avons démonté le boîtier afin de visualiser le PCB et les composants. | |||
[[Fichier:Capteur.jpg|vignette|Capteur de température]] | |||
Après une analyse, on peut remarquer le capteur de température, comme indiqué sur l'image suivante. | |||
* Une possibilité serait de modifier le comportement du capteur en ajoutant une résistance, par exemple. | |||
* Une autre possibilité serait de reprogrammer le microcontrôleur afin de modifier son comportement. Il s'agit d'un '''STM32L 073CZTb.''' | |||
Pour cela, il faut mapper chaque pin pour pouvoir se connecter directement sur les testpoints. | |||
Le but est déja de reperer les pins qui serviront a la programation, soit: | |||
[[Fichier:Stm32.png|vignette]] | |||
* '''NRST (Pin 7)''' - Reset pin. | |||
* '''SWDIO (Pin 34, PA13)''' - Serial Wire Debug Data Input/Output. | |||
* '''SWCLK (Pin 35, PA14)''' - Serial Wire Debug Clock. | |||
* '''VSS (Pin 8 or 33)''' - Ground pin. | |||
* [[Fichier:W.jpg|vignette|Mapping des testpoints du PCB aux pins de programmation.]]'''VDD (Pin 9 or 36)''' - Power supply. |
Version actuelle datée du 27 novembre 2024 à 16:45
Configuration du routeur wifi pour notre Vlan 11
le vlan est aparent sur le reseau mais pas d'acces internet
pourtant is semble que on a la meme configuration que les binomes qui avaient un wifi fonctionel.
Configuration de l'interface eth0 (172.26.145.101) et eth1 (172.16.11.111) sur la VM SE5-WIJSMAN-LEFRANC sur capbreton.
Dans la VM, configuration de Freeradius:
/etc/freeradius/3.0/users:
louis Cleartext-Password := "glopglop" MS-CHAP-Use-NTLM-Auth := Yes
/etc/freeradius/3.0/clients.conf:
client wifi_ap { ipaddr = 172.26.145.1 secret = glopglop shortname = VM_binome_11 }
Sur le routeur CISCO:
mise en place d'un poin d'acces VM_binome_11 avec comme mot de passe glopglop en suivant les comandes du wiki.
ssh -l admin -o KexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -o HostKeyAlgorithms=ssh-rsa -c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc 172.26.145.1
... aaa new-model aaa authentication login eap_binome_11 group radius_binome_11 radius-server host 172.26.145.101 auth-port 1812 acct-port 1813 key glopglop aaa group server radius radius_binome_11 server 172.26.145.101 auth-port 1812 acct-port 1813 ! ... dot11 ssid VM_binome_11 vlan 411 authentication open eap eap_binome_11 authentication network-eap eap_binome_11 authentication key-management wpa mbssid guest-mode ! ... interface Dot11Radio0 encryption vlan 411 mode ciphers aes-ccm ... ! ... interface Dot11Radio0.11 encapsulation dot1Q 411 bridge-group 11 ! interface GigabitEthernet0.11 encapsulation dot1Q 411 bridge-group 11 !
Piratage d’objets connectés:
Objectif :
Notre objectif dans un premier temps est de pirater une sonnette sans fil.
Puis nous allons egalement tenter de cracker un capteur de temperature LIBERO CS.
Sonnete sans fil:
Matériel utilisé :
- PC avec GNU Radio
- SDR HackRF One
Méthodologie :
- Analyse du signal : Nous commençons par analyser le signal envoyé lorsqu'on appuie sur le bouton de la sonnette à l'aide d'un analyseur de spectre.
- Analyse des trames : Nous analysons la trame envoyée à chaque appui sur le bouton. Après une série de tests, nous avons découvert que la trame envoyée est toujours la même.
- Reproduction du signal : Dans un deuxième temps, nous mettons en place un programme sur GNU Radio pour reproduire le signal, afin de faire croire à la sonnette que le bouton a été appuyé.
Première méthode (PARROT) :
On écoute la télécommande et on réémet le signal.
Méthode PARROT où l'on enregistre pour réémettre.
On utilise le programme GNU Radio suivant :
Cela ne fonctionne pas, nous avons donc opté pour une autre méthode.
Méthode 2 : Recréation du signal
Nous avons créé un programme GNU Radio plus complexe qui recrée le signal de la télécommande.
Le signal est le suivant :
75 trames avec le codage binaire suivant :
0001010011000111100110000
Les timings sont les suivants :
- 0 : 0,2 ms high et 0,6 ms low
- 1 : 0,6 ms high et 0,2 ms low
Nous prenons le PGCD de 6 2 est 2 donc on prend 0,2 ms comme plus petit pas:
On code de maniere suivante:
- 0 = 1000
- 1 = 1110
Par exemple pour coder le message "101" on envoie 1110 1000 1110.
Nous utilisons un sampling_rate de 10MHz mais nous voulons envoyer un signal dont la frequence maximale est 5KHz.
Nous utilisons donc un bloc ressampling.
Cela fonctionne et nous parvenons à actionner la sonnette via la SDR !
Capteur de température LIBERO:
Le but est de trouver un moyen de contourner le système pour lui faire retenir en mémoire des valeurs différentes de celles normales.
Nous avons démonté le boîtier afin de visualiser le PCB et les composants.
Après une analyse, on peut remarquer le capteur de température, comme indiqué sur l'image suivante.
- Une possibilité serait de modifier le comportement du capteur en ajoutant une résistance, par exemple.
- Une autre possibilité serait de reprogrammer le microcontrôleur afin de modifier son comportement. Il s'agit d'un STM32L 073CZTb.
Pour cela, il faut mapper chaque pin pour pouvoir se connecter directement sur les testpoints.
Le but est déja de reperer les pins qui serviront a la programation, soit:
- NRST (Pin 7) - Reset pin.
- SWDIO (Pin 34, PA13) - Serial Wire Debug Data Input/Output.
- SWCLK (Pin 35, PA14) - Serial Wire Debug Clock.
- VSS (Pin 8 or 33) - Ground pin.
- VDD (Pin 9 or 36) - Power supply.