• STATISTIQUES
  • Il y a eu un total de 1 membres et 5541 visiteurs sur le site dans les dernières 24h pour un total de 5 542 personnes!


    1 membre s'est inscrit dans les dernières 24h!


    Membres: 2 606
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Python] Bruteforcer avec API Pexpect
24-11-2013, 17h23
Message : #1
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
[Python] Bruteforcer avec API Pexpect
Hey salut à tous !

Je cherchais un moyen pour programmer un petit bruteforcer en python, le soucis c'était qu'il fallait gérer un stdin.

Le programme fait :
Citation :./Prog.c
----------------
Hello Dude !

Serial:
---------------

Il faut donc que notre script intercepte la sortie du prog et puisse entrer des données.

Pexpect

Pexpect est une API pour python géniale, elle gère super bien les entrées/sorties du programme.
C'est pour cela que je fais ce petit post car ses applications peuvent être nombreuses en dehors d'un simple script de BF.

http://pexpect.readthedocs.org/en/latest/overview.html
Mini Tutos :
Code PYTHON :

import pexpect

child = pexpect.spawn ('ftp ftp.openbsd.org') # Prog à lancer avec arguments
child.expect ('Name .*: ') # On attend de trouver ceci sur stdout
child.sendline ('anonymous') # On entre ceci via sdtin
print child.before   # On affiche le résultat de child
child.interact() # Pour récupérer la main de façon interactive
 


Voilà pour l'usage basique (cf documentation)

Le Bruteforce

Code PYTHON :

#!/bin/env python
# -*- coding: utf-8 -*-

#Bruteforce By Thxer

import pexpect, itertools

x = '0123456789'  #Les données qu'on va tester
for a, b, c, d, e, f in itertools.product(x, x, x, x, x, x):
        child = pexpect.spawn('/chemin/vers/Crackme')
        child.expect(' Serial :') # On attend Serial
        passwd = a + b + c + d + e + f
        child.sendline(passwd) # On entre la variable passwd
        try:
                i = child.expect(['try again !!!']) #Si il trouve 'try again' on continu
        except:
                print("= Succes =")            #Sinon on affiche le passwd  
                print("Passwd = "+passwd)
        # debug print passwd


 


Voilà, on peut imaginer plein de choses pour le coup etc ...
Simple, efficace. Big Grin
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (3) -1 (0) Répondre
24-11-2013, 17h28
Message : #2
Sh4dows Hors ligne
Tweetos
*



Messages : 293
Sujets : 5
Points: 49
Inscription : Dec 2012
RE: [Python] Bruteforcer avec API Pexpect
Merci du partage, je chercher un truc dans le genre il y a quelques semaines Smile
Faites ce que je dis et non ce que je fais !
+1 (0) -1 (0) Répondre
24-11-2013, 19h23
Message : #3
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [Python] Bruteforcer avec API Pexpect
(24-11-2013, 17h23)thxer a écrit :
Code PYTHON :
x = '0123456789'  #Les données qu'on va tester
for a, b, c, d, e, f in itertools.product(x, x, x, x, x, x):
        (...)
        passwd = a + b + c + d + e + f

note que tu peux avantageusement remplacer ton itertools.product() par un itertools.combinations_with_replacement() :

Code PYTHON :
liste = [''.join(i) for i in itertools.combinations_with_replacement('0123456789',6)]
for passwd in liste:
        (...)
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (2) -1 (0) Répondre
24-11-2013, 19h28
Message : #4
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] Bruteforcer avec API Pexpect
Merci !
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
25-11-2013, 13h31
Message : #5
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] Bruteforcer avec API Pexpect
Comment savoir le nombre de combinaisons testées par seconde sans afficher la sortie ?
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
25-11-2013, 16h31
Message : #6
0pc0deFR
Non-enregistré



 
RE: [Python] Bruteforcer avec API Pexpect
Une boucle avec une incrémentation et un affichage du nombre de password testé. Quelque chose qui peut te permettre d'avoir une moyenne du nombre de tests par seconde. Tu récupères la date/heure au démarrage du bruteforce et la date/heure à la fin du bruteforce, tu récupères la différence puis tu divises le nombre de password testé (que tu as récupéré via l'incrémentation dans ta boucle) par la différence de temps. Admettons 500 passwords en 15 secondes, ça te fait environ 33 passwords par seconde.
positive (2) negative (0) Répondre
25-11-2013, 19h05
Message : #7
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] Bruteforcer avec API Pexpect
Pas bête merci !
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 871 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 181 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 226 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 125 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 420 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 293 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 193 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 174 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 140 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 372 15-08-2014, 20h26
Dernier message: sakiir

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut