Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 08-04-2013 17:21:17

Fuji
Membre Irremplaçable
Lieu : Saint Script-sur-Shell
Inscription : 13-12-2010
Messages : 783

Un rogue un peu spécial

Hello wink

Je fais suite au poste de Koala dans lequel il hack un copain lors d'une soirée PC, mais il dit qu'il n'est pour rien pour la copine. Analysons la copine smile

On sait depuis que les navigateurs procèdent à la mise en cache de certains fichiers, comme les JPG et SWF pour que lors de la prochaine visite sur le même site, la page web sera téléchargée rapidement. Mais si la connexion à Internet est perdue par la suite, le navigateur sera incapable d'afficher la page en question, pourtant il a bien mis celle-ci en cache. En tout cas, c'est de cette façon que j'arrive à récupérer par exemple des vidéos Youtube cool
--> Un tutoriel de la mise en cache

Mais ça, c'était avant.

Aujourd'hui grâce aux nombreuses fonctionnalités d'HTML5, il devient possible de naviguer en "offline" afin d'augmenter la vitesse de chargement des pages et de réduire la charge sur le serveur. Car en effet, cela répond plus particulièrement au problème posé par les smartphones utilisant la 3G, comme il est dit, leur connexion est mise à mal dans le métro ou dans un ascenseur par exemple. Il devient alors possible de naviguer hors connexion même lorsqu'il s'agit d'envoyer un email ou un tweet, ceux-ci sont misent en cache et envoyés lorsque la connexion sera rétablie, et donc ça marche dans les deux sens les requêtes des navigateurs avec HTML5, intéressant.

Comment mettre tout ça en pratique ?  grâce au fichier manifest.

La page HTML


L’application cache repose principalement sur l’utilisation d’un fichier “manifest” à ajouter aux pages HTML de votre site. Tout d’abord, créons donc une structure basique de page web:

<!DOCTYPE html>
<html>
<head>
   <style type="text/css">
     #main{
        width:900px;
        margin:auto;
      }
  </style>
</head>
<body>
  <div id="main">
     <h1>Ceci est mon application offline</h1>
     <img src="earth-folder.png" />
  </div>
</body>
</html>

Afin d’utiliser le cache d’application, il va falloir déclarer un fichier manifest. Ce fichier se déclare dans la balise html comme ceci:

<html manifest="site.manifest">

Le manifest


Une fois déclaré, il faut bien sûr créer le fichier manifest en question. Appelons le nôtre “site.manifest”.

Dans ce fichier, qui commence obligatoirement par la ligne “CACHE MANIFEST”, nous allons déclarer les fichiers qui doivent être mis en cache :

CACHE MANIFEST

# Version 0.1

index.html
earth-folder.png

