taibeihacker
Moderator
隐蔽域后门
隱藏用戶隱蔽程序
粘滯鍵
常见后门方式
隐藏用户
12
net user yincang$ 123456qaq /add
net localgroup administrators yincang$ /add


隐蔽程序
NtGodMode
NtGodMode.exe 上帝之門,不管管理員如何更改口令密碼,均能以任意口令登錄系統NTGod上帝模式-CSDN博客
文章浏览阅读785次。//换下思路,webshell(个别变态机子)提权也可以使用,有木有?NTGod NT上帝模式,打开上帝模式可以用任意密码登录任意windows系统帐号,从而达到不增加帐号、不破坏被入侵主机系统的情况下,登录系统帐号。情景再现: 当你在进行主机安全检测时,获取了SYSTEM Shell,以前会想办法获得administrator等帐号的口令,使用gina窃取、sam hash破解、
分析NtGodMode.exe干了什么_漏洞研究_脚本之家
NtGodMode.exe是通过打开LSASS.EXE进程msv1_0.dll模块空间里,然后搜索特征值8B 4D 0C 49之后第1个32 C0 这个32C0汇编码xor al,al,修改为B001对应汇编码mov al,1 为什么mov al,1,以后就不用密码了?
www.jb51.net
吾爱破解 - 52pojie.cn
吾爱破解论坛深耕软件逆向工程与反病毒技术领域,汇聚众多技术爱好者的智慧与经验,共同探索与分享前沿安全技术和防护策略,构建业内最具影响力的技术交流平台。
www.52pojie.cn
命名管道
命名管道,\Server\PipeName\PathIP + Port 是常用的遠程連接方式命名管道不需要特定的端口,混雜在135端口中。
實現不開端口的情況下登錄
粘滞键
五次連續按下shift 鍵,會彈出輸入法選擇器。可以將cmd 替換輸入法,獲取Shell域内隐蔽后门
目录 ACL
一種基於域內對象ACL(Access Control Link)訪問控制鏈的深度隱藏後門。域網絡中,域的組策略和腳本存放在域服務器的SYSVOL 目錄,所有域用戶均可自由訪問,但只有部分高權限用戶才有修改權限。域內賬號在登錄域時,會查詢、 執行(如果有變化)屬於自己的域策略、執行腳本。
一定程度上說,控制了SYSVOL 目錄,就有很大概率控制域網絡。
如果域中部署了登錄日誌審計軟件,則會嚴格審計域內高權限賬號的登錄、使用情況。所以使用高權限用戶控制域網絡的方式,隱蔽性並不高
一般來說,域策略會強制週期性修改高權限用戶的密碼,但是對低權限用戶來說不一定有這個強制性要求,而且域中往往有很多用戶幾乎不怎麼登錄、使用。
如果低權限用戶具備SYSVOL 目錄的修改權限,登錄域時,因為權限不高,不會被審計軟件發現。現在的防護、監控類軟件還沒有過多關注目錄的ACL,因此這種方式是一種很實用的隱蔽後門方式。
使用普通用戶eviluser 登錄域客戶端Windows 7。通過net use連接域服務器,可查看訪問服務器共享的目錄,但是沒有寫權限。

通過資源管理工具給Policies 目錄添加了寫權限(也可以是完全控制權),並繼承給所有子目錄和文件

Policies 目錄的安全選項卡,eviluser 單獨作為權限用戶。正常情況下,普通用戶都只有Authenticated users 用戶組權限。

服務器中目錄的ACL 權限設置成功後,在原來的IPC 連接中,普通域用戶eviluser 成功地往Policies 目錄寫入了數據,證明具備了對該目錄的寫入權限。從而可以修改裡面的策略和腳本,一種隱蔽的後門。

這種後門方式,只是演示了ACL 後門的一種具體形式,因為域中的對象太多,可以操控的ACL對像也很多。可以根據自己的需要,靈活選擇目標的ACL作為目標進行修改,埋藏後門。
當然關於ACL 的檢測,微軟也推出了專門的工具,ACL Scanner ,如果週期性地是用該工具進行檢測,還是能檢測到這種類型的後門。
白银票据
在windows 系統中,許多服務以主機賬號運行,即許多ServiceAccount 賬號為本機的主機賬號,格式為ComputerName$。下表是常見的以主機賬號運行的服務。右邊一欄中有些有多個服務,例如WMI 服務包括HOST、RPCSS 這2 個服務,表示訪問WMI 服務同時需要2 個TGS 票據
服務名稱
同時需要的服務
WMI
HOST、RPCSS
PowerShell Remoting
HOST、HTTP
WinRM
HOST、HTTP
Scheduled Tasks
HOST
Windows File Share
CIFS
LDAP
LDAP
Windows Remote Server
RPCSS、LDAP、CIFS
已知域服務器主機賬號的口令散列值,使用Mimikatz 的白銀票據功能,偽造訪問HOST 服務的TGS ,以域管理員權限運行域服務器的SCHTASKS 命令,遠程創建、查看、刪除系統任務
构造白银票据
1kerberos:golden /admin:[email protected] /domain:testlab.com /sid:S-1-5-21-2390976136-1701108887-179272945 /target:TESTLABDC02.testlab.com /rc4:36788836f262b9409f102baa22b7a6f3 /service:host /ptt

创建计划任务

修改主机账号的口令策略制作后门
在主機的註冊表中修改策略,具體位置為HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon\Parameters,鍵值為DisablePasswordChange,設置為1,即表示禁止修改賬號口令;在組策略中修改默認的30 天,修改位置為“Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Domain member: Maximum machine account password age',設置為0 時,表示無限長;

組策略直接禁止修改主機賬號口令,用來支持VDI(virtual desktops Infrastructure) 等類型的使用,具體位置為“Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Domain member: Disable machine account password changes”
方案1 較為安全。由於組策略存在快照,因此方案2、3 風險較大
修改主机账号的委派设置权限制作后门
域委派攻擊中,一個主機賬號被設置了約束性委派,則可以使用主機賬號的口令散列值和約束性委派獲取域管理員權限。前提條件為:主機賬號的口令散列值和委派(約束性和非約束性均可)如果我們在域內有多個穩定的控制點,且獲取了當前系統的SYSTEM 權限,則隨時可獲取當前主機的主機賬號(演示中的賬號為win7x86cn$ )口令散列值,滿足了第1 個條件;
如果將該win7x86cn$賬號的SeEnableDelegationPrivilege 權限賦予本機的低權限登錄域用戶(eviluser) ,則通過eviluser 用戶隨時可更改win7x86cn$ 賬號的委派設置,從而可滿足第2 個條件
並不是擁有一個對象的GenericAll 權限,就可以修改對象的msDS-AllowedToDelegateTo 屬性,攻擊者只有擁有對象的SeEnableDelegationPrivilege 權限時,才能修改

默認情況下,SeEnableDelegationPrivilege 權限只有域控制器才有,因此我們需要檢測應用到這些域控制器上的哪些組策略改變了用戶的SeEnableDelegationPrivilege 權限配置
一般情況下,都是默認組策略“Default Domain Controllers Policy”

SeEnableDelegationPrivilege 權限很特殊,設置方法為修改GPO 策略文件,位置為域服務器中\SYSVOL\sysvol\testlab.com\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf文件

添加eviluser 具備SeEnableDelegationPrivilege 權限,則eviluser 可修改域內所有用戶的委派設置。下圖是測試在eviluser 的登錄會話中修改win7x86cn$ 賬號的委派設置

查看了win7x86cn 這個賬號的委派設置情況,標紅的useraccountcontrol 表示沒有設置委派,中間使用Set-DomainObject 進行委派設置,16777216 表示設置TRUS TED_TO_AUTH_FOR_DELEGATION,通過Get-DomainObject 查詢設置後的結果,有了msds-allowedtodelego 選項,且useraccountcontrol 發生了變更。




