Python 取证 - 云上实现

  • 简述

    云计算可以定义为通过 Internet 提供给用户的托管服务的集合。它使组织能够消耗甚至计算资源,其中包括虚拟机 (VM)、存储或作为实用程序的应用程序。
    用 Python 编程语言构建应用程序的最重要优势之一是它包括在任何平台上虚拟部署应用程序的能力,其中包括也是。这意味着 Python 可以在云服务器上执行,也可以在台式机、平板电脑或智能手机等便携式设备上启动。
    一个有趣的观点是创建一个云基础,生成Rainbow tables. 它有助于集成应用程序的单处理和多处理版本,这需要一些注意事项。
  • Pi Cloud

    Pi Cloud 是云计算平台,它集成了 Python 编程语言和 Amazon Web Services 的计算能力。
    Pi Cloud
    让我们看一个实现 Pi 云的示例rainbow tables.
  • 彩虹表

    rainbow table被定义为特定于给定哈希算法的加密密码的所有可能纯文本排列的列表。
    • 彩虹表遵循标准模式,创建散列密码列表。
    • 文本文件用于生成密码,其中包括要加密的密码的字符或纯文本。
    • 该文件由Pi云使用,它调用要存储的main函数。
    • 散列密码的输出也存储在文本文件中。
    该算法也可用于将密码保存在数据库中,并在云系统中进行备份存储。
    以下内置程序在文本文件中创建加密密码列表。

    例子

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

    输出

    此代码将产生以下输出 -
    云实施输出
    密码存储在可见的文本文件中,如以下屏幕截图所示。
    存储在文本文件中的密码