Analyse de Défis CTF : Cryptographie, Stéganographie et Exploitation Web

Cryptographie et Techniques d'Encodage

Décodage Base32, Base64 et Base58

Lors de l'analyse de chaînes de caractères encodées, l'identification de l'algorithme est cruciale. Les encodages courants comme Base64 et Base32 peuvent être résolus via des décodeurs en ligne. Pour les chaînes liées aux cryptomonnaies, l'encodage Base58 est fréquemment utilisé et nécessite un décodeur spécifique.

Déchiffrement par Opération XOR

L'opération OU exclusif (XOR) est souvent utilisée pour obscurcir des données. Voici une approche restructurée pour décrypter une chaîne de caractères en utilisant une clé XOR :


def dechiffrer_xor(texte_chiffre, cle):
    resultat = []
    for caractere in texte_chiffre:
        # Conversion en valeur ASCII, application du XOR, et reconversion en caractère
        valeur_dechiffree = ord(caractere) ^ cle
        resultat.append(chr(valeur_dechiffree))
    return "".join(resultat)

message_chiffre = "dnceylkqr]4303"
cle_secrete = 2
flag = dechiffrer_xor(message_chiffre, cle_secrete)
print(flag)

Déchiffrement du Chiffre de Playfair

Le chiffre de Playfair est une technique de chiffrement par substitution digraphique. En utilisant un mot de passe comme clé (par exemple, "iloveyou"), les outils de cryptanalyse en ligne permettent de retrouver le texte en clair à partir du texte chiffré (ex: "nugpmlwmlkzi").

Stéganographie et Extraction de Données

Extraction de PDF et Analyse Hexadécimale

Pour les fichiers PDF protégés ou modifiés, des outils spécialisés comme wbStego4open permettent d'extraire des données cachées en inversant le processus d'encodage. L'outil nécessite souvent de spécifier un fichier de sortie pour écrire les données décodées.

Dans le cas d'images, l'analyse hexadécimale via des éditeurs comme 010 Editor ou WinHex est efficace. Une recherche textuelle directe pour des motifs comme "flag" ou "FLAG" dans les données brutes permet souvent de révéler des draepaux cachés hors des métadonnées standards.

Exploitation de Vulnérabilités Web

Contournement de Filtres d'Upload

Lorsqu'un serveur web applique une liste noire pour les extensions de fichiers, il est possible de contourner ces restrictions. Si les modifications de type MIME (ex: image/jpeg) et les injections de code dans les métadonnées d'image échouent, l'analyse du répertoire de destination peut révéler des failles de configuration. Par exemple, si le serveur est configuré pour interpréter les extensions anciennes comme .php3 et que cette extension n'est pas bloquée, l'upload d'un script malveillant avec cette extension permettra l'exécution de code à distance.

Inclusion de Fichiers Locaux (LFI)

Une vulnérabilité d'inclusion de fichiers survient lorsque les entrées utilisateur ne sont pas assainies avant d'être passées à des fonctions d'inclusion. Voici un exemple de code vulnérable :


<?php
if (!empty($_REQUEST['doc'])) {
    $document_cible = $_REQUEST['doc'];
    // Inclusion dynamique sans validation du chemin
    require($document_cible);
}
?>

En manipulant le paramètre doc dans la requête HTTP, un attaquant peut forcer le serveur à inclure et exécuter des fichiers arbitraires, permettant ainsi la lecture de fichiers sensibles ou l'exécution de code.

Exécution de Commandes à Distanec (RCE) et Contournement de Filtres

Les vulnérabilités d'injection de commandes permettent d'exécuter des instructions système. Lorsque des mots-clés (comme cat, flag) et des caractères spéciaux (espaces, guillemets) sont filtrés, plusieurs techniques de contournement existent :

  • Utilisation de %09 (tabulation) pour remplacer les espaces.
  • Insertion de barres obliques inversées (\) au milieu des mots-clés pour casser la correspondance du filtre (ex: ca\t au lieu de cat).
  • Utilisation de séparateurs de commandes comme & ou && pour chaîner les instructions.

Une charge utile typique combinant ces techniques pour naviguer dans les répertoires et lire un fichier filtré pourrait ressembler à : 0.0.0.0&ls&cd%09../../..&&ls&&ca\t%09fl\ag.

Étiquettes: CTF steganographie cryptographie XOR playfair

Publié le 21 juillet à 21h05