Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

IP privee detectable, dangereux ?

17 réponses
Avatar
Kefran
Salut à tous d'un débutant.

Suite à une visite sur le site Auditmypc.com pour un test de sécurité,
ce dernier parvient à détecter l'IP privée de la machine (par une applet
java je suppose ?)

Cette possibilité peut-elle constituer un risque, sachant que la machine
en question est un futur serveur web (Apache win32 sur Win2K server)
situé dans une dmz (via IPCOP sur une autre machine-firewall) ?

Et si oui, comment remédier à cette faiblesse ?

Merci de vos lumières.

10 réponses

1 2
Avatar
VANHULLEBUS Yvan
Kefran writes:

Salut à tous d'un débutant.

Suite à une visite sur le site Auditmypc.com pour un test de sécurité,
ce dernier parvient à détecter l'IP privée de la machine (par une
applet java je suppose ?)


Deja pas mal debattu dans ce NG (groups.google.com est ton ami...), la
conclusion etait que ce site utilisait un "truc java ou javascript ou
qui ressemble" et le faisait installer pour pouvoir faire son "tour de
magie"...


Cette possibilité peut-elle constituer un risque, sachant que la
machine en question est un futur serveur web (Apache win32 sur Win2K
server) situé dans une dmz (via IPCOP sur une autre machine-firewall) ?


Euh, en soi, non, sauf qu'on ne sait pas vraiment ce qui est installe
dans le "programme magique"....

Le plus simple sera surement de retourner voir les threads passes sur
le sujet......


A +

VANHU.

Avatar
Kevin Denis
Le 30-03-2005, Kefran a écrit :

Suite à une visite sur le site Auditmypc.com pour un test de sécurité,
ce dernier parvient à détecter l'IP privée de la machine (par une applet
java je suppose ?)

Un bout de javascript en unicode, qui une fois decode donne:

<iframe src="/adt.asp" width="200" height="80" marginwidth="1"
marginheight="1" align="top" scrolling="no" frameborder="0"></iframe>

et la page adt.asp en question est une applet:
<applet width="1" height="1" code="auditmypc.class"></applet>

J'ai une question a poser aux gourous du forum, d'ailleurs. J'effectue
souvent ce genre d'analyse de code source html et souvent je bute sur
des applets alakon comme celle-ci. Un coup de telnet dessus ne me donne
que des trucs pas tres exploitables (caracteres hieroglyphiques entre-
coupes d'appels de fonctions comme showStatus(Ljava/lang/String;)V etc..

Vous utilisez quoi derriere pour exploiter ce qui suit?

L'applet appelle ensuite une page audit.asp?a2.168.10.4 qui est
bien evidemment l'IP de la machine source.

Cette possibilité peut-elle constituer un risque, sachant que la machine
en question est un futur serveur web (Apache win32 sur Win2K server)
situé dans une dmz (via IPCOP sur une autre machine-firewall) ?

Et si oui, comment remédier à cette faiblesse ?

En fait, je ne vois pas trop en quoi c'est une faiblesse (?)


Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.
--
Kevin

Avatar
Eric Razny
Kevin Denis wrote:

J'ai une question a poser aux gourous du forum, d'ailleurs. J'effectue
souvent ce genre d'analyse de code source html et souvent je bute sur
des applets alakon comme celle-ci. Un coup de telnet dessus ne me donne
que des trucs pas tres exploitables (caracteres hieroglyphiques entre-
coupes d'appels de fonctions comme showStatus(Ljava/lang/String;)V etc..


Normal c'est du bytecode java (le class doit te mettre sur la voie).

Vous utilisez quoi derriere pour exploiter ce qui suit?


Ben au hazard un decompiler java.
15s de moteur de recherche donne par exemple :
http://kpdus.tripod.com/jad.html [1]

Ensuite tu fais ./jad auditmypc.class ce qui donne :
biiiiiiiiip! vu le contexte actuel tu le fais toi! :)

Tu vois simplement à un moment :

String s2 = (new Socket(s1, byte0)).getLocalAddress().getHostAddress();

ce qui est clair, même sans connaitre le langage!

Pour le reste c'est de l'appel basique d'url avec le paramètre trouvé.

En fait, je ne vois pas trop en quoi c'est une faiblesse (?)

Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.


Ca serait une faiblesse potentielle si on pouvait obtenir cette adresse
de l'extérieur (au sens large : un remote expoit sur une machine interne
ça va aussi :) ). Ca permet éventuellement de commencer à mapper le
réseau, comprendre comment il fonctionne, qui fait quoi puis de passer
aux choses plus sérieuses.

