Répartition mondiale de spamers

Publié le Lundi 11 septembre 2006

Attention sur ce coup là, ça geek à fond et en plus c’est long… Je vous aurez prévenu.

Si vous avez movable type d’installé, l’adresse par défaut pour envoyer un trackback s’appèle mt-tb.cgi… Pour envoyer un trackback sur un blog movable type, il faut donc faire un POST sur cette URL avec les infos du trackback, principalement l’URL du blog qui fait le trackback pour que son adresse s’affiche dans votre billet. Les spameurs ont vite compris le truc et balancent les trackbacks à tour de bras qui lient vers des casinos en ligne, site de vente de viagra ou autres, sites pornos, j’en passe et des meilleures… Il y a bien longtemps que j’ai empéché les trackbacks sur feu mon blog movable type, mais mon fichier mt-tb.cgi est toujours bien là sur mon serveur…
Hier j’ai eu une révélation et presque par hasard j’ai constaté le nombre de tentatives de trackbacks dans mes logs:

cat access.log.36.gz | gunzip | grep “mt-tb.cgi” | grep “POST” | wc -l
19318

access.log.36.gz est mon log appache pour la semaines dernière (semaine 36). 19318 lignes (wc -l) c’est à dire 19318 tentatives de trackbacks rien que pour la semaine dernière!!! C’est quand même incroyable, ça fait exactement une tentative de trackbacks toutes les 31 secondes!!! En plus ça va en empirant, j’ai fait la même chose sur les 8 semaines précédentes et voici la progression:

spam.png

C’est là que je me suis dit mais je voudrai bien savoir qui essaie de me spamer comme ça, faudrait extraire ces adresses IP de ces logs. Voila comment j’ai fait.

1. Tout d’abord, le format de mes logs appache est le suivant:

125.57.40.251 - - [11/Sep/2006:00:01:38 -0400] “POST /mt/mt-tb.cgi/40 HTTP/1.1″ 403 96 www.windal.net “-” “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” “-”

La commande ci-dessous vire tout du log sauf les adresses IP (sed vire tout ce qui suit le premier espace), et j’ai en plus trié le tout avec un pipe sur sort:

cat access.log.36.gz | gunzip | grep “mt-tb.cgi” | grep “POST” | sed “s/ .*//” | sort > listaddr

J’ai donc maintenant dans le fichier listaddr une liste d’adresse IP de spameurs, triée, comme ça:

12.183.48.193
12.215.214.181
12.226.181.178
12.226.38.66
12.226.38.66
etc…

2. Virer les doublons. Il y en a beaucoup dans cette liste, et le petit script ci-dessous que j’ai sauvé dans un fichier viredup les vire pour ne garder qu’une entrée par adresse:

#!/bin/bash

prev=0
for addr in `cat $1`
do
if [ $prev != $addr ]
then
echo $addr
prev=$addr
fi
done

Je sauve ma liste d’adresses uniques dans un fichier listaddr2:

viredup listaddr > listaddr2

Fascinant, ce fichier contient 2600 lignes:

cat listaddr2 | wc -l
2600

Les 19318 attaques ont été réalisées par 2600 adresses IP différentes… Pas un petit nombre d’adresses IP uniques que l’on pourrait bloquer donc, ça serait trop facile, ces attaques proviennent de 2600 ordinateurs infectés par des spywares!!! Oui c’est à ça que ça sert les spyware principalement, se servir de votre ordi pour spamer le monde, soit en envoyant des emails soit en envoyant des trackbacks ou commentaires de spam sur les blogs.

3. Etape suivante, convertir chacune de ces 2600 adresses en noms de domaines via nslookup.

for addr in `cat listaddr2`; do nslookup $addr; done | grep “Name:” > domaines

Un bon quart d’heure plus tard, la liste qui contenait des trucs genre 12.34.56.78 est transformée en une liste qui contient des trucs genre trucnuche.wanadoo.fr… Je l’ai sauvegardée dans le fichier domaines, qui contient 1346 lignes, à peine plus de la moitié des adresses ont pu être résolues, classique.

4. Etape suivante, répartition par famille de domaine (.com, .net, .fr, .de, .ca, etc…) de ces 1346 noms.

Le fichier domaines contient donc des trucs genre:

Name: 12-215-214-181.client.mchsi.com
Name: 12-226-181-178.client.mchsi.com
Name: 12-226-38-66.client.mchsi.com
Name: ntaich170040.aich.nt.adsl.ppp.infoweb.ne.jp
Name: nttkyo367131.tkyo.nt.ftth.ppp.infoweb.ne.jp
Name: 125-14-134-142.rev.home.ne.jp
Name: 125-14-96-175.rev.home.ne.jp
Name: FLH1Aja071.tky.mesh.ad.jp
Name: lo1-133.srmd01.resnet.ubc.ca
etc…

Pour ne garder que la dernière syllabe, fastoche:

cat domaines | sed “s/.*\.//” | sort > fam

