Origine

Le module R5 (IEPM) a été crée le 20 février 2011.

Caractéristiques

Lié au module Internet Explorer Proxy Management (IEPM). Il permet de recenser les paramètres du proxy utilisé par Microsoft Internet Explorer.

– La recherche s’effectue sur les clés de Base de Registres suivantes :
[HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
[HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

– Pour les valeurs de registre suivantes :
ProxyOverride
ProxyServer
ProxyEnable
MigrateProxy
ProxyHttp1.1
EnableHttp1_1
AutoConfigProxy

I. PROXY : LES VALEURS DE REGISTRE PRINCIPALES.

La gestion des proxys se fait principalement autour de 3 valeurs de registres principales « ProxyEnable », « ProxyServer » et « ProxyOverride ».

ProxyEnable : Autorise ou refuse l’utilisation d’un proxy
ProxyServer : Permet la description du proxy et de son port comme par exemple « http=localhost:8080 ».
ProxyOverride : Configure l’évitement du serveur proxy pour les adresses locales.

De nombreux malware utilisent les paramètres des proxys afin d’établir une connexion directe à leurs serveurs, c’est le cas notamment des rogues, des trojans ou de certains vers ayant des caractéristiques de porte dérobée comme KoobFace.

La première chose à observer est la donnée de la valeur « ProxyEnable », c’est elle qui va autoriser ou refuser la connexion au proxy.

La ligne suivante signale que la connexion à un proxy est refusée ou qu’il n’y a pas de proxy d’installé.
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 0
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 0

Cette configuration s’accompagne généralement de lignes au format :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = <local>
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = <local>

Les lignes suivantes signalent que la connexion à un proxy est autorisée :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1

C’est ce dernier cas qui intéresse plus particulièrement le helper car il permet une utilisation frauduleuse d’un proxy.

Il faut maintenant s’interesser aux deux autres valeurs « ProxyOverride » et « ProxyServer »

ProxyOverride Configure l’évitement du serveur proxy pour les adresses locales. A côtè des données légitimes données ci-avant, il faut suspecter les concaténations surchargées de chaînes de caractèress avec un point-virgule « ; » comme par exemple « <local>;*.local » ou « ;localhost;<local> »;

ProxyServer donne la description du proxy et du port qu’il utilise. Il s’agit généralement de l’IP de boucle local accouplée avec un port aléatoire différent de 8080. Cette astuce permet de faire croire que l’on est en présence d’une adresse IP légitime de boucle locale « 127.0.0.1 ».

Sur le principe le malware procède ainsi :
a) Il diminue ou supprime la protection du parefeu,
b) Il s’arrange pour ouvrir un port spécifique frauduleux sur l’IP locale, soit par le biais d’un trojan soit par l’exploitation d’une faille de sécurité du système,
c) Il place les informations dans la donnée de la valeur « ProxyServer » qui devient la nouvelle adresse locale reroutée vers le port spécifique,
d) Les paramètres de cette adresse locale malware sont passés à la donnée de la valeur « ProxyOverride »,
e) Il autorise le proxy en modifiant la donnée de la valeur « ProxyEnable ».
f) Le proxy utilise les paramètres de ProxyOverride pour se connecter à son serveur via le port spécifique défini dans ProxyServer.

Aperçu ZHPDiag : Cas d’infections rogues :

Utilisation du Proxy via l’adresse de bouclage Local « 127.0.0.1 » mais avec un port aléatoire :

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = local;*.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local;<local>
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = <local>;*.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:5555 (Rogue.AntispywareSoft)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:5557 (Rogue.AVSecuritySuite)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:5643 (Rogue.AVSecuritySuite)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:6522 (Rogue.AntimalwareDoctor)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:18810 (Rogue.AntiviraAV)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Proxyserver = http=127.0.0.1:25520 (Rogue.SmartEngine)

R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = http=127.0.0.1:25410 (Rogue.InternetSecurityEssentials)

Aperçu ZHPDiag : Cas d’infection KoobFace (Worm.KoobFace) :

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local;localhost
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = ;localhost;<local>
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,proxyserver = http=localhost:7171
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,proxyserver = http=127.0.0.1:8181

Aperçu ZHPDiag : Cas d’infection DNS :

Utilisation de l’Adresse IP d’un serveur Proxy Russe identifié (Ukraine Promnet) sur le port standard 8080.

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,proxyserver = 93.188.162.230:80
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,proxyserver = 93.188.162.230:80
O17 – HKLM\System\CCS\Services\Tcpip\..\{04F87BC5-7D49-4D5C-A720-07BA8A9A8C0B}: NameServer = 93.188.162.230,93.188.166.210
O17 – HKLM\System\CS1\Services\Tcpip\Parameters: NameServer = 93.188.162.230,93.188.166.210
O17 – HKLM\System\CCS\Services\Tcpip\Parameters: DhcpNameServe = 93.188.162.230,93.188.166.210

Aperçu ZHPDiag : Cas d’infection diverse (trojan TROJ_PROXY.AEI) :

Utilisation du Proxy via l’adresse de bouclage Local « localhost » modifiée avec un port aléatoire :

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local;
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,proxyserver = http=localhost:7070

 

II. PROXY : LES VALEURS DE REGISTRE SECONDAIRES.

A côte des valeurs de registre principales, nous trouvons d’autres valeurs qui permettent le paramètrage du proxy. Il s’agit des valeurs « AutoConfigProxy », « MigrateProxy », « ProxyHttp1.1 » et « EnableHttp1_1 »

