天天看點

後門

了解後門的定義與分類

掌握後門的操作

學會防範後門

系統環境:Windows環境,kail環境

軟體工具:telnetDoor,weevely

1. 後門的定義

最早的後門是由系統開發人員為自己留下入口而安裝的,而今天,并非開發人員将後門裝入自己設計的程式中,而是大多數攻擊者将後門裝入他人開發和維護的系統中。通過使用這樣的後門,攻擊者可以很輕松地獲得系統的通路權,進而獲得系統的控制權。為了更加明确,我們給出後門的以下定義:

後門是一個允許攻擊者繞過系統中正常安全控制機制的程式,它按照攻擊者自己的意願.提供通道

有許多不同類型的後門,但每種都可以繞過系統的正常性安全檢測,使得攻擊者獲得進入系統的入口。例如:一個普通的使用者可能不得不輸入一個密碼,這個密碼每90天會變換一次。而有了後門,攻擊者可以用一個固定的密碼而無需變換

有了植入系統的後門,攻擊者可能根本不需要提供任何密碼就可以登入到計算機。普通使用者可能被迫使用某個特别的加密協定通路計算機,而攻擊者可以利用後門通路那些使用完全不同協定的計算機。一旦安裝了後門,攻擊者如何通路該邏輯單元完全取決于攻擊者自己。

許多人用特洛伊木馬或者簡單地用特洛伊來形容每個後門,這種将術語“後門”和特洛伊木馬混淆的做法是非常錯誤的,應該盡量避免。後門隻是簡單地提供通道,而特洛伊木馬将自己僞裝成某個有用的程式,或者幹脆将自己隐藏起來,不要将這些概念混為一談。如果一個程式僅提供後門通道,那麼它隻是一個後門;如果可以僞裝成一個有用的程式,那麼它便是特洛伊木馬。當然,有的工具可以同時是後門和特洛伊木馬。但是,隻有當攻擊者企圖将後門僞裝成某個有用程式時,它才可以稱為“特洛伊木馬”。我們用特洛伊木馬後門這一不太明确的概念定義這種工具,因為它們僞裝成某個友善的程式同時還提供通路通道,利用這一完全定義将有助于人們了解後門與木馬的差別

2. 不同類型的後門通道

正如我們在前面定義中看到的一樣,後門的作用在于為攻擊者進入目标計算機提供通道。這個通道可能表現為不同形式,它取決于攻擊者的目的和所使用的特定後門類型。後門能夠為攻擊者提供許多種不同類型的通路,包括以下幾種:

本地權限的提升:這類後門使得對系統有通路權的攻擊者突然變換其權限等級成為管理者,有了這些超級使用者權限,攻擊者可以重新設定系統或通路任何存儲在系統中的檔案

單個指令的遠端執行:利用這種類型的後門,攻擊者可以向目标計算機發送消息。每次執行一個單獨的指令,後門執行攻擊者的指令并将其輸出傳回給攻擊者

遠端指令行解釋器通路:正如我們所知的遠端 shell指令,這種類型的後門允許攻擊者通過網絡快遞直接地鍵入受害計算機的指令提示。攻擊者可以利用指令行解釋器的所有特征,包括執行一個指令集合的能力編寫腳本,選擇一些檔案進行操作。遠端 shell比簡單的單指令遠端執行要強大得多,因為它們可以模拟攻擊者對目标計算機的鍵盤有直接通路權的情形

遠端控制Gul (RemoteControloftheGul):比将指令行解釋器弄混亂更甚,有些後門可以讓攻擊者看到目标計算機的GUI,控制滑鼠的移動,輸入對鍵盤的操作,這些都是通過網絡實作的。有了對GUI的遠端控制,攻擊者可以看到受害者對計算機的所有操作,甚至遠端控制GUI

無論後門提供何種類型的通路,我們都會發現這些方法的重點在于控制。後門使得攻擊者控制計算機,這一切通常是通過網絡遠端實作的。有了裝入目标計算機的後門,攻擊者可以利用這種控制搜尋計算機中的易感染檔案,改變存儲在系統中的任何資料,改裝計算機,甚至使系統癱瘓。利用後門,攻擊者可以像受害者計算機本身的管理者一樣對其進行同樣的控制。更有甚者,攻擊者可以通過Internet在世界的任何地方實作該控制

攻擊者可以自己植入後門,通過某種普通的開發技術擁有系統的初始入口,例如緩沖區溢出或者典型的系統錯誤配置。一旦攻擊者闖入一個目标計算機,通常要做的第一件事就是裝入後門,從容地傳回到受害系統