Eric

[1] aucun avis dessus, généralement je n'ais pas le temps pour m'amuser
à tester les trucs de ce genre :-(
En tout cas pour une classe isolée et aussi basique pas besoin d'autre
chose.

--
L'invulnérable :
Je ne pense pas etre piratable, infectable par un trojen oui!
Vu sur fcs un jour de mars 2004.
Tiens cette signature commence à dater, il va me falloir une autre perle :)

Avatar
Kefran

Euh, en soi, non, sauf qu'on ne sait pas vraiment ce qui est installe
dans le "programme magique"....


Salut Vanhu, merci de tes infos.
Comme dit plus bas, ce que fait Auditmypc ne m'inquiète pas trop. Mais
plutôt que qqu'un de mal intentionné, cette fois "client" de ma machine
qui sera serveur, puisse faire la même chose.

Le plus simple sera surement de retourner voir les threads passes sur
le sujet......


Direction Google groups..

A+

Avatar
Kefran

En fait, je ne vois pas trop en quoi c'est une faiblesse (?)
Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.


Salut Kevin
Désolé si je raconte des énormités pour certains, ma science est plutôt
maigre en ce domaine :(

Que le site Auditmypc détecte l'IP privée de la machine ne m'inquiète
pas trop, j'y suis allé de mon plein gré. Et cette machine n'est pas
destinée à surfer en usage normal.

Ce qui m'inquiète, c'est l'existence de ce mécanisme qui fait révéler à
la machine elle-même son IP privée, à destination d'un demandeur distant.
Je me dis peut-être à tort que ca pourrait constituer une faille de
sécurité, exploitable par qqu'un de mal intentionné cherchant à attaquer
la machine en tant que serveur web ?
Il me semble que L'IP privée du serveur et donc la plage d'adressage de
la DMZ n'est pas censée être visible depuis l'extérieur.

Si je me souviens bien, certains firewalls perso comme Sygate ont la
possibilité de masquer depuis l'extérieur l'IP LAN de la machine où ils
résident, ça doit donc bien avoir une utilité (ou nécessité ?) en termes
de sécurité ?

Avatar
Kevin Denis
Le 31-03-2005, Kefran a écrit :

En fait, je ne vois pas trop en quoi c'est une faiblesse (?)
Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.


Salut Kevin
Désolé si je raconte des énormités pour certains, ma science est plutôt
maigre en ce domaine :(

Que le site Auditmypc détecte l'IP privée de la machine ne m'inquiète
pas trop, j'y suis allé de mon plein gré. Et cette machine n'est pas
destinée à surfer en usage normal.

Ce qui m'inquiète, c'est l'existence de ce mécanisme qui fait révéler à
la machine elle-même son IP privée, à destination d'un demandeur distant.


Non. Il y a bien deux processus distincts.
ta machine java a le droit de recuperer l'adresse IP de la machine sur
laquelle elle tourne. Ok. ta machine java a le droit de demander une
URL sur l'internet.

Dans le cas d'auditmypc, l'applet commence par recuperer l'adresse IP
de ton PC, puis formatte une URL ou elle apparait: le coup de
GET /audit.asp?a2.168.10.4
la, le serveur distant met juste une balise "attention danger" autour
de la variable "a" (qui contient ton IP a toi, donc).
Jamais ce n'est le serveur loin la bas qui a "trouve" ou "recupere" ton
adresse IP. C'est ta machine a toi qui a donne l'information.
rassure?

Je me dis peut-être à tort que ca pourrait constituer une faille de
sécurité, exploitable par qqu'un de mal intentionné cherchant à attaquer
la machine en tant que serveur web ?


Si ton serveur web est accessible de l'internet il sera de toute
facon attaque.

-le serveur est directement pose sur internet. Je lui demande une
URL qui fait planter le serveur. Le serveur la traite, et plante.
-le serveur est en IP privee, et une machine lui fait de la
redirection de trafic. J'envoie a ton adresse publique une URL
plantogene, le routeur redirige, ton serveur recoit la requete,
et plante.

Ensuite, l'exploitation de bug sera peut etre plus difficile (le
pirate n'a qu'un seul canal de communication et n'a pas la main
sur la machine en direct).

Il me semble que L'IP privée du serveur et donc la plage d'adressage de
la DMZ n'est pas censée être visible depuis l'extérieur.
Si je me souviens bien, certains firewalls perso comme Sygate ont la
possibilité de masquer depuis l'extérieur l'IP LAN de la machine où ils
résident, ça doit donc bien avoir une utilité (ou nécessité ?) en termes
de sécurité ?


De la poudre aux yeux?
du genre "vazy mon firewall y cache ton IP quand tu vas sur des sites
ouaibe, achete, il est plus mieux bien, t'vois".
(apres, je n'utilise pas de firewall personnel, donc je ne sais pas
ce qu'ils entendent par "cacher l'IP LAN")
--
Kevin


Avatar
Kevin Denis
Le 31-03-2005, Eric Razny a écrit :

J'ai une question a poser aux gourous du forum, d'ailleurs. J'effectue
souvent ce genre d'analyse de code source html et souvent je bute sur
des applets alakon comme celle-ci. Un coup de telnet dessus ne me donne
que des trucs pas tres exploitables (caracteres hieroglyphiques entre-
coupes d'appels de fonctions comme showStatus(Ljava/lang/String;)V etc..


Normal c'est du bytecode java (le class doit te mettre sur la voie).

Ca paraissait evident.


Vous utilisez quoi derriere pour exploiter ce qui suit?


Ben au hazard un decompiler java.


bin oui, mais lequel?

15s de moteur de recherche donne par exemple :
http://kpdus.tripod.com/jad.html [1]

bon, je vais voir.


Ensuite tu fais ./jad auditmypc.class ce qui donne :
biiiiiiiiip! vu le contexte actuel tu le fais toi! :)

Mais non, mais non. Met le sur un site web, en ecrivant en gros que c'est

de la m**, et a toi la gloire et (bon j'arrete, c'est pas drole)

Tu vois simplement à un moment :

String s2 = (new Socket(s1, byte0)).getLocalAddress().getHostAddress();

ce qui est clair, même sans connaitre le langage!

C'etait meme evident sans decompiler le java. Avec un simple analyseur

reseau, on le voit tout de suite.

Pour le reste c'est de l'appel basique d'url avec le paramètre trouvé.

En fait, je ne vois pas trop en quoi c'est une faiblesse (?)

Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.


Ca serait une faiblesse potentielle si on pouvait obtenir cette adresse
de l'extérieur (au sens large : un remote expoit sur une machine interne
ça va aussi :) ). Ca permet éventuellement de commencer à mapper le
réseau, comprendre comment il fonctionne, qui fait quoi puis de passer
aux choses plus sérieuses.

