Requisiti per continuare a leggere questo post:
- Conoscenza minima del linguaggio di programmazione Python
- Conoscenza della tecnica bruteforce, basta leggere questo articolo: Bruteforce, Il Metodo Più Efficace Per Rubare Una Password
Ecco un prima bozza del bruteforce (scritto da me): BruteForce.py - Esempio 01 (il codice è molto commentato)
Ecco il risultato:
Come si può notare, se viene avviate il file vengono stampate a schermo tutte le possibili combinazioni (in matematica vengono chiamate permutazioni) composte dai caratteri nella lista.
Per ora il nostro programma non fa altro che stampare tutte le password possibili, ma come veniamo a conoscenza di quella corretta? Per fare questo bisogna implementare (modificare) la funzione testaPassword che per ora stampa solo la stringa passatagli come parametro.
Vedremo tutto nella prossima parte di questa guida!
Parte2 graziee
RispondiEliminaMolto bello anche questo articolo, aspetto con ansia una seconda parte :)
RispondiEliminaNon preoccuparti, arriverà a breve.
Eliminadef permute(seq):
RispondiElimina'''Ritorna la lista di tutte le permutazioni della sequenza seq'''
if len(seq) <= 1:
perms = [seq]
else:
perms = []
for i in range(len(seq)):
# genera ricorsivamente le permutazioni degli elementi
# escluso l'i-esimo elemento
sub = permute(seq[:i]+seq[i+1:])
for p in sub: # mette in testa l'i-esimo elemento
perms.append(seq[i:i+1]+p)
return perms
# un piccolo programma ricorsivo che in poche righe trova tutte le permutazioni...
Grazie marius, la tua soluzione è certamente più elegante, tuttavia in questa guida ho ritenuto opportuno iniziare dalla base ed è per questo che ho scelto quell'approccio. Grazie per il commento e per l'ottima soluzione che hai proposto.
Eliminase avete problemi con l'indetazione contattatemi ;)
RispondiEliminaprego, è un piacere per me!
RispondiEliminapotendo usare la ricorsione fino a 999 iterazioni, secondo voi è più utile il metodo descritto sopra da me appunto ricorsivo, oppure quello scritto da voi?
RispondiEliminaNel caso da te citato, a mio parere, è migliore il metodo che hai descritto.
EliminaIl bruteforce si può fare anche in linguaggio c? Perchè secondo me il linguaggio c è abbastanza semplice
RispondiEliminaEh insomma, è semplice la sintassi ma concettualmente è un po' complicato perchè non è dotato di vasta libreria standard come il Python. Prova a spiegare il concetto di puntatore ad un neofita, non comprenderà nulla se non sa almeno le basi della programmazione, basi che possono essere acquisite grazie a linguaggi più semplici quali il Python.
EliminaBell'articolo, ma la seconda parte?
RispondiEliminaAvevo dimenticato di aggiornare la scritta: "Parte 2 non ancora disponibile". Comunque c'è la seconda parte ed inoltre è in arrivo anche la terza.
Eliminami sai dire se funziona con clash of clans ?
RispondiEliminase si me lo spieghi
grazie 1000
Se non erro clash of clans è un browser game quindi si potrebbe tentare con un bruteforce via http che spiegherò nella prossima guida. Siccome quest'ultima è un po' complicata da spiegare, sto impiegando del tempo per scriverla.
Eliminaavevo una domanda da fare anzi due mi son informato sul linguaggio di programmazione python ma esistono diverse versioni e non trovo quella che servirebbe a me, il download è gratis?
RispondiEliminaTi consiglio di iniziare dalla versione 2.7.3, il download è assolutamente gratuito.
EliminaNon mi apre l'IDLE di python! Sono inesperto e vorrei imparare, quindi ho scaricato python e ho cercato l'IDLE ma mi dice che c'è un errore irreversibile,che non trova un componente. Grazie a chiunque mi possa aiutare
RispondiEliminaNiente ho messo una versione compatibile e ora funziona :D
EliminaMi da alcuni errori di sintassi uffa ):
EliminaProva a riscrivere il codice anzichè copiarlo e incollarlo. Inoltre ti ricordo di scaricare una versione Python 2.7.
Eliminadriver vorrei farti delle domande allora io pyton non l ho mai usato se è possibile fare un brutal tramite visual basic ho scaricato pyton credo che ho fatto bene l idle ma mi sono perso se poi puoi aiutarmi ti ringrazio
RispondiEliminaImpara prima il Python, ci sono dei tutorial molto validi su youtube. Una volta imparato, puoi procedere con la creazione del Bruteforce.
EliminaCiao, bella guida :D volevo sapere solo una cosa..come faccio a stoppare la stampa dei caratteri una volta trovata la password? Basandomi sul tuo codice ho scritto quanto segue:
RispondiEliminaimport time
# creiamo la lista caratteri
lc=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ".", ",", "-", "_", "@", "+"]
find=False #Variabile booleana che ci indica se la password e' stata trovata
def verifica(password):
time.sleep(0.05)
print(password)
try:
if(password=="AAAZ"):
print("La password giusta e': ")
print(password)
return password
find=True
except:
return
while find==False:
for c1 in lc:
for c2 in lc:
for c3 in lc:
for c4 in lc:
password=c1+c2+c3+c4
verifica(password)
Il problema è quindi che una volta trovata la password, continua a stampare tutte le altre possibili combinazioni, io invece vorrei che si bloccasse quando la trova, mi puoi aiutare a correggere il codice? Grazie ;)
Leggi la seconda parte della guida e capirai meglio.
EliminaCiao dove posso contattarti? Ho bisogno di una mano grazie
RispondiEliminaPuoi contattarmi all'indirizzo email: diventarehackerblog@gmail.com
EliminaMa non ho capito, devo scaricarlo Python?
RispondiEliminaPython è un linguaggio di programmazione, non puoi scaricarlo. Quello che devi scaricare è un programma (chiamato interprete) che capisca il linguaggio Python e lo esegua.
EliminaÈ come dire che per parlare con un uomo portoghese devi acquistare la lingua portoghese. No! Devi, invece, pagare un interprete che ti spieghi in italiano (per te comprensibile) cosa dice l'uomo portoghese e che traduca in portoghese ciò che tu dici in lingua italiana.
Spero di aver reso, l'idea.
L'interprete Python puoi scaricarlo gratuitamente dal sito ufficiale:
http://www.python.it/download/
che versione hai usato?
RispondiEliminaSiccome ci ho sbattuto la testa diverse volte e non sono riuscito a venirne a capo. offro una ricompensa simbolica a chi mi scova la mia psw di http://www.oddsportal1.com/ , il mio nome utente è clarencito1, per agevolarvi vi dico che è di 4 lettere comprese tra A e F
RispondiElimina