Metasploitable 學習筆記-文件上傳漏洞( file upload) & Reverse Shell

這是一篇系列文,有關看一些不同的Metasploitable介紹與教學的練習紀錄,偶爾打hack the box、rootme等滲透測試練習網站外其實沒有打過歷史悠久的Metasploitable,也相信搜尋到這篇也已經安裝好了Metasploitable2了。

Metasploitable2 :

一套安裝好各種Bug系統與網站的虛擬機,方便練習攻擊技術。這邊就不贅述安裝的部分,使用免費的Virtual box 與 Metasploitable2虛擬機即可。

官方的靶機攻擊指南:

基本知識: 網站目錄爆破

目錄爆破常常使用兩套工具,則一選擇即可,這邊使用dirb做教學

  • dirb
  • gobuster
  • wfuzz(可過濾一些條件篩選掉誤判的)

使用dirb掃描

dirb [target][wordlist]

wordlist可以選擇自己要的字典路徑或其他內建的字典

/usr/share/wordlists/dirb

Web滲透測試

Unrestricted File Upload 文件上傳漏洞

Low等級

首先我們開啟DVWA,帳號密碼是admin/password

將DVWA將安全等級調成低

我們點到左邊的upload ,並試著上傳一張圖片,成功後跳出圖片路徑

試著瀏覽看看上傳後提示的目錄,發現已成功上傳並好像可以執行

上傳木馬- 使用Weevely 產生php web shell

Weevely介紹:

weevely 基本語法 :

weevely generate [自訂執行密碼] [產生後放置路徑]

產生後竟然可以將檔案直接上傳上去,接著看到系統產生一串檔案路徑

將路徑複製到瀏覽器執行,這時候空白就是已成功

這時候回到Kali執行上傳的Shell路徑

weevely [target][密碼]

這邊可以繼續輸入就代表我們成功執行上傳的Shell了!

成功後先確認自己的權限,可使用幾個指令:

  1. whoami
  2. uname-a

之後使用ls或cd看一下是否有權限瀏覽其他目錄

Medium 等級

我們需要使用Burp,需要先將封包攔截打開

因為Medium等級的限制,我們不能將副檔名是jpg以外的丟上去,所以我們先將shell檔案改名jpg後上傳

攔截封包後可以修改或重送封包內容

Head內會有封包的資訊 ,我們要修改一下filename的檔名後再次上傳看看:

這邊順便科普一下filename前面的Content - disposition定義:

In a regular HTTP response, the Content-Disposition response header is a header indicating if the content is expected to be displayed inline in the browser, that is, as a Web page or as part of a Web page, or as an attachment, that is downloaded and saved locally.

Content- disposition的解說:

filename檔名改成 shellmedium.php後放行封包

成功上傳後執行我們的weevely!

High 等級

將等級調成High之後會發現上述手法都不可行,這次網站會針對上傳的檔案做檢查樣子,所以我們要bypass這個驗證,先將檔名改成jpg但是前面是.php

shell.php.jpg

回到weevely執行成功!

預防文件上傳漏洞

  1. 上傳檔案前後應該要檢查檔案類型與副檔名
  2. 定期檢查上傳後檔案的副檔名是否有異常
  3. 限制檔案大小

之後會繼續寫這系列有關的筆記,希望之後可以做個目錄表列一下各個主題的網址方便搜尋與瀏覽。

https://medium.com/blacksecurity/tagged/ctf
若您喜歡我的文章,歡迎按下「拍手」與Liker按讚給我支持並轉發給你的朋友們(可以多拍幾下手喔),或是「Follow」我,讓我提供文章給您。

Facebook 粉絲專頁 剛開始建立經營 不會洗版(沒有時間) !!包含資安與投資的資訊,歡迎追蹤我並分享。

--

--

業餘資安寫手,希望透過紀錄所學的知識來回饋於社群上,互相學習分享。另提供企業資安顧問服務,依照企業規模與需求評估企業網路安全設計、基礎資訊安全防禦規劃。contact@kuronetwork.me

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kuro Huang

Kuro Huang

充滿熱情的資安從業者,喜歡用專業興趣交朋友而非透過商業關係建立友誼。目前於四大擔任資訊安全顧問,希望對資安社群盡一點心力,並期望自己與身旁的人能有所進步,歡迎喝咖啡聊資安。希望保持著定期參與資安社群活動。 LinkedIn好友、文章目錄與個人介紹請參考 :https://kuronetwork.me