1. 程式人生 > >【許可權維持】window服務端常見後門技術

【許可權維持】window服務端常見後門技術

0x00 前言

  未知攻焉知防,攻擊者在獲取伺服器許可權後,通常會用一些後門技術來維持伺服器許可權,伺服器一旦被植入後門,攻擊者如入無人之境。這裡整理一些window服務端常見的後門技術,瞭解攻擊者的常見後門技術,有助於更好去發現伺服器安全問題。

常見的後門技術列表:

1、隱藏、克隆賬戶

2、shift後門

3、啟動項、計劃任務

4、劫持技術

5、Powershell後門

6、遠控軟體

7、嗅探技術

0x01 隱藏、克隆賬號

window 隱藏系統使用者製作:

1、CMD命令列下,建立了一個使用者名稱為“test$”,密碼為“abc123!”的簡單隱藏賬戶,並且把該隱藏賬戶提升為了管理員許可權。

PS:CMD命令列使用"net user",看不到"test$"這個賬號,但在控制面板和本地使用者和組是可以顯示此使用者的。

2、“開始”→“執行”,輸入“regedt32.exe”後回車,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”,單機右建許可權,把名叫:administrator的使用者給予:完全控制以及讀取的許可權,在後面打勾就行,然後關閉登錄檔編輯器,再次開啟即可。

3、來到登錄檔編輯器的“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”處,點選test$使用者,得到在右邊顯示的鍵值中的“型別”一項顯示為0x3ec,找到箭頭所指目錄。

4、扎到administrator所對應的的項為“000001F4”,將“000001F4”的F值複製到“000003EC”的F值中,儲存。

 

 5、分別test$和“000003EC匯出到桌面,刪除test$使用者   net user test$ /del

6、將剛才匯出的兩個字尾為.reg的登錄檔項匯入登錄檔中。這樣所謂的隱藏賬戶就建立好了。

PS:不管你是在命令提示符下輸入net user 或者在系統使用者管理介面都是看不到test$r這個賬戶的,只有在登錄檔中才能看得到。

檢測和清理方法:

使用D盾_web查殺工具,使用克隆賬號檢測功能進行檢視,可檢測出隱藏、克隆賬號。

0x02 shift後門

Shift 五次粘滯鍵後門製作:

將C盤windows目錄下面的system32檔案裡面的sethc.exe應用程式進行轉移,並生成sethc.exe.bak檔案。並將cmd.exe拷貝覆蓋sethc.exe

複製程式碼
C:\>cd WINDOWS\system32

C:\WINDOWS\system32>move sethc.exe sethc.exe.bak
移動了         1 個檔案。

C:\WINDOWS\system32>copy cmd.exe sethc.exe
覆蓋 sethc.exe 嗎? (Yes/No/All): Yes
已複製         1 個檔案。
複製程式碼

直接按5次shift鍵彈出cmd視窗,可直接以system許可權執行系統命令,建立管理員使用者,登入伺服器等。

搜尋關鍵詞 "shift後門",可進一步瞭解各式各樣的shift後門。

檢測和清理方法:

1、遠端登入伺服器的時候,連續按5次shift鍵,確認伺服器是否被入侵。

2、拒絕使用sethc.exe或禁用Shift鍵

各式各樣的shift後門

純手工打造伺服器自解壓shift後門

Shift後門的檢測與清除

2008伺服器提權提升之遠端連線安裝shift後門

0x03 啟動項、計劃任務等

  儲存以下內容,新建bat檔案,利用windows的啟動項、任務計劃等功能執行惡意指令碼來維護許可權。利用bat轉exe工具,可轉換為exe。

@echo off
net user test$ abc123! /add 
net localgroup administrators test$ /add

【啟動項】

1、window--開始--所有程式--啟動

2、將test.bat 加入啟動項

【組策略欺騙】

組策略,執行gpedit.msc,通過最策略的“指令碼(啟動/關機)”項來說實現。

具體位置在“計算機配置→Windows設定”項下。因為其極具隱蔽性,因此常常被攻擊者利用來做伺服器後門。

【計劃任務】

1、window--開始--所有程式--附件--系統工具--任務計劃程式

2、建立計劃任務--新增test.bat

【服務】

 將後門指令碼註冊為window服務,自啟動。

【放大鏡後門】

  攻擊者就用精心構造的magnify.exe同名檔案替換放大鏡程式,從而達到控制伺服器的目的。

  通常情況下,攻擊者通過構造的magnify.exe程式建立一個管理員使用者,然後登入系統。當然有的時候他們也會通過其直接呼叫命令提示符(cmd.exe)或者系統shell(explorer.exe)。需要說明的是,這樣呼叫的程式都是system許可權,即系統最高許可權。不過,以防萬一當管理員在執行放大鏡程式時發現破綻,攻擊者一般通過該構造程式完成所需的操作後,最後會執行真正的放大鏡程式,以矇騙管理員。

 【telnet後門】

  telnet是命令列下的遠端登入工具,不過在伺服器管理時使用不多也常為管理員所忽視。攻擊者如果在控制一臺伺服器後,開啟“遠端桌面”進行遠端控制非常容易被管理員察覺,但是啟動Telnet進行遠端控制卻不容易被察覺。不過,telnet的預設埠是23,如果開啟後,別人是很容易掃描到的,因此攻擊者會更改telnet的埠,從而獨享該伺服器的控制權。

