« SE5 IdO sécurité des objets 2024/2025 b1 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
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


'''Configuration du routeur wifi pour notre Vlan 11'''
pourtant is semble que on a la meme configuration que les binomes qui avaient un wifi fonctionel.


le vlan est aparent sur le reseau mais pas d'acces internet




Configuration de l'interface eth1 (172.16.11.111/24) sur la VM SE5-WIJSMAN-LEFRANC sur capbreton.


dans la VM, configuration de Freeradius:
Configuration de l'interface '''eth0 (172.26.145.101)''' et '''eth1 (172.16.11.111)''' sur la VM SE5-WIJSMAN-LEFRANC sur capbreton.


users:


```
'''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>


MS-CHAP-Use-NTLM-Auth := Yes
/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 :

Screenshot from 2024-10-21 14-25-36.png
  1. 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.
  2. 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.
  3. 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 :

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 :

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 !

Visualisation de la trame émise par le SDR.
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.

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:

Stm32.png
  • 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.
  • Mapping des testpoints du PCB aux pins de programmation.
    VDD (Pin 9 or 36) - Power supply.