Python Forensics - Implémentation du Cloud

Cloud computingpeut être défini comme un ensemble de services hébergés fournis aux utilisateurs sur Internet. Il permet aux organisations de consommer ou même de calculer la ressource, qui comprend des machines virtuelles (VM), du stockage ou une application en tant qu'utilitaire.

L'un des avantages les plus importants de la création d'applications en langage de programmation Python est qu'il inclut la possibilité de déployer des applications virtuellement sur n'importe quelle plate-forme, ce qui inclut cloudainsi que. Cela implique que Python peut être exécuté sur des serveurs cloud et peut également être lancé sur des appareils pratiques tels qu'un ordinateur de bureau, une tablette ou un smartphone.

L'une des perspectives intéressantes est la création d'une base cloud avec la génération de Rainbow tables. Il aide à intégrer des versions mono et multitraitement de l'application, ce qui nécessite quelques considérations.

Nuage Pi

Pi Cloud est la plate-forme de cloud computing, qui intègre le langage de programmation Python à la puissance de calcul d'Amazon Web Services.

Jetons un coup d'œil à un exemple d'implémentation de nuages ​​Pi avec rainbow tables.

Tables arc-en-ciel

UNE rainbow table est défini comme une liste de toutes les permutations possibles en texte brut de mots de passe chiffrés spécifiques à un algorithme de hachage donné.

  • Les tables arc-en-ciel suivent un modèle standard, qui crée une liste de mots de passe hachés.

  • Un fichier texte est utilisé pour générer des mots de passe, qui incluent des caractères ou du texte brut des mots de passe à chiffrer.

  • Le fichier est utilisé par Pi cloud, qui appelle la fonction principale à stocker.

  • La sortie des mots de passe hachés est également stockée dans le fichier texte.

Cet algorithme peut également être utilisé pour enregistrer les mots de passe dans la base de données et disposer d'un stockage de sauvegarde dans le système cloud.

Le programme intégré suivant crée une liste de mots de passe chiffrés dans un fichier texte.

Exemple

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()

Production

Ce code produira la sortie suivante -

Les mots de passe sont stockés dans les fichiers texte, qui sont visibles, comme illustré dans la capture d'écran suivante.