Dis maman, comment les keywords aident les pirates ?
Par Fred RAYNAL, samedi 2 juin 2007 à 15:21 :: Technique :: #136 :: rss
Nous avons vu comment combiner certains
keywords pour découvrir des informations (plus ou
moins) sensibles. Cette fois, il s'agit de montrer comment ils
peuvent servir dans le cas d'intrusion. Cela est rendu possible grâce aux capacités d'investigation des moteurs de recherche. Ce risque est rarement appréhendé par les webmasters qui pensent qu'une page bien cachée (ou pas) suffit à les protéger.
Contrairement à de nombreuses idées reçues, la majorité des intrusions informatiques ne relèvent ni de magie noire, ni de prouesses techniques exceptionnelles. Non, c'est beaucoup plus simple : la faille est dans l'humain qui est derrière l'écran. Un peut d'astuce, d'espièglerie ... et beaucoup d'imagination suffisent amplement. Et avec un bon moteur de recherche en plus, ça ne fait pas de mal.
La principale faiblesse vient des mots de passe, bien trop faciles à deviner. On peut alors utiliser les moteurs de recherche pour différentes choses. Tout d'abord, les pages de login contiennent souvent des phrases types, jamais modifiées, permettant de les repérer facilement en fonction de l'application :
- pour le webmail squirrelmail : inurl:login.php "SquirrelMail version"
- pour des serveur Microsoft Exchange : allinurl:"exchange/logon.asp"
- pour le call manager de Cisco : intitle:"Cisco CallManager User Options Log On" "Please enter your User ID and Password in the spaces provided below and click the Log On button to continue." -edu (essayer sans le -edu final pour voir la différence)
Bon, c'est bien d'avoir des pages pour se connecter, mais c'est encore mieux d'avoir des listes d'utilisateurs ou de mots de passe si on n'en trouve pas de valides. Aucun problème, Google et les autres sont là pour nous aider :
- pour le serveur ProFTPD : filetype:conf inurl:proftpd.conf -sample -inurl:manuals
- pour le client ssh PuTTY : filetype:log username putty
- pour les sites web, en utilisant les formualaires de statistiques de visites de webalizer : Google for: +intext:"webalizer" +intext:"Total Usernames" +intext:"Usage Statistics for"
On sait maintenant où se connecter, avec quels comptes, il reste à trouver des mots de passe :
- Ã peine croyable, et pourtant : inurl:passwd.txt
- trouver des listes de login / mot de passe sauvegardés dans un ficher excel (et sur Internet) : "login: *" "password= *" filetype:xls
- les fichiers backups pour les fichiers usuels : filetype:bak inurl:"htaccess|passwd|shadow|htusers"
Il est maintenant possible d'auditer les sites web en imitant toutes ces recherches grâce au mot clé "site". En le plaçant dans une requête, le moteur de recherche se limite au site mentionné, et tous ses sous-domaines. Par exemple, une recherche avec "site:gouv.fr" ira chercher dans tous les sites gouvernementaux français, aussi bien le ministère de la défense que les impôts.
Mais parfois, le site visé est hébergé sur un serveur mutualisé, c'est-à -dire un serveur qui contient plus sites web. Pour découvrir tous les sites web présents sur une même adresse, MSN propose le mot clé "ip". Ainsi, pour connaître les autres serveurs hébergés sur delation-gouv.fr, on entre la requête "ip:213.186.33.2", où 213.186.33.2 est l'adresse IP associée à delation-gouv.fr. Si un attaquant ne parvient pas à rentrer par le site qu'il vise, il pourra alors passer par un voisin.
Dernier recours d'un attaquant, quand tout le reste échoue, il cherche à exploiter une faille. Là , ça demande parfois de bonnes compétences, la première difficulté étant de trouver la vulnérabilité. Mais les moteurs de recherche sont également utiles pour cela afin de signaler les failles connues dans les logiciels installés sur les serveurs web. Par exemple, s'il y a une faille dans le logiciel XYZ, la chaîne "powered by XYZ" est souvent caractéristique. Il est possible de renforcer cela en utilisant aussi "inurl" ou "intitle" si on connaît des fichiers ou expressions caractéristiques (cf. les pages de login).
Bien évidemment, il ne faut pas attendre longtemps pour les concepteurs de vers informatiques voient tout l'intérêt d'utiliser ce type de requêtes dans leurs créations. Par exemple, le ver Santy, a utilisé Google pour trouver où se propager. Comment ? En fait, un ver informatique profite d'une vulnérabilité dans un logiciel pour se reproduire sur le site distant. Là , il s'agissait du forum phpBB et la requête allinurl:"viewtopic.php" "topic=31337" indique de nouvelles cibles : viewtopic.php est la page contenant la vulnérabilité
Nous venons de voir qu'il est possible d'utiliser les moteurs de recherche à des fins malicieuses, voire carrément offensives. Mais on peut aussi l'utiliser pour trouver des sites compromis, ou servant de bases à des pirates informatiques et autres chevaux de Troie. Souvent, ces malotrus placent sur des serveurs web déjà compromis les outils qui leur serviront à poursuivre leurs intrusions. Les auteurs de ces outils laissent, volontairement ou non, leur signature. Ainsi, dans un cheval de Troie très actif il y a quelques temps, on trouvait quelques spécificités permettant de le repérer partout sur Internet :
- la page html l'installant avait un titre spécial : intitle:tt2.swi
- et le programmeur avait gentiment signé son logiciel :"Programmed by Kadir BASOL"
Mais d'une manière plus générale, on peut en trouver un certain nombre avec la requête intitle:"hacked by" ...
Encore une fois, un moteur de recherche n'est qu'un outil dont tout le monde peut se servir, mais ce sont les mains et le cerveau derrière le clavier qui font la différence.
We have previously seen how to use keywords to
retrieve hidden information, or at least information which was not
supposed to be publicly accessible on the Internet. This time, we will
focus on information found by search engines which can be very helpful
to intrude into computer systems. This is possible thanks to the investigation capacity of search engines. This threat is rarely considered by webmasters as they think a well-hidden page is enough to protect them.
Conversely to what is usually though, most of network intrusion are neither black magic nor technical exploits. In fact, it is much simpler: the weakness is in the human behind the screen. Some monkey tricks, a bit of naughtiness, ... and lots of imagination are enough. But a search engines (SE) can also be very helpful!
The main weakness comes from the passwords used by humans, as they are really (too) easy to guess. We can there rely on SE to help us. First of all, we need to find where to login. These login pages are accessible through Internet, and contains some sentences which are almost never changed by the admins. They are thus very easy to spot, depending on the application used:
- for the webmail squirrelmail : inurl:login.php "SquirrelMail version"
- servers Microsoft Exchange : allinurl:"exchange/logon.asp"
- for the call manager made by Cisco : intitle:"Cisco CallManager User Options Log On" "Please enter your User ID and Password in the spaces provided below and click the Log On button to continue." -edu (try without the last -edu and check the difference).
It is good to know where to log in, but in order to succeed, we need both user accounts and passwords. No problem, Google and others will help us. Let us start with the accounts:
- for the server ProFTPD : filetype:conf inurl:proftpd.conf -sample -inurl:manuals
- for the ssh client PuTTY : filetype:log username putty
- for web sites, based on statistics tools, like webalizer: Google for: +intext:"webalizer" +intext:"Total Usernames" +intext:"Usage Statistics for"
We know where to login, with what account. We now need to find the passwords:
- unbelievable but tryinurl:passwd.txt
- find list of accounts/passwords saved in excel files (and available on Internet) "login: *" "password= *" filetype:xls
- backups for usual files: filetype:bak inurl:"htaccess|passwd|shadow|htusers"
It is also possible to restrict the research to some website using keyword "site". Thanks to it, the research is limited to the site and its subdomain. For instance, using "site:gouv.fr" will focus the research to the French government related sites, from defense to education or taxes.
Sometimes, the targeted site is hosted on a server, but the host is shared by several firms. To discover what other sites are on the same host, MSN has the keyword "ip:" So, for instance, to know who shares delation-gouv.fr, we use the query "ip:213.186.33.2", where 213.186.33.2 is the IP address of delation-gouv.fr. If an attacker can not get into the targeted site, he can then try to intrude by a side door, a neighboring site.
Lastly, when everything else fails, an attacker needs to exploit a flaw. Sometimes, one needs to have special knowledge to that, but the first difficulty is to find the flaw. The SE are also helpful in order to find sites where a given (and known) flaw is present. For instance, if a software called XYZ has a weakness, the string "powered by XYZ" is like a signature to check where this software is installed. Combining such kind of signature with keywords like "inurl" or "intitle" can be really efficient (see for instance the previous examples about login pages).
Of course, we did not had to wait long to see network worms using the SE in order to propagate. For instance, worm Santy was relying on Google to find sites where it could exploit a flaw to replicate itself. It was targeting phpBB forums with the query allinurl:"viewtopic.php" "topic=31337" gives new vulnerable sites (viewtopic.php was the page containing the flaw).
We have seen how a SE can be used maliciously, or even in offensive ways. But it can also be used to find already compromised systems, or those serving of lair to pirates of the Internet or trojan horses. Pirates often used compromised web sites to save their tools and download them later when they need it. Sometimes, the writers of the tools have left signature, willingly or not. A few months ago, a very active trojan horse was easy to spot:
- the page html embedding it had a specific title: intitle:tt2.swi
- the creator had left his name in his software: "Programmed by Kadir BASOL"
More generally, the query intitle:"hacked by" gives many answers...
Once again, a search engine is a tool everybody can use. But these are the hands and brain manipulating the tools which make the difference.













Commentaires / Comments
1. Le lundi 4 juin 2007 à 14:46, par azerty
2. Le lundi 4 juin 2007 à 15:15, par Fred R.
3. Le lundi 4 juin 2007 à 15:38, par Opticien lunetier
4. Le lundi 4 juin 2007 à 18:40, par Youri
5. Le lundi 4 juin 2007 à 20:24, par cr0vax
6. Le mardi 5 juin 2007 à 04:06, par Francois G
7. Le mardi 5 juin 2007 à 11:24, par azerty
8. Le mardi 5 juin 2007 à 11:37, par cr0vax
9. Le mardi 5 juin 2007 à 11:46, par azerty
10. Le mardi 5 juin 2007 à 12:42, par Fred R.
11. Le mardi 5 juin 2007 à 13:00, par azerty
12. Le mardi 5 juin 2007 à 14:49, par cr0vax
Ajouter un commentaire / Add a comment
Les commentaires pour ce billet sont fermés.