On peut également y ajouter des commentaires. Chaque ligne de commentaire doit commencer par #. Il est important de versionner son fichier manifest via un commentaire, afin que le navigateur détecte par la suite les changements dans le fichier. Nous y reviendrons plus tard.
Notons qu’il est possible d’utiliser des URL absolues (http://www.mon-url.com/absolue/fichier.html).
Il est possible d’ajouter différentes sections à notre fichier manifest:

- CACHE, il s’agit de la section par défaut qui liste les fichiers à mettre en cache.

- NETWORK, qui liste les fichiers qui nécessitent obligatoirement une connexion internet.

- FALLBACK, qui liste les fichiers qui, au cas où ils ne soient pas accessibles en ligne, doivent renvoyer vers d’autres fichiers.

L’exemple suivant représente un site web classique dont la page d’accueil, le CSS et les images sont mises en cache. Si l’utilisateur se connecte à la page d’accueil en étant hors ligne, la page offline.html lui est présentée au lieu d’index.html. Il est donc informé qu’il est déconnecté. Par conséquent il ne pourra pas accéder aux autres pages du site, puisque la section NETWORK spécifie via une étoile “*”, que tous les autres fichiers requièrent une connexion internet.

CACHE MANIFEST

# v0.1

CACHE:
index.html
css/style.css
img/logo.png

FALLBACK:
/ /offline.html

NETWORK:
*

Le .htaccess


Nous arrivons maintenant au passage (un peu) délicat. Il va falloir déclarer le MIME-type du fichier manifest. Ceci se fait par l’intermédiaire du fichier de configuration de serveur. Dans la grande majorité des cas vous utiliserez un fichier .htaccess pour les projets PHP.
Créez donc un fichier .htaccess dans le répertoire de votre application et ajoutez-y simplement la ligne :

AddType text/cache-manifest manifest

Dans cette ligne, on déclare que tous les fichiers se terminant par “manifest” ont pour MIME-type “text/cache-manifest”


Test de l’application hors ligne


Afin de pouvoir tester localement notre application, nous allons devoir passer par Apache (et oui, faites chauffer vos WAMP / MAMP / LAMP !).
Plaçons notre application dans le dossier de votre serveur (www pour WAMP) et rendez-vous sur l’adresse http://localhost/
Si tout se passe bien, votre page s’affiche.
Maintenant stoppez les services de WAMP, puis rafraîchissez la page.
Alors qu’une page classique aurait naturellement fait afficher une belle erreur 404… Votre page est toujours là !
Ouvrez maintenant la console de votre navigateur si celui-ci en possède une (pour Chrome, elle se trouve dans Outils, Outils de développement, onglet Console).
On peut y voir ceci :

Creating Application Cache with manifest http://localhost/le-chemin-vers-votre-manifest
Application Cache Checking event
Application Cache Downloading event
Application Cache Progress event (0 of 3)
... (1 of 3)
... (2 of 3)
... (3 of 3)
Application Cache Cached event

On y voit en effet tous les événements qui ont lieu lorsque votre navigateur met à jour son AppCache. Les plus coriaces d’entre vous souhaiterons pouvoir intercepter ces événements pour pouvoir effectuer des traitements au moment du déclenchement de ces événements.
Ces événements seront détaillés dans la partie “aller plus loin” de ce tutoriel.


Mise à jour du manifest


Attention soyez bien attentif à présent ! La phrase suivante a de quoi perturber : une fois votre application dans l’AppCache grâce au fichier manifest, c’est cette version offline qui a la priorité sur la version en ligne ! Pourquoi ? Tout simplement parce que vous lui avez justement dit de le stocker dans le cache ! C’est exactement comme lorsque votre navigateur garde en mémoire une image ou un CSS sur un site, afin de ne pas avoir à le télécharger à nouveau. Seulement, c’est un peu plus perturbant lorsqu’il est question d’un fichier HTML, je le reconnais… Et donc, comment fait-on pour mettre à jour le cache avec la version en ligne ?

L’Application Cache sera mis à jour si :

- L’utilisateur vide son cache manuellement.
- Le fichier manifest change.
- Le cache est mis à jour avec du code Javascript.

Voilà pourquoi il était important d’insérer un numéro de version dans un commentaire ! Il suffit de changer ce numéro de version pour obliger l’AppCache du client à se mettre à jour. Si vous effectuez peu de mises à jour (dans le cas d’un site vitrine par exemple) c’est la meilleure solution. Par contre, si vous avez besoin que le client soit en permanence à jour, on préfèrera la version Javascript. Et encore une fois, c’est dans la section “Aller plus loin” que ça se passe !

Deux remarques avant de passer à la suite :

- Si le téléchargement de l’un des fichiers échoue, alors l’ensemble du téléchargement échoue. On peut considérer que le manifest liste le contenu d’un “pack” non scindable.

- Lorsque l’on rafraichit la page après avoir modifié le fichier manifest, c’est la page initiale (donc non à jour) qui s’affiche en premier pendant le téléchargement du nouveau manifest. La nouvelle version ne s’affichera qu’au prochain rafraichissement de page (ou si on le fait via Javascript).

__________________




--> source [www.html5-css3.fr] reste les deux parties WebApps iPhone et Android et Aller plus loin : le Javascript à consulter directement sur ce site de Jonathan Verrecchia.



Now, pourquoi je vous raconte tout ça ? parce que c'est là où se situe la faille, et elle est de taille:

une fois votre application dans l’AppCache grâce au fichier manifest, c’est cette version offline qui a la priorité sur la version en ligne ! Pourquoi ? Tout simplement parce que vous lui avez justement dit de le stocker dans le cache !

Krzysztof Kotowicz a écrit :

Recently I've been doing some HTML5 hacking and I encountered Imposter by Lavakumar Kuppan. It's a framework to perform browser phishing attacks - a tool that integrates a DNS server, a web server and a configuration utility running on Windows machine. Once a victim connects to Imposter (e.g. through a rogue WiFi access point) it tries to e.g. steal his cookies, inject payloads into chosen websites etc. There is also a module that uses HTML5 offline cache to store the payload permanently in all supporting / browsers. It's a pretty clever framework, but it requires Windows.

I've decided to take away the HTML5 offline cache storage functionality and port it to Linux. The result is presented here as squid-imposter. Now you can easily spoof websites that will be stored in victim's browser cache forever.
INTRODUCTION

Squid-imposter makes it easy to create Squid-based proxy injecting your own content to chosen website URLs. Modified content is then persisted in client's browser even when the client no longer connects through your proxy thanks to HTML5 Offline cache features. Additionally, standard HTTP cache headers set the page to cache for 10 years. Injected content may for example be used to form a phishing attack during penetration test.
WHAT CAN IT DO?

It's a MITM/sidejacking attack technique - we're not exploiting a vulnerability in any website, instead we pretend to be that website. The only protection is, of course, using HTTPS/VPN as firesheep lately taught everyone.

The process is as follows:
Choose a website URL you'd like to spoof (e.g. gmail login page)
Prepare a modified version of the page (e.g with a submit button that also sends login/password to you)
Look for any other URL on the domain that user won't be likely to visit (this will be the manifest URL). It might something tiny like a blank.gif file.
Setup squid-imposter with payloads and URLs
Convince a victim to connect to squid-imposter (e.g. hijack victim's proxy entries, make him connect to your rogue Wi-Fi)
When victims enters the URL, squid returns the modified page and a manifest file that tells user to store the page in offline cache.*
Two years later, the user is no longer connected to your proxy, but the modified page is still served by victim's browser.
* Google Chrome will store the page in cache without user intervention. Firefox will ask for permission, but even if denied, the page will be stored in standard cache thanks to "expires in 10 years" HTTP header.
REQUIREMENTS

- PHP 5.2
- Apache
- mod_php
- Squid

All of these can be easily set-up in e.g. a Ubuntu virtual machine. Default setups of these tools will do. In case you encounter problems, please let me know.
ARCHITECTURE

The scheme used by squid-imposter to spoof a website is presented in a graphic below.

image

Image taille superieure
blog

Impressionnant ! Firesheep est un logiciel qu'on connait déjà, ça permet de capturer et de rejouer des cookies et le Side jacking ou "HTTP session jacking" et la méthode utilisée par Firesheep.

Mais l'outil révolutionnaire ici c'est IMPOSTER développé par Lavakumar Kuppan, admirez la force de frappe:

- Steal cookies

- Set cookies

- Steal Local Shared Objects

- Steal stored passwords from FireFox

- Steal cached files

- Poison browser cache

- Steal files from the victim’s local file system through Internet Explorer

- Run SQL queries on the victim’s Google Gears database and transfer the results

- Create ResourceStore and Managed ResourceStore on the victim’s Google Gears LocalServer

Une sorte de Karmatasploit mais beaucoup plus redoutable, avec son propre payload fait maison. C'est avec cet outil que Krzysztof Kotowicz réalise un rogue AP en se mettant en MITM entre la station et son AP, il configure le serveur avec HTM5 tout en insérant un fichier Manifest qui va à l'aide de Imposter capturer/injecter un payload et plus (cookies) dans le cache de la cible, pour y demeurer assez longtemps, à chaque démarrage du browser.
Bien sur un coup de CCleaner comme le dit Sulpice92 et tout part en fumée, mais connaissez-vous des utilisateurs qui passent un coup de nettoyage régulièrement avec ce soft ? moi j'avais trouvé sur un ordi pour plus 8 Go de fichiers journal, temporaires,d'historique, cookies, Prefetch, etc...

> Imposter [UserGuide]
> Imposter [Les videos sur ses fonctionnalités]
> Imposter [Download] avec d'autres tools dont on aura l'occasion d'en parler.


Attention aux copines, HTML5 ou Channel5 à volonté sans modération smile

Dernière modification par Fuji (10-04-2013 11:55:02)

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 08-04-2013 20:38:06

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 355

Re : Un rogue un peu spécial

Fuji ou l'art de mettre le doigt là ou ça fait mal big_smile

Hors Ligne

#3 08-04-2013 21:02:06

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 316

Re : Un rogue un peu spécial

Ow jolie roll je vais devoir revoir mon script en ruby que j'avais fais il y a un an histoire d'automatiser un peu tout ça.

Entre ce "karmetasploit amelioré" et "sergio proxy" ça peut faire bien mal cool

Hors Ligne

#4 08-04-2013 21:16:33

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Un rogue un peu spécial

Encore une fois merci Fuji pour nous rendre accessibles toutes ces infos passionnantes smile
Du tool hightech pour casser des algos, du nouveau sur le rogue AP, serait-ce le printemps qui s'annonce...  wink

Hors Ligne

#5 14-04-2013 21:22:08

antares145
Membre d'honneur
Inscription : 29-09-2009
Messages : 5 199
Site Web

Re : Un rogue un peu spécial

Pas maaaal ! C'est du lourd ! Alors si en plus on commence à combiner ça avec sergio-proxy, ça va devenir violent... Sans oublier tous ces smartphones qui se connectent "tout seul" aux réseaux OPEN, va y avoir du sport, ça promet !

En fait tu m'as grillé sur Imposter et les payload HTML5, je pensais en parler après sergio smile Une fois qu'on maîtrisera bien tout ça, on pourra voir pour l'intégration... Enfin, sauf si Koala nous grille tous les deux sur ce coup-là lol

The show goes on

[EDIT]Heuuuu, quand tu dis "analysons la copine", on parle de son PC là ou bien... ? big_smile

Dernière modification par antares145 (14-04-2013 22:08:39)

Hors Ligne

#6 21-04-2013 05:39:11

Fuji
Membre Irremplaçable
Lieu : Saint Script-sur-Shell
Inscription : 13-12-2010
Messages : 783

Re : Un rogue un peu spécial

Oui, mais ce qui m’intéresse c'est plus lors d'une attaque web que rogue (spear phishing, etc), mais c'est vrai que ça reste un peu flou à mettre en place.

M1ck3y a écrit :

Fuji ou l'art de mettre le doigt là ou ça fait mal big_smile

Je te jure que j'ai peur de donner des idées aux quelques boulets qui passent dans le coin lol

[Edit] Si elle savait qu'elle est à l'origine de ce topic, et combien sont-elles à pousser beaucoup à créer des topic big_smile

Dernière modification par Fuji (21-04-2013 08:06:03)

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Discussion Réponses Vues Dernier message
106 2186 28-11-2016 19:42:10 par koala
35 1827 23-11-2016 16:31:33 par roofnat
16 1044 17-11-2016 12:22:00 par disquette
10 433 11-11-2016 22:11:03 par koala
[ Projet Rogue AP ] par shirocen
16 452 19-10-2016 05:14:45 par shirocen

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.032 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]