Autoblog de brico-wifi

Ce site n'est pas le site officiel bricowifi.blogspot.com.
C'est un blog automatisé qui réplique les articles de bricowifi.blogspot.com

Update

Updating database... Please wait.

2012 Les nouveautés d'aircrack-ng

Saturday 28 January 2012 at 22:11

Ça fait un moment que aircrack-ng n'a pas réalisé de nouvelle version en stable, par contre le logiciel a continué d'évoluer dans sa version trunk, avec de nouveaux outils et des améliorations.

Pour télécharger la version trunk il faut le logiciel subversion, vous pourrez ensuite télécharger les sources à cette adresse:

svn co http://trac.aircrack-ng.org/svn/trunk/
mv trunk aircrack-ng

La compilation:
cd aircrack-ng
make

Installation facultative:
sudo make install

Quoi de neuf ?

Dans le répertoire scripts vous avez:

airmon-ng.freebsd, ducoup il doit y avoir des drivers fonctionnels pour au moins le mode monitor sous freebsd.
airmon-zc qui est la prochaine version de airmon-ng
versuck-ng qui permet de retrouver la clé wep des "actiontec routeur" je connais pas je sais pas si c'est utilisé en France.

Dans le répertoire src:

besside-ng-crawler, lui on lui donne un répertoire à surveiller et il va rechercher les fichiers au format pcap, quand un tel fichier est détecté il extrait le(s) handshake pour le(s) placer dans un autre fichier, cela permet d'avoir un fichier contenant juste les donnés importantes.
#################################################

Use: ./besside-ng-crawler <SearchDir> <CapFileOut>
What does it do?

It recurses the SearchDir directory
Opens all files in there, searching for pcap-dumpfiles
Filters out a single beacon and all EAPOL frames from the WPA networks in there
And saves them to CapFileOut.

This tool is supposed to crawl capfiles for upload to sorbo's WPA statistic server!
http://wpa.darkircop.org
################################################


besside-ng, c'est un nouvel outil d'autocracking, pour le moment je le test depuis ~2 heures et je peux vous dire que c'est efficace.
Quand vous lancez besside-ng il va créer 3 fichiers, un besside.log (format texte) qui va contenir les clés WEP découvertes + si il a des handshake de points d'accès utilisant du WPA, un wep.cap qui est donc la capture des paquets pour le WEP et un wpa.cap pour les handshake.

Le logiciel effectue un scan de tous les canaux et créé une liste des points d'accès ensuite il va parcourir la liste et tenter de casser un par un la clé WEP ou récupérer le handshake pour un ap en WPA, le nom de la liste est TO-OWN quand une attaque se termine par un succès il place le nom du point d'accès dans une nouvelle liste OWNED
Quand la liste est terminé il refait un scan puis rebelote.

Ce qui est pas mal dans le logiciel c'est la stabilité, quand vous injectez manuellement il arrive que le point d'accès ne réponde plus par exemple, et bien si c'est le cas besside-ng va pas rester bloqué dessus il va passer au suivant de la liste, une fois la liste terminé il va refaire un scan et donc tenter de réattaquer les points d'accès ou il a échoué.
Idem avec le WPA il passe pas 3 heures à deauth, ce qui fait que les attaques sont fluide.
Si vous avez un problème vous pouvez ctrl+c sans nettoyage du dossier quand vous relancerez besside il va ajouter les donnés à celles déjà collectés (et non écraser).


Au final c'est juste une petite commande et ensuite vous pouvez faire un puzzle ou je ne sais quoi, besside va s'occuper du cracking.

