• STATISTIQUES
  • Il y a eu un total de 0 membres et 28132 visiteurs sur le site dans les dernières 24h pour un total de 28 132 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [FR] Infomirmo
    Challenge présenté sous la forme de 6 niveaux de difficultés diverses et variées avec chacun plusieurs chall...
    Challenges
    [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges

  • 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 936 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 136 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 222 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 117 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 425 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 342 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 156 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 176 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 123 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 417 15-08-2014, 20h26
Dernier message: sakiir

Atteindre :


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