YourRansom:一个开源的加(le)密(suo)玩(tao)具(jian)

华盟原创文章投稿奖励计划

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/

正在加密(时间不会太长):

14921601269972

*本文作者:popu111,转载请注明来自FreeBuf.COM

本文原创,作者:AlexFrankly,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/55467.html

发表评论