[Sécurité] Des bots très sophistiqués avec des IP résidentielles

Bonjour,

Je suis administrateur d’un tchat. Vers mi-septembre 2026 et ce matin, j’ai constaté quelque chose d’étrange :
  • Qu’il y avait plusieurs faux utilisateurs (peut-être un botnet)
  • Les trucs sont assez intelligents
  • Ils ont tous la même résolution d’écran (1366x768)
  • Les IP sont toujours différentes et elles sont sans limite
  • Les IP ne sont pas bannissables, car ce sont de vraies IP de type : Orange, Free, SFR, Bouygues, Belgacom, de la Suisse aussi…
  • Ils sont toujours présents en nombre de 3 ou 4 et ils restent connectés environ 10 minutes. Ils envoient que 5 - 10 messages environ quand ils sont connectés
  • Ils savent reconnaître le meilleur onglet là où les messages privés arrivent
  • 100 % des robots n’ont pas de compte, ils passent tous par l’accès direct sans inscription

J’ai suivi de très près via les logs HTTP afin de les tracer, voici comment ils procèdent :

1) Il se connecte sur la page d’accueil du site (il y a le formulaire directement sur la page d’accueil)
2) Le formulaire semble rempli en 9 secondes environ
3) La connexion se lance
4) Une fois connecté, il arrive à localiser l’onglet là où arrivent tous les messages privés


Voici ce que j’ai constaté :
  • Vers mi-septembre, j’ai mis un CAPTCHA d’un code à 4 caractères à recopier uniquement pour l’UA « Firefox ». Ils sont incapables de le remplir.
  • J’ai l’impression qu’il y a un mec ou un humain qui décide ou non d’arrêter son botnet (multi-users). Mi-septembre, j’ai constaté qu’il y a un suspect qui a sûrement entré le code du CAPTCHA, il est resté longtemps, il n’a rien spammé, et il avait une résolution « 1366x768 ». Ensuite, c’est peut-être dans ces moments-là qu’il a arrêté son robot ou ses robots.

J’ai essayé d’imaginer comment il pourrait être créé ce robot, voici mon avis :
  • On dirait que c’est un ordinateur portable avec comme résolution d’écran 1366x768
  • Cet ordinateur fait toujours tourner des robots en boucle
  • Les robots n’ont jamais la même IP lorsqu’ils sont connectés simultanément
  • Les robots, quand ils se connectent sur le site (ou le tchat), restent seulement 10 minutes et ensuite ils se déconnectent et reviennent avec un nouveau pseudo, une nouvelle IP, un autre user agent, un autre user agent hint. Ils étaient sur Firefox vers mi-septembre, mais ce matin (04/10/26), c’était Chrome et plusieurs autres navigateurs et plusieurs OS. Tous sous la même résolution d'écran.
  • J’ai modifié le CAPTCHA pour que tous les utilisateurs de tous les navigateurs le reçoivent (tous les no accounts). Ils sont incapables de revenir, ce qui prouve que c’est automatique
  • On dirait qu’il y a un humain qui pourrait éventuellement localiser ou scraper des éléments HTML, et même dynamiquement, afin de les paramétrer pour y répondre automatiquement plus tard. Donc avant de tout lancer la première fois, il règle des paramètres pour scraper.

Voilà, c’était pour vous prévenir, de faire attention : il y a des bots intelligents qui visitent nos sites, se comportent comme de vrais humains, et ont des IP comme les vrais utilisateurs. Le nombre d’IP n’a pas de limite, et les bots peuvent bosser 2 jours sans interruption.

J'aurais pu faire des tests, comme par exemple afin de voir s'ils ont une « souris qui bouge », par exemple en récupérant les positions de la souris à des intervalles réguliers, ou plein de conneries comme ça, mais j'ai pas très envie de perdre des heures sur des conneries comme ça. Du coup, avec le CAPTCHA dont il faut recopier 4 caractères, ça règle le problème.