Mouais. Mais dans une DMZ, j'aurais tendance a ne pas faire confiance

aux autres machines et a commencer a faire hurler les sirenes si
une des machines commence a chatouiller les ports d'une autre, ou
a vouloir sortir sur internet sans ma permission et/ou hors des
sentiers balises (vous allez me dire, ca laisse encore de la marge
a l'assaillant, mais bon).
Ensuite que l'assaillant vienne d'un remote bin, qu'est ce que ca change
que l'IP soit privee ou publique, et qu'il la connaisse?

Cas pratique: tu blastes mon serveur http, tu recuperes un remote shell.
J'ai desactive tout un paquet de truc, mais j'ai oublie arp.
Address: 212.27.42.70
Address: 212.27.42.71
Address: 212.27.42.72
Address: 212.27.42.73
Address: 212.27.42.74
Address: 212.27.42.75
Address: 212.27.42.76
Address: 212.27.42.77
Address: 212.27.42.78
Address: 212.27.42.79
Address: 212.27.42.80
Address: 212.27.42.65
Address: 212.27.42.66
Address: 212.27.42.67
Address: 212.27.42.68
Connected to news.proxad.net
200 news4-e.free.fr NNRP Service Ready - (posting ok).
340 340 <424bc1d1$0$17300$ (desired)
240 Article posted
Closing connection to news.proxad.net
Récupération des articles...
Attempting to connect to news.free.fr
Using Port 119
Official host name: news.proxad.net
Alias news.free.fr
Address: 212.27.42.70
Address: 212.27.42.71
Address: 212.27.42.72
Address: 212.27.42.73
Address: 212.27.42.74
Address: 212.27.42.75
Address: 212.27.42.76
Address: 212.27.42.77
Address: 212.27.42.78
Address: 212.27.42.79
Address: 212.27.42.80
Address: 212.27.42.65
Address: 212.27.42.66
Address: 212.27.42.67
Address: 212.27.42.68
Address: 212.27.42.69
Connected to news.proxad.net
200 news5-e.free.fr NNRP Service Ready - (posting ok).
fr.comp.os.linux.debats - 2 articles 158455-158456
Skipping Line: #fr.test 173905 58
Elapsed Time = 0 mins 0.68 seconds
2 Articles to download
Deduping Elapsed Time = 0 mins 0.00 seconds
Deduped, 2 items remaining, 0 dupes removed.
Processing History File Elapsed Time = 0 mins 0.04 seconds
Processed history, 0 dupes removed
Total articles to download: 2
2978 Bytes received in 0 mins 0.22 secs, BPS = 13307.1
Closed connection to news.free.fr
Building RNews Batch File(s)
Ton ordinateur execute un code qui lui demande son IP. Bah il la
donne et appelle une URL en la lui donnant comme parametre.


Ca serait une faiblesse potentielle si on pouvait obtenir cette adresse
de l'extérieur (au sens large : un remote expoit sur une machine interne
ça va aussi :) ). Ca permet éventuellement de commencer à mapper le
réseau, comprendre comment il fonctionne, qui fait quoi puis de passer
aux choses plus sérieuses.

