Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1450 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Navigateur avec user-agent modifiable et cie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Navigateur avec user-agent modifiable et cie

n°904137
Bad_Lemon
Posté le 17-04-2007 à 19:56:28  profilanswer
 

Bonsoir,
 
je suis à la recherche d'outils en ligne de commande (sous linux de préférence) qui permettent de simuler des agents logiciels au choix.
 
Je m'explique : tout le monde sait que l'on peut modifier l'user-agent dans son navigateur et faire croire que firefox est iexplorer, ou n'importe quoi d'autre.
Moi, ce qui m'intéresse c'est un outil comme wget mais dont on peut changer la personnalité dynamiquement : je lance un GET en le faisant passer pour mozilla sous fedora kernel machin et 5 secondes après je fais un autre GET et je le fais passer pour opéra...
 
Après, si c'est pas l'outil qui fait directement ça mais un filtre ou un script qui modifie les paquets http sortant, ça me va du moment que c'est dynamique et en ligne de commande.
 
La personnalisation peut être plus ou moins poussée (format des paquets, ordre des champs, fragmentation des données, format du padding, réaction aux erreurs, timeout, etc.). Le must étant que l'outil soit fourni avec une base de fingerprint bien fournie.
 
Je cherche ça pour tout les protocoles clients possibles et imaginables ldap, snmp, smtp, pop, dns, ftp, vnc,...
 
J'ai trouvé 2-3 trucs mais si vous avez en connaissez des bon, ça m'arrangerai bien  :)  
 
Merci d'avance.

mood
Publicité
Posté le 17-04-2007 à 19:56:28  profilanswer
 

n°904683
leto
Posté le 19-04-2007 à 10:58:04  profilanswer
 

wget :??:

 

--user-agent=agent-string
    Identify as agent-string to the http server.

 

   The http protocol allows the clients to identify themselves using a User-Agent header field. This enables distinguishing the www software, usually for statistical purposes or for tracing of protocol violations. Wget normally identifies as Wget/version, version being the current version number of Wget.

 

   However, some sites have been known to impose the policy of tailoring the output according to the User-Agent-supplied information. While this is not such a bad idea in theory, it has been abused by servers denying information to clients other than (historically) Netscape or, more frequently, Microsoft Internet Explorer. This option allows you to change the User-Agent line issued by Wget. Use of this option is discouraged, unless you really know what you are doing.

 

   Specifying empty user agent with --user-agent="" instructs Wget not to send the User-Agent header in http requests.


Message édité par leto le 19-04-2007 à 10:58:24

---------------
--
n°905058
Bad_Lemon
Posté le 19-04-2007 à 20:59:44  profilanswer
 

Merci pour ta réponse.
 
En effet, wget permet de modifier l'user-agent tout comme lynx (ce que je n'avais pas vu) et s'appelle en ligne de commande : ça correspond donc à ce que je cherche.
 
Cependant, ce que je cherche en réalité, c'est de pouvoir modifier plus que le simple user-agent.
 
Je posais cette question car il est envisageable de détecter quel est le navigateur employé par un utilisateur à l'aide d'autres critères que le champ user-agent.
 
Par exemple : un administrateur peut modifier la bannière de son serveur web pour contrer des attaquants. Mais ça ne sert à rien car des outils comme httprint peuvent découvrir quel est le serveur en se basant sur le format des paquets envoyés par le serveur : champs présents dans l'en-tête, ordre des champs, codes d'erreur, padding, timeout...
Httprint dispose ainsi de signatures (à la façon de nmap) pour la plupart des serveurs web existants.
 
Il existe des outils pour les serveurs mail, ftp, ssh,etc.
 
Moi, ce que je cherche c'est la même chose mais pour les applications clientes!
Je n'ai rien trouvé pour l'instant mais je suis certain qu'il doit y avoir des possibilités et des recherches sur le sujet doivent exister... d'autant plus que ça doit intéresser ceux qui font des statistiques sur le web (et les entreprises)
.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Ce que je compte faire, c'est remplacer les en-têtes des applications clientes dynamiquement lorsqu'elles sortent de l'ordinateur. Pour cela, je pense utiliser les en-têtes venant de captures pcap.
 
