Python Forensics - Implementazione del cloud
Cloud computingpuò essere definito come una raccolta di servizi ospitati forniti agli utenti su Internet. Consente alle organizzazioni di utilizzare o persino calcolare la risorsa, che include macchine virtuali (VM), archiviazione o un'applicazione come utilità.
Uno dei vantaggi più importanti della creazione di applicazioni nel linguaggio di programmazione Python è che include la possibilità di distribuire applicazioni virtualmente su qualsiasi piattaforma, che include cloudanche. Ciò implica che Python può essere eseguito su server cloud e può anche essere avviato su dispositivi pratici come desktop, tablet o smartphone.
Una delle prospettive interessanti è la creazione di una base cloud con la generazione di Rainbow tables. Aiuta a integrare versioni singole e multiprocessing dell'applicazione, il che richiede alcune considerazioni.
Pi Cloud
Pi Cloud è la piattaforma di cloud computing, che integra il linguaggio di programmazione Python con la potenza di calcolo di Amazon Web Services.
Diamo un'occhiata a un esempio di implementazione di cloud Pi con rainbow tables.
Tabelle arcobaleno
UN rainbow table è definito come un elenco di tutte le possibili permutazioni di testo normale di password crittografate specifiche per un dato algoritmo hash.
Le tabelle arcobaleno seguono uno schema standard, che crea un elenco di password con hash.
Un file di testo viene utilizzato per generare password, che includono caratteri o testo semplice di password da crittografare.
Il file viene utilizzato dal cloud Pi, che chiama la funzione principale da memorizzare.
Anche l'output delle password con hash viene memorizzato nel file di testo.
Questo algoritmo può essere utilizzato anche per salvare le password nel database e disporre di un archivio di backup nel sistema cloud.
Il seguente programma integrato crea un elenco di password crittografate in un file di testo.
Esempio
import os
import random
import hashlib
import string
import enchant #Rainbow tables with enchant
import cloud #importing pi-cloud
def randomword(length):
return ''.join(random.choice(string.lowercase) for i in range(length))
print('Author- Radhika Subramanian')
def mainroutine():
engdict = enchant.Dict("en_US")
fileb = open("password.txt","a+")
# Capture the values from the text file named password
while True:
randomword0 = randomword(6)
if engdict.check(randomword0) == True:
randomkey0 = randomword0+str(random.randint(0,99))
elif engdict.check(randomword0) == False:
englist = engdict.suggest(randomword0)
if len(englist) > 0:
randomkey0 = englist[0]+str(random.randint(0,99))
else:
randomkey0 = randomword0+str(random.randint(0,99))
randomword3 = randomword(5)
if engdict.check(randomword3) == True:
randomkey3 = randomword3+str(random.randint(0,99))
elif engdict.check(randomword3) == False:
englist = engdict.suggest(randomword3)
if len(englist) > 0:
randomkey3 = englist[0]+str(random.randint(0,99))
else:
randomkey3 = randomword3+str(random.randint(0,99))
if 'randomkey0' and 'randomkey3' and 'randomkey1' in locals():
whasher0 = hashlib.new("md5")
whasher0.update(randomkey0)
whasher3 = hashlib.new("md5")
whasher3.update(randomkey3)
whasher1 = hashlib.new("md5")
whasher1.update(randomkey1)
print(randomkey0+" + "+str(whasher0.hexdigest())+"\n")
print(randomkey3+" + "+str(whasher3.hexdigest())+"\n")
print(randomkey1+" + "+str(whasher1.hexdigest())+"\n")
fileb.write(randomkey0+" + "+str(whasher0.hexdigest())+"\n")
fileb.write(randomkey3+" + "+str(whasher3.hexdigest())+"\n")
fileb.write(randomkey1+" + "+str(whasher1.hexdigest())+"\n")
jid = cloud.call(randomword) #square(3) evaluated on PiCloud
cloud.result(jid)
print('Value added to cloud')
print('Password added')
mainroutine()
Produzione
Questo codice produrrà il seguente output:
Le password vengono memorizzate nei file di testo, che è visibile, come mostrato nello screenshot seguente.