应对此后门的安全策略
通過域的組策略強制設置主機賬號的最長有效期為30 天;保護{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf文件、即關鍵組策略的完整性;
高權限的用戶,設置不能被委派
主機賬號需設置委派時,只能設置為約束性委派

LAPS
域網絡中,主機的本地管理員很少被使用,但是給網絡安全卻帶來了很大的風險。攻擊者如果獲取了本地管理員的NTLM,不必破解,即可通過PTH 攻擊域內其他主機。為了解決這個問題,微軟在2014 年發布了KB2871997 和KB2928120 兩個補丁,PTH 方式失效。如果域內主機的本地管理員的口令比較簡單,則可能被破解,口令仍然可被用於口令猜解或爆破的字典庫、IPC 或遠程桌面登錄等。
微軟在2015 年發布了一個本地管理員口令解決方案LAPS(Local Administrator Password Solution),用來集中化管理域內主機本地管理員的口令。通過LAPS 製作策略,強制管理域內主機的本地管理員口令,防止惡意攻擊者利用本地管理員口令進行域內橫向攻擊。該方案包含客戶端和服務器,分別安裝於域內主機和域服務器
LAPS 功能
根據策略蒐集本地管理員賬號(最多管理一個本地管理員賬號),設置符合密碼策略的隨機口令將新的口令上傳到域服務器,並儲存在域內對應的主機賬號的屬性中
將新的過期日期更新到主機賬號屬性
檢查本地管理員賬號的口令是否過期,如果口令過期,會產生新的隨機口令,並更新AD 中主機賬號的相關屬性。
LAPS提供了GUI 和AdmPwd.PS 腳本模塊2 種管理工具。安裝完成LAPS 後,需要使用AdmPwd.PS 模塊的Set-AdmPwdComputerSelfPermission 命令,賦予某個OU 或整個域內的主機具有設置自身屬性的權限。
每個主機對象能自動存儲口令明和口令過期時間。

在域服務器中,可通過GUI 直接查看指定主機中本地管理員的口令明文。

LAPS 在域內的主機賬號屬性中增加了ms-Mcs-AdmPwd 和ms-Mcs-AdmPwdExpirationTime 兩個屬性。第1 個屬性存儲本地管理員的口令明文,第2 個屬性存儲口令的過期時間。這裡也許有讀者會疑問,為什麼會儲存明文口令,而不是某種密文形式的口令。
AdmPwd.PS 模塊的Find-AdmPwdExtendedRights 命令,可檢測域內哪些賬號或組具備讀取ms-Mcs-AdmPwd 屬性的權限。
在檢測某個特定的域對象的AD 權限時,有2 個事情需要考慮:
是哪些域內主體可以賦予自身或其他域內主體這項AD 權限;
是哪些已有的ACE 包含了這項AD 權限,這些ACE 應用在哪些對像上。
在做第1 個事情的檢查時,Find-AdmPwdExtendedRights 沒有檢測安全描述符的控制權。
在第2 個事情的檢查中,該接口通過4 個方面來決定結果:
AD 對像類型
ACE 訪問掩碼
ACE 對像類型
ACE 繼承的對像類型
在AD 對像類型檢測時,Find-AdmPwdExtendedRi ghts 僅僅分析應用到OU 或計算機的ACE,所有其他的容器對像都忽略,使用Set-AdmPwdComputerSelfPermission 進行權限設置時的參數也是OU 類型。攻擊者可以在非OU 容器對像上賦予自身讀取ms-Mcs-AdmPwd 屬性的權限
msImaging-PSPs 類型容器不在檢測分析範圍,如果將計算機對象放至該類型的容器中,則可以規避被檢測

如果賦予某個低權限用戶關於該類型容器的完全權限,則可以控制容器中計算機的屬性,包括ms-Mcs-AdmPwd 屬性。
win7x86user 是域內普通用戶,NotOu 為一個msImaging-PSPs類型容器,其中有一台機器win7x86cn,在NotOu上賦予了win7x86user 對該容器的全部權限,容器中的對象win7x86cn繼承了所有權限


上面的測試和實驗表明,在安裝有LAPS 環境的域網絡中,可以有效利用LAPS 作為一個隱蔽的後門,賦予低權限用戶隨時讀取高權限主機本地管理員口令明文的權限,從而快速獲取高權限主機的控制權,進一步通過散列值獲取等方式獲取域控制權限。當然這一切的前提是已經獲取了域控制權限。
LAPS在客戶端僅僅部署了一個AdmPwd.dll 文件,用於響應來自域服務器的密碼更改策略,然後將口令明文以Kerberos 加密方式存儲至服務器中對應的主機賬號的ms-Mcs-AdmPwd 屬性
LAPS起源於一個公開項目,通過對公開項目源碼的分析,可以使用手動的方式模擬口令修改過程


客戶端在使用AdmPwd.dll 文件時,Windows 並沒有對該文件進行完整性校驗或者簽名驗證。因此一個被篡改過的DLL 一樣可以正常使用。所以如果攻擊者根據公開源碼編譯一個功能類似的DLL,同時在DLL 中添加部分功能,將修改後的口令明文寫到指定位置。這可使攻擊者隨時都能獲取口令明文,從而具備對客戶端的完全控制權限
根據LAPS的安裝介紹說明,在客戶端上安裝有3種方式,
客戶端安裝LAPS.x64.msi 或LAPS.x86.msi
在客戶端使用regsvr32.exe AdmPwd.dll 安裝
如果以第二種方式在客戶端安裝LAPS ,且AdmPwd.dll 的目錄為普通用戶的可寫目錄,則普通用戶可直接用偽造的DLL 文件替換原來真實的DLL 文件。可獲取本地管理員的口令明文,獲取本機的完全控制權,實現權限提升
LAPS 是微軟為了加強本地管理員的口令管理,提高網絡安全性而部署的解決方案,但是方案中的一些瑕疵導致LAPS 可以變成攻擊者製作隱蔽後門的工具。不僅LAPS 如此,許多其他軟件亦是如此。隨著產品的增多,安全性得到提升的同時,暴露給攻擊者的攻擊面同時也得到了擴大。安全之路任重道遠。