initial commit

This commit is contained in:
Guillaume-Sanchez
2026-05-26 13:56:03 +02:00
parent 4c720637a1
commit ff4bb12d22
539 changed files with 12415 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# SEC102-14-04-25
Un système d'information comprend -> Matériel, logiciel et personnel. C'est une organisation vivante.
### étape d'énumération ou de reconnaissance.
Matériel utilisé
- Logiciel et système installés
- Utilisation de la Base de données CVE
### étape d'exploitation
- Élévation de privilèges.
- Récupérer les données, placer une back dors
## Notion de cryptographie.
Permet de chiffrer les données.
### Chiffrement parfait :
Il s'appelle le XOR -> avoir une clé aléatoire de la même taille du texte, il passe dans le chiffrage XOR et il faut la clé pour le ressortir en clair (la clé est unique par rapport au texte) l'un des problèmes, c'est que la clé doit être de même taille que le texte.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.
+34
View File
@@ -0,0 +1,34 @@
# TP 2 : Guillaume Sanchez
def rot13_conversion(message):
result = "" # instentation d'une varable vide qui contiendra le résultat
for char in message: # pour tous caractère dans l'argument message
if char.isalpha(): # verification si la chaîne est constituée d'alphabets
shift = 13 # instentation d'une variable qui contient le nomebre de décalage
base = ord('A') if char.isupper() else ord('a') # instentation d'une variable qui contient le code ASCII de 'A' ou 'a' selon la casse
# Return du calcul du nouveau caractère en appliquant le décalage
# ord(char) - base : décalage par rapport à 'A' ou 'a'
# (ord(char) - base + shift) % 26 + base: décalage circulaire dans l'alphabet
result += chr((ord(char) - base + shift) % 26 + base)
else:
result += char # Si ce n'est pas un alphabet, on le garde tel quel
return result
def main(): # Fonction Principal
print("=== ROT13 : Codage / Décodage ===") # Affichage du nom du programme
print("1. Coder un message") # Affichage du choix 1
print("2. Décoder un message") # Affichage du choix 2
choix = input("Votre choix (1 ou 2) : ").strip() # Recupération de la valeur choisi dans une variable
if choix not in ['1', '2']: # Gestion d'erreur (si ce n'est pas 1 ou 2)
print("Choix invalide. Veuillez entrer 1 ou 2.") # affichage message erreur
return
message = input("Entrez votre message : ") # Recupération du message dans une variable
resultat = rot13_conversion(message) # Utilisation de la fonction "rot13_conversion" avec comme argument "message" et recupération du résultat dans une variable
print("\nMessage transformé :")
print(resultat) # Affichage du résultat de la fonction rot13_conversion.
if __name__ == "__main__":
main()
@@ -0,0 +1,62 @@
# TP 3 : Guillaume Sanchez
import winreg
def get_userassist_data(filename):
output = []
try:
userassist_base = r"Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist"
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, userassist_base) as base_key:
for i in range(winreg.QueryInfoKey(base_key)[0]):
guid_name = winreg.EnumKey(base_key, i)
sub_key_path = f"{userassist_base}\\{guid_name}\\Count"
try:
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, sub_key_path) as count_key:
output.append(f"[{guid_name}]")
for j in range(winreg.QueryInfoKey(count_key)[1]):
value_name, value_data, _ = winreg.EnumValue(count_key, j)
output.append(f"{value_name} = {value_data}")
output.append("") # Ligne vide pour séparer les blocs
with open(filename, 'w', encoding='utf-8') as f:
for line in output:
f.write(line + "\n")
except FileNotFoundError:
continue
except Exception as e:
output.append(f"Erreur : {str(e)}")
return output
def convert_file_lines_to_rot13(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:
for line in infile:
if " = " in line:
key, value = line.split(" = ", 1)
key_rot13 = rot13_conversion(key)
outfile.write(f"{key_rot13} = {value}")
else:
# lignes comme [GUID] ou lignes vides restent inchangées
outfile.write(line)
def rot13_conversion(message):
result = "" # instentation d'une varable vide qui contiendra le résultat
for char in message: # pour tous caractère dans l'argument message
if char.isalpha(): # verification si la chaîne est constituée d'alphabets
shift = 13 # instentation d'une variable qui contient le nomebre de décalage
base = ord('A') if char.isupper() else ord('a') # instentation d'une variable qui contient le code ASCII de 'A' ou 'a' selon la casse
# Return du calcul du nouveau caractère en appliquant le décalage
# ord(char) - base : décalage par rapport à 'A' ou 'a'
# (ord(char) - base + shift) % 26 + base: décalage circulaire dans l'alphabet
result += chr((ord(char) - base + shift) % 26 + base)
else:
result += char # Si ce n'est pas un alphabet, on le garde tel quel
return result
if __name__ == "__main__":
# Étape 1 : Extraction des données brutes
data = get_userassist_data("userassist.txt")
# save_to_file("userassist.txt", data)
print(f"Fichier 'userassist.txt' généré avec succès.")
# Étape 2 : Conversion partielle ROT13 sur noms des clés
convert_file_lines_to_rot13("userassist.txt", "decode_userassist")
print(f"Fichier 'decode_userassist' généré avec succès.")
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long