Est-ce que vous connaissez des outils pour faire ça simplement (et pas seulement que pour http) ? J'ai reperé libcurl et scapy qui permettent de manipuler les paquets; faut que je regarde comment ça marche.
 
Si vous avez des suggestions, n'hésitez pas à m'en faire part...
 
Merci.

n°905081
l0ky
Posté le 19-04-2007 à 21:43:12  profilanswer
 

Dans ton exemple tu parles de serveurs HTTP. A part le User-Agent, de quelle manière tu peux détecter le client ?

n°905188
Bad_Lemon
Posté le 20-04-2007 à 08:33:11  profilanswer
 

l0ky a écrit :

A part le User-Agent, de quelle manière tu peux détecter le client ?


 
Eh bien, de la même façon que l'on différencie les serveurs web...
 
Httprint envoie au serveur web un certain nombre de requetes http particulières (suffisamment grand pour bien différencier les serveurs) et observe les réponses.
Les serveurs n'étant pas codés de la même façon, ils ne répondent pas toujours pareil.
 
Evidemment, il ne suffit donc pas d'une seule requete http pour indentifier un serveur : il peut en falloir un grand nombre.
 
Regarde cette page, c'est expliqué:
http://net-square.com/httprint/httprint_paper.html
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Pour détecter un navigateur, on fait pareil mais à l'envers.
 
C'est à dire que le serveur collecte un certain nombre de requêtes http (et les paquets tcp associés) et regarde si une tendance se dessine. Le serveur peut également envoyer au client des paquets bizarrement formatés ou erronés pour voir comment le navigateur réagit (est qu'il est gêné et redemande les données, ou bien est-ce qu'il comprend).
Il y a forcément des différences d'implémentation entre les navigateurs, notamment aux cas limites ou non spécifiés par le standard http.
Pour que ça marche bien, il faut que le client reste suffisamment longtemps sur le serveur.
 
Ce que je dis est théorique et je ne suis pas un expert en réseau, mais c'est comme ça que je vois les choses.
 
a+

n°905190
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 20-04-2007 à 08:37:46  profilanswer
 

Code :
  1. #!/usr/bin/perl
  2. use WWW::Curl::easy;


 
tu l'as ton browser [:spamafote]
 
par contre pour ce qui est de ta théorie, cela suppose d'avoir une connaissance quasi exhaustive des browsers.
 
Et ça va te servir à quoi au fait ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°905201
Bad_Lemon
Posté le 20-04-2007 à 09:03:23  profilanswer
 

black_lord a écrit :


par contre pour ce qui est de ta théorie, cela suppose d'avoir une connaissance quasi exhaustive des browsers.


 
C'est pour ça que je demandais... peut être qu'il y a des projets où les gens ont fait une étude presque exhaustive des browsers.
 
C'est clair que c'est pas moi qui vais m'amuser à faire ça...
 
Ca a bien été fait pour fingerprinter les os, aussi bien de façon active que passive : nmap, xprobe2, p0f, ring, sinfp, etc.
Il y a bien fallu les constituer les bases de signatures, non?
 
La même chose a été faite pour les applications serveur : telnetfp, amap, vmap, httprint, etc.
 
 

black_lord a écrit :


Et ça va te servir à quoi au fait ?


Ca va me servir a faire un honeynet dans lequel le comportement des utilisateurs est reproduit et/ou simulé fidèlement. (le tout sur une seule machine avec honeyd)
 
Je suis d'accord que l'on peut se contenter des user-agent et des bannières, mais je cherche le plus grand réalisme possible...
 
Si c'est pas possible, bah tant pis...
 
En tout cas, merci de m'avoir répondu.
 
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Navigateur avec user-agent modifiable et cie

 

Sujets relatifs
Amarok plante après le démarrage [Résolu][mandriva2007] pb clavier sur un user donné?
client winbouse xp et imprimante samba security userplantage de oOo et firefox pour UN user
requetes ssh via un navigateur web (ajaxterm)les LUG (linux user group) et vous??
[SUSE] Plone : pb accès via navigateur.cron: arreter les taches cron d'un user particulier en tant que root
openldap pam : User not known to the underlying authentication module 
Plus de sujets relatifs à : Navigateur avec user-agent modifiable et cie


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR