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