另外,攻擊者也可以利用一個自動化的程式安裝後門,例如病毒、蠕蟲和惡意移動代碼。通過它們攻擊者可以探查到通向目标計算機系統的通道并打開一個後門,為攻擊者提供對系統的完全控制

安裝後門的最後一種方法是欺騙受害者自己安裝,攻擊者可能會通過E-mail向受害者發

一個程式或者利用遠端檔案共享能力将這樣的程式寫入受害者的硬碟。如果攻擊者可以利用某個看似不錯的程式騙得使用者的信任,他們可能上當将後門裝入自己的計算機。這些使用者很少會意識到安裝了攻擊者的惡意代碼,他們已經為攻擊者提供了對其計算機的完全控制

後門是在安裝了後門程式的使用者或攻擊者允許的前提下運作的,注意到這一點非常重要。如果一個攻擊者在目标系統中獲得超級使用者權限,攻擊者安裝的後門将以這些強有力的權限運作。類似地,如果攻擊者隻能欺騙具有有限權限的低級使用者安裝後門,攻擊者對于該目标計算機而言,也就隻有這個使用者所擁有的有限權限。是以,後門為攻擊者提供的對該系統的控制取決于安裝該後門使用者的權限等級

1. 遠端控制工具telnetDoor

在Windows7虛拟機cmd指令控制台輸入<code>netstat -ano</code>指令,觀察端口9527并沒有被開啟。如下如所示:

後門

輕按兩下運作實驗檔案夾中的telnetDoor.exe 運作程式,将後門植入計算機,如下圖所示:

後門

cmd指令控制台再次輸入<code>netstat -ano</code>指令,可以觀察到端口9527已經開啟即後門成功植入并運作,如下圖所示:

後門

在本地電腦中,打開cmd指令操作界面,輸入<code>telnet 192.168.70.133 9527</code>,如下圖所示:

後門

按下回車,開始遠端控制目标計算機。(可以對目标計算機進行任意指令行操作,例如檢視目錄檔案、檢視ARP快取記錄和檢視程序清單等等),如下圖所示:

後門
後門

此時我們已經可以遠端操作Windows7,接下來我們編寫一個後門程式使計算機自動添加一個使用者,友善我們後期随時可以遠端到Windows7虛拟機上,代碼如下:

将上面代碼複制到.txt檔案後儲存為system2.vbs可執行檔案,如下圖所示:

後門

輕按兩下執行system2.vbs程式,打開cmd輸入<code>netstat -ano</code> 檢視程式是否正常執行了,如下圖所示:

執行前:

後門

執行後:系統自動開啟了3389遠端端口

後門

系統自動添加了一個backdoor使用者,如下圖所示:(此時說明我們編寫的後門代碼已經執行成功了)

後門

接下來我們開始驗證是否能正常遠端到Windows7虛拟機上,在本地主機上使用mstsc指令點選确定進行遠端連接配接Windows7虛拟機,如下圖所示:

後門

在遠端桌面連接配接内輸入Windows7的IP位址192.168.70.133點選連接配接,如下圖所示:

後門

然後輸入剛剛我們在system2.vbs程式留的後門使用者名和密碼點選确定,如下圖所示:

後門
後門

此時我們已經成功使用遠端桌面連接配接到了Windows7虛拟機上

後門

2. 使用kali中的中國菜刀weevely工具

在Windows7虛拟機上搭建伺服器,開啟wamp伺服器功能

後門

開啟kali的weevely功能指令:<code>weevely generate admin /tmp/shell.php</code>//生成一個名為shell.php的後門檔案,密碼是admin,如下圖所示:

後門

把生成的檔案shell.php通過任何手段将它複制到Windows7虛拟機中的網站根目錄C:\wamp\www下,如下圖所示:

後門

傳回到kali中進行指令連接配接Windows7,指令:<code>weevely http://192.168.70.133/shell.php admin</code> ,如下圖所示:

後門

在終端中使用<code>system_info</code>指令遠端檢視Windows7虛拟機的系統資訊,如下圖所示:

後門

此時我們已經全部完成攻擊!

首先要關閉本機不用的端口或隻允許指定的端口通路;其次要使用專殺木馬的軟體,為了有效地防範木馬後門;第三是要學會對程序操作,時時注意系統運作狀況,看看是否有一些不明程序正運作并及時地将不明程序終止掉。