Category Archives: Various

Wafw00f – Web Application Firewall Detection Tool

Un WAF (Web Application Firewall) est une “appliance”, ou un “plug-in” serveur, ou un filtre qui appliquera certaines règles lors de requêtes HTTP. Les règles mises en place permettent surtout de contrecarrer les attaques du type XSS et injection SQL, même si l’application, que le WAF est censé protégé, possède de nombreuses vulnérabilités. En customisant les règles à son application Web que l’on désire protéger la plupart des attaques seront alors bloquées. Les efforts à fournir pour la customisation des règles, ainsi que leurs maintenances peuvent être important, car dès que l’application web sera modifiée, il faudra ajouter de nouvelles règles, ou adapter des règles déjà existantes.

WAFW00F est un logiciel développé en Python, qui permettra de détecter si un WAF est présent et surtout quel type WAF est utiliser pour protéger l’application web. Afin de détecter si un WAF est présent, différents scénarios seront joués, comme par exemple :

– Analyse des cookies (certains WAF génère leurs propres cookies).
– Modifications des en-têtes HTTP et des URL appelées, en y injectant par exemple des chaînes XSS.
– Codes réponses qui ne devraient pas être ceux présentés.

WAFW00F est capable de détecter près de 20 WAF différents (Profense, ModSecurity, NetContinuum, HyperGuard, Barracuda, Airlock, BinarySec, F5 Trafficshield, F5 ASM, Teros, DenyALL, BIG-IP, Citrix NetScaler, webApp.secure, WebKnight, URLScan, SecureIIS, dotDefender ).

Ci-dessous une détection du “plug-in” Apache mod_security.

[xxxxx@xxxxx waffit-read-only]$ python wafw00f.py http://www.xxxxxx.com

^     ^
_   __  _   ____ _   __  _    _   ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/   |_n_,' \_,' \_,'/_/
<
...'

WAFW00F - Web Application Firewall Detection Tool

By Sandro Gauci && Wendel G. Henrique

Checking http://www.xxxxxx.com
The site http://www.xxxxxx.com is behind a ModSecurity (positive model)
Number of requests: 9

Cette détection peut être confirmée par l’exemple manuel suivant, et le code de retour HTTP 404 qui n’est pas cohérent.

xxxxx@xxxx waffit-read-only]$ telnet www.xxxxx.com 80
Trying xxx.xxx.xxx.xxx...
Connected to www.xxxxxx.com (xxx.xxx.xxx.xxx).
Escape character is '^]'.
GET /index.php?action=<script>alert(document.cookie)</script> HTTP/1.0

[b]HTTP/1.1 404 Not Found[/b]
Date: Sat, 27 Jun 2009 11:15:56 GMT
Server: Apache
Content-Length: 207
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /index.php was not found on this server.</p>
</body></html>
Connection closed by foreign host.

Ci-dessous la détection d’un WAF sans que le modèle puisse être spécifié.

xxxxx@xxxxx waffit-read-only]$ python wafw00f.py http://www.yyyyyy.com

^     ^
_   __  _   ____ _   __  _    _   ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/   |_n_,' \_,' \_,'/_/
<
...'

WAFW00F - Web Application Firewall Detection Tool

By Sandro Gauci && Wendel G. Henrique

Checking http://www.yyyyyy.com
Generic Detection results:
The site http://www.yyyyyy.com seems to be behind a WAF
Reason: The server returned a different response code when a string trigged the blacklist.
Normal response code is "404", while the response code to an attack is "403"
Number of requests: 11

Cette détection peut être aussi confirmer en effectuant une détection manuelle, et par le code retour HTTP 403.

xxxxxx@xxxx waffit-read-only]$ telnet www.yyyy.com 80
Trying yyy.yyy.yyy.yyy...
Connected to www.yyyyy.com (yyy.yyy.yyy.yyy).
Escape character is '^]'.
GET /index.php?action=<script>alert(document.cookie)</script> HTTP/1.0

[b]HTTP/1.1 403 Forbidden[/b]
Date: Sat, 27 Jun 2009 11:12:26 GMT
Server: Apache
Content-Length: 211
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /index.php
on this server.</p>
</body></html>
Connection closed by foreign host.

Exemple d’un maillage simple de réseau RFI

j’avais abordé dans un billet précédent une étude sur un RFI et le principe des attaques par intermédiaire. Cette étude se limitait sur une attaque avec simplement trois adresses IP impliquées (celle de l’attaquant, celle de la cible et celle de l’intermédiaire).

Ce qui est plus intéressant à faire est d’essayer de modéliser les réseaux RFI en place et leurs maillages. Ce billet traitera d’un exemple simple de maillage RFI.

82.194.87.219 situé à Bilbao en Espagne, tente, en tant qu’attaquant à inclure sur la cible ZATAZ, situé en France, un payload localisé sur l’intermédiaire 195.114.18.99 (aka www.laubrotel.com) lui aussi situé en France.

Events source de 82.194.87.219 en relation avec le payload localisé sur l’intermédiaire 195.114.18.99 durant le dernier mois.

82.194.87.219, l’attaquant, a été vu la première fois le 2009-04-22 à 06:07:02 et la dernière fois le 2009-06-27 à 01:03:33, et à générer une totalité de 520 events. Celui-ci est en fait un serveur d’hébergement mutualisé (voir les sites référencés sur cette adresses IP) qui est aussi sûrement compromis de puis plus de 2 mois.