Le fichier fam contient une longue liste triée de codes pays. Sauvons dans fam2 la même liste sans doublons en utilisant le même script que précedemment:

viredup fam > fam2

un wc -l sur fam2 montre qu’il a 60 lignes, 60 pays différents, le monde entier est infecté, pas vraiment surprenant…

Finalement, pour avoir la répartition par pays, pour chacun des codes de fam2, il suffit de compter le nombre de fois qu’il existe dans fam, le tout sauvegardé dans le fichier resultats:

for i in `cat fam2`; do echo “$i: “; cat fam | egrep “$i$” | wc -l; done > resultats

Pfiouuu, et voila, resultats contient donc les mauvais élèves par code pays:

PH: 2 adsl: 2 ar: 89 arpa: 3 at: 4 au: 6 be: 1 bf: 1 bg: 3 br: 396
by: 1 ca: 8 cl: 3 cn: 5 co: 11 com: 79 cz: 14 de: 13 dk: 1 do: 1
ee: 1 es: 1 fr: 6 gr: 2 gt: 1 hu: 4 id: 3 il: 3 in: 37 info: 2
it: 12 jp: 157 kg: 1 kr: 4 lt: 2 md: 2 mx: 14 my: 3 net: 337 nl: 6
org: 1 pe: 1 pk: 3 pl: 22 pt: 5 ro: 9 ru: 23 sa: 2 se: 1 sg: 1
sk: 5 th: 3 tr: 4 tt: 1 tw: 11 ua: 3 uk: 2 ve: 5 vn: 2 za: 1

Au cas où vous vous seriez endormi, je précise que le nombre à côté de chaque code pays est donc le nombre de tentatives de spam que j’ai reçu la semaine dernière par un ordinateur ayant une adresse dans ce pays.

Et les pays du monde les plus casse-couilles sont donc:

.com/.net/.org: 31% qui pourraient être situés n’importe où dans le monde. Toutes les adresses américaines vont la dedans, ou dans les adresses non résolues. Beaucoup d’hébergeurs préfèrent utiliser un nom en .net plutot que d’utiliser le code de leur pays, c’est le cas de neuf telecom par exemple.
.br: 29% Brésil
.jp: 12% Japon
.ar: 7% Argentine
.in: 3% Inde

C’est marrant, les pays les plus développés sont bien notés dans la liste (notez la France seulement 6), les pays les plus pauvres n’y sont pas du tout, et les pays intermédiaires y sont sur représentés, par exemple les Russes (.ru) et les Polonais (.pl) sont en tête pour les Europées, comme si ils avaient les moyens d’avoir un gros parc d’ordinateurs connectés sur internet mais on a peu de protection anti-virus/spyware intallés sur ces ordi, luxe des plus riches…
Le Japon fait un peu tache dans la liste donc, si vous voulez déveloper un logiciel spyware en Japonais, il y a peut-ête un marché à prendre…

Classé dans: Geek, Tech
Mardi 12 septembre 2006 | 9:01 | # Carine

étonnant ! et qu’est-ce que tu conseilles comme antispyware alors ? il y en a tellement que pour les non-geeks c’est difficile de s’y retrouver ! :what:

Mardi 12 septembre 2006 | 10:14 | #1 Olivier

Les assauts répétés et en rafale des spammeurs de Russie m’ont fait fermer les rétroliens. J’ai abandonné l’idée de les réouvrir. :???:

Mardi 12 septembre 2006 | 17:31 | #2 Sébastien

comme logiciel anti-spyware, j’utilise adaware (gratuit). Je suis pas persouadé que ça détecte bcp de chose mais bon, ça coute rien.
Pour les spyware vaut mieux prévenir que guérir, donc:
1. ne pas utiliser les vieux OS de microsoft qu’ils ne supportent plus (windows 95, Me, etc…), avoir au moins windows 2000
2. toujours être à jour au niveau de windows update
3. toujours avoir le firewall qui marche
4. ne pas utiliser internet explorer
5. ne pas ouvir les attachements des emails, les conneries powerpoint ou video à la con qui sont passés par trois millions de gens avant que quelqu’un te les forwarde, etc…
6. ne pas aller sur des sites louches…
7. aller à la messe tous les dimanches, aller une fois par an en pélérinage à la mecque et surtout manger toujours kachère.

Mercredi 13 septembre 2006 | 9:19 | #3 Carine

Ok, à part le dernier point, je vais essayer :smile:

Vendredi 15 septembre 2006 | 9:40 | #4 Édouard

Oui, cela m’est arrivé aussi il y a quelques mois, mon ami spécialiste IT, chez qui le site est hebergé, avait dû fermer les rétroliens (on avait été attaqué surtout depuis la Malaisie !) et ensuite on a même changé de version de Movabletype, quoique je ne crois pas que cela valait la peine, mais bon… Je vais lui envoyer ton « exposé » sur les adresses IP etc, lui, il le comprendra et l’appréciera plus que moi.

Désolé, le formulaire de commentaire est fermé pour le moment.