0x1 匿名用戶
PS:通過在用戶後面添加$符號的形式將用戶達到隱藏的效果。
可以通過註冊表或直接用戶管理刪除隱藏的用戶。
0x2 Shift 後門
將 C:\WINDOWS\system32\dllcache\sethc.exe 刪除,這個文件夾中放着緩存,如果不刪除就會自動變回去。
刪除 C:\WINDOWS\system32\下的 sethc.exe 文件。
重命名 C:\WINDOWS\system32\下的 cmd.exe 為 sethc.exe 。
按下 5下 shift 即可彈出管理權限的 DOS 窗口。
0x3 放大鏡後門
創建 magnify.bat
利用bat2com / com2exe,BatToEXE(圖形化工具)等工具把Bat文件轉換成exe文件,
bat2com magnify.bat # 將magnify.bat轉換成magnify.comcom2exe magnify.com # 將magnify.com轉換成magnify.exe
將生成的 magnify.exe 分別替換掉C:\WINDOWS\system32\dllcache下的 magnify.exe 和C:\WINDOWS\system32\下的 magnify.exe
登陸時通過組合鍵 Win+U 調用。
上述方法檢查及清除
其它適用於的輔助功能還有:
1. 屏幕鍵盤:C:\Windows\System32\osk.exe
2. 放大鏡:C:\Windows\System32\Magnify.exe
3. 旁白:C:\Windows\System32\Narrator.exe
4. 顯示開關:C:\Windows\System32\DisplaySwitch.exe
5. 應用程序開關:C:\Windows\System32\AtBroker.exe
PS:現在大部分的殺毒軟件都會監視註冊表項來防禦這種惡意行為。
0x4 隱藏屬性後門文件
將木馬文件屬性改為「隱藏」 ,偽裝成系統文件或數據庫文件等,修改時間跟系統文件時間類似。
0x5 PHP內存型木馬(不死馬)
創建 inc_data_config.php 文件
ignore_user_abort()函數設置與客戶機斷開是否會終止腳本的執行。這裡設置為true則忽略與用戶的斷開,即使與客戶機斷開腳本仍會執行。
set_time_limit()函數設置腳本最大執行時間。這裡設置為0,即沒有時間方面的限制。
unlink(__FILE__)刪除文件本身,以起到隱蔽自身的作用。
此腳本會每5秒不斷的向服務器生成一個「inc_data_config.php」的一句話木馬。
清除腳本只需要重啟http服務。
0x6 .user.ini文件構成的PHP後門
指定一個文件,自動包含在要執行的文件前,類似於在文件前調用了require()函數。而auto_append_file類似,只是在文件後面包含。 使用方法很簡單,直接寫在.user.ini中:
我們可以藉助.user.ini輕鬆讓所有php文件都「自動」包含某個文件,而這個文件可以是一個正常php文件,也可以是一個包含一句話的webshell
01.gif
直接訪問下面鏈接即可利用:
http://xxx.baidu.com/index.php?cmd=phpinfo();
0x7 使用已經禁用的guest賬戶進行登錄
控制面板\所有控制面板項\用戶帳戶\管理帳戶\啟用來賓帳戶
0x8 DLL 劫持
在加載DLL過程中,系統都是先在程序目錄加載DLL,如果沒有找到就按照規定的順序去搜索,但如果DLL的路徑沒有在system32中,攻擊者就有可能偽造一個dll被程序加載。
系統在使用DLL搜索順序取決於世否啟用安全的DLL搜索模式。
PS:WindowsXP默認情況下禁用安全DLL搜索模式。之後默認啟用安全DLL搜索模式
若要使用此功能,需創建 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode 註冊表值,0為禁止,1為啟用。
SafeDLLSearchMode啟用後,搜索順序如下:
1. 從其中加載應用程序的目錄、2. 系統目錄。使用GetSystemDirectory函數獲取此目錄的路徑。3. 16位系統目錄。沒有獲取此目錄的路徑的函數,但會搜索它。4. Windows目錄。 使用GetWindowsDirectory函數獲取此目錄。5. 當前目錄。
6. PATH環境變量中列出的目錄。
SafeDLLSearchMode禁用後,搜索順序如下:
1. 從其中加載應用程序的目錄2. 當前目錄3. 系統目錄。使用GetSystemDirectory函數獲取此目錄的路徑。4. 16位系統目錄。沒有獲取此目錄的路徑的函數,但會搜索它。5. Windows目錄。 使用GetWindowsDirectory函數獲取此目錄。
6. PATH環境變量中列出的目錄。
DLL劫持利用搜索順序來加載惡意DLL以代替合法DLL。如果應用程序使用Windows的DLL搜索來查找DLL,且攻擊者可以將同名DLL的順序置於比合法DLL更高的位置,則應用程序將加載惡意DLL。
可以用來劫持系統程序,也可以劫持用戶程序。劫持系統程序具有兼容性,劫持用戶程序則有針對性。結合本文的主題,這裡選擇劫持系統程序。
可以劫持的dll有:
lpk.dll、usp10.dll、msimg32.dll、midimap.dll、ksuser.dll、comres.dll、ddraw.dll
以lpk.dll為列,explorer桌面程序的啟動需要加載lpk.dll,當進入桌面後lpk.dll便被加載了,劫持lpk.dll之後,每次啟動系統,自己的lpk.dll都會被加載,實現了持久化攻擊的效果。
0x9 註冊表開機自動啟動項
1. Load註冊鍵
// 建一個字符串名為load鍵值
2. Winlogon\Userinit註冊鍵
找到「Userinit」這個鍵值,這個鍵值默認為c:\WINNT\system32\userinit.exe,後面加路徑,再加逗號也可以。這裡也能夠使系統啟動時自動初始化程序。通常該註冊鍵下面有一個userinit.exe,但這個鍵允許指定用逗號分隔的多個程序,例如「userinit.exe,OSA.exe」(不含引號)。
3. Explorer\Run註冊鍵
4. RunServicesOnce註冊鍵
5. 常用註冊鍵
測試部分成功執行。
0x10 計劃任務
命令詳解:
關機重啟顯示效果
指定時間運行任務
參數詳解
/st StartTime以 HH:MM:SS 24 小時格式指定時間。默認值是命令完成時的當前本地時間。/st 參數只對於 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 計劃有效。它只對於 ONCE 計劃是必需的。
schtasks命令詳解schtasks常見錯誤
刪除計劃任務
0x11 文件夾啟動
在每次開機或重啟的時候就會運行啟動文件夾下的程序。
0x12 映像劫持
在下面註冊表
在此路徑下創建一個子項,子項的名稱為你要劫持的 exe 名稱,比如說cmd.exe 然後創建一個值,值名為Debugger, 值為要執行的惡意腳本。
運行cmd.exe時執行成功運行calc.exe
注意:這個會讓安全軟件攔截,所以要先退出殺軟。
0x13 RID 劫持
新建一個普通用戶admin
在下面註冊表中
找到 admin 對於Windows系統來說,註冊表下包含當前系統的所有帳戶列表,每個帳戶的默認鍵值對應該帳戶詳細信息的註冊表位置(即RID的十六進制表示)
Tips:SAM下的註冊表選項需要獲得system權限才能讀取
查看 administrator 對應鍵值,數值名稱為F ,數值內容0030的位置複製到 admin 對應鍵值,數值名稱為F ,數值內容0030的位置。
點擊確定然後關機重啟,登陸 admin 用戶,效果圖如下:
