一个勒索程序模拟脚本,客户端生成随机key,为了防止被中间流量监控设备捕获key,使用非对称加密算法将key加密,同时根据cpu等信息生成唯一的一串字符hash标识,并将加密的key和唯一标识发送至服务端,服务端解密Key后将其存入数据库。
脚本不具备提权和自动传播等操作,仅做加解密测试,要加密尽可能多的文件请用管理员权限运行client
server.py为服务端脚本,运行前请修改34行的数据库连接信息
运行后会检查是否有相应的数据库及表,没有则自动创建。
随后生成随机公私钥密钥对,并开启一个http服务来下发公钥,默认监听5000端口
服务端收到发送过来的id和Key后,使用rsa私钥解密key,并将其存入数据库中。
client.py为客户端脚本,运行前修改166和167行的服务端地址,运行脚本有点麻烦,可以打包成exe格式。
安装相应库
pip install -r requirements.txt
运行后会向服务端请求rsa公钥
随后生成128位的随机aes秘钥,并使用rsa公钥加密aes秘钥
根据cpu等信息生成一段唯一的ID
将加密的key和唯一ID发送至服务端。
随后遍历文件,将相关后缀的文件进行逐一加密(如ppt、docx等)