initial commit
@@ -0,0 +1,22 @@
|
||||
# RSX112 28 04 2025 Sécurité des Réseaux
|
||||
|
||||
## Systèmes d'exploitation et Droits
|
||||
|
||||
ASL
|
||||
|
||||
Capacité -> Modèle utilisateur
|
||||
|
||||
## AGDLP
|
||||
|
||||
Les groupes de sécurité.
|
||||
|
||||
Méthode utilisé par Microsoft.
|
||||
|
||||
coté utilisateur et coté fichiers géré de manière indépendante.
|
||||
|
||||
étendu des groupe
|
||||
|
||||
- GL
|
||||
- GG
|
||||
- GU
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Liste des utilisateurs à créer
|
||||
tab_user=('yannick' 'eulalie' 'jean' 'justine' 'pierre' 'sandrine' 'cecile' 'michel')
|
||||
|
||||
# Boucle pour créer chaque utilisateur
|
||||
for user in "${tab_user[@]}"
|
||||
do
|
||||
# Création de l'utilisateur
|
||||
useradd -m -s /bin/bash $user
|
||||
echo -e "$user\n$user" | passwd $user
|
||||
echo "Utilisateur $user créé avec succès avec le mot de passe par défaut."
|
||||
done
|
||||
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,27 @@
|
||||
# Exercice2
|
||||
## 3
|
||||
root@ubuntu-RSX112:~# groupadd visiteurs -g 1404
|
||||
## 4
|
||||
root@ubuntu-RSX112:~# useradd -u 140401 -g visiteurs -m -s /bin/bash invite
|
||||
## 5
|
||||
root@ubuntu-RSX112:~# cat /etc/passwd | grep invite
|
||||
invite:x:140401:1404::/home/invite:/bin/bash
|
||||
root@ubuntu-RSX112:~# cat /etc/group | grep visiteurs
|
||||
visiteurs:x:1404:
|
||||
## 6
|
||||
root@ubuntu-RSX112:~# chage -M 90 -W 14 -I 7 invite
|
||||
## 7
|
||||
root@ubuntu-RSX112:~# cat /etc/shadow | grep invite
|
||||
invite:!:20206:0:90:14:7::
|
||||
## 8
|
||||
root@ubuntu-RSX112:~# echo -e "welc0me\nwelc0me" | passwd "invite"
|
||||
## 9
|
||||
useradd -u 140402 -g visiteurs -m -s /bin/bash intrus
|
||||
chage -M 90 -W 14 -I 7 invite
|
||||
echo -e "1234\n1234" | passwd intrus
|
||||
## 10
|
||||
root@ubuntu-RSX112:~# tail -n 2 /etc/shadow
|
||||
invite:$6$P87urVNAHId2z7fG$GHn/.vL4nI6nsgq.uaxmGqSgTn4n39bD/0HsQwFICgKp.4dhKOiu5scPs4tdkN2Avya09zPBI5qSxfF2Fu.eC0:20206:0:90:14:7::
|
||||
intrus:$6$F8Zh5OOiIrskScOO$WdDFLGZakeBdyv4DM0RCL5zvPkYpxllgi9IcucoVXb6z5ujYW.KtfW4ZsZrUkjFssJqta5ZG2qvpRmfduL6tJ/:20206:0:99999:7:::
|
||||
|
||||
Le nombre de jours avant expiation du mdp est passé à 99999 pour l'utilisateur intrus
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Exercice 2"
|
||||
echo "Créer un groupe visiteurs avec le GID 1404"
|
||||
groupadd visiteurs -g 1404
|
||||
echo "Créer un utilisateur invite avec le UID 140401 et le GID 1404"
|
||||
useradd -u 140401 -g visiteurs -m -s /bin/bash invite
|
||||
echo "affichez les lignes correspondantes des fichiers utilisateurs et groupes"
|
||||
cat /etc/passwd | grep invite
|
||||
cat /etc/group | grep visiteurs
|
||||
echo "modification des droits de changement de mdp de l'utilisateur invite"
|
||||
chage -M 90 -W 14 -I 7 invite
|
||||
echo "affichez la lignes correspondant à l'utilisateur invite dans le fichier shadow"
|
||||
cat /etc/shadow | grep invite
|
||||
echo "modification du mot de passe de l'utilisateur invite"
|
||||
echo -e "welc0me\nwelc0me" | passwd "invite"
|
||||
|
||||
echo "créer un utilisateur intrus avec le UID 140402 et le GID 1404"
|
||||
useradd -u 140402 -g visiteurs -m -s /bin/bash intrus
|
||||
echo "modification des droits de changement de mdp de l'utilisateur intrus"
|
||||
chage -M 90 -W 14 -I 7 invite
|
||||
echo "modification du mot de passe de l'utilisateur intrus"
|
||||
echo -e "1234\n1234" | passwd intrus
|
||||
echo "afficher les 2 dernière lignes du fichier shadow"
|
||||
tail -n 2 /etc/shadow
|
||||
|
||||
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
echo "Exercice 3"
|
||||
su - invite
|
||||
echo "date" >> utcd.sh
|
||||
chmod u+x utcd.sh
|
||||
ls -l utcd.sh
|
||||
./utcd.sh
|
||||
|
After Width: | Height: | Size: 86 KiB |
@@ -0,0 +1,129 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
tab_group=("technique" "formation" "commercial" "administratif")
|
||||
tab_user=("philippe" "harouna" "emmanuelle" "nicolas" "laurent" "franck" "patrick" "ali" "eric")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function nettoyage {
|
||||
for user in "${tab_user[@]}"
|
||||
do
|
||||
if id "$user" &>/dev/null; then
|
||||
userdel -r "$user"
|
||||
fi
|
||||
done
|
||||
|
||||
for group in "${tab_group[@]}"
|
||||
do
|
||||
if getent group "$group" &>/dev/null; then
|
||||
groupdel "$group"
|
||||
rm -Rf /$group
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function create_user {
|
||||
echo
|
||||
echo "Création des utilisateurs"
|
||||
echo
|
||||
for user in "${tab_user[@]}"
|
||||
do
|
||||
useradd "$user" -m -N -p $user
|
||||
chage -M 90 -m 5 $user
|
||||
echo "echo 'Bienvenue, $(whoami), sur le système Ubuntu-RSX112 !'" >> "/home/$user/.bashrc"
|
||||
echo "Utilisateur $user créé avec succès avec le mot de passe par défaut."
|
||||
done
|
||||
}
|
||||
|
||||
function create_group {
|
||||
echo
|
||||
echo "Création des groupes"
|
||||
echo
|
||||
|
||||
for group in "${tab_group[@]}"
|
||||
do
|
||||
groupadd $group
|
||||
mkdir /$group
|
||||
chgrp $group /$group
|
||||
chmod 770 /$group
|
||||
echo "Groupe $group créé avec succès."
|
||||
done
|
||||
}
|
||||
|
||||
function Attribution_user_group {
|
||||
echo
|
||||
echo "Attribution des utilisateurs à leur groupe principale et secondaire"
|
||||
echo
|
||||
for user in "${tab_user[@]}"
|
||||
do
|
||||
if [[ $user == "philippe" ]]; then
|
||||
usermod -g technique $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal technique."
|
||||
elif [[ $user == "harouna" ]]; then
|
||||
usermod -g technique $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal technique."
|
||||
elif [[ $user == "emmanuelle" ]]; then
|
||||
usermod -g technique $user
|
||||
usermod -aG formation $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal technique et secondaire formation."
|
||||
elif [[ $user == "nicolas" ]]; then
|
||||
usermod -g formation $user
|
||||
usermod -aG technique $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal formation et secondaire technique."
|
||||
elif [[ $user == "laurent" ]]; then
|
||||
usermod -g technique $user
|
||||
usermod -aG formation $user
|
||||
usermod -aG commercial $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal technique et secondaire formation, commercial."
|
||||
elif [[ $user == "franck" ]]; then
|
||||
usermod -g formation $user
|
||||
usermod -aG technique $user
|
||||
usermod -aG administratif $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal formation et secondaire technique, administratif."
|
||||
elif [[ $user == "patrick" ]]; then
|
||||
usermod -g administratif $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal administratif."
|
||||
elif [[ $user == "ali" ]]; then
|
||||
usermod -g commercial $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal commercial."
|
||||
elif [[ $user == "eric" ]]; then
|
||||
usermod -g commercial $user
|
||||
usermod -aG administratif $user
|
||||
echo "L'utilisateur $user a été ajouté au groupe principal commercial et secondaire administratif."
|
||||
else
|
||||
echo "Aucun groupe n'a été attribué à l'utilisateur $user."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
nettoyage
|
||||
echo "===================================================="
|
||||
echo "Exercice 4 - Gestion des utilisateurs et des groupes"
|
||||
echo "===================================================="
|
||||
create_user
|
||||
create_group
|
||||
Attribution_user_group
|
||||
echo
|
||||
echo "Mise en place du mot de passe de philippe"
|
||||
echo
|
||||
echo -e "My-P@$$w0rd\nMy-P@$$w0rd" | passwd philippe
|
||||
echo
|
||||
echo "Ajout de Ali dans le groupe de techniciens"
|
||||
echo
|
||||
usermod -aG technique ali
|
||||
echo
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,45 @@
|
||||
# Exercice 5
|
||||
|
||||
## Prérequis
|
||||
|
||||
### 1
|
||||
|
||||
c. Un UID généralement supérieur ou égal à 1000
|
||||
|
||||
### 2
|
||||
|
||||
Le fichier peut être lu, modifié et executé
|
||||
|
||||
L'utilisateur peut lire le contenu du fichier (r).
|
||||
L'utilisateur peut ajouter, écrire dans le fichier (w).
|
||||
L'utilisateur peut executer le fichier (x).
|
||||
|
||||
### 3
|
||||
|
||||
L'utilisateur peut lister son contenu (r).
|
||||
L'utilisateur peut ajouter, supprimer ou renommer des fichiers dans ce répertoire (w).
|
||||
L'utilisateur peut entrer dans le répertoire et accéder à son contenu (x).
|
||||
|
||||
### 4
|
||||
|
||||
754
|
||||
|
||||
### 5
|
||||
|
||||
rw-r-----
|
||||
|
||||
### 6
|
||||
|
||||
SUID
|
||||
|
||||
## Partie 1
|
||||
|
||||
### 1
|
||||
|
||||
|
||||
|
||||
### 2
|
||||
|
||||
### 3
|
||||
|
||||
## Partie 2
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "===================================================="
|
||||
echo "Exercice 5"
|
||||
echo "===================================================="
|
||||
|
||||
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,48 @@
|
||||
# TP_2_Guillaume_Sanchez
|
||||
|
||||
FHWWH PHWKRGH GDQDOBVH GH IUHTXHQFHV PRQWUH LD YXOQHUDELOLWH GXQ
|
||||
FKLIIUHPHQW D VXEVWLWXWLRQ VLPSOH ERQQH FKDQFH SRXU OH GHFKLIIUHU
|
||||
|
||||
## Notez vos premières impressions
|
||||
- Repérez si certaines lettres semblent revenir très souvent
|
||||
|
||||
Le W, H, L, Q, F, K
|
||||
|
||||
- Repérez s’il y a des répétitions de groupes de lettres ou des motifs
|
||||
particuliers
|
||||
|
||||
RQ 3 fois
|
||||
WL 2 fois
|
||||
KL 2fois
|
||||
|
||||
## Parcourez le texte chiffré et comptez le nombre de fois où chaque lettre apparaît
|
||||
|
||||
A 0
|
||||
B 1
|
||||
C 0
|
||||
D 6
|
||||
E 3
|
||||
F 6
|
||||
G 5
|
||||
H 20 | 20 / 115 = 0,1739
|
||||
I 5
|
||||
J 0
|
||||
K 4
|
||||
L 8
|
||||
M 0
|
||||
N 0
|
||||
O 5
|
||||
P 4
|
||||
Q 10
|
||||
R 5
|
||||
S 2
|
||||
T 1
|
||||
U 7
|
||||
V 5
|
||||
W 9
|
||||
X 6
|
||||
Y 1
|
||||
Z 0
|
||||
|
||||
115 caractères
|
||||
20 / 115 = 0,1739
|
||||
@@ -0,0 +1,78 @@
|
||||
# RSX 112 20-05-2025
|
||||
|
||||
## La Cryptographie
|
||||
|
||||
Identifié la personne, envoyer un message de manière intègre.
|
||||
|
||||
Primitive chyptographique, qui va chrypter, chiffrer, etc un msg
|
||||
|
||||
Primitive chyptographique : Procécus de chiffrement et de chiffrement
|
||||
|
||||
## TP 5 :
|
||||
|
||||
|
||||
mdp 1 -> 1 sec
|
||||
mdp 2 -> 1 sec
|
||||
mdp 3 -> 1 sec
|
||||
mdp 4 -> 10 sec
|
||||
mdp 5 -> 3 min
|
||||
mdp 6 -> plusieurs heures potentiel.
|
||||
|
||||
|
||||
|
||||
┌──(nk㉿nk-kali)-[~/Zip-Files]
|
||||
└─$ fcrackzip -vul 1 file-A-1.zip
|
||||
found file 'user_credentials_1.txt', (size cp/uc 271/ 442, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_2.txt', (size cp/uc 270/ 442, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_3.txt', (size cp/uc 272/ 445, flags 9, chk 3c3d)
|
||||
|
||||
|
||||
PASSWORD FOUND!!!!: pw == B
|
||||
|
||||
┌──(nk㉿nk-kali)-[~/Zip-Files]
|
||||
└─$ fcrackzip -vul 2 file-A-2.zip
|
||||
found file 'user_credentials_4.txt', (size cp/uc 267/ 437, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_5.txt', (size cp/uc 259/ 433, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_6.txt', (size cp/uc 271/ 442, flags 9, chk 3c3d)
|
||||
|
||||
|
||||
PASSWORD FOUND!!!!: pw == R2
|
||||
|
||||
┌──(nk㉿nk-kali)-[~/Zip-Files]
|
||||
└─$ fcrackzip -vul 3 file-A-3.zip
|
||||
found file 'user_credentials_7.txt', (size cp/uc 271/ 443, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_8.txt', (size cp/uc 266/ 435, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_9.txt', (size cp/uc 264/ 437, flags 9, chk 3c3d)
|
||||
|
||||
|
||||
PASSWORD FOUND!!!!: pw == 0B1
|
||||
|
||||
┌──(nk㉿nk-kali)-[~/Zip-Files]
|
||||
└─$ fcrackzip -vul 4 file-A-4.zip
|
||||
found file 'user_credentials_10.txt', (size cp/uc 250/ 420, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_11.txt', (size cp/uc 252/ 422, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_12.txt', (size cp/uc 261/ 433, flags 9, chk 3c3d)
|
||||
checking pw W&t~
|
||||
|
||||
PASSWORD FOUND!!!!: pw == Y0Da
|
||||
|
||||
┌──(nk㉿nk-kali)-[~/Zip-Files]
|
||||
└─$ fcrackzip -vul 5 file-A-5.zip
|
||||
found file 'user_credentials_13.txt', (size cp/uc 279/ 452, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_14.txt', (size cp/uc 256/ 427, flags 9, chk 3c3d)
|
||||
found file 'user_credentials_15.txt', (size cp/uc 264/ 434, flags 9, chk 3c3d)
|
||||
checking pw C+GN~
|
||||
|
||||
PASSWORD FOUND!!!!: pw == C-3P0
|
||||
|
||||
TP 6 :
|
||||
|
||||
Exercice 1
|
||||
|
||||
Bonjour cher agent ! Votre prochaine mission, si vous
|
||||
l'acceptez bien sur, sera d'infiltrer le reseau
|
||||
souterrain ou se cache nos ennemis. Rendez-vous a
|
||||
Nantes le 29 avril pour le debut de votre mission
|
||||
|
||||
Exercice 2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
v ubcfb osu ymoqsuu n cxqfj dqmfnu ub vjcfqu juz amqjmruz zmsscfusb bquflu auoquz hfszbms zwfba ju wusbms qusbqu ncsz ju vmo z uddmqvcfb n uxfbuq ju xusb wcoxcfz fj eczzc qcefnuwusb jc emqbu xfbquu no ijmv nuz wcfzmsz nu jc xfvbmfqu ecz czzul qcefnuwusb vueusncsb emoq uweuvauq kou z usrmoddqu us wuwu buwez kou jof os bmoqifjjms nu emozzfuqu ub nu zciju ju acjj zusbcfb ju vamo vofb ub ju xfuog bcefz c j osu nu zuz ugbquwfbuz osu cddfvau nu vmojuoq bqme xczbu emoq vu nuejmfuwusb fsbuqfuoq ubcfb vjmouu co woq ujju quequzusbcfb zfwejuwusb os usmqwu xfzcru jcqru nu ejoz n os wubqu ju xfzcru n os amwwu n usxfqms kocqcsbu vfsk csz c j uecfzzu wmozbcvau smfqu cog bqcfbz cvvusbouz ub iucog hfszbms zu nfqfruc xuqz j uzvcjfuq fj ubcfb fsobfju n uzzcpuq nu equsnqu j czvuszuoq wuwu cog wufjjuoquz uemkouz fj dmsvbfmsscfb qcquwusb cvboujjuwusb n cfjjuoqz ju vmoqcsb ujuvbqfkou ubcfb vmoeu ncsz jc ymoqsuu v ubcfb osu nuz wuzoquz n uvmsmwfu eqfzuz us xou nu jc zuwcfsu nu jc acfsu
|
||||
@@ -0,0 +1,8 @@
|
||||
import os
|
||||
from Crypto.Util.number import long_to_bytes
|
||||
from Crypto.Util.strxor import strxor
|
||||
|
||||
FLAG = open("/home/nk/Documents/UTEC-Lic_ME_2024_2025/RSX112/RSX112-20-05-2025/flag.txt", "rb").read()
|
||||
key = os.urandom(4) * 20
|
||||
c = strxor(FLAG, key[:len(FLAG)])
|
||||
print(c.hex())
|
||||
@@ -0,0 +1,2 @@
|
||||
# RSX112 23 06 2025
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# monitor-proxmox-groupe.sh
|
||||
|
||||
PROXMOX_HOST="ns3061298.ip-162-19-107.eu"
|
||||
PROXMOX_USER="groupe[X]@pve"
|
||||
GROUP_NUM="GSZ"
|
||||
|
||||
echo "=== Monitoring Groupe $GROUP_NUM ==="
|
||||
echo "Time: $(date)"
|
||||
echo ""
|
||||
|
||||
# Pour chaque conteneur
|
||||
for i in 232 233 234; do
|
||||
CT_ID="${i}"
|
||||
echo "Container $CT_ID:"
|
||||
|
||||
# Status via API Proxmox (nécessite token API)
|
||||
# ou via SSH direct
|
||||
ssh pkilab@192.168.1.${i} "free -h | grep Mem" 2>/dev/null || echo " Unreachable"
|
||||
echo ""
|
||||
done
|
||||
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Tests de sécurité SSH
|
||||
TARGET=$1
|
||||
PORT=${2:-22}
|
||||
WORDLIST="/tmp/wordlist.txt"
|
||||
|
||||
echo "=== SSH Security Testing ==="
|
||||
|
||||
# 1. Création d'une mini wordlist
|
||||
echo -e "\n[1] Creating test wordlist..."
|
||||
cat > $WORDLIST << 'WORDS'
|
||||
admin
|
||||
password
|
||||
123456
|
||||
pkilab
|
||||
pkilab2024
|
||||
groupeX
|
||||
root
|
||||
test
|
||||
ssh
|
||||
alpine
|
||||
WORDS
|
||||
|
||||
# 2. Test de bruteforce (limité)
|
||||
echo -e "\n[2] Testing password strength (limited)..."
|
||||
echo "WARNING: This is for educational purposes only!"
|
||||
# Utilisation d'hydra avec limitations
|
||||
timeout 30 hydra -l pkilab -P $WORDLIST -t 4 -f \
|
||||
ssh://$TARGET:$PORT 2>/dev/null | grep -E "host:|login:|password:"
|
||||
|
||||
# 3. Test de timing attacks
|
||||
echo -e "\n[3] User enumeration via timing:"
|
||||
for user in root admin pkilab nonexistent$(date +%s); do
|
||||
echo -n "Testing user '$user': "
|
||||
start=$(date +%s%N)
|
||||
timeout 2 ssh -oConnectTimeout=1 -oPasswordAuthentication=yes \
|
||||
$user@$TARGET -p $PORT 2>&1 >/dev/null
|
||||
end=$(date +%s%N)
|
||||
elapsed=$(( (end - start) / 1000000 ))
|
||||
echo "${elapsed}ms"
|
||||
done
|
||||
|
||||
# 4. Test de clés SSH faibles
|
||||
echo -e "\n[4] Testing for weak SSH keys:"
|
||||
# Génération d'une clé faible (pour test)
|
||||
ssh-keygen -t rsa -b 1024 -f /tmp/weak_key -N "" -q
|
||||
ssh-keygen -y -f /tmp/weak_key > /tmp/weak_key.pub
|
||||
echo "Generated weak RSA-1024 key for testing"
|
||||
rm -f /tmp/weak_key*
|
||||
|
||||
# 5. Vérification des algorithmes obsolètes
|
||||
echo -e "\n[5] Checking for deprecated algorithms:"
|
||||
ssh -Q cipher | grep -E "3des|arcfour|blowfish" | while read cipher; do
|
||||
echo -n "Testing $cipher: "
|
||||
if ssh -oCiphers=$cipher -oConnectTimeout=2 $TARGET -p $PORT 2>&1 | \
|
||||
grep -q "no matching cipher"; then
|
||||
echo "✓ Disabled"
|
||||
else
|
||||
echo "\nENABLED"
|
||||
fi
|
||||
done
|
||||
@@ -0,0 +1,229 @@
|
||||
Preparation partielle RSX 112 de cette apres midi, 3 partie, une partie question de cours sur 6 points, une partie etude de cas sur 6 points et une partie Projet sur 8 point le tout sur feuille avec droit au PC. Petit rappel de snotion : principe de Kerckoffs, une etrenrpuse utilis eun algorithme créer en interne, quels sont les rsiques ? reponses attendue : validation du principe de Kerckoffs, pas d'audit externe possible, failles potentielles non detecter, fausse impression de sécurité fonctions de Hachage, il peut y avoir 2 resultats identiques mais avec 2 entréer différentes ( exemple birthday attack )
|
||||
|
||||
Algorithme de Hachage : SHA-256/512 c'est quoi le Hachage : il sert a quoi ? a verifier les sources, verifie l'intégriter. Comment on verifie cette intégrité sur un fihcier ? truc de base : parité il vas y avoir du PKI !!!!!!!
|
||||
|
||||
architecture PKI et tout Comment on certifie, comment on vérifie l'intégrité une machine genere des certificats et sont envoyé sur cahque UT qui en as besoin UT ou service d'ailleurs : DONC y a un echange de certificats entrre UT et serveur pour pouvoir ensuite valider le certificats et autorisé l'UT Vzlidaton de certificat : verifier la chaine, verifier les dates, verifier le domaine, verifier la revocation procédure renouvelle de certificat on aura des certificat a analyser on va faire une lecture a plat de l'infra pour le partielle Dernier sujet le plus important !!!!! architecture PKI pour SecureTech ( fictif j'imagine ) 200 employés 5 serveur web Je vais t'envoyer le PDF du prof qui recapitule tout, j'ai pass besoi d'une fiche de triche ou de revision Je veux que tu te prepare comme si tu allais le passer, comme sa dans l'aprem quand je vien te demander les réponses aux question tu es deja au courant,
|
||||
2/2
|
||||
ChatGPT a dit :
|
||||
Parfait, je me prépare comme si j’étais à ta place pour le partiel RSX112 cet après-midi. Je vais me faire une fiche mentale rapide pour répondre efficacement à toutes les questions, que ce soit théorie, étude de cas ou projet PKI. Dès que tu m’envoies le PDF du prof, je l’intègre aussi dans ma révision interne. Voici déjà ce que j’ai en tête prêt à l’usage :
|
||||
🔐 1. Notions théoriques (6 points)
|
||||
🔸 Principe de Kerckhoffs
|
||||
Un système de chiffrement doit rester sécurisé même si tout est connu… sauf la clé.
|
||||
❌ Problème d’un algo interne :
|
||||
Aucune revue externe → risques non détectés
|
||||
Sécurité par l’obscurité ≠ vraie sécurité
|
||||
⚠️ Fausse impression de sécurité
|
||||
🔸 Fonctions de Hachage
|
||||
Un algorithme qui produit une empreinte unique à partir d’une donnée.
|
||||
Utilisation :
|
||||
Vérifier l’intégrité des fichiers
|
||||
Signature numérique
|
||||
Authentification
|
||||
Propriétés importantes :
|
||||
Déterministe
|
||||
Résistant aux collisions (mais… ⚠️ Birthday attack)
|
||||
Non réversible
|
||||
Exemples : SHA-256, SHA-512
|
||||
🔍 Vérification d'intégrité :
|
||||
Hash avant/après transfert
|
||||
Vérification automatique par outils (ex : checksum md5sum, sha256sum)
|
||||
⚠️ Parité est un exemple simple mais insuffisant pour sécurité réelle
|
||||
🧾 2. Étude de cas (6 points)
|
||||
⚙️ Exemple de certificat à analyser
|
||||
Vérifier :
|
||||
🔗 Chaîne de certification (ex. CA → intermediate → serveur)
|
||||
📅 Validité (dates NotBefore / NotAfter)
|
||||
🌐 Nom de domaine (CN, SAN)
|
||||
❌ Révocation : CRL / OCSP
|
||||
🔁 Renouvellement d’un certificat
|
||||
Générer nouveau CSR
|
||||
Signer par CA
|
||||
Mettre à jour sur les serveurs/clients
|
||||
⚠️ Attention aux interruptions de service si certif expiré
|
||||
🏢 3. Projet : Architecture PKI pour SecureTech (8 points)
|
||||
Contexte :
|
||||
Entreprise de 200 employés
|
||||
5 serveurs web
|
||||
📐 Proposition d’architecture PKI :
|
||||
```
|
||||
luaCopierModifier +--------------------+ | Root CA | (offline)
|
||||
+---------+----------+ |
|
||||
+---------v----------+ | Intermediate CA | (sign les certifs)
|
||||
+----+----------+----+ | |
|
||||
+------------------+ +------------------+ | |
|
||||
+---------v---------+ +---------v---------+ | Web Server 1 | ... | Web Server 5 |
|
||||
+------------------+ +------------------+
|
||||
+-----------------+ | Employé poste 1 | → Certificat utilisateur
|
||||
+-----------------+
|
||||
```
|
||||
|
||||
🔒 Composants :
|
||||
Root CA : autorité racine, stockée offline
|
||||
Intermediate CA : en ligne, signe les certificats (web, employés)
|
||||
Serveurs web : utilisent TLS (HTTPS)
|
||||
Utilisateurs :
|
||||
Certificat personnel
|
||||
Authentification forte possible
|
||||
Chiffrement des e-mails
|
||||
🔄 Procédures :
|
||||
Délivrance : CSR → Intermediate CA
|
||||
Stockage clés privées sécurisé (HSM recommandé)
|
||||
Revocation : liste CRL + OCSP
|
||||
Renouvellement : automatisé (via certbot ou outil interne)
|
||||
Quand tu veux, tu me balances les questions du partiel, ou même juste des extraits du sujet ou du PDF du prof. Je serai prêt à dégainer.
|
||||
💻 Tu peux aussi me demander de te faire un schéma si besoin pour la PKI ou pour expliquer une vérif de certificat !
|
||||
|
||||
Vous avez dit :
|
||||
|
||||
RSX112-Securite-des-Reseaux.pdf
|
||||
PDF
|
||||
voila le fichier
|
||||
|
||||
ChatGPT a dit :
|
||||
|
||||
Merci pour le fichier, je l’ai entièrement lu et intégré. Voici un récap express de tout ce que je garde en tête, prêt à te répondre cet après-midi. Je me suis mis en mode "partiel RSX112 activé" :
|
||||
🧠 STRUCTURE MÉMO TECH (RSX112) – 100% PRÊT POUR TON EXAM
|
||||
🔹 Partie 1 – Questions Théoriques (6 pts)
|
||||
✅ Principe de Kerckhoffs
|
||||
La sécurité ne repose que sur la clé, pas l’algorithme.
|
||||
Si algo interne secret → ❌ : pas d’audit, failles invisibles, sécurité illusoire.
|
||||
✅ Fonction de Hachage
|
||||
Unidirectionnelle, résiste aux collisions (birthday attack).
|
||||
SHA-256 / SHA-3 = 🔒 sécurisé
|
||||
MD5 / SHA-1 = ❌ obsolètes
|
||||
Utilités :
|
||||
Signature numérique
|
||||
Intégrité des fichiers
|
||||
Authentification
|
||||
✅ Hash ≠ chiffrement
|
||||
Le hash ne se déchiffre pas.
|
||||
⚠️ Fréquente confusion à éviter à l’oral/écrit.
|
||||
🔹 Partie 2 – Étude de Cas Pratique (6 pts)
|
||||
🔍 Analyser un certificat X.509
|
||||
CA:FALSE → Certif final
|
||||
Key Usage: digitalSignature, keyEncipherment
|
||||
Extended Usage: TLS Web Server Auth
|
||||
SAN : plusieurs domaines
|
||||
🔎 Vérifications à faire :
|
||||
🔗 Chaîne valide (Root → Intermédiaire → Certif)
|
||||
|
||||
📅 Dates OK ?
|
||||
🌍 Domaine correspond ?
|
||||
❌ Révocation ? (CRL / OCSP)
|
||||
✍️ Signature valide ?
|
||||
🛠️ Commandes OpenSSL
|
||||
|
||||
Lire : openssl x509 -in cert.pem -text -noout
|
||||
Générer clé : openssl genrsa -out key.pem 2048
|
||||
CSR : openssl req -new -key key.pem -out csr.pem
|
||||
Signer : openssl x509 -req ...
|
||||
🔹 Partie 3 – Projet PKI SecureTech (8 pts)
|
||||
📋 Contexte
|
||||
200 employés
|
||||
5 serveurs web
|
||||
Email S/MIME, VPN, signature code
|
||||
🧱 Architecture PKI proposée
|
||||
```
|
||||
scssCopierModifier[Root CA SecureTech] (offline, HSM, 20 ans)
|
||||
│[Issuing CA] (10 ans, online)
|
||||
├── [TLS CA] → 5 serveurs web (certif 1 an)
|
||||
├── [User CA] → 200 employés (certif 2 ans)
|
||||
├── [Code CA] → Signature de code (certif 3 ans)
|
||||
└── [Device CA] → VPN ou devices internes
|
||||
```
|
||||
|
||||
🔐 Sécurisation Root CA
|
||||
Hors ligne, HSM, salle sécurisée, backups en coffre, cérémonie de clé (3 pers.)
|
||||
♻️ Renouvellement Certificat
|
||||
Nouvelle paire de clés (recommandé)
|
||||
CSR → CA
|
||||
Installation et test AVANT expiration
|
||||
⚠️ Automatiser (Let’s Encrypt pour les web par ex.)
|
||||
⚠️ À ne pas oublier
|
||||
CRL ≠ OCSP → vérifier statut de révocation
|
||||
Signature ≠ chiffrement
|
||||
PKI = 20% technique, 80% process (orga, contrôle, doc, audits…)
|
||||
💡 CONSEILS POUR L’EXAM
|
||||
⚠️ Ne JAMAIS mélanger signature et chiffrement
|
||||
Répondre avec définitions claires + explications + exemples concrets
|
||||
Exemples attendus : certif TLS avec SAN, SHA-256 vs SHA-1, rôle Root/Intermédiaire, CRL vs OCSP
|
||||
Tu peux venir dans l’après-midi me balancer les questions de ton sujet comme tu veux, je suis chargé à bloc pour te répondre vite et bien.
|
||||
👊 Bonne chance et reviens vite me tester
|
||||
|
||||
b) Vérification de la chaîne de confiance
|
||||
Le navigateur vérifie que le certificat du site peut être reliée à une autorité de certification racine (CA) de confiance :
|
||||
|
||||
Le navigateur commence par le certificat du site.
|
||||
|
||||
Il remonte la chaîne des certificats intermédiaires.
|
||||
|
||||
Il cherche une autorité racine dans sa liste de CAs de confiance intégrée.
|
||||
|
||||
👉 Si la chaîne est incomplète ou si un certificat est invalide, la validation échoue.
|
||||
|
||||
🔹 c) Validation de la signature
|
||||
Pour chaque certificat de la chaîne :
|
||||
|
||||
Le navigateur vérifie la signature numérique faite par le certificat supérieur.
|
||||
|
||||
Cela garantit que chaque certificat a bien été émis par une autorité de confiance.
|
||||
|
||||
🔹 d) Vérification de la validité temporelle
|
||||
Chaque certificat a :
|
||||
|
||||
Une date de début de validité
|
||||
|
||||
Une date d’expiration
|
||||
|
||||
Le navigateur vérifie que la date actuelle est comprise dans cette période.
|
||||
|
||||
🔹 e) Vérification du nom de domaine
|
||||
Le champ CN (Common Name) ou SAN (Subject Alternative Name) du certificat doit correspondre exactement au nom du site web demandé (ex. example.com).
|
||||
|
||||
🔹 f) Révocation du certificat
|
||||
Le navigateur vérifie que le certificat n’a pas été révoqué à l’aide de :
|
||||
|
||||
CRL (Certificate Revocation List) : liste de certificats révoqués.
|
||||
|
||||
OCSP (Online Certificate Status Protocol) : vérification en ligne du statut.
|
||||
|
||||
(Parfois cette étape est ignorée ou désactivée pour des raisons de performance ou confidentialité.)
|
||||
|
||||
✅ Si tout est valide...
|
||||
Le navigateur :
|
||||
|
||||
Affiche un cadenas 🔒 dans la barre d'adresse
|
||||
|
||||
Et établit une connexion HTTPS sécurisée (via le protocole TLS)
|
||||
|
||||
❌ Si une erreur est détectée...
|
||||
Le navigateur affiche une alerte de sécurité (ex. : certificat expiré, auto-signé, domaine non valide, etc.) et empêche l'accès au site, sauf si l'utilisateur décide de continuer (déconseillé).
|
||||
|
||||
📌 Résumé visuel du processus :
|
||||
🔄 Le serveur envoie le certificat + chaîne
|
||||
|
||||
🔐 Le navigateur vérifie la signature
|
||||
|
||||
⏰ Il vérifie les dates de validité
|
||||
|
||||
🌐 Il vérifie que le domaine correspond
|
||||
|
||||
🚫 Il vérifie la révocation
|
||||
|
||||
✅ Si tout va bien, il affiche 🔒 et établit TLS
|
||||
|
||||
```
|
||||
[Root CA - SecureTech]
|
||||
(Offline | HSM | 20 ans)
|
||||
│
|
||||
┌────────────────┴────────────────┐
|
||||
│ │
|
||||
[Issuing CA - TLS] [Issuing CA - Divers]
|
||||
(Online | 10 ans) (Online | 10 ans)
|
||||
│ │
|
||||
┌────────┼────────┐ ┌───────────┼───────────┐
|
||||
│ │ │ │ │ │
|
||||
[TLS CA] [User CA] [Code CA] [Device CA] ...autres ...
|
||||
(5 ans) (5 ans) (5 ans) (5 ans)
|
||||
|
||||
```
|
||||
@@ -0,0 +1,3 @@
|
||||
# RSX112 Sécurité des réseaux
|
||||
|
||||
[RSX112-28-04-2025](./RSX112-28-04-2025/readme.md)
|
||||