Python取证 - 云端实现



云计算可以定义为通过互联网向用户提供的一组托管服务。它使组织能够像使用公用事业一样使用或计算资源,包括虚拟机(VM)、存储或应用程序。

使用Python编程语言构建应用程序最重要的优势之一是它能够将应用程序几乎部署到任何平台,包括。这意味着Python可以在云服务器上执行,也可以在方便的设备上启动,例如台式机、平板电脑或智能手机。

一个有趣的视角是创建基于彩虹表生成的云端数据库。这有助于集成应用程序的单进程和多进程版本,但这需要一些考虑。

Pi云

Pi云是一个云计算平台,它将Python编程语言与Amazon Web Services的计算能力相结合。

Pi Cloud

让我们来看一个使用彩虹表实现Pi云的例子。

彩虹表

彩虹表定义为针对给定哈希算法的所有可能的加密密码的明文排列列表。

  • 彩虹表遵循标准模式,它创建一个哈希密码列表。

  • 一个文本文件用于生成密码,其中包括要加密的密码的字符或明文。

  • Pi云使用该文件调用要存储的主函数。

  • 哈希密码的输出也存储在文本文件中。

此算法也可以用于将密码保存在数据库中,并在云系统中拥有备份存储。

以下内置程序在文本文件中创建一个加密密码列表。

示例

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

输出

这段代码将产生以下输出:

Cloud Implementation Output

密码存储在文本文件中,如下图所示。

Passwords Stored in Text Files
广告