Python Forensics - Внедрение облака

Cloud computingможно определить как набор размещенных сервисов, предоставляемых пользователям через Интернет. Это позволяет организациям использовать или даже вычислять ресурс, который включает виртуальные машины (ВМ), хранилище или приложение в качестве утилиты.

Одним из наиболее важных преимуществ создания приложений на языке программирования Python является то, что он включает возможность развертывания приложений практически на любой платформе, включая cloudтакже. Это означает, что Python можно запускать на облачных серверах, а также запускать на удобных устройствах, таких как настольный компьютер, планшет или смартфон.

Одна из интересных перспектив - создание облачной базы с генерацией Rainbow tables. Это помогает в интеграции одно- и многопроцессорных версий приложения, что требует некоторых соображений.

Pi Cloud

Pi Cloud - это платформа облачных вычислений, которая объединяет язык программирования Python с вычислительной мощностью Amazon Web Services.

Давайте посмотрим на пример реализации облака Pi с rainbow tables.

Радужные столы

А rainbow table определяется как список всех возможных текстовых перестановок зашифрованных паролей, специфичных для данного алгоритма хеширования.

  • Радужные таблицы следуют стандартному шаблону, который создает список хешированных паролей.

  • Текстовый файл используется для генерации паролей, которые включают символы или простой текст паролей, подлежащих шифрованию.

  • Файл используется облаком 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()

Вывод

Этот код выдаст следующий результат -

Пароли хранятся в текстовых файлах, которые видны, как показано на следующем снимке экрана.