YourRansom:一个开源的加(le)密(suo)玩(tao)具(jian)
作者:admin | 时间:2017-4-20 04:28:19 | 分类:黑客工具 隐藏侧边栏展开侧边栏
YourRansom 是使用 Golang 编写的一个加密工具,具有加密参数内置、密钥随机生成、在线下载readme文件等功能,设计上参考了【勒索软件】的设计思想。或者换句话说这就是一个自制的学习用的【勒索软件】仿制品。
在下只是个萌新,程序写的也很 naive,请各位大佬轻些疼♂爱。
自行编译
因为 YourRansom 将加密的配置内置在编译后的二进制文件中,所以如果您想要使用自己的 YourRansom ,就需要调整参数并编译一个自己的 YourRansom 。
准备环境
YourRansom 使用 Golang 编写,编译前也需要准备对应的 Golang 环境,或使用 cloud9 等在线环境编译(通常也需要自己装 Golang 环境就是了)。
之后即可通过 go get 从 GitHub 获取 YourRansom 的源文件:go get github.com/YourRansom/YourRansom
配置参数
YourRansom 将配置存储在二进制文件中,但并不是直接存储原数据(曾经是,后来我感觉那样太年轻太简单有时天真,于是改成了如今的模式),而是存储 JSON 格式的配置文件使用 DES 加密后又 base64 得到的字符串。我专门为此提供了一个配置生成器与样板文件:YourRansom/confGen,只需要对着表格将数据填写完成,再执行 confGen 即可获得配置信息。
配置项表:
配置项名 | 配置说明 | 备注 |
---|---|---|
PubKey | RSA公钥 | 可使用[生成工具](https://github.com/YourRansom/genKeypair)生成一个RSA密钥对,请注意自行将所有换行替换为\n。 |
Filesuffix | 加在被加密文件后的后缀名 | |
KeyFilename | 加密后存储Key的文件名 | |
DkeyFilename | 解密时用于读取解密Key的文件名 | |
Alert | 程序启动时显示的提示信息 | |
Readme | 离线readme的内容 | 仅当在线readme下载失败时生效 |
ReadmeFilename | 离线readme的存储文件名 | 同上 |
ReadmeUrl | 在线readme的下载地址 | 留空表示不启用在线readme下载 |
ReadmeNetFilename | 在线readme的存储文件名 | |
EncSuffix | 指定要被加密的文件后缀 |
格式为后缀1|后缀2|后缀3
|
执行:
$ ./confGen MyRansom example.json
如不报错则说明配置文件已经加密完成,打开原文件名.enc
即可得到加密后的配置文件。
使用您的文本编辑器打开$GOPATH/src/github.com/YourRansom/YourRansom/config.go
,如果您未设置GOPATH
环境变量,那么打开$HOME/go/src/github.com/YourRansom/YourRansom/config.go
(Unix-like)或%USERPROFILE%\go\src\github.com\YourRansom\YourRansom\config.go
(Windows),将配置文件和加密密钥填入,配置即完成。
编译生成
直接执行命令,生成的二进制文件会直接输出至当前目录:
$ GOOS=[windows|linux|darwin] GOARCH=[386|amd64] go build github.com/YourRansom/YourRansom
考虑到兼容性问题,如果您要为使用 Windows 系统的用户提供服务,建议编译为 win32 程序,如果面向 Linux ,您可能需要编译32位和64位两个版本,而 macOS(darwin)只需要64位版本就够了。
加密解密
直接执行生成的二进制文件即可加密,而解密要复杂得多。
解密需要获得加密是生成的密钥文件,具体文件名取决于配置项KeyFilename
,然后使用 PubKey 所对应的私钥和 AES 密钥解密工具 解密该文件,得到一个YourRansom.dkey
文件,将其更名为你设置的DkeyFilename
配置项。
将解密后的 Dkey 文件至于 YourRansom 同目录下,再次执行 YourRansom 即可解密。
使用在线IDE
如果您不喜欢在本地安装 Golang 环境,只是想简单地将它编译出来尝尝鲜的话,使用 Cloud9 、 Wide 之类的在线环境大概会是一个好选择。
首先在 https://c9.io 注册一个账户并登陆,然后新建一个 Workspace 后即得到了一个在线的编译环境,剩下的操作参考前面的说明即可。
免责声明
该源代码作者不对任何使用该源代码造成的问题(包括但不限于数据损坏)承担责任。
栗子
考虑到无图无真相(大雾),最后特地附个VirusTotal的链接和一张图:
VT扫描先前试发布版本的结果:https://www.virustotal.com/zh-cn/file/a83aafa438085923c2e74e2123ae8f5b8a8044450b189d1b367902f3e7db8976/analysis/
正在加密(时间不会太长):
*本文作者:popu111