Où mène vraiment le lien : décortiquer une URL de phishing trackée
Le défi
Une infirmière de Meridian Health a transféré un avis de bulletin de paie au support parce que la formulation lui semblait bizarre. Le lien pointe vers un traqueur de clics que l'équipe marketing utilise réellement, donc la passerelle de messagerie l'a laissé passer et la vérification de réputation d'URL est revenue propre. C'est tout le tour de passe-passe : le traqueur est authentique, et la destination est garée dans l'un de ses paramètres. Celui qui a fabriqué le message ne voulait pas que ce paramètre se lise d'un coup d'oeil, alors il l'a enveloppé dans trois couches avant de le coller. Vous avez la valeur du paramètre u et un atelier. Pelez-la, lisez l'adresse sur laquelle le clic aurait atterri, et soumettez l'hôte.
Ce que tu vas apprendre
- Identifier un encodage pour cent à partir des caractères en tête d'une valeur
- Reconnaître du base64 inversé grâce à la position du remplissage
- Ordonner les opérations de décodage de la couche la plus externe vers l'intérieur
- Utiliser l'échec d'un décodeur comme indice sur la couche qui se trouve en dessous
- Expliquer pourquoi un redirecteur réputé blanchit une destination malveillante
Compétences testées
Prérequis
- À quoi ressemblent le base64 et l'encodage pour cent
- Les éléments d'une URL
Comment ça marche
L'obfuscation en couches n'est intimidante que jusqu'à ce que vous arrêtiez de lire le milieu de la chaîne. L'information se trouve aux extrémités. Cette valeur commence par %3D et contient un %2F plus loin, et des signes pour cent suivis de deux chiffres hexadécimaux ne signifient qu'une seule chose : la couche externe est donc un encodage pour cent, et URL Decode est la première étape.
Ce qui en sort est =AXasNXeh.... L'alphabet utilisé est celui du base64 et la longueur est correcte, donc le clic suivant évident est From Base64, et ça échoue. Cet échec est l'événement le plus utile de l'exercice. Le remplissage du base64 est défini pour se trouver à la fin de la chaîne, donc un signe égal au début n'est pas une valeur corrompue, c'est une valeur correctement formée qui a été retournée.
Reverse produit aHR0cHM6Ly9..., qui se termine par un seul =. Le préfixe aHR0cHM6Ly9 mérite d'être mémorisé : c'est l'encodage base64 de https://, et il apparaît en tête de chaque URL encapsulée en base64 que vous aurez à traiter.
La destination décodée est https://meridian-hr-verify.example/sso/renew?u=t.okonkwo&ref=payslip. L'hôte usurpé est la charge utile. Le paramètre u pré-rempli est la touche finale, qui permet à la fausse page de connexion d'accueillir la destinataire par son nom avant même qu'elle ait tapé quoi que ce soit.
Ce qu'il faut retenir, c'est le mode de livraison. La passerelle a inspecté un domaine de prestataire authentique, avec une réputation authentique, et aucun service de réputation ne note la chaîne de requête accrochée derrière. Tout ce qui redirige vers une destination fournie par l'utilisateur est un service de blanchiment, ce qui explique pourquoi une redirection ouverte mérite d'être signalée à elle seule.
Erreurs fréquentes
- Essayer From Base64 en premier et conclure que la valeur est corrompue. Elle est intacte. L'encodage pour cent est toujours présent, et elle est à l'envers.
- Retourner la chaîne avant de la décoder en URL. Cela découpe
%3Den caractères qui ne veulent plus rien dire. - Répondre avec le domaine du traqueur. Le traqueur est un vrai prestataire et n'est pas la destination.
- Soumettre l'URL complète alors que la question demande l'hôte. Lisez le libellé de la réponse avant de taper.
- Se tourner vers ROT ou Atbash. Rien ici n'est un chiffrement par substitution de lettres. La palette inclut des leurres.
Comment s'en protéger
La passerelle de messagerie n'avait pas tort au sujet du traqueur. Le contrôle doit aller au-delà.
- Réécrire et déclencher les liens au moment du clic plutôt que de les noter à la livraison, afin que ce soit le dernier saut qui soit jugé.
- Suivre les chaînes de redirection dans la passerelle et évaluer la dernière URL, pas la première.
- Demander au prestataire de tracking de restreindre les destinations aux domaines enregistrés. Un redirecteur qui accepte n'importe quelle destination est une redirection ouverte avec un contrat en plus.
- Traiter les domaines sosies nouvellement enregistrés comme une détection :
meridian-hr-verify.examplecorrespond par distance de chaîne à une marque que vous possédez et devrait déclencher une alerte à l'enregistrement. - Une authentification résistante au phishing vaut mieux que le décodage. Une passkey ne s'authentifiera pas sur un hôte qui n'est pas le bon, quel que soit ce sur quoi l'utilisateur clique.