Python Forensics - Implementierung der Cloud

Cloud computingkann als eine Sammlung von gehosteten Diensten definiert werden, die Benutzern über das Internet bereitgestellt werden. Es ermöglicht Organisationen, die Ressource zu nutzen oder sogar zu berechnen, einschließlich virtueller Maschinen (VMs), Speicher oder einer Anwendung als Dienstprogramm.

Einer der wichtigsten Vorteile beim Erstellen von Anwendungen in der Programmiersprache Python besteht darin, dass Anwendungen praktisch auf jeder Plattform bereitgestellt werden können, einschließlich cloudauch. Dies bedeutet, dass Python auf Cloud-Servern ausgeführt und auch auf handlichen Geräten wie Desktop, Tablet oder Smartphone gestartet werden kann.

Eine der interessanten Perspektiven ist die Schaffung einer Cloud-Basis mit der Generierung von Rainbow tables. Es hilft bei der Integration von Einzel- und Mehrfachverarbeitungsversionen der Anwendung, was einige Überlegungen erfordert.

Pi Cloud

Pi Cloud ist die Cloud-Computing-Plattform, die die Programmiersprache Python in die Rechenleistung von Amazon Web Services integriert.

Schauen wir uns ein Beispiel für die Implementierung von Pi-Clouds mit an rainbow tables.

Regenbogentabellen

EIN rainbow table ist definiert als eine Auflistung aller möglichen Klartextpermutationen von verschlüsselten Passwörtern, die für einen bestimmten Hash-Algorithmus spezifisch sind.

  • Regenbogentabellen folgen einem Standardmuster, das eine Liste von Hash-Passwörtern erstellt.

  • Eine Textdatei wird verwendet, um Passwörter zu generieren, die Zeichen oder einfachen Text von zu verschlüsselnden Passwörtern enthalten.

  • Die Datei wird von der Pi Cloud verwendet, die die zu speichernde Hauptfunktion aufruft.

  • Die Ausgabe von Hash-Passwörtern wird ebenfalls in der Textdatei gespeichert.

Dieser Algorithmus kann verwendet werden, um Kennwörter auch in der Datenbank zu speichern und einen Sicherungsspeicher im Cloud-System zu haben.

Das folgende integrierte Programm erstellt eine Liste verschlüsselter Kennwörter in einer Textdatei.

Beispiel

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

Ausgabe

Dieser Code erzeugt die folgende Ausgabe -

Die Passwörter werden in den sichtbaren Textdateien gespeichert, wie im folgenden Screenshot gezeigt.