195.114.18.99, l’intermédiaire, a été vu la première fois le 2009-02-20 à 21:51:43 et la dernière fois le 2009-06-27 à 01:03:33, et à été impliqué dans près de 559 events. Le payload, toujours actif (http://www.laubrotel.com/letter/id?), est du à une mise à jour non effectué sur un Joomla. Ce site web est maintenant compromis depuis plus de 4 mois.

Nous voyons donc que l’intermédiaire, aka 195.114.18.99, a une durée de vie beaucoup plus grande que l’attaquant, ce qui sous-entend donc, que le payload a été utilisé au préalable par d’autres attaquant.

Vous pourrez trouvez donc ci-dessous, après un petit développement et une petite analyse tous les attaquants ayant été en relation avec l’intermédiaire 195.114.18.99.

Ce qui donne la représentation GoogleMap, de tous le cycle de vie de l’intermédiaire suivant.

L’on peut voir ici que cet intermédiaire a été utilisé par différents attaquants qui sont sûrement liés au même réseau.

Le prochaine billet portera sur une étude plus complexe du maillage des réseaux RFI.

Le mur de Chine s’effrite. Green Dam Youth Escort

Le 19 Mai 2009, le Ministre de l’Industrie et des Technologies de l’Informations (MIIT) de Chine a envoyé une note à tous les constructeurs d’ordinateurs de son intention d’obliger l’installation de logiciels de filtrage sur tous les nouveaux PC installés en Chine, et ceci dès le premier Juillet 2009. Le logiciel en question, nommé “Green Dam Youth Escort“, est un produit de la société Jinhui Computer System Engineering.

L’objectif officiel de ce filtrage est protéger les jeunes contre l’accès à des contenus subversifs afin d’avoir un Internet Chinois sain et harmonieux, sic.

Green Dam se mets à jour automatiquement, tous comme les logiciels d’antivirus, en recevant des mises à jour des sites bloqués. Il est tous de même possible de désactiver ou de désinstaller ce logiciel avec les droits administrateur Windows. De plus, suivant l’éditeur de Green Dam, il est aussi possible de désactiver la “blacklist” avec un mot de passe propre au logiciel, ou encore de mettre les sites bloqués dans une liste blanche permettant ainsi tous de même l’accès aux sites considérés comme subversifs.

Green Dam, en Mars 2009, a été télécharger près de 3,27 millions de fois, installé sur 518 000 ordinateurs scolaire, et environ 1,16 million de PC l’utilisent.

Ce logiciel de filtrage n’a malheureusement pas tenu très longtemps face à la curiosité de chercheurs en sécurité informatique.

Le 11 Juin 2009, Scott Wolchok, Randy Yao, et J. Alex Halderman de l’Université du Michigan aux Etats-Unis, ont découvert plusieurs vulnérabilités dans ce logiciel de filtrage chinois.

La première vulnérabilité se situe dans le module de filtrage en lui-même et permettrait à un internaute malveillant de prendre le contrôle de l’ordinateur hôte du logiciel Green Dam. La deuxième vulnérabilité se situe dans le module de mises à jour des règles de filtrage, qui pourrait permettre à l’éditeur de Green Dam, ou à une partie tierce de prendre contrôle de l’ordinateur de l’utilisateur final. De plus il est aussi à noter, que malgré la désinstallation possible du logiciel, les fichiers de logs d’accès, ou de tentatives d’accès à des sites subversifs ne sont pas supprimés.

D’ici à ce qu’un exploit soit créé, il ne fallait qu’un seul pas, et c’est ce qui est arrivé. Il est maintenant possible de trouver l’exploit sur Milw0rm, intégrable à MetaSploit, permettant de prendre la main sur les ordinateurs utilisant Green Dam.

Tous ce billet, pour finalement dire à mes voisins français, que la loi Hadopi va sûrement imposer l’installation d’un mouchard sur vos PC personnel, est-ce que cela ne vous fait pas penser à un pays et à un billet présent sur ce blog cool.gif

Scan SSH en augmentation

Depuis environ une semaine, l’on peut voir une augmentation important des scan SSH et de tentatives de brutes force SSH.

Ces machines, sauf 189.121.4.150 et 174.36.210.138 (seraient aussi utilisées pour effectuer des attaques de SPAM), ne participent pas à d’autres tentatives de piratages, tels que RFI, etc. Ce sont des machines dédiées à cette activité de scan SSH.

IP : 122.41.71.143 – FQDN : 122.41.71.143 – City : Seoul – Country : Korea, Republic of
IP : 69.64.38.17 – FQDN : air627.startdedicated.com – City : Saint Louis – Country : United States
IP : 74.208.96.107 – FQDN : u15278563.onlinehome-server.com – City : Wayne – Country : United States
IP : 58.254.250.44 – FQDN : 58.254.250.44 – City : Guangzhou – Country : China
IP : 85.25.151.128 – FQDN : india598.server4you.de – Country : Germany
IP : 189.121.4.150 – FQDN : bd790496.virtua.com.br – City : São Paulo – Country : Brazil
IP : 174.36.210.138 – FQDN : 174.36.210.138-static.reverse.softlayer.com – City : Dallas – Country : United States
IP : 202.153.121.210 – FQDN : 202.153.121.210 – City : Central District – Country : Hong Kong
IP : 200.212.140.186 – FQDN : 200.212.140.186 – City : São Paulo – Country : Brazil