Première fois en 16 ans que je vois ça, surtout avec des vraies IP résidentielles.


Voici un exemple de botnet :

[08:02:59] SNotice Client exiting: Lily797 (@lfbn-orl-1-557-253.w86-196.abo.wanadoo.fr) [86.196.253.253]
[08:02:59] SNotice Client exiting: Lindsay78 (@88-186-77-203.subs.proxad.net) [88.186.77.203]
[08:02:59] SNotice Client exiting: Elisa65 (@89-93-9-247.hfc.dyn.abo.bbox.fr) [89.93.9.247]
[08:02:59] SNotice Client exiting: Ines65 (@amontpellier-656-1-267-112.w92-133.abo.wanadoo.fr) [92.133.11.112]
[08:02:59] SNotice Client exiting: Jade81 (@lfbn-gre-1-82-176.w92-157.abo.wanadoo.fr) [92.157.57.176]
[08:02:59] SNotice Client exiting: Livia-cyl (@89-82-249-139.abo.bbox.fr) [89.82.249.139]
[08:02:59] SNotice Client exiting: Lili529 (@lfbn-gre-1-73-232.w92-157.abo.wanadoo.fr) [92.157.49.232]

Ici le botnet, il bug, un peu, car ils se sont tous connectés à 7h52 en même temps, et ils se déconnectent en même temps et ils ont tous la résolution d'écran 1366x768 et ils ont d'autres symptomes encore plus évidents

Les IP sont impressionnantes, c'est de l'infini.

Soyons honnête, mais c'est un botnet comme ça qu'il me faudrait : il se connecterait sur Google, il taperait 300 fois le même mot clé sur Google et cela chaque jour avec le nom du site, et il resterait connecté sur le site 10 minutes... héhé.
Si vous connaissez des prestataires, faites-moi signe en privé.
 