Mouais. Mais dans une DMZ, j'aurais tendance a ne pas faire confiance

aux autres machines et a commencer a faire hurler les sirenes si
une des machines commence a chatouiller les ports d'une autre, ou
a vouloir sortir sur internet sans ma permission et/ou hors des
sentiers balises (vous allez me dire, ca laisse encore de la marge
a l'assaillant, mais bon).
Ensuite que l'assaillant vienne d'un remote, bin, qu'est ce que ca change
que l'IP soit privee ou publique, et qu'il la connaisse?

Eric

[1] aucun avis dessus, généralement je n'ais pas le temps pour m'amuser
à tester les trucs de ce genre :-(
En tout cas pour une classe isolée et aussi basique pas besoin d'autre
chose.




--
Kevin


Avatar
Tzim [MVS]
"Kefran" wrote in message
news:424bce8b$0$11690$

...

Salut Kevin
Désolé si je raconte des énormités pour certains, ma science est plutôt
maigre en ce domaine :(

Que le site Auditmypc détecte l'IP privée de la machine ne m'inquiète pas
trop, j'y suis allé de mon plein gré. Et cette machine n'est pas destinée
à surfer en usage normal.

Ce qui m'inquiète, c'est l'existence de ce mécanisme qui fait révéler à la
machine elle-même son IP privée, à destination d'un demandeur distant.
Je me dis peut-être à tort que ca pourrait constituer une faille de
sécurité, exploitable par qqu'un de mal intentionné cherchant à attaquer
la machine en tant que serveur web ?


Oui, mais il faudrait pour cela que l'utilisateur mal-intentionné fasse
executer par le serveur du code destiné a lui faire révéler son IP. Or, le
serveur web n'est pas sencé executer du code envoyé par le client, a moins
de faille présente dans les pages (dynamiques) qui composent le site qu'il
heberge.

Il me semble que L'IP privée du serveur et donc la plage d'adressage de la
DMZ n'est pas censée être visible depuis l'extérieur.


La plage de la DMZ n'est effectivement pas visible depuis l'exterieur,
notamment si un mécanisme de translation d'adresses (ou NAT) est utilisé. De
plus, si la plage d'addresse locale est comprise dans les plages d'addresses
IP Privées (ex 10.x.x.x, 192.168.x.x ...), connaitre l'IP des machines
locales n'aura aucune utilité a moins de posséder une "porte d'entrée" sur
le réseau.

Si je me souviens bien, certains firewalls perso comme Sygate ont la
possibilité de masquer depuis l'extérieur l'IP LAN de la machine où ils
résident, ça doit donc bien avoir une utilité (ou nécessité ?) en termes
de sécurité ?


Dans la plupart des cas, il s'agit surtout d'une utilisation pratique. Il
est de plus en plus courrant d'utiliser une seule addresse IP publique pour
tout un réseau privé, et comme les addresses IP privées ne sont pas
routables sur Internet, la translation d'addresse (et de ports TCP/UDP)
"masque" implicitement les machines du réseau.

Avatar
Eric Razny
Kevin Denis wrote:

Tu vois simplement à un moment :

String s2 = (new Socket(s1, byte0)).getLocalAddress().getHostAddress();

ce qui est clair, même sans connaitre le langage!



C'etait meme evident sans decompiler le java. Avec un simple analyseur
reseau, on le voit tout de suite.


Ben non, pas nécessairement.
L'OS va poser la question à l'interface, pas envoyer une trame.
Ce que tu vois ensuite c'est que dans le paquet envoyé au site il y a
ton adresse IP interne, c'est tout

Je me contente de répondre à ta question (comment poursuivre) :)
Sinon il est effectivement évident que pour envoyer l'adresse le
programme va effectivement la demander ;-)

Ca serait une faiblesse potentielle si on pouvait obtenir cette adresse
de l'extérieur (au sens large : un remote expoit sur une machine interne
ça va aussi :) ). Ca permet éventuellement de commencer à mapper le
réseau, comprendre comment il fonctionne, qui fait quoi puis de passer
aux choses plus sérieuses.