Sinon, aircrack-ng supporte un mode serveur, peut préparer une capture pour un cracking avec le logiciel elcomsoft ou encore hashcat.
airodump-ng dispose d'une option pour le problème des drivers mac80211 non patchés, cela fixe l'affichage du canal (sinon c'est -1).

Notez que pour mon test besside-ng j'utilise un kernel 3.x avec mon alfa network, la suite aircrack utilise le driver livré avec mon noyau, le driver n'est pas patché (et les résultats sont ok) (driver rtl8187)

Pour le reste je vous laisse découvrir, j'ai pas regardé si il y avait d'autres choses. (il n'y a pas de manuel et de documentation officiel pour besside-ng, mais c'est ultra simple à utiliser)

Source: http://bricowifi.blogspot.com/feeds/4905059226728532582/comments/default


La tumeur Node.js

Friday 2 December 2011 at 21:35

Node.js utilise le moteur javascript google v8 et lui ajoute les fonctionnalités I/O (input output), il est relativement populaire et les gens disent que c'est très rapide, je vais pas m'étendre sur le sujet car j'ai jamais fait de benchmark sur Node.js.
Comme on entend principalement du bien de Node.js, voici un lien (en Anglais) "Node.js is Cancer" qui à le mérite de donner un point de vue appuyé par des tests.
http://teddziuba.com/2011/10/node-js-is-cancer.html

Source: http://bricowifi.blogspot.com/feeds/5220530843853601609/comments/default


Changer de dns pour accéder à megaupload

Tuesday 29 November 2011 at 00:39

Ce soir megaupload est dead sur ma connexion SFR, mais comme on sait que SFR n'est pas forcement ce qu'il y a de plus honnête, j'ai même pas essayé des tests j'ai directement changé mes dns.
Étrangement en utilisant le dns de google (ou opendns) le site megaupload répond parfaitement et le débit est comme d'hab…

Bref pour changer de dns sous linux il suffit d'éditer /etc/resolv.conf et c'est tout, il n'y a pas besoin de se reconnecter les changements sont effectifs dés la sauvegarde de votre resolv.conf.

Un exemple du mien:

# Generated by dhcpcd from eth0
# /etc/resolv.conf.head can replace this line

#google dns
nameserver 8.8.8.8
nameserver 8.8.8.4

#opendns
#nameserver 208.67.222.222
#nameserver 208.67.220.220

#box dns
#nameserver 192.168.1.1
# /etc/resolv.conf.tail can replace this line

NOTE !
si vous commentez pas (#) votre dns actuel il faut qu'il soit en dessous du dns que vous voulez utiliser.

Note 2, le réglage n'est pas persistent

votre resolv.conf est réécrit si vous vous reconnecté, vous pouvez changer les droits de resolv.conf ou: https://wiki.archlinux.org/index.php/Resolv.conf si vous voulez garder votre modification.

Source: http://bricowifi.blogspot.com/feeds/2970895727604825051/comments/default


Ettercap 0.7.4.2 dispo

Sunday 20 November 2011 at 22:20

Ettercap-ng passe en version 0.7.4.2, en fonctionnalités c'est pareil qu'avant mais du gros bug fix à été appliqué. Il faut dire que ettercap est un outil relativement vieux et laissé à l'abandon par les deux principaux mainteneurs (alor / naga) donc il y avait du travail.

Comme indiqué les deux mainteneurs ont laissé tomber le projet, et c'est donc un nouveau groupe de programmeurs qui s'en occupe au travers de la plateforme github.

(Il y a cependant rien d'officiel, le site chez sourceforge n'indique pas la reprise des travaux par un nouveau groupe)

Téléchargement:

https://github.com/drizztbsd/ettercap/tags

Sur arch linux (aur):
yaourt -S ettercap-drizzbsd

Source: http://bricowifi.blogspot.com/feeds/3259598248554466134/comments/default


un keylogger gratuit livré avec Xorg

Thursday 3 November 2011 at 00:37

Si vous avez installé le paquet xorg-server-utils (sous arch) vous disposez d'un keylogger sur votre système, le logiciel se nomme xinput et vous feriez bien de vous en débarrasser si il est installé.

Le logiciel n'est pas prévu pour être utilisé en keylogger cela dit il le fait très bien…


xinput --list                                                                                                                                       ~
⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ Microsoft  Microsoft Basic Optical Mouse id=8 [slave  pointer  (2)]
⎣ Virtual core keyboard                   id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard             id=5 [slave  keyboard (3)]
    ↳ Power Button                             id=6 [slave  keyboard (3)]
    ↳ Power Button                             id=7 [slave  keyboard (3)]
    ↳ Microsoft Wired Keyboard 400             id=9 [slave  keyboard (3)]

xinput test 9                                                                                                                                   ~
key release 36 
skey press   45 
key release 45 
tkey press   44 
key release 44 
ckey press   43 
key release 43 
,key press   42 
key release 42 
ekey press   41 
key release 41 

Ça ne record pas dans le terminal courant mais bien sur l'ensemble de la session (si vous tapez dans firefox vous aurez les touches utilisés) bien entendu le logiciel fonctionne avec l'utilisateur courant (pas besoin d'être root)

Source: http://bricowifi.blogspot.com/feeds/645141893470088769/comments/default


Ubertooth mode monitor et plus pour le bluetooth

Saturday 2 July 2011 at 00:04

Ubertooth est une plateforme de développement bluetooth open source, ce qui signifie que vous avez les plans pour faire votre ubertooth et des logiciels permettant son fonctionnement, il gère notamment le mode monitor (ce qui vous permet d'enregistrer les transferts bluetooth d'une cible) *(kismet compatible), il peut aussi faire analyseur de spectre ce qui est très intéressant.

L'injection et d'autres choses sympa seront aussi possible.

Les plans de la construction du ubertooth 0 sont dispo  (c'est l'équivalent d'un class 3, donc pas terrible en porté) cela dit l'ubertooth one est l’équivalent d'un class 1 (donc longue porté ~ 100M)
L'ubertooth one est en vente sinon pour 79£, le design est similaire au zero, je pense que plus de details sur la construction viendront avec le temps.

Techniquement ça à l'air sympa mais la construction n'est pas à la porté de tout le monde (le step by step est un poil lège) bref si vous avez du temps un peu d'argent et des compétences en électronique je pense que c'est intéressant à faire.

La page du projet: http://ubertooth.sourceforge.net

La page de vente: http://rfidiot.org/ (dans le tableau)

Source: http://bricowifi.blogspot.com/feeds/6107586350537758408/comments/default


John the ripper et markov pour vraiment casser du hash

Sunday 26 June 2011 at 20:32

Après mon article sur john the ripper opencl, j'ai regardé ce qu'offrait de nouveau le patch jumbo dans les dernières versions, et j'ai eu des bonnes surprises. John the ripper peut s'utiliser simplement sur du pdf de l'archive rar et ssh via pdf2john rar2john et ssh2john.

Mais il y a mieux, pour ceux qui utilisaient incremental mode, il y a maintenant markov.
Incremental est géré par un fichier de configuration et suivant la configuration il va effectuer des mutations sur une liste de mots (par défaut password.lst), ex: dans password.lst j'ai root avec incremental je peux tester à la volé des choses comme 1root root1 root! ...

Markov est un pure outil de probabilités et se base sur une liste de mots de passes déjà récupérés, à partir de la il va effectuer des mutations en fonction des résultats trouvés.

Alors j'ai testé le truc sur une liste de MD5 non crackés disponible sur le web.

J'ai commencé par parser la liste pour récupérer que les MD5 raw (il y avait aussi des MD5 unix), j'arrive à 1610 hash.

Ducoup le plus simple est de commencer par une wordlist de qualité (pas le dico fr et autre, une grosse liste de vrai passwords) (j'utilise notamment rockyou, les crackers de passwords connaissent bien cette liste)

Résultat en deux secondes j'arrive à 333 hash découverts.
guesses: 333  time: 0:00:00:02 DONE

Markov utilise le fichier "stats" alors on peut le générer au préalable avec sa wordlist (bonne wordlist je rappelle, avec doublon < important) ou lancer directement john avec l'option markov, c'est ce que j'ai fait.

Ducoup markov va se baser sur les 333 passwords découverts et générer son fichier stat, ensuite il va utiliser les probabilités pour générer des mots (caractères les plus utilisés etc).

tiré de la doc:

"--markov:LEVEL:START:END:LENGTH

Where:
* LEVEL is the "Markov level". This value is the maximum strength of passwords
that are going to be cracked. When LEVEL increases, the quantity of passwords
that are going to be tested increases exponentially."

(le level max est de 295 il me semble)

Première session:


./john -markov:240:0:0:12 --format=raw-md5 tester
guesses: 188  time: 0:00:22:47 DONE

188 passwords supplémentaires en 22 minutes

2eme:


./john -markov:247:0:0:12 --format=raw-md5 tester
guesses: 25  time: 0:00:46:39 DONE

25 en plus en 46 minutes.

Notez que j'augmente la difficulté donc le temps augmente, de plus markov ne se base plus sur 333 passwords puisqu'il y en a 188 supplémentaires.


./john -markov:260:0:0:10 --format=raw-md5 tester
guesses: 39  time: 0:02:36:09 DONE

39 en plus en 2 heures 36, ici j'ai baissé le max lenght de 12 à 10 caractères pour limiter la monté en difficulté.

./john -markov:270:0:0:9 --format=raw-md5 tester
guesses: 23  time: 0:03:51:32 94.34%

à 270 j'ai ctrl+c au bout de 3H51 ( 94.34%  ) dodo... et 23 passwords en bonus.

Bilan:
sur 1610, j'ai récupéré 610 passwords, dont 333 en deux secondes et le reste en ~8 heures ce qui montre bien l’efficacité redoutable de markov.

Alors évidemment c'était juste pour tester, une rainbow table aurait été beaucoup plus efficace, vu qu'ici il n'y a pas de sel.

####
Pour les wordlist si vous êtes intéressé par le cracking, j'ai déposé une archive sur filesonic avec ni plus ni moins que les meilleurs wordlists dispo (entre autre rockyou) avec aussi celle de chez hotmail myspace phpbb etc, j'ai ajouté une de chez lulzsec que j'ai parsé (extraction des pass uniquement).
Le dossier contient 9 wordlists (véritable passwords avec doublons) idéal pour les proba. ( + les 9 en une sans les doublons).

http://www.filesonic.com/file/1311500691

(par contre je garantis pas la validité du lien x temps, donc si vous téléchargez gardez les précieusement)

Pour markov il est dispo chez openwall (john the ripper version jumbo)

Source: http://bricowifi.blogspot.com/feeds/2981799577133202390/comments/default


virtualhost finder, pour détecter les virtualhost d'un site

Saturday 25 June 2011 at 00:31

Après ma rapide introduction sur les outils permettant de trouver les virtualhost d'un site j'ai fait le mien en bash, parce que les deux qui me semblaient intéressants tournent sous ruby1.8 et je suis en ruby1.9 (et installer ruby1.8 pour un script c'est un peu ridicule).

Ducoup le script utilise le moteur de recherche bing et extrait les donnés (wget grep sed), seulement il y a une limitation, bing a besoin de javascript pour les pages supérieur à 20 ce qui fait que le script s’arrête à la page 20.
Si l'IP ciblé contient plus de 200 virtualhost le script ne pourra en lister que 200 au max, puisque wget n'a pas de moteur javascript.

J'ai pensé à un truc pour passer cette limitation mais je l'ai pas implémenté, cela consiste à faire une recherche avec ip: et ajouter -domain: en précisant le nom de ceux que ont déja été récupérés (20 premières pages) mais la requête ne serait pas accepté (trop longue) ducoup il faudrait séparer avec genre une dizaine de host en moins.

Ce qui donne 20 requêtes de 10 hosts qui crawl 20 pages = 400 pages et un résultat incertain (vu que l'on ne blacklist pas tous les domaines par requêtes on risque de se retrouver avec plein de doublon).
Donc comme indiqué j'ai pas testé car je pense que cela ferait trop de flood par rapport au résultat.

wget http://bricowifi.free.fr/utile/virtualhost-finder
chmod +x virtualhost-finder
./virtualhost-finder

fonctionnement:
1er argument l'IP (ipv4) ou le NDD
2 eme argument facultatif "w" pour écrire le résultat dans votre home.

ex:

./virtualhost-finder ebay.com

Searching virtualhost for 66.135.205.14

Get: http://www.bing.com/search?q=ip%3A66.135.205.14&go=&first=11
Get: http://www.bing.com/search?q=ip%3A66.135.205.14&go=&first=21
Get: http://www.bing.com/search?q=ip%3A66.135.205.14&go=&first=31

http://artist-index.ebay.com
http://billmelater.ebay.com
http://blogs.ebay.com
http://category-keyword.ebay.com
http://chatboards.ebay.com
http://clp-index.ebay.com
http://ebay.com
http://financing-center.ebay.com
http://giftcard.ebay.com
http://givingworks.ebay.com
http://id.ebay.com
http://keyword-index.ebay.com
http://keyword-index.motors.ebay.com
http://mail.ebay.com
http://pages.ebay.com
http://pages.ebay.co.za
http://pages.e-bay.de
http://pages.half.ebay.com
http://pages.motors.ebay.com
http://product-index.ebay.com
http://srx.main.ebayrtm.com
http://store-index.ebay.com
http://www.ebaygivingworks.com

Virtualhost found: 23

Voila, c'est pas forcement très propre comme script mais ça a le mérite de fonctionner (pour le moment, si bing modifie le moteur il y a de fortes chances pour que ça ne fonctionne plus)

Source: http://bricowifi.blogspot.com/feeds/6615651659474834431/comments/default


John the ripper sur GPU avec OpenCL vs x86_64 GCC et ICC

Friday 24 June 2011 at 21:43

Voici des tests de performances avec john the ripper, j'ai testé sur plateforme x86_64 avec GCC ICC et OpenCL, donc CPU (intel core I5 sur un des 4 coeurs) et GPU (Nvidia GTX460)

Notez que john the ripper sur GPU ne supporte pas beaucoup de cyphers:

  1. Raw SHA-1
  2. Raw MD5
  3. Netscape LDAP SSHA
  4. NT MD4
Les différences, pour le CPU j'utilise pas MPICH donc je tire sur un seul coeur de mon i5, le compilateur GCC utilisé est 4.6.0 c'est le compilateur par défaut sur beaucoup de linux, le compilateur ICC est spécialisé pour les processeurs Intel (mais une compilation pour un proc amd devrait fonctionner), vous ne trouverez pas ICC dans vos dépôts à cause de la license  cela dit il est gratuit. La version ICC utilisé est 12.0.4.

Pour le GPU, cela utilise opencl, si vous avez une carte graphique récente (supportant amd ati stream, ou nvidia cuda, c'est bon) la GTX460 n'est pas vraiment une bonne carte pour le cracking sur GPU comme n'importe quel nvidia (ATI à des performances de 8 à 10 fois supérieur pour une carte du même prix que chez nvidia).

Benchmark, la version de john pour le calcul sur CPU avec compilation GCC est 1.7.8
cela donne:

#########
Benchmarking: Traditional DES [128/128 BS SSE2-16]... DONE
Many salts: 2889K c/s real, 2901K c/s virtual
Only one salt: 2393K c/s real, 2398K c/s virtual

Benchmarking: BSDI DES (x725) [128/128 BS SSE2-16]... DONE
Many salts: 88601 c/s real, 88779 c/s virtual
Only one salt: 86656 c/s real, 86656 c/s virtual

Benchmarking: FreeBSD MD5 [32/64 X2]... DONE
Raw: 12508 c/s real, 12533 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64 X2]... DONE
Raw: 766 c/s real, 766 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short: 391372 c/s real, 392157 c/s virtual
Long: 1182K c/s real, 1184K c/s virtual

Benchmarking: LM DES [128/128 BS SSE2-16]... DONE
Raw: 13799K c/s real, 13827K c/s virtual

############
La version john the ripper pour ICC est 1.7.7 jumbo 6, elle supporte bien plus de cyphers étant donné qu'elle dispose du jumbo patch.

Benchmarking: Traditional DES [128/128 BS SSE2-16]... DONE
Many salts: 2744K c/s real, 2772K c/s virtual
Only one salt: 2302K c/s real, 2302K c/s virtual

Benchmarking: BSDI DES (x725) [128/128 BS SSE2-16]... DONE
Many salts: 83840 c/s real, 83840 c/s virtual
Only one salt: 82304 c/s real, 82304 c/s virtual

Benchmarking: FreeBSD MD5 [8x]... DONE
Raw: 26528 c/s real, 26795 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64 X2]... DONE
Raw: 758 c/s real, 758 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short: 384512 c/s real, 384512 c/s virtual
Long: 1233K c/s real, 1233K c/s virtual


...

Benchmarking: Raw MD5 [gen]... Using raw-md5 mode, by linking to md5_gen(0) functions DONE
Raw: 17073K c/s real, 17073K c/s virtual

#########################

Observez que sur le binaire compilé avec ICC les performances ont plus que doublé sur MD5 freebsd.
#########################

La version de john utilisé pour le calcul GPU est 1.7.7 jumbo 1

Benchmarking: Raw SHA-1 OpenCL [SHA-1]... 
Kernel path is : ./sha1_opencl_kernel.cl

OpenCL Platform: <<<NVIDIA CUDA>>> and device: <<<GeForce GTX 460>>>
DONE
Many salts: 23724K c/s real, 23489K c/s virtual
Only one salt: 23489K c/s real, 23489K c/s virtual

Benchmarking: Raw MD5 [raw-md5-opencl]... 
Kernel path is : ./md5_opencl_kernel.cl

OpenCL Platform: <<<NVIDIA CUDA>>> and device: <<<GeForce GTX 460>>>
DONE
Raw: 72673K c/s real, 73400K c/s virtual

Benchmarking: Netscape LDAP SSHA OPENCL [salted SHA-1]... 
Kernel path is : ./ssha_opencl_kernel.cl

OpenCL Platform: <<<NVIDIA CUDA>>> and device: <<<GeForce GTX 460>>>
DONE
Many salts: 44793K c/s real, 44793K c/s virtual
Only one salt: 25964K c/s real, 25964K c/s virtual

Benchmarking: NT MD4 [OpenCL 1.0]... 
Kernel path is : ./nt_opencl_kernel.cl

OpenCL Platform: <<<NVIDIA CUDA>>> and device: <<<GeForce GTX 460>>>
DONE
Raw: 28550K c/s real, 28270K c/s virtual

##############
Notez que sur raw md5 le GPU est 4.25 fois plus rapide que via john compilé avec ICC.

Bilan:

GCC | ICC

Traditional DES 
2889 | 2744
BSDI DES 
88601 | 83840
FreeBSD MD5
12508 | 26528
OpenBSD Blowfish
766 | 758
Kerberos AFS DES
391372 | 384512
LM DES
13799 | 15180
generic crypt
216960 | 256992

ICC | Opencl

Raw SHA-1
8726 | 23724
Raw MD5
17073 | 72673
Netscape LDAP SSHA
3826 | 44793
NT MD4
27532 | 28550

Bilan, suivant le cypher une version peut être plus intéressante qu'une autre, mais n'oubliez pas que sur GPU c'est un des premiers patch disponible, et on constate que les performances sont pas vraiment au rendez vous , car bien qu'elles soient supérieurs je rappelle que sur CPU j'utilise un seul de mes 4 coeurs (2.8Ghz).
Comme indiqué: "Status: applies on top of the john-1.7.7-jumbo-1, currently relevant. 
This patch is experimental and has lot of scope for improvement. If you are interested in hacking / extending JtR to work with GPUs this is the right place to begin ;)"

Vous pouvez suivre l'évolution des patchs pour john the ripper ici: http://openwall.info/wiki/john/patches

Pour l'installation de john classique:

wget http://www.openwall.com/john/g/john-1.7.8.tar.gz
tar zxvf john-1.7.8.tar.gz
cd john-1.7.8/src/
make linux-x86-64

Pour l'installation de la version ICC , téléchargez juste john jumbo et sélectionnez icc pour la compilation.

wget http://www.openwall.com/john/g/john-1.7.7-jumbo-6.tar.gz
tar zxvf john-1.7.7-jumbo-6.tar.gz
cd john-1.7.7-jumbo-6/src/
make linux-x86-64-icc

Pour la compilation de john the ripper support GPU:

wget http://www.openwall.com/john/g/john-1.7.7-jumbo-1.tar.gz
tar zxvf john-1.7.7-jumbo-1.tar.gz
cd john-1.7.7-jumbo-1
wget http://openwall.info/wiki/_media/john/john-1.7.7-jumbo-1-opencl-02.diff.gz
gzip -d john-1.7.7-jumbo-1-opencl-02.diff.gz
patch -Np1 -i john-1.7.7-jumbo-1-opencl-02.diff
cd src
make linux-x86-64-opencl

#La version GPU durant la compilation reste figé un moment (c'est normal)

J'ai réalisé le test après lecture de MISC HS 3 "Casser des mots de passe dans la vrai vie" histoire de vérifier les perfs ICC de john face à GCC, pour le GPU je suis tombé dessus par hasard en regardant la liste de patchs dispo sur openwall, il existe deux autres patchs mais pour Nvidia CUDA (sha256 et phpass)

Source: http://bricowifi.blogspot.com/feeds/4158134532244342186/comments/default


Detection de virtualhost

Tuesday 21 June 2011 at 20:56

La détection de virtualhost permet de lister les domaines liés à un serveur ainsi que les sous domaines d'un site, bref c'est très utile.
Si un site web n'est pas vulnérable à une attaque, l'attaquant peut chercher les autres sites qui sont présent sur le serveur et ainsi tester la sécurité des autres sites.

Démonstration du module présent dans metasploit (copié collé de mon terminal), le module vhost_scanner ne permet que de lister les sous domaines.

msfconsole
##split

msf > search vhost


Matching Modules
================


   Name                                  Disclosure Date  Rank    Description
   ----                                  ---------------  ----    -----------
   auxiliary/scanner/http/vhost_scanner                   normal  HTTP Virtual Host Brute Force Scanner




msf > use auxiliary/scanner/http/vhost_scanne
msf auxiliary(vhost_scanner) > show options


Module options (auxiliary/scanner/http/vhost_scanner):


   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   DOMAIN                    yes       Domain name
   HEADERS                   no        HTTP Headers
   PATH     /                yes       The PATH to use while testing
   Proxies                   no        Use a proxy chain
   QUERY                     no        HTTP URI Query
   RHOSTS                    yes       The target address range or CIDR identifier
   RPORT    80               yes       The target port
   THREADS  1                yes       The number of concurrent threads
   VERBOSE  false            yes       Detailed output
   VHOST                     no        HTTP server virtual host


msf auxiliary(vhost_scanner) > set DOMAIN google.com
DOMAIN => google.com
msf auxiliary(vhost_scanner) > ping -c 1 google.com
[*] exec: ping -c 1 google.com


PING google.com (209.85.146.104) 56(84) bytes of data.
64 bytes from bru01s01-in-f104.1e100.net (209.85.146.104): icmp_req=1 ttl=56 time=37.9 ms


--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 37.948/37.948/37.948/0.000 ms
msf auxiliary(vhost_scanner) > set RHOSTS 209.85.146.104
RHOSTS => 209.85.146.104
msf auxiliary(vhost_scanner) > set THREADS 20
THREADS => 20
msf auxiliary(vhost_scanner) > show options


Module options (auxiliary/scanner/http/vhost_scanner):


   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   DOMAIN   google.com       yes       Domain name
   HEADERS                   no        HTTP Headers
   PATH     /                yes       The PATH to use while testing
   Proxies                   no        Use a proxy chain
   QUERY                     no        HTTP URI Query
   RHOSTS   209.85.146.104   yes       The target address range or CIDR identifier
   RPORT    80               yes       The target port
   THREADS  20               yes       The number of concurrent threads
   VERBOSE  false            yes       Detailed output
   VHOST                     no        HTTP server virtual host


msf auxiliary(vhost_scanner) > exploit


[*] [209.85.146.104] Sending request with random domain rPsOu.google.com 
[*] [209.85.146.104] Sending request with random domain yvcrc.google.com 
[*] [209.85.146.104] Vhost found  services.google.com 
[*] [209.85.146.104] Vhost found  apps.google.com 
[*] [209.85.146.104] Vhost found  mail.google.com 
[*] [209.85.146.104] Vhost found  www.google.com 
[*] [209.85.146.104] Vhost found  web.google.com 
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

#################
En gras les commandes nécessaires: le chargement de vhost scanner, le nom de domaine et l'ip du serveur.

Le test est basique et pas forcement efficace :(
il existe par exemple doc.google.com music.google.com wave.google.com et j'en passe, si on regarde le contenue du script, on a ceci:

valstr = [
"admin",
"services",
"webmail",
"console",
"apps",
"mail",
"intranet",
"intra",
"spool",
"corporate",
"www",
"web"
]

Bon contrairement au module files_dir qui propose la prise en charge d'un dictionnaire (tel que dirbuster) celui la ne propose rien :(
(ducoup 20 threads pour ça c'est pas très utile)

##########
##########

Comme on peut le voir il suffit de tester des mots en sous domaine pour voir si la résolution du nom s’effectue.

Et la on peut utiliser fierce domain scanner qui est un outil permettant entre autre l'usage d'une liste de mots.

wget http://ha.ckers.org/fierce/fierce.pl
wget http://ha.ckers.org/fierce/hosts.txt
perl -MCPAN -e 'install Net::DNS'

perl fierce.pl -dns google.com -wordlist hosts.txt

On trouve quand même bien plus de choses:
209.85.227.93 photos.google.com
209.85.227.190 photos.google.com
209.85.227.100 products.google.com
209.85.227.139 products.google.com
209.85.227.138 products.google.com
...
Found 639 entries.

############
############
Maintenant pour lister des noms de domaine sur une IP il y a une technique simple qui consiste en l'utilisation d'un moteur de recherche "bing", il permet une énumération des virtualhosts via: ip:<ip>
(cf plus bas)

ping bricowifi.free.fr
PING perso165-g5.free.fr (212.27.63.165) 56(84) bytes of data.
64 bytes from perso165-g5.free.fr (212.27.63.165): icmp_req=1 ttl=58 time=29.7 ms

http://www.bing.com/search?q=ip%3A212.27.63.165&go=&qs=n&sk=&form=QBRE

On obtient donc la liste des sites qui sont hébergés avec la même IP que bricowifi.free.fr ( sur perso165-g5.free.fr )

De ce principe certain outils utilise bing pour effectuer le travail et extraire les informations utiles, c'est notamment le cas de hostmap (hostmap.rb) un script en ruby qui fonctionne sous ruby 1.8 http://hostmap.lonerunners.net/index.html
hostmap est vraiment pas mal, mais il plante parfois (testé il y a ~1an).

ruby 1.8 aussi, vconn http://code.google.com/p/vconn/source/checkout
celui la je ne l'ai pas testé il nécessite une gem

en java "dril2.2" celui la est en interface graphique, il est ultra basique.
http://sourceforge.net/projects/dril/
J'ai testé le logiciel ce matin, mais déjà c'est du java, et en plus les sources ne me semble pas dispo (donc bof...)

##########
##########
Par contre si vous voulez flooder bing, il vous faudra une api-key.

EDIT:


http://bricowifi.blogspot.com/2011/06/virtualhost-finder-pour-detecter-les.html


(j'ai fait le mien en bash)

Source: http://bricowifi.blogspot.com/feeds/4789356540060599637/comments/default