A l’approche des élections iraniennes, Internet y est plus que jamais sous surveillance. Je suis donc parti visiter cet Internet tout pourri et j’y ai fait quelques trouvailles intéressantes (US). Je vais tenter de vous les expliquer ici, et avec un peu de chance, nous devrions nous offrir une bonne tranche de rigolade.
Internet est particulièrement filtré et surveillé en Iran, ça nous le savons. En revanche ce que nous savons un peu moins, c’est comment cette censure et cette surveillance sont opérées, et par qui. Quels sont les moyens mis en oeuvre, est-ce efficace etc … autant de questions qui titillent en ce moment pas mal ma curiosité. Du coup, je suis allé voir…
Voici ce qu’il se passe quand un internaute iranien tente d’accéder à Youtube, Facebook ou Twitter par exemple :
XS5.ar2313.v3.6.1.4866.110330.1248# ping facebook.com PING facebook.com (10.10.34.34): 56 data bytes ^X --- facebook.com ping statistics --- 8 packets transmitted, 0 packets received, 100% packet loss
La requête s’arrête directement sur une ip LAN : 10.10.34.34 et n’aboutit donc pas, Facebook y est censuré (un blocage sur le DNS, un ping sur l’ip de Facebook passe lui sans problème)
Quand on lance un traceroute ver le vrai Internet pas censuré depuis là bas toujours on obtient ceci :
Tout passe par un un VPN en premier hop : vpn.naslco.net, une adresse tenue par ITC avec probablement un DNS menteur. Soyons donc un peu patients, mais ça risque d’être drôle… Je vous explique pourquoi :
Attention, c’est là que ça devient drôle. Ce matin je me rends compte que ce domaine n’est pas déposé… ce que je m’empresse de faire. Et devinez quoi ? http://vpn.naslco.net \o/
$ host 172.31.255.254 Host 254.255.31.172.in-addr.arpa. not found: 3(NXDOMAIN)
et hop :
$ host vpn.naslco.net vpn.naslco.net is an alias for noway.toonux.com. noway.toonux.com has address 88.190.52.71
Et voilà maintenant ce que ça donne depuis chez eux :
XS5.ar2313.v3.6.1.4866.110330.1248# ping vpn.naslco.net
PING vpn.naslco.net (172.31.255.254): 56 data bytes
64 bytes from 172.31.255.254: icmp_seq=0 ttl=64 time=2.6 ms
64 bytes from 172.31.255.254: icmp_seq=1 ttl=64 time=2.4 ms
64 bytes from 172.31.255.254: icmp_seq=2 ttl=64 time=2.4 ms
64 bytes from 172.31.255.254: icmp_seq=3 ttl=64 time=2.4 ms
64 bytes from 172.31.255.254: icmp_seq=4 ttl=64 time=2.4 ms
En revanche :
XS5.ar2313.v3.6.1.4866.110330.1248# ping naslco.net
PING naslco.net (88.190.52.71): 56 data bytes
64 bytes from 88.190.52.71: icmp_seq=0 ttl=39 time=149.5 ms
64 bytes from 88.190.52.71: icmp_seq=1 ttl=39 time=147.5 ms
64 bytes from 88.190.52.71: icmp_seq=2 ttl=39 time=147.2 ms
^X64 bytes from 88.190.52.71: icmp_seq=3 ttl=39 time=147.9 ms
Si vous m’avez suivi, il est fort probable que dans les heures à venir, on se paye une bonne tranche de rigolade 😉
Tu prends la peine de masquer l’adresse ip commençant par 109.122 mais sur la première image elle apparaît en clair au début de la ligne 2 😉
Sinon j’ai pas tout compris mais ça m’a l’air très drôle 😀
Ouais c’était une bourde, enfin fat pas croire, l’internet iranien est très ouvert quand on est pas là bas.
il y a une coquille dans le lien vpn.naslco.net
Pareil, j’ai pas tout pigé…
C’est corrigé 😉 thx
Pas sûr d’avoir tout compris non plus mais d’après les screens, tout le trafic est redirigé systématiquement vers le vpn avec une latence proche de celle qu’on retrouve dans un LAN. Alors que le domaine de premier niveau du VPN met 100 fois plus de temps à répondre. Donc, je pense avoir compris.
Je pense surtout que le plus marrant est l’ip de Naslco, c’est une ip française. Ce qui signifie qu’Amesys c’est fait piquer un marché. 🙂
You win \o/
Normal que l’IP soit FR si bluetouff l’a déposé ce matin? non?
Attendons que ça route depuis chez eux maintenant, c’est là que ça risque d’être fun
Faut prévoir la charge sur les dédibox (load-balancer, etc …) 😀
Question con :
Tu va te manger tout le traffic iranien sur ton dédier (et donc faire bouchon) dés que les dns vont être flushé petit à petit ?
+1 j’avais pas pensé à faire un whois
mais c’est clair tu as tout à fait raison 😉
Je ne suis pas certain d’avoir pigé les détails, mais dans les grandes lignes ça voudrait dire que le nom de domaine du VPN filtreur iranien t’appartient, et que son adresse passe par la France plutot que par l’Iran et que donc le filtrage = dans le cul lulu ! (si j’ai tout compris, mais je parie que c’est plus complexe !)
En tout cas, bravo ! Et le terme de crypto munition n’est pas excessif !
En effet si j’ai bien compris qd on tape ping naslco.net on passe par ton serveur toonux. Je vois pas l’interet puisque puis vpn.naslco.net est lui bien redirigé vers un serveur iranien… a quel moment une requete lambda depuis l’Iran passerai donc pas ton serveur toonux ?
Et puis les serveurs DNS iranien vont automatiquement faire redirigé vpn.naslco.net vers leur serveurs à eux non ?
Si ya un truc que j’ai pas bien pigé et que effectivement les requetes vpn.naslco.net passe par toonux, ca voudrait dire que actuellement l’ensemble du traffic iranien passe par ton VPN ?
Are you joking ?
Mais s’ils utilisent un DNS menteur, ils peuvent tout aussi bien mentir sur l’IP de naslco.net et complètement ignorer la « vraie » adresse non ? D’ailleurs leur vpn.naslco.net fonctionnait visiblement sans que naslco.net n’existe sur le vrai Internet. Je dois louper quelque chose là…
Un truc que je ne comprends pas. En quoi ceci va faire que leur DNS menteur cesse de mentir ? Ca me semble être le pré-requis pour que ça route de chez eux à chez toi non ?
il ne cessera pas comme ça. Mais les élections approchant, il vont bien tripatouiller leur réseau un jour ou l’autre, et je n’ai pas finit de visiter le pays.
Et si ça marche?
Ton serveur est prêt a recevoir tous le trafic redirigé?
On trouvera bien un truc rigolo à faire avec Pound et Squid
Bon j’ai certainement raté un truc, mais vu qu’ils ont leur propre DNS menteur il y a fort à parier que la résolution soit faite à ce niveau là (puisque visiblement elle ne vient pas de l’ICANN…). Donc peu de chance que ça les perturbe vu de l’intérieur, si ?
Edit par rapport à mon message précédent : du moins sur l’adresse vpn.naslco.net, vu que sur le domaine en lui même effectivement le ping montre que c’est remonté…
Je suis fan ce que tu fais !! ^^ Par contre effectivement, pour peu que certains bidouilleurs passent par des DNS exterieurs, tu vas avoir un bon test de montée en charge :p
Je ne comprends pas trop :-/
Le routage n’utilisant à priori pas le DNS, comment le trafic sera-t-il redirigé chez toi ?
Et puis vpn.naslco.net est le premier saut de routage, la passerelle par défaut de la machine à priori donc. Ca voudrait dire que toutes les machines en Iran ont la même passerelle par défaut ?
Si tu veux bien éclairer ma lanterne 🙂
Et?
Je veux dire, en quoi ça change la vie des iraniens?
Je crois bien que la réponse est RIEN.
Quelques jours après ça donne quoi ?
Ca donne qu’on a enfin pu localiser ce que l’on cherchait.
More on : http://reflets.info/zte-et-hp-unis-pour-un-halalternet-au-pays-des-mollahs/
Bien joué 🙂
Sans indiscretion, comment as-tu fait pour obtenir un shell iranien ?
C’est une bonne question 😉
Elle est indiscrète…
Tu m’épatera toujours, tu es incapable de faire passer un wordpress en https mais tu arrives à chopper un shell iranien et faire mumuse avec le réseau.
Mais si j’ai bien compris, le blocage se faisant via dns, la simple modification des dns sur l’OS pour ceux de google par exemple, suffirait à rendre leur internet un peu moins sale?
Effectivement je suis incapable de passer un wp proprement (sans hack dégueulasse à base de mod_proxy + mod_ssl + mod_substitute) en https ET http sur toutes les urls du site (et pas juste l’admin) attendu que wordpress a la bonne idée d’écrire en db le protocole… Mais si tu as une idée sur la question je suis preneur. Aucun problème a passer en full https en revanche.
Pour le blocage c’est plus compliqué que ça, c’est un joli mix de plusieurs techniques avec des grosses boiboîtes au milieu. Je donne un peu plus de détail ici si le sujet t’intéresse : http://reflets.info/zte-et-hp-unis-pour-un-halalternet-au-pays-des-mollahs/
merci pour les infos, je vais aller lire ça 🙂
(quand aux passages en https, c’était juste pour te charrier, tu m’as mordu la dernière fois que je t’en ai parlé, ceci dit, je peux me pencher sur la question si tu veux ^^)
Sans vouloir mordre, c’est vrai que c’est vexant de voir un truc comme WordPress gérer le https de cette manière..
Le truc c’est que je veux pas perdre toutes les urls indexées (et donc casser tous les liens entrants), ni même faire fuir une personne qui ne comprendrait pas pour nous générons nos certifs.
J’hésite encore à migrer Reflets sur Django à cause de ça pour tout t’avouer.
Il existe bon nombre de blog parlant d’une migration de ce genre et en général, ça semble se passer sans trop de soucis. Bon courage en tout cas. (si t’as du taff en trop, hésite pas à me mailer :D)