Mouais. Mais dans une DMZ, j'aurais tendance a ne pas faire confiance
aux autres machines et a commencer a faire hurler les sirenes si
une des machines commence a chatouiller les ports d'une autre, ou
a vouloir sortir sur internet sans ma permission et/ou hors des
sentiers balises (vous allez me dire, ca laisse encore de la marge
a l'assaillant, mais bon).


Yep. Mais si tu cherche un peu ici tu verras que par exemple des têtes
de vpn finissent parfois où il ne faudrait pas[1].

Ensuite que l'assaillant vienne d'un remote bin, qu'est ce que ca change
que l'IP soit privee ou publique, et qu'il la connaisse?


S'il ne peut pas mapper trop facilement le réseau ça peut déjà ralentir
l'attaque/les dégâts, permettre de s'en apercevoir [2] et limiter la
casse. Je ne parle pas d'une IP isolée mais du mapping du LAN.

Il m'est arrivé de configurer certains fw pour, par exemple, bloquer
tous les paquets dont le ttl arriverait à zéro dans la structure
derrière ; l'idée est (avec d'autres compléments) de limiter le firewalking.

Dans tout ça le principe est que la sécurité par l'obscurité c'est "mal"
(ie compter sur ce seul fait pour être protégé) mais qu'ajouter ensuite
ce qu'il faut pour éviter la divulgation d'information, même basiques,
est une pratique que je trouve plutôt saine.

Eric

[1] plus précisement les conséquences de l'emplacement de l'arrivé n'a
pas été prise en compte.

[2] et après engueuler celui qui n'a peut être pas fait son job :)

--
L'invulnérable :
Je ne pense pas etre piratable, infectable par un trojen oui!
Vu sur fcs un jour de mars 2004.


Avatar
Alain Thivillon
Kevin Denis wrote:
C'etait meme evident sans decompiler le java. Avec un simple analyseur
reseau, on le voit tout de suite.


On voit avec un simple analyseur réseau que l'applet se connecte sur le
serveur ou elle a été récupérée en profitant de cette autorisation par
défaut d'une sandbox Java et qu'une fois connectée, elle peut récupérer
l'adresse locale de son socket ? Vous etes vachement fort pour voir
sur un analyseur réseau que c'est l'applet qui se connecte et pas le
navigateur.

D'ailleurs le truc ne marche pas si il y a un proxy et que le port 80
en direct est filtré.

--
A: Yes.
Q: Are you sure?
A: Because it reverses the logical flow of conversation.
Q: Why is top posting annoying in email?






1 2