J'ai installé Cloudflare Turnstile aujourd'hui (c'est "gratuit").
Il n'est pas affiché à tous les utilisateurs, seulement ceux où j'ai déjà un doute. Sur les 426 défis émis dans l'heure qui vient de s'écouler, il n'y en a eu que 76 relevés (soit 15% de défis émis, avec 63 défis non interactifs et 13 interactifs) et 350 non résolus.
Bref, ça dégage pas mal de bots.

Pour ce genre de choses, on est plutôt censés utiliser WAF, mais ça demande de faire passer tout le trafic par Cloudflare, et ça n'est pas quelque chose que je veux faire - et en plus c'est payant.
 
Pour ma part, j'ai bien aimé utiliser la version payante de Cloudflare, mais avec les modifications faites par le staff d'Hostinger sur le builder, c'est désormais déconseillé. En effet, déléguer entièrement la gestion DNS et le proxy d'un site hébergé sur un builder propriétaire peut entrer en conflit avec leurs propres couches de cache et de routage internes. De toute manière, Hostinger dispose désormais de son propre CDN pour tous les sites faits avec son builder, ce qui rend l'ajout d'un proxy Cloudflare redondant, voire source de bugs.

Malgré tout, on peut tout à fait exploiter l'outil pour mettre en place des règles de pare-feu (WAF) intéressantes et des Workers. Tout l'enjeu est de bloquer les mauvais bots tout en laissant passer les bons, ce qui n'est pas si simple : en pratique, tous les bots de Google ou des moteurs de recherche ne sont pas systématiquement déclarés ou reconnus de manière transparente dans les bases de signatures Cloudflare, ce qui risque de pénaliser votre référencement si les règles sont trop agressives. ;) Il paraît que c'est en forgeant qu'on devient forgeron! :eek:
 
Pour info, et pour ce que ça vaut, depuis que j'ai bloqué ChatGPT-User en htaccess, le nombre de botnets s'est considérablement réduit. De mon côté, je pense que ce sont des groupes de spoofers qui s'amusent à ça.

Juste un détail : hier, suite à une erreur, ShapBot est passé... 5000 sessions en moins de 8 mn... je corrige, et je refais une erreur 2 heures après (un mauvais jour! :p), ShapBot a claqué 1500 sessions en moins de 3 mn! Depuis, c'est quasiment la 1ère ligne du htaccess pour le bloquer !
 
Pour info, et pour ce que ça vaut, depuis que j'ai bloqué ChatGPT-User en htaccess, le nombre de botnets s'est considérablement réduit. De mon côté, je pense que ce sont des groupes de spoofers qui s'amusent à ça.

Juste un détail : hier, suite à une erreur, ShapBot est passé... 5000 sessions en moins de 8 mn... je corrige, et je refais une erreur 2 heures après (un mauvais jour! :p), ShapBot a claqué 1500 sessions en moins de 3 mn! Depuis, c'est quasiment la 1ère ligne du htaccess pour le bloquer !
Tu as vérifié que c'était bien lui en croisant avec la liste d’IP officielle ?
https://docs.parallel.ai/resources/shapbot.json
 
Depuis que j'ai créé ce post dimanche dernier, ils sont revenus depuis, c'était mercredi peut-être. Ils sont arrivés dans la nuit et tout s'est arrêté vers 14h30.

Ce soir (vendredi 09 octobre), ils sont de retour. Voici un log http pour un seul bot :

93.12.194.15 - - [09/Oct/2026:18:21:21 +0200] "GET / HTTP/1.1" 200 15887 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
Ici, la connexion à la page d'accueil se fait à 18:21:21

93.12.194.15 - - [09/Oct/2026:18:21:26 +0200] "POST /connexion HTTP/1.1" 200 2892
93.12.194.15 - - [09/Oct/2026:18:21:29 +0200] "GET /captcha.php?t=1791562886 HTTP/1.1" 200 5406
A 18:21:26, l'action du formulaire est enclenché. Le captcha s'affiche aussitôt. C'est un captcha dont il faut recopier 4 caractères.

93.12.194.15 - - [09/Oct/2026:18:21:37 +0200] "GET /app/_chat?nick=Liana_3336
Le bot a l'air de recopier le code du captcha avec succès.

Pour le moment, j'ai restreint l'accès à l'application node.js depuis le formulaire sans inscription. Il faut désormais utiliser un compte. Il n'y a plus aucune connexion depuis.

Je n'ai tout de même pas restreint l'accès à 100 %, je teste des méthodes d'accès basées sur des empreintes que les bots n'ont jamais eues, mais que les vrais utilisateurs possèdent, ce sont des éléments classiques.

Pour l'attaque de mercredi, elle était spéciale, car les bots étaient capables d'écrire dans les canaux.

J'ai aussi l'impression qu'ils sont capables de remplacer nos fonctions JavaScript. Par exemple, ils pourraient remplacer une fonction qui leur appartient (exemple : function test() { return true; }), alors qu'une autre fonction porte déjà le même nom sur le site.

Du coup, pour rendre un contournement plus difficile, j'ai remplacé function test() { } par const test = () => { }. J'ai aussi bricolé les réponses "OK" que les API peuvent renvoyer, car un simple "OK" peut être contourné à l'aide d'une fausse URL en local sur une machine. Par exemple, si vous ajoutez 127.0.0.1 api.NotreDomaine.fr dans le fichier hosts, un mec peut contourner la vérification en renvoyant lui aussi un "OK" depuis son propre serveur web local (exemple : Wamp).
 
Tu as demandé à une IA de te donner un coup de main ?

De ce que je lis, j'ai l'impression que le serveur débloque des choses dans ton JS, et qu'ensuite tu fais confiance à ce que le navigateur envoie. En tout cas que c'était le cas avant et que maintenant tu as "bricolé les réponses OK".
Je ne sais pas ce que ça veut dire, mais pour sécuriser les échanges, il te faut au minimum une clé produite par le serveur et jointe à chaque envoi depuis le navigateur, clé que le serveur vérifie avant de traiter toute donnée.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut