vendredi 2 décembre 2011

La tumeur Node.js

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 Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

mardi 29 novembre 2011

Changer de dns pour accéder à megaupload

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.

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

dimanche 20 novembre 2011

Ettercap 0.7.4.2 dispo

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 Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

jeudi 3 novembre 2011

un keylogger gratuit livré avec Xorg

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)
Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

samedi 2 juillet 2011

Ubertooth mode monitor et plus pour le bluetooth

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) Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

dimanche 26 juin 2011

John the ripper et markov pour vraiment casser du hash

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) Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

samedi 25 juin 2011

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

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)
Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

vendredi 24 juin 2011

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

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)
Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

mardi 21 juin 2011

Detection de virtualhost

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


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)
Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

dimanche 19 juin 2011

Bonjour le hacking facile avec metasploit framework 3.7.*

Cela faisait un bail que j'avais pas utilisé le Metasploit framework et à ma grande surprise il est livré en version full avec 90% de ce qui est nécessaire pour faire tourner metasploit (>=3.7.1) correctement.

Il dispose notamment de ruby 1.9, java, postgresql, ...

Alors comme cela faisait un moment que j'avais pas utilisé cet outil, j'ai testé la chose la plus simple pour un débutant "db_autopwn"
Après installation du framework:
msfconsole


msf > db_status
[*] postgresql connected to msf3

Postgresql est déjà prêt à faire fonctionner db_autopwn :/

db_nmap 192.168.1.18

(scan nmap directement dans le framework, nmap est intégré avec la version full)

db_autopwn -p -e

########Résultat
Une commande pour installer le metasploit framework avec 90% du nécessaire, et deux commandes pour attaquer de façon automatisé une cible...

Après redémarrage de ma machine au lancement de la msfconsole pas de postgresql, donc en fait msfconsole ne lance pas directement postgresql, par contre il y a un script dans <path framework>/postgresql/scripts 'ctl.sh'
ctl.sh permet de lancer postgresql, stopper et vérifier le status, vous pouvez le lancer depuis son répertoire ./ctl.sh start ou le placer dans init || rc pour un lancement avec le démarrage du système.

La configuration de pgsql se trouve dans <path framework>/config/database.yml

######
Armitage! un gui relativement récent pour metasploit qui est intégré au framework en version full, il y avait déjà msfgui (obsolète) et un autre de scriptjunkie.

Le lancement:

msfrpcd -f -S -U msf -P test -t Basic
(dans un autre shell):
armitage

(le msfrpcd est configuré avec login et password par défaut au lancement de armitage, plus l'option -S qui désactive SSL, le résultat étant qu'un simple connect dans armitage doit le lancer, mais il est préférable de changer les options par défaut, l'option -f permet de garder en premier plan xmlrpc de msfrpcd un simple ctrl+c peut le couper)

Attention armitage nécessite que postgresql (ou autre db mais la version full intègre juste pgsql) soit lancé (cf plus haut).(la config pour la connexion de armitage à postgresql n'est pas à modifier si vous utilisez le pgsql intégré au framework)

Il y a un petit bug quand même dans msf full 64bits, le java est en 32bits et ça foire au lancement de armitage (ou j'ai téléchargé la version 32bits si ça se trouve :s).

Sous arch linux pour fixer le problème de façon très vite fait:
pacman -S jre jdk
mv /opt/java <path framework/
(pour une installation par défaut):
mv /opt/java /opt/framework-3.7.1/


#######
Pour l'installation full, quand je dis que ça installe 90% de ce qui est nécessaire cela n'installe pas:

"lorcon" "lorcon2" "aircrack" --> pour le pentest wifi (lorcon est un module, donc c'est à compiler avec le compilateur qui à été utilisé pour compiler le kernel, de plus ca risquerait de foirer sur certaines plateformes avec des vieux kernels etc)

"burp-proxy" --> pour le pentest web avec wmap (nécessite de patcher burp-suite free)

"openvas || nessus || nexpose" --> scan (nmap est intégré)
etc Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

mercredi 15 juin 2011

Serveur dédié à 10 euros chez digicube

Après mon billet sur les serveurs dédiés lowcost qui date de presque un an, je suis allé voir les offres proposés, étant donné que l'on était sur du 15€/mois on peut dire que c'est difficile de faire moins, et pourtant digicube l'a fait avec une offre de dix euros HT.

Pour rappel du billet précédent:
digicube

+meilleur processeur
+HD
-RAM 1Go
-frais d'installation

dedibox

+connexion 1Gbit/sec
-frais d'installation

OVH

+pas de frais d'installation
-processeur

########

Digicube passe donc à 10 euros, sauf que le matériel est plus limité, la RAM passe donc de 1Go à 512M et le HD de 160 à 80Go.

Mais! Il y a un avantage chez digicube, c'est que le site est un peu comme chez dell vous pouvez configurer votre matériel ce qui fait que pour 15euros vous pouvez passer sur un processeur intel atom  330/D510 (1.6Ghz double coeur et deux thread par coeur) ou un HD plus gros, ou plus de RAM etc.
Ce qui donne une grande liberté de configuration en fonction des besoins.

#########Pour finir

Il y a eu pas mal de commentaires sur le billet des serveurs lowcost, et donc il me parait intéressant d'ajouter mon expérience sur deux des commentaires.

1 Dedibox fait du filtrage ( blocage p2p IRC)
-> C'est faux, c'était vrai il y a quelques années mais plus maintenant, il n'y a rien de filtré.

2 Dedibox offre une carte 1Gb/s mais le débit est limité à 100Mb/s
-> c'est plus vrai que faux, screenshot de speedtest.net sur une dedibox v3 en VNC.


L'url de digicube pour l’offre small (configuré à 15€ par défaut "1G de ram et HD 160Go")

http://www.digicube.fr/details/small Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

samedi 24 juillet 2010

La Guerre des serveurs dédiés lowcost continue

Il y a quelque mois free a sortit sa debibox v3 a un tarif de 14,99 euros HT, il aura pas fallu longtemps a OVH pour suivre avec une kimsufi au même tarif, maintenant c'est diicube qui fait un effort avec un tarif encore plus bas, 13,99 soit un euro de moins.

Details des offres:

en rouge digicube, en vert debibox, en bleu OVH

Processeur:

Intel Atom 230/D410 1,6 GHz( deux CPU) /  VIA Nano U2250 1x 1,6 GHz /  Intel Celeron 1x 1,20 Ghz

Mémoire RAM:

1Go DDR2 / 2Go DDR2 /  2GO DDR1 ou DDR2

Mémoire Disque Mou:

SATA 2 80Go / SATA 2 160Go / 250Go

Connexion:

100Mbits/s  /   1Gbit/sec  /  100Mbits/s

Trafic:

pseudo illimité / illimité  "tout usages autorisés"/ pseudo illimité (chute à 20Mbits/sec si plus de 4To dans le moi de transfert, il me semble )


Frais d'installations HT:

29,99 euros HT / 39,99 euros HT / 0 euro


Système d'exploitation proposés (libre):

Ubuntu, Debian, Centos, Fedora, Mandriva, Opensuse, Freebsd, Openbsd (gentoo? en logo mais pas dans le detail de la liste des serveur )

K/ubuntu, mandriva, debian, centos (ubu, kubu, debian + version plesk)

Ubuntu, Debian, Centos, Fedora, Mandriva, Opensuse, Freebsd, pseudo redhat, arch linux...

Avis perso:

1 debiboite
2 digicube
3 kimsufi

Liens:

digi:
http://www.digicube.fr/details/small

debiboite:

http://www.online.net/serveur-dedie/offre-dedibox-v3.xhtml

kim:

http://www.kimsufi.com/ks/#network
Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

jeudi 15 juillet 2010

afficher la durée d'une video en ligne de commande

Pour un script perso, j'avais besoin de connaître la durée d'un fichier video en ligne de commande (.avi), je voyais pas trop comment le faire simplement;

Donc j'ai testé un simple "file fichier.avi" mais biensurs ca ne le donne pas, ca donne encodage, et résolution entre autre.

Le plus logique est d'installer un truc qui sert pour la video. J'installe mplayer et ca marche pas (enfin j'ai pas trop cherché...), finalement j'ai installé ffmpeg qui dispose de moins de dépendances que mplayer et affiche la durée.

Ce qui donne (si ca peut aider certain):

ffmpeg -i video.avi 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..."

00:51:09.40


Sinon en heure(s) / minutes

ffmpeg -i video.avi 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'

00:51

Pareil mais avec deux vids dans le dossier, et sans avoir a renseigner le nom.


export var=`ls | grep .avi | sed "2d"`
ffmpeg -i $var 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'
export var2=`ls | grep .avi | sed "1d"`
ffmpeg -i $var2 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'


Si quelqu'un a mieux (logiciel plus light en dépendances, etc) qu'il n'hésite pas... Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

lundi 12 juillet 2010

oh, un google en ssl



The identity of this website has been verified by google internet authority

Your connection to encrypted.google.com is encrypted with 128-bit encryption.

Bon apparement y a pas google.fr de dispo  mais ca devrait pas tarder, j'ai pas regardé si ils envoyaient le referer dans le header, mais au quel cas, si ils passent en 100% SSL, des entreprises comme xiti risquent de prendre cher comparé à analytics...

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

vendredi 9 juillet 2010

Convertir une image virtualbox vers vmware

Un petit sujet sur la conversion d'une image virtualbox vers vmware, donc image *.vdi vers *.vmdk (vdi format de disque virtualbox, et vmdk format de disque virtualbox).
Pour que faire ?
Et bien, je tourne sous nux, et je voulais installer windows xp avec le vmware player (3.1) qui permet la création d'image et est gratuit.
Sauf que vmware detecte windows et active le easy installer, ce qui fait qu'il change automatiquement la clé du windows par une temporaire, necessitant de rentrer une clé par la suite pour l'activer.
Et moi, j'ai pas de clé, j'ai bien un windows xp version cd, qui était livré avec mon dell (en option, faut payer...), mais le cd en question est bidouilé made in Dell et fonctionne que sur les Dell, donc ca passe pas en virtualisation.
J'ai donc acheté un windows xp mkex64 4.8, chez le distributeur piratebay (la version gratuite), la clé est donc intégré.


Bref ducoup je l'ai installé sur virtuabox pour pas qu'il me foute leur clé temporaire, et ca marche impecable, sauf que je prefere vmware pour les utilités dans la machine et en general (drag&drop, gestion 3D, bonne gestion USB, mémoire alloué dynamiquement jusqu'au seuil max de configuration, etc)


Bon je passe l'installation de windows sous virtualbox, donc on a un disque vdi, et on va le passer en vmdk, avant de continuer vous devez savoir que la conversion ne fera pas une image disque de l'espace utilisé dans la machine, elle fera la taille du disque virtuel, c'est à dire si dans virtualbox vous avez choisi un disque à image dynamique de 40Go (votre || vos) image(s) vmdk ca donnera 40Go d'espace disque.


Donc si vous réalisez la manipulation pour vous passer de serial, choisissez plus un disque dynamique de 5Go.



  • On passe notre image windows sur disque vdi chez cousin vmdk.



Pour ca c'est rapide virtualbox propose un outil très bien réalisé VBoxManage, on peut convertir en raw en vmdk en vdi en vhd ou autre (vhd c'est format microsoft, et raw bein c'est brute)
Une conversion en raw peut être porté sur n'importe quel machine au passage, si vous voulez travailler en virtualisation et passer l'image sur disque dur ou autre, c'est cette option qu'il faudra faire, ensuite un coup de DD pour placer l'image et hop c'est bon, on peut aussi imaginer la location d'un serveur qui ne propose pas un OS que vous voulez, suffit d'avoir un systeme rescue avec dd et c'est bon.


Bon il faut reperer l'image disque vdi de votre machine virtuelle, pour la convertir, sous une ubuntu avec a virtuabox des depots et une configuration par defaut, c'est ici:



~/.VirtualBox/HardDisks/wind.vdi

(si c'est pas, la), lancez ceci:


find ~/ -name *.vdi -print


Ensuite on se deplace dans le répertoire

cd ~/.VirtualBox/HardDisks/

et on convertit:

VBoxManage clonehd wind.vdi --variant Split2G --format VMDK winy.vmdk



clonehd = copie du disque
wind.vdi = mon disque virtualbox a convertir
--variant Split2G = découpe du fichier final en morceau de 2Go (important dans certain cas, genre si vous voulez déplacer le nouveau disque sur du FAT32, vous pourrez pas si votre image fait pus de 4Go)
--format VMDK = selection du format de disque utiisé par vmware
winy.vmdk = le nom de sauvegarde de mon nouveau disque compatible vmware


Donc si vous avez un disque de 5Go à convertir c'est très rapide, mais on a pas terminé.


Maintenant on prépare notre configuration dans vmware player, (donc créez une nouvelle machine)


On précise qu'on va installer plustard:



Après vous rempissez les trucs classique (tout par défaut c'est bon)
A la dernière étape on peut customiser le hardware, donc on rentre dedans, réglez la mémoire max, le nombre de CPU etc (ne retirer pas le lecteur de disque optique, c'est utile pour l'installation des vmware tools, même si vous avez pas de lecteur physique)
Sauvegardez, quittez, et retournez dans la configuration, vous devez avoir un HD dedans car vous avez terminé la conf précédemment et l'image est créé.
Faites ajouter (en bas le plus avec marqué add), on sélectionne HD comme sur le mega screenshot:


La on précise qu'on va utiliser un disque existant, bein ouai celui qu'on vient de convertir en vmdk :) ...


On sélectionne notre image disque vmdk (le nom le plus court), donc notre image est dans le dossier de chez virtualbox, vous devriez peut être déplacer les disque vmdk dans celui de vmware, c'est vous qui voyer, c'est juste plus logique, et plus simple si vous réalisez des backups


On fait son histoire de compatibilité, pour des futures MAJ de vmware


Ensuite, on retire notre premier disque (celui que vmware a créé durant l'installation, le disque est vide et sert à rien)


On sélectionne notre nouveau disque (celui qu'on avait convertit et ajouté), on clique sur "advanced" (à droite) et on sélectionne IDE 0:0 (sinon ca fonctionnera pas)


ET ON SAUVEGARDE, puis on test (on peut par la suite augmenter la taille du disque etc, si vous avez fait un disque de 5Go pour une conversion rapide)


(la virtualbox utilisé, est une série 3.1.*, je dis ca car sous les séries 2 vboxmanage a un autre nom il me semble) Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

mardi 6 juillet 2010

la vitesse va être à prendre pour le SEO

http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html

Au dessus de 1 seconde et demi, google considérera le site comme lent, donc malus au niveau du moteur de recherche.

Perso je trouve quand même que l'idée bonne, y a rien de pus chiant qu'attendre qu'une page charge... (surtout quand il faut attendre que les 30 widgets chargent ainsi que les 50 pubs qu'on se prend en rafale de pop up, si on a le malheur de pas sortir couvert avec un adblock)

(pour faire un petit test rapide: http://gtmetrix.com/ ) après la vitesse dépend de pas mal de facteurs, mais ca donne un apercu, avec des propositions d'optimisations.

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

vendredi 2 juillet 2010

SVN

Des changements:

http://code.google.com/p/volatility/source/list (outil de forensics RAM)

http://code.google.com/p/beef/source/list (travail en parallèle sur un port de beef réécrit en ruby, classé dans branch, RBeEF

http://code.google.com/p/weevely/source/list (une backdoor en php) Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

Crunch 2.4 wordlist generator (update qui date de plus de 15 jours)

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

openvas-scanner-3.1.0.rc3

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D

netexpect 0.18

Lire la suite...
Un problème? Venez en parler sur le forum, tout a une solution :D
 
LinuxStore