Shellshock和Telnet用户变量

在最近的一次测试中,Nessus提出了以下关键问题:

GNU Bash本地环境变量通过Telnet处理命令注入(CVE-2014-7169)(Shellshock)
通过向远程服务器发送格式错误的USER环境变量,允许我们执行“id”命令,可以利用此漏洞:

显然我知道关于Shellshock,但不知道如何在这种情况下实际利用它。各种搜索揭示了大量有关什么是Shellshock的信息,哪些设备是脆弱的,但没有关于如何实际利用它。

一些实验,一些数据包捕捉和看看手册页,我终于搞清楚了,所以我想记录下来帮助其他人。

关键是我不知道的标准Linux远程登录客户端的功能:

-l用户
指定用户为远程系统上登录的用户。这是通过发送指定的名称作为USER环境变量来完成的,所以它要求远程系统支持TELNET NEW-ENVIRON选项。这个选项意味着-a选项,也可以和open命令一起使用。

了解这一点,剥削很简单:
telnet 10.1.1.1 -l "() { :;}; /usr/bin/id"

这个截图显示了一个成功的利用:


转载请注明出处:https://www.freearoot.com/index.php/shellshock-and-t…et-user-variable.html

文章转载来源:https://digi.ninja/blog/telnet_shellshock.php