| LEAKTEST
Pour
les non initiés à la langue de Shakespeare voici
un descriptif de chaque LeakTest et de leur résultat.
Visitez
le site firewallleaktester
pour télécharger chaque leaktest.
LeakTest1 : LeakTest | Méthode d'attaque :
substitution
Description
:
Etant
donné que les firewalls autorisent seulement les applications
que l'utilisateur a défini, il a été
démontré que le fait de renommer un programme
malicieux avec le nom d'une application autorisée pouvait
permettre d'outrepasser le firewall. Les dernières
versions de firewall sont basées sur la vérification
d'une somme de contrôle pour chaque application et avertit
l'utilisateur quand l'empreinte digitale est modifiée.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
autorise les applications par leur nom au lieu de se baser
sur une empreinte digitale chiffrée, à chaque
instance d'application correspond un hash MD5.
LeakTest2 : Tooleaky | Méthode d'attaque :
lanceur
Description
:
Tooleaky
ouvre votre navigateur par défaut avec la commande
suivante :
iexplore.exe
http://grc.com/lt/leaktest.htm?PersonalInfoGoesHere
La
fenêtre lancée est cachée. Si le navigateur
Internet est autorisé à accéder au port
80, toutes les données seront transmises vers une adresse
distante (GRC.com dans notre cas).
Gardez à l'esprit que ces informations transmises peuvent
être des mots de passe ou des numéros de carte
de crédit.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
ne vous prévient pas quand une application en lance
une autre.
LeakTest3 : FireHole | Méthode d'attaque :
lanceur et injection de DLL
Description :
FireHole
utilise le navigateur Internet par défaut pour transmettre
des données vers un hôte distant.
Pour cela il installe une DLL (avec une fonction d'interception)
sur l'ordinateur de l'utilisateur.
Ensuite, cette DLL se charge dans le même espace de
processus que l'application visée, dans notre cas une
application autorisée; ainsi FireHole aura probablement
la possibilité d'accéder furtivement à
Internet.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
ne vous prévient pas quand une application en lance
une autre, et dans ce cas vous êtes vulnérable
à la technique d'injection de DLL.
Si
le test échoue, cela signifie que votre firewall vous
prévient quand une application en lance une autre,
mais cela ne signifie pas toujours qu'il n'est pas vulnérable
à l'injection de DLL.
LeakTest4
: Yalta | Méthode d'attaque : règles
par défaut et atteinte directe de l'interface de réseau
Description
:
Yalta
propose 2 tests : un test classique et un test avancé.
Le test classique essaye d'envoyer des paquets UDP vers des
ports souvent autorisés comme le port 53 (DNS), le
port 21(FTP), etc... dans l'espoir de contourner le firewall.
Le test avancé utilise un driver pour envoyer ses paquets
directement vers une interface réseau sous la couche
TCP/IP pour traverser le firewall.
(le test avancé est disponible seulement sur Windows
9x et Millenium)
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
autorise tout genre de trafic sur les ports pré configurés.
LeakTest5 : Outbound | Méthode d'attaque :
atteinte directe de l'interface de réseau
Description
:
OutBound
envoie des paquets directement vers l'interface réseau
afin d'outrepasser le firewall.
La différence entre OutBound et les autres leaktest
c'est qu'il envoie des paquets TCP avec peu de drapeaux activés,
pour faire croire au firewall qu'une connexion est établie.
Beaucoup de firewall ne filtre pas ce type de paquet pour
éviter de trop solliciter le CPU et les ressources
système.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
ne vérifie pas le trafic qui passe sous la couche IP,
et/ou vérifie seulement les nouvelles connexions au
lieu de tout le trafic IP.
LeakTest6 : PCAudit | Méthode d'attaque :
injection de DLL
Description :
PCAudit
utilise la technique d'injection de DLL pour injecter son
code (comme une DLL) à l'intérieur d'une application
autorisée au lieu de lancer sa cible directement.
Si l'application visée a un accès complet, PCaudit
traversera le pare-feu sans soucis.
Pour tester PCaudit correctement, choisissez "Autoriser"
si votre firewall vous alerte que Explorer.exe essaye
d'accéder à Internet. Ensuite si votre firewall
ne vous montre pas d'alerte sur PCaudit.exe, cela signifie
qu'il est vulnérable...
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
est vulnérable à l'injection d' une DLL.
LeakTest7 : AWFT | Méthode d'attaque : injection
de processus
Description
:
AWFT
propose 6 tests et attribut un score maximum de 10 points
à votre firewall :
1er
test : Tente de charger une copie du navigateur par défaut
et le modifie en mémoire avant son exécution.
Déjoue les firewalls personnels les plus faible..
2ème
test : Créé un thread sur une copie chargé
du navigateur par défaut. C'est une vieille ruse, mais
la plupart des firewalls y sont toujours vulnérable.
3ème
test : Créé un thread dans Windows Explorer.
C'est une vieille ruse, mais presque tous les firewalls y
échouent encore.
4ème
test : Tente de charger une copie du navigateur par défaut
à partir de l'Explorateur Windows et le modifie en
mémoire avant son exécution. Déjoue les
firewalls personnels qui requière une autorisation
pour une application qui en charge une autre; l'Explorateur
Windows est normalement autorisé à charger d'autres
applications. Ce test réussit habituellement, à
moins que le navigateur par défaut soit bloqué
pour accéder à Internet.
5ème
test : Exécute une recherche heuristique des proxies
et de tout autre logiciel autorisés à accéder
à Internet sur le port 80, charge une copie et le modifie
en mémoire avant son exécution à partir
d'un thread dans l'Explorateur Windows. Test très difficile
pour les firewalls personnels !
6ème
test : Exécute une recherche heuristique des proxies
et de tout autre logiciel autorisés à accéder
à Internet sur le port 80, invite l'utilisateur à
choisir un d'eux, ensuite il crée un thread sur le
processus sélectionné. Un autre problème
difficile à résoudre pour les firewalls personnels
!
LeakTest8 : Thermite | Méthode d'attaque :
injection de processus en mémoire
Description
:
Thermite, n'est pas comme les autres leaktests qui
injectent leur code dans un autre processus via une DLL, il
injecte son code dans le processus ciblé directement,
en créant un thread malveillant additionnel dans le
processus ! Totalement invisible pour certains firewall actuel??!.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
est vulnérable au processus d’injection.
LeakTest9 : CopyCat | Méthode d'attaque :
injection de processus en mémoire
Description
:
Comme
Thermite, Copycat utilise l'injection directe de code (il
créé un thread additionnel) dans un navigateur
web pour éviter d'être repéré par
le firewall.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
est vulnérable au processus d’injection.
LeakTest10: MBtest | Méthode d'attaque : atteinte
directe de l'interface de réseau
Description
:
Comme
le leaktest "OutBound" , MBtest envoie directement
vers le NIC (Network Information Center) ses paquets pour
essayer d'outrepasser le firewall.
Pour cela, il envoie plusieurs type de paquet de différente
taille/protocoles/type.
Il utilise les librairies Winpcap, mais elles n'ont pas besoin
d'être installé par l'utilisateur comme dans
le cas de Outbound, en théorie le programme devrait
copier les fichiers dont il a besoin (juste 2 en fait) par
lui-même sans redémarrer.
>>>>
Suivez les instructions de l'auteur au sujet de Winpcap, vous
devez copier "packet.dll" dans le dossier "system32",
et "npf.sys" dans le dossier "system32/drivers".
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
s'enlise dans les couches de niveau élevé et
ne vérifie pas les couches de niveau bas.
LeakTest11: WallBreaker | Méthode d'attaque
: lanceur
Description
:
1er
test : WallBreaker utilise explorer.exe pour
lancer iexplore.exe et ainsi accéder à Internet,
donc, c'est une application Windows qui en lance une autre,
et non WallBreaker. Les firewalls actuels peuvent voir les
applications qui essayent d'accéder directement à
Internet, une application qui en lance une autre pour accéder
à Internet, mais pas Wall Breaker qui lance une application
qui en lance une autre encore une fois...
2ème
test : c'est une plaisanterie insignifiante, il lance
simplement Internet Explorer directement, c'est une façon
plus simple d'échapper au firewall. Beaucoup de firewall
ne détecte pas cette méthode d'attaque.
3ème
test : c'est une variante du premier test, cette fois
il lance cmd.exe en premier, lequel lance ensuite
explorer.exe, et finalement iexplore.exe
:
Wallbreaker -> cmd -> explorer -> iexplore
(Win 2000/XP seulement)
4ème
test : c'est une extension du troisième test, Wallbreaker
créé une tâche planifiée en utilisant
"AT.exe", lequel exécutera la tâche
via "svchost" :
Wallbreaker -> AT -> svchost -> cmd -> explorer
-> iexplore
Ce test créé un fichier batch (extension ".bat")
avec un nom aléatoire dans son répertoire. Il
devra être supprimé manuellement à la
fin du test.
Pour que ce test fonctionne, le service "Planificateur
de tâches" Windows doit être démarré
(maintenez à l'esprit qu'un vrai Trojan pourrait le
faire pour vous...)
(Win 2000/XP seulement)
Résultat
:
Si
le test est réussi, il n'est pas nécessaire
de paniquer, tous les firewalls ne passeront pas tous les
tests avec succès !
LeakTest12: PCAudit2 | Méthode d'attaque :
injection de DLL
Description
:
PCAudit
utilise la technique d'injection de DLL pour injecter son
code (comme une DLL) à l'intérieur d'une application
autorisée au lieu de lancer sa cible directement.
Si l'application visée a un accès complet, pcaudit
traversera le pare-feu sans soucis.
Pour tester PCaudit correctement, choisissez "Autoriser"
si votre firewall vous alerte que explorer.exe essaye
d'accéder à Internet. Ensuite si votre firewall
ne vous montre pas d'alerte sur pcaudit.exe, cela signifie
qu'il est vulnérable...
PcAudit
V2 emploie une manière différente de la version
précédente, pour outrepasser la protection de
DLL du firewall personnel (même si il peut bloquer le
premier PCAudit).
Résultat
:
Si
le test est réussi, cela signifie 2 choses :
-
votre firewall est vulnérable à l'injection
de DLL.
OU
-
votre firewall a un dispositif de protection contre les injections
de DLL, mais in n'est pas efficace.
LeakTest13: Ghost | Méthode d'attaque : attaque
de synchronisation
Description
:
Généralement,
quand une application accède à Internet, le
firewall utilise une API Windows pour rechercher le PID et
le nom du processus parent (l'exécutable qui lance
l'application autorisé) et quand il l'a, il le suspend
et vous demande ce que vous voulez faire (autoriser/refuser).
Pour éviter d'être suspendu, Ghost une fois qu'il
a fourni l'information pour l'envoyer au navigateur par défaut,
change de PID en s'arrêtant et redémarre pour
continuer à envoyer des données.
Ghost
essaye juste atteindre une page en envoyant un caractère
ou une chaîne de caractères..
Résultat
:
Si
le test est réussi, cela signifie que le module de
votre firewall "surveillance d'accès réseau
parent/enfant" vérifie trop tard quand un exécutable
en lance un autre pour accéder à Internet.
Si
Ghost.exe est détecté et apparemment suspendu
mais que la première page est atteinte, cela signifie
que le module de votre firewall "surveillance d'accès
réseau parent/enfant" est presque bon mais il
vérifie toujours trop tard.
Une
page atteinte = une application pourrait en théorie
envoyer vos numéros de carte de crédit.
Si
aucune information ne peut être envoyée, et qu'aucune
page n'est atteinte, Ghost.exe est détecté par
le firewall, vous avez une bonne "surveillance d'accès
réseau parent/enfant".
LeakTest14: DNStester | Méthode d'attaque
: requête récursive
Description
:
Par
défaut sur les OS NT depuis Windows 2000, un service
Windows "Client DNS" est démarrer
et résout toutes les requêtes DNS. Ainsi, toutes
les requêtes DNS provenant de diverses applications
sont transmises au client DNS (SVCHOST.exe sous XP), qui s'occupera
de résoudre le nom DNS.
Ce comportement peut être employé pour transmettre
des données à un ordinateur distant avec une
requête DNS spéciale sans en avertir le firewall.
En effet, puisque le service "Client DNS"
Windows est généralement autorisé à
accéder à Internet. DNStester emploie ce genre
de requête DNS récursive pour outrepasser votre
firewall.
==>
Pour utiliser DNStester, devez activer le service Windows
"Client DNS".
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
vérifie trop tard les requêtes DNS, quand elles
sortent de l'ordinateur, et voit seulement le service Windows
"Client DNS" et non le leaktest.
Si le test échoue, il est probable que votre service
Windows "Client DNS" est désactivé,
activez le et réessayer encore une fois DNStester.
LeakTest15: Surfer | Méthode d'attaque : lanceur
Description
:
Beaucoup
de firewalls intercepte désormais un ShellExecute
ou un CreateProcess quand ils appellent Internet
Explorer pour lui donner des paramètres. Pour éviter
cela, Surfer créé un bureau caché et
lance Internet Explorer à l'intérieur de celui
ci, sans url et sans aucun accès réseau. Il
lance alors une autre instance de lui-même, et ferme
la première. Puis il utilise le protocole DDE (Direct
Data Exchange).
DDE est un vieux protocole pour l'échange de données
interprocessus (très similaire à OLE). Netscape
a développé une interface DDE pour son navigateur
et Internet Explorer en possède aussi une.
Les paramètres sont ainsi fournis à Internet
Explorer via DDE, et non via un appel direct en le lançant.
Résultat
:
Si
le test est réussi, cela signifie que votre firewall
ne vérifie pas le protocole interprocessus DDE, ou
que la surveillance parent/enfant n'est pas assez forte.
|