檢測和清理方法:

1、檢視啟動項、計劃任務、服務等是否有異常

2、檢視程序、埠是否有異常

0x04 劫持技術

【LPK劫持技術】

  lpk.dll病毒是當下比較流行的一類病毒,而正常系統本身也會存在lpk.dll檔案,這足以說明這類病毒的危險性。系統本身的lpk.dll檔案位於C:\WINDOWS\system32和C:WINDOWS\system\dllcache目錄下。lpk.dll病毒的典型特徵是感染存在可執行檔案的目錄,並隱藏自身,刪除後又再生成,當同目錄中的exe檔案執行時,lpk.dll就會被Windows動態連結,從而啟用病毒,進而導致不能徹底清除。

1、執行T00ls Lpk Sethc v4,設定2鍵啟動(65/66即ab),設定密碼(123),生成檔案,檔名lpk.dll

2、lpk.dll複製到一個含有exe的資料夾,執行Getpass.exe,即可實現劫持

3、遠端登入伺服器,按下5次shift鍵,再按上面設定的2鍵啟動(ab),輸入密碼,跳出如下介面:

【映像劫持技術】

   所謂的映像劫持就是Image File Execution Options(IFEO),位於登錄檔的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

1、開啟登錄檔,選擇Image File Execution Options,新建個項,然後這個項(預設在最後面)改成123.exe

2、選擇123.exe這個項,然後預設右邊是空白的,我們點右鍵,新建個“字串值”,然後改名為“Debugger"

 3、雙擊該鍵,修改資料數值(其實就是路徑),把它改為 C:\WINDOWS\system32\cmd.exe,確定。

4、找個副檔名為EXE的,改名為123.exe(Getpass.exe), 然後執行之,出現了DOS操作框。

Getpass.exe效果:

改名123.exe執行效果:

【com劫持技術】 

   開啟資料夾就能執行指定的程式?這不是天方夜譚,而是在現實世界中確實存在的。利用COM劫持技術,可以輕鬆實現出開啟資料夾就執行指定程式碼的功能。

1.精選CLSID,儘量選擇系統應用範圍廣的CLSID,這樣的模組可以保證系統在進行很多功能時都會載入dll。我們選擇的CLSID為:{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7},其對應著CAccPropServicesClass類。修改登錄檔,將CLSID對應的DLL檔案修改成實現了某些待定功能的檔案(這個檔案是由我們精心構造的,不然無法利用成功)。可通過將下列資料匯入到登錄檔實現

複製程式碼
Windows RegistryEditor Version 5.00 

[HKEY_CLASSES_ROOT\CLSID\{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}]

[HKEY_CLASSES_ROOT\CLSID\{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}\InProcServer32]

@="freebuf.dll"

"ThreadingModel"="Apartment"
複製程式碼

2. 新建資料夾,以CLSID做為字尾名,同時將我們的利用dll拷貝到系統目錄下: 這裡的檔名可以充分發揮想象力(騙術),利用社會工程學,起個誘惑的資料夾名,比如,目標喜歡日本姑娘,資料夾就叫做” 小澤にほんごかなニホンゴ(カナ).{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}”

3. 開啟資料夾,成功利用 利用的步驟很簡單,其中最為關鍵是我們實現程式碼的dll以及CLSID的選擇,這不是一個普通的dll,而是dll中的”戰鬥dll”,這是一個實現了COM介面的dll,並且在dll的匯出函式的返回值有特殊要求。

參考連結:

開啟資料夾就執行?COM劫持利用新姿勢 

https://3gstudent.github.io/Use-COM-Object-hijacking-to-maintain-persistence-Hijack-explorer.exe/

兩種利用COM劫持實現的後門方法

COM Object hijacking 後門的實現思路——劫持 CAccPropServicesClass and MMDeviceEnumerator

0x05 Powershell隱蔽後門

如何建立Powershell持久隱蔽後門

http://www.freebuf.com/articles/system/133640.html

Babadook:無連線的powershell持續性反彈後門

http://www.mottoin.com/89554.html

Schtasks-Backdoor: Powershell 許可權維持後門

https://github.com/re4lity/Schtasks-Backdoor

如何優雅的維持住一個Web shell

https://bbs.ichunqiu.com/thread-23660-1-1.html

https://ub3r.cn/?p=30

0x06 遠控木馬

  遠控木馬是一種惡意程式,其中包括在目標計算機上用於管理控制的後門。遠端訪問木馬通常與使用者請求的程式(如遊戲程式)一起,是一種看不見的下載,或作為電子郵件附件傳送。一旦主機系統被攻破,入侵者可以利用它來向其他易受感染的計算機分發遠端訪問木馬,從而建立僵屍網路。

一般分為客戶端和服務端,如:灰鴿子、上興遠控、夢想時代、QuasarRAT等。

0x07 嗅探

  Cain是大家都熟悉的一款軟體,具有arp欺騙加嗅探和密碼破解的功能,使用嗅探軟體抓取3389密碼。

嗅探3389密碼的具體過程講解