1) AutoConfigProxy.

La donnée de cette valeur de registre permet d’accèder aux fonctionnalités internet via la ressource wininet.dll.
La ressource wininet.dll (Extensions Internet pour Win32) contient les fonctions de l’API Windows WinInet. Cette API gère les fonctionnalités d’accès internet et notamment le protocole HTTP utilisé par le navigateur Internet Explorer.

Trois cas sont possibles, légitime, anormal ou malware :

a) Tout d’abord le cas légitime, la ressource est présente dans son dossier système d’origine %System32%.
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = wininet.dll

NB : Afin de vérifier que la ressource n’est pas patchée, une recherche MD5 de wininet est ajoutée en entête du rapport.
—\\ Recherche particulière de fichiers génériques
[MD5.78B9ADA2BC8946AF7B17678E0D07A773] – (.Microsoft Corporation – Extensions Internet pour Win32.) (.21/12/2010 06:38:22.) — C:\Windows\System32\wininet.dll [981504]

b) Ensuite le cas anormal, il cause un dysfonctionnement d’Internet Explorer, la ressource est absente de son dossier d’origine %System32% :
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = wininet.dll (Not file)

c) Enfin le cas malware possible car la ressource est remplacée :
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = Mininet.dll

2) MigrateProxy.

La donnée de cette valeur de registre autorise ou refuse à distance la configuration proxy saisie par l’utilisateur.

a) Cette ligne indique l’impossibilité de modifier la configuration du proxy :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,MigrateProxy = 0

b) Cette ligne indique la possibilité de modifier la configuration du proxy :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,MigrateProxy = 1

3) ProxyHttp1.1

La donnée de cette valeur de registre active ou désactive le Proxy HTTP1.1.

a) Cette ligne indique que le proxy HTTP1.1 est activé :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1

b) Cette ligne indique que le proxy HTTP1.1 est désactivé :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 0

4) EnableHttp1_1

La donnée de cette valeur de registre autorise ou refuse l’exécution des requêtes GET HTTP1.1.
Pour être opérationnelle, il faut que le proxy HTTP1.1 soit activé (ProxyHttp1.1 = 1).

a) Cette ligne autorise l’exécution des requêtes GET HTTP/1.1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,EnableHttp1_1 = 1

a) Cette ligne autorise l’exécution des requêtes GET HTTP/1.0
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,EnableHttp1_1 = 0

EXEMPLES :

1 – Cas légitime sans proxy :

– ProxyServer est absent,
– ProxyEnable est désactivé,
– Les requêtes GET HTTP1.1 d’Internet Explorer sont autorisées.

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = no key
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 0
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,MigrateProxy = 0
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,EnableHttp1_1 = 1
R5 – HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = wininet.dll

2 – Cas anormal, dysfonctionnement :

– ProxyEnable est activé,
– ProxyServer est rerouté vers un port spécifique,
– AutoConfigProxy empêche l’éxécution des fonctionnalités de la ressource wininet.dll (Dossier d’origine %System32%).

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = http=127.0.0.1:8080
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,MigrateProxy = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,EnableHttp1_1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = wininet.dll (.Not file)

3 – Cas malware :

– ProxyEnable est activé,
– ProxyServer est rerouté vers un port spécifique,
– AutoConfigProxy va exécuter les fonctionnalités d’une API patchée de wininet.

—\\ Internet Explorer, Proxy Management (R5)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = http=127.0.0.1:4343
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyEnable = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,MigrateProxy = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyHttp1.1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,EnableHttp1_1 = 1
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,AutoConfigProxy = C:\Users\Coolman\AppData\Roaming\wininet.dll

4 – Cas malware (Détournement de proxy)

M2 – MFEP: prefs.js [Audrey J – mfkcaitw.default\foxyproxy@eric.h.jung] [] FoxyProxy Basic v2.2 (.LeahScape, Inc..) => Infection Web (Hijacker.Proxy)
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,Autoconfigproxy = 0 => Infection Web (Hijacker.Proxy)

Action ZHPFix

R5 – {Key}, {ValueKey} = {DataKey}

{Key} : Clé de Base De Regitres (voir la liste ci-dessus.
{ValueKey} : Valeur de clé de {Key}, par exemple : ProxyOverride,ProxyServer.
{DataKey} : Donnée de la valeur {ValueKey}

– L’outil initialise la donnée {DataKey} de la valeur de clé.

a) Pour la valeur ProxyServer, la donnée est initialisée avec la donnée par défaut « http://127.0.0.1:8080 »
b) Pour la valeur ProxyOverride, la donnée est initialisée avec la donnée par défaut « *.local »
c) Pour la valeur AutoConfigProxy, la donnée est initialisée avec la donnée par défaut « wininet.dll »
e) Dans tous les autres cas, la donnée de la valeur sera vidée.

Rapport ZHPFix

Ligne saisie :
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = http=127.0.0.1:5555
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local;<local>

Rapport de ZHPFix v1.12.3255 par Nicolas Coolman, Update du 20/02/2011

========== Elément de données du Registre ==========
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyOverride = *.local;<local> => Donnée supprimée avec succès
R5 – HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings,ProxyServer = http=127.0.0.1:5555 => Donnée supprimée avec succès

========== Récapitulatif ==========
2 : Elément de données du Registre

Liens

R5 – ProxyOverride en mode Loopback.
Microsoft
Microsoft