亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 注冊表 > 正文

利用遠程注冊表加強系統安全

2020-10-31 15:50:39
字體:
來源:轉載
供稿:網友

遠程訪問機器的注冊表通常是令人皺眉的事情;畢竟,您想讓其他人在您不知道的情況下查看您的注冊表嗎?但是,如果正確處理的話,這個過程可以成為抽取機器信息和識別您網絡中潛在 漏洞的強大工具。在這里,Brian 運用他在 WebSphere Business Integrator Team 中的工作經驗,描述了遠程注冊表訪問如何允許您從多臺機器中抽取信息 ― 并且識別那些易受攻擊的系統。本文還包括了代碼樣本。

在一個軟件開發測試環境中,跟蹤機器被證明是非常困難的,尤其是當機器的數量達到兩位數的時候。在哪臺機器上使用了什么軟件?使用的 NT 是什么版本?服務包(service pack)的級別是什么?安裝了什么修訂程序?您可以走到每臺機器前手工檢查核對所有這些問題,但是當機器分散在一個廣闊的區域內,這樣做會是一個非常費時的過程。

在這樣的情形下,如果有一種方法,能夠不必實際使用某臺機器并且不安裝額外軟件,就可以獲取那臺機器的信息,那將是很有用的。然后,收集到的信息可以用來分配資源和識別那些可能易受惡意的用戶和程序攻擊的機器。本文描述了利用遠程注冊表訪問的某些方面。

警告:通過使用本文中描述的遠程注冊表功能,您能節省系統管理的大量時間。但是仍要小心,因為編輯另一個系統的注冊表會與編輯您自己的注冊表一樣危險(如果不比編輯您自己的更危險的話)。

利用安裝功能

在這里的 WebSphere Business Integrator(WSBI)測試環境中,我們有大約 40 臺測試機器,它們的地理位置分散在整個英國 Hursley 實驗室中。在最初的測試階段期間,我們的注意力主要集中于 WSBI 的安裝和配置。在測試機器上不斷地安裝和重新安裝各種產品以及服務包和必備軟件 ― 通常必須重新安裝整個操作系統。很快,我們發現要監視每臺測試機器狀態幾乎是不可能的。我們需要一種方法,它可以在不必訪問每臺機器的情況下,快速知道該機器所處的狀態。

在 WSBI 安裝中,我們要在單一安裝封裝器中安裝并配置了大約 15 個 IBM 產品 ― 例如 DB2 V7.2、MQSeries V5.2、HTTP Server V1.3.12。正如對于所有好的安裝程序,在任何安裝開始之前,都要檢查目標機器以確保它滿足要安裝的軟件的前提條件 ― 例如服務包級別和相關產品。這個檢查通常在 InstallShield 腳本中由編寫注冊表腳本檢查相關值來完成的。

例如,一種最常見的檢查就是驗證 NT 服務包級別。鍵 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion 下的注冊表項,它們會出現在 Regedit.exe 中。

當在腳本中查詢一個注冊表項時,需要知道三樣東西:

要查詢的鍵名稱 ― 本例中,是 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion 鍵中值的名稱,這里是“CSDVersion”
正在查詢的值類型,這里是一個字符串值

使用 InstallShield 腳本函數 RegDBGetKeyValueEx 來執行注冊表查詢。但是假設您想要檢查安裝了什么級別的服務包。清單 1 顯示可以如何達到這一點。

清單1. 抽取服務包級別

STRING szKey, szName, svServicePackVersion;
NUMBER nvType, nvSize;
begin
svKey = ";SOFTWARE//Microsoft//Windows NT//CurrentVersion";;
svName = ";CSDVersion";;
nvType = REGDB_STRING;
RegDBGetKeyValueEx (szKey, szName, nvType, svServicePackVersion, nvSize);
end; 清單1 將返回值“Service Pack 6”并把它存儲在 svServicePackVersion 中。然后,您可以知道這臺機器上安裝了 Service Pack 6。通過執行類似這樣的各種查詢,可能確定一臺機器的配置以及在它上面安裝了什么軟件。

當我們意識到可以對遠程機器的注冊表執行這些查詢時,我們的實驗室工作取得了突破性的進展。

連接到遠程注冊表

要通過腳本訪問遠程機器上的注冊表,需要遠程機器上的管理員特權。我們發現當運行我們的腳本時,擁有在遠程機器上具有管理員特權的一個用戶帳戶并使用這個用戶名和密碼登錄到腳本正在運行的這臺機器是一個難題。

假設在我們的 WSBI 測試環境中,有三臺測試機器,使用第四臺作為審計機器。在每臺測試機器上,我們都需要添加一個用戶帳戶并賦予它管理員特權;我們將用戶名命名為“auditor”并賦予它密碼“angelus”。這是每臺機器上需要手工執行的唯一操作。每臺測試機器上的這些帳戶現在都允許我們通過審計機器上運行的腳本來訪問每臺機器的注冊表。

現在假設我們用剛才創建的帳戶(用戶名“auditor”,密碼“angelus”)登錄到 AuditMachine。下一步是重新運行清單 1 上的腳本,但是這次不檢查本地注冊表,而是想知道機器“Gunn”的服務包級別,所以我們需要連接到它的注冊表上。要做到這一點,我們使用命令 RegDBConnectRegistry。這個功能創建到遠程注冊表的連接。要連接到 Gunn,該命令類似于:

RegDBConnectRegistry ("Gunn" , HKEY_LOCAL_MACHINE, 0 );

把它放置在腳本中,那么我們就得到:

清單2. 遠程抽取機器 Gunn 的服務包級別

begin
RegDBConnectRegistry (";Gunn"; , HKEY_LOCAL_MACHINE, 0 );
svKey = ";SOFTWARE//Microsoft//Windows NT//CurrentVersion";;
svName = ";CSDVersion";;
nvType = REGDB_STRING;
RegDBGetKeyValueEx (szKey, szName, nvType, svServicePackVersion, nvSize);
end;

如果一切順利的話,我們現在就能訪問 Gunn 的注冊表并抽取服務包級別。

接下來,通過在 RegBConnectRegistry 命令中用表示其它兩臺機器的相應的名稱替代“Gunn”,然后運行相同的過程;我們就可以抽取這兩臺機器的服務包級別。

我們注意到,三次重復輸入相同的代碼效率很低,因此可以使用循環機制來輪流查詢每臺機器的注冊表。需要輸入的全部信息是每臺機器的名稱。這可以通過創建一個文本文件來完成,該文件中,每一行包含一個機器的名稱。因此,假設我們已經創建了一個名為 machineList.txt 的文本文件,其中輸入了我們希望查詢的三臺機器的名稱,并將它保存在 C 盤的根目錄下?,F在我們可以進一步修改腳本以把這些機器名讀取到一個列表結構中,并輪流連接到每臺機器的注冊表。
清單 3. 從多臺機器中抽取服務包級別

begin
listMachines = ListCreate(STRINGLIST);
ListReadFromFile (listMachines, ";c://machineList.txt";);
nResult = ListGetFirstString (listMachines, svMachineName);
while (nResult != END_OF_LIST)
RegDBConnectRegistry (svMachineName , HKEY_LOCAL_MACHINE, 0 );
svKey = ";SOFTWARE//Microsoft//Windows NT//CurrentVersion";;
svName = ";CurrentVersion";;
nvType = REGDB_STRING;
RegDBGetKeyValueEx (svKey, svName, nvType, svServicePackVersion, nvSize);
nResult = ListGetNextString (listMachines, svMachineName);
endwhile;
end;

以上代碼將從 machineList.txt 文件中讀入一個機器名,連接到它的注冊表,進行查詢,然后繼續移到在文本文件中命名的下一臺機器。使用這種方法的優點是通過簡單編輯 machineList.txt 文件中的名稱,我們能非常容易地在審計過程中添加和除去機器。

輸出信息

到現在為止,您可能已經注意到當我們執行這些查詢時,還沒有產生任何輸出。所以,現在我們來討論確定表示輸出結果的最好方法。我們團隊決定把輸出格式化為 XML 文件,因為這樣使我們可以瀏覽檢索到的信息,并且允許我們可能開發的任何其它應用程序利用這些數據。清單4 顯示了用適當命名的標記生成的 XML 文件。

清單4. 從多臺機器中抽取服務包級別并輸出到 XML 文件

; begin
CreateFile (nvFileHandle, ";C:/";, ";Audit.xml";);
WriteLine(nvFileHandle, ";<;?xml version=";1.0";?>;";);
WriteLine(nvFileHandle, ";<;audits&;gt;";);
listMachines = ListCreate(STRINGLIST);
ListReadFromFile (listMachines, ";c:/machineList.txt";);
nResult = ListGetFirstString (listMachines, svMachineName);

while (nResult != END_OF_LIST)
RegDBConnectRegistry (svMachineName , HKEY_LOCAL_MACHINE, 0 );
svKey = ";SOFTWARE//Microsoft//Windows NT//CurrentVersion";;
svName = ";CurrentVersion";;
nvType = REGDB_STRING;
RegDBGetKeyValueEx (svKey, svName, nvType, svServicePackVersion, nvSize);
WriteLine(nvFileHandle, ";<;MachineName&;gt;";);
WriteLine(nvFileHandle, ";<;ServicePack&;gt;"; + svCSDVersion+ ";<;/ServicePack&;gt;";
WriteLine(nvFileHandle, ";<;/MachineName&;gt;";);
nResult = ListGetNextString (listMachines, svMachineName);
endwhile;

WriteLine(nvFileHandle, ";<;/audits&;gt;";);
CloseFile(nvFileHandle)
end;如果我們在 AuditMachine 上運行清單4(假設我們使 machineList.txt 包含我們的目標機器的名稱),并且我們的審計帳戶設置正確,那么我們將生成一個名為 Audit.xml 的輸出文件。然后,我們可以瀏覽這個文件并查看每臺機器上的服務包級別是什么。

在我們的示例中,通過從三臺機器中抽取單段信息,我們執行了一個很小的審計。理論上,以這種方式能從多少臺機器抽取信息或者抽取多少信息并沒有限制。在這里的 WSBI 測試中,目前我們每次審計大約 40 臺機器。使用這里描述的技術,我們當前的審計系統能確定:

機器運行的是 NT 還是 2000

是否應用了服務包

安裝了什么修訂程序

是否安裝了 Norton Anti-Virus

安裝了哪些 IBM 產品以及是什么級別

對于每次審計,涉及的原理與我們示例中的完全相同:

讀入機器名或者 IP 地址的列表

輪流連接到每臺機器的遠程注冊表

從每臺機器的注冊表中抽取信息

這里顯示了對一臺機器進行完整審計的示例。

收集在 XML 文件的單一資源庫中的這些信息讓我們極其清晰地了解了我們的測試環境,并且使我們可以更有效地管理硬件資源。進一步擴展原理

到目前為止,我們只查詢了遠程機器的注冊表。但是,它并不僅限于查詢。還有可能編輯遠程機器的注冊表。

回到我們的示例,假設那些機器位于三個不同的房間 ― Gunn 在“The War Room”、Wesley 在“The Test Cell”、Cordelia 在“Room 101”。如果我們可以引入使 XML 文件中包含機器位置的一些方法,那么這會使我們的審計方便些。一種解決方案是在注冊表中放置一個額外鍵表示機器的位置。使用 regedit.exe,在鍵 HKEY_LOCAL_MACHINE/SOFTWARE/IBM/MachineLocation 下,我們創建了一個名為“location”的新字符串值。

但是如果有很多機器的話,那么遍歷每臺機器并且手工創建每個位置鍵就不很理想了。比較好的方法是將值遠程地插入到每臺機器中。執行的方法與檢索注冊表值的方法是完全相同的。首先,連接到遠程注冊表:

RegDBConnectRegistry ("Gunn" , HKEY_LOCAL_MACHINE, 0 );

接著,設置注冊表值:

svKey = ";SOFTWARE//IBM//MachineLocation";;
svName = ";Location";;
nvType = REGDB_STRING;
svLocation = ";The War Room";

最后,執行注冊表操作。這次,我們使用 RegDBSetKeyValueEx,它設置注冊表值(正如它的名字所表示的)。

RegDBSetKeyValueEx (svKey, svName, nvType, svLocation, nvSize);

然后,審計過程就可以查詢這個鍵了。也可以用這種方法更新甚至刪除注冊表鍵,雖然從遠程注冊表刪除鍵是非常危險的。

優點

這種方法的審計的主要優點是:

它除去了在測試機器上安裝任何第三方軟件的需求,因此也除去了由此產生的潛在干擾;需要做的全部操作就是在每臺機器上創建一個用戶帳戶。
可以通過在腳本中修改那些您想要查詢的注冊表鍵以及要審計的機器,非常容易地調整您的審計過程。

這個審計過程不會以任何方式干擾正在被審計的機器上執行的操作。那臺機器的用戶完全不知道審計的發生。5 秒內就可生成本文前面包含的完整的審計 XML 文件。提高安全性

惡意的用戶

要弄壞一臺機器,沒有比通過對注冊表胡亂更改里面的內容更好的方法了,因此惡意的用戶遠程地訪問您的注冊表將會是一大災難。然而,由于我們之前設置的遠程-注冊表帳戶是管理員用戶,所以我們只要通過執行以下這些步驟,就能將遠程注冊表訪問權限限制為管理員。

運行 Regedt32.exe。

打開以下注冊表鍵:

HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/SecurePipeServers/WinReg。

單擊 WinReg 鍵,然后在“安全(Security)”下拉菜單中選擇“權限(Permissions)”。 確保在框中只出現具有完全控制的管理員。 要完全限制所有的遠程-注冊表訪問,從框中除去所有名稱。

惡意的程序:識別易受攻擊的機器

惡意的程序進入系統的主要方法是利用操作系統的安全性漏洞。我們都知道近期“紅色代碼(Code Red)”和類似的病毒已經引出了許多問題。堵住這些漏洞的補丁程序通常在那些利用漏洞的病毒猖獗運行之前的幾個月就可獲得,但是在一個多機器的環境中,您如何能識別哪些機器易受攻擊呢?補丁程序或者修訂程序的安裝總是在注冊表中留下痕跡。打開 Regedit 并瀏覽到鍵 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Hotfix,列出了當前已安裝的所有修訂程序。例如,防止“紅色代碼”病毒的補丁程序稱為 Q300972。在一臺安裝了這個修訂的機器上,在上面顯示的鍵下,會有一個稱為 Q300972 的鍵。因此,利用這里所描述的技術,通過在審計期間查找這個鍵,我們能識別沒有安裝補丁程序的任何機器,并且相應地對它們進行處理。

反病毒軟件是任何安全性實現的一個必需部分,但是有些機器可能沒有安裝反病毒軟件,或者軟件可能過時了,從而使它們門戶大開易受攻擊。遠程注冊表調用可以用來找到這些機器。

安裝任何一種反病毒軟件都會在注冊表中留下一些蹤跡,假設在我們的系統上,在安裝了反病毒軟件后,它在注冊表中留下了下列蹤跡:



然后,審計可以尋找這些值以便識別那些沒有安裝反病毒軟件或者殺毒軟件需要更新的機器。

如果您查看前面提供的審計示例,就會注意到執行了兩個這種性質的檢查。我們的審計檢查了“紅色代碼”修訂是否存在,檢查了反病毒軟件并且抽取出它的版本。

結束語

本文描述了在小心正確地使用遠程注冊表訪問時,它是如何成為一個有價值的工具,用來抽取有關多臺機器的信息以及識別易受攻擊的機器。您可以使用本文中的示例作為創建您自己的相關變體的一個起點。通過使用它和包含的源代碼,您應該發現在您自己的環境中實現遠程注冊表工具是非常簡單的。
(出處:瑞星反病毒資訊網)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久在线| 亚洲国产精品小视频| 亚洲精品免费一区二区三区| 国产一区二区三区视频免费| 久久精品成人动漫| 久久久999精品免费| 琪琪亚洲精品午夜在线| 欧美成人精品在线| 精品动漫一区二区三区| 欧美日韩一区二区在线播放| 日韩中文字幕在线| 欧美激情免费在线| 91在线网站视频| 91av视频在线播放| 国产精品入口免费视| 国产精品久久久久999| 国产精品一区二区av影院萌芽| 国产精品高清在线| 57pao国产精品一区| 亚洲精品suv精品一区二区| 国产精品久久久久久久久久东京| 最近的2019中文字幕免费一页| 国内自拍欧美激情| 国产99久久精品一区二区 夜夜躁日日躁| 永久免费看mv网站入口亚洲| 欧美国产第二页| 欧美午夜女人视频在线| 日韩精品久久久久久福利| 久久色免费在线视频| 欧洲成人免费视频| 亚洲天堂av电影| 91tv亚洲精品香蕉国产一区7ujn| 日韩精品在线免费观看视频| 国产精品香蕉国产| 欧美视频精品一区| 国产精品99久久久久久久久久久久| 亚洲的天堂在线中文字幕| 激情亚洲一区二区三区四区| 欧美成人精品h版在线观看| 欧美日韩国产成人高清视频| 成人av在线网址| 欧美激情亚洲精品| 中国人与牲禽动交精品| 国产成人精品在线播放| 日韩欧美国产免费播放| 亚洲国产欧美一区| 日韩成人激情在线| 亚洲精品福利免费在线观看| 久久久久日韩精品久久久男男| 欧美一区二区三区……| 国产91九色视频| 富二代精品短视频| 欧美一区二区色| 久久视频在线直播| 欧美影院在线播放| 8x拔播拔播x8国产精品| 亚洲国产精品va在线| 亚洲精品乱码久久久久久按摩观| 国产综合福利在线| 亚洲性线免费观看视频成熟| 国产一区二区三区精品久久久| 奇门遁甲1982国语版免费观看高清| 在线观看亚洲区| 精品视频在线观看日韩| 国产美女高潮久久白浆| 久久青草精品视频免费观看| 2019中文字幕在线免费观看| 亚洲无限乱码一二三四麻| 这里只有精品丝袜| 在线观看成人黄色| 一区二区三区美女xx视频| 精品国产户外野外| 成人免费观看49www在线观看| 国产成人亚洲综合| 国产视频亚洲视频| 成人网在线免费观看| 麻豆乱码国产一区二区三区| 色综合视频一区中文字幕| 欧美孕妇孕交黑巨大网站| 精品久久久久久中文字幕大豆网| 日韩免费黄色av| 亚洲欧美一区二区精品久久久| 国产欧美精品日韩精品| 亚洲成人精品av| 欧美日韩亚洲精品一区二区三区| 91av在线视频观看| 奇米一区二区三区四区久久| 中文字幕久热精品视频在线| 日韩欧美中文在线| 国产精品综合久久久| 日韩精品在线视频| 亚洲国产精品久久久久久| 亚洲福利小视频| 在线观看国产精品日韩av| 国产精品一区二区三区久久| 中文字幕久精品免费视频| …久久精品99久久香蕉国产| 性色av一区二区三区| 亚洲成人性视频| 国产成人精品在线播放| 亚洲成av人片在线观看香蕉| 欧美亚洲成人免费| 欧美国产欧美亚洲国产日韩mv天天看完整| 国内精久久久久久久久久人| 这里只有精品视频| 亚洲理论在线a中文字幕| 亚洲国产精品小视频| 国产精品v片在线观看不卡| 国产a∨精品一区二区三区不卡| 午夜精品久久久99热福利| 亚洲欧美在线看| www.日韩视频| 成人亚洲欧美一区二区三区| 国产精品精品一区二区三区午夜版| 国产精品白丝av嫩草影院| 久久av在线播放| 国产精品久久久久久久久久| 欧美大成色www永久网站婷| 亚洲人成在线电影| 欧美孕妇性xx| 日韩欧美国产高清91| 日韩亚洲成人av在线| 欧美贵妇videos办公室| 精品视频—区二区三区免费| 精品视频—区二区三区免费| 久久频这里精品99香蕉| 在线看日韩av| 精品国内自产拍在线观看| 亚洲新中文字幕| 亚洲天天在线日亚洲洲精| 国产成人亚洲综合91| 欧美高清视频一区二区| 国产精品视频色| 亚洲成人久久久久| 日韩中文字幕国产| 国产精品人成电影| 亚洲爱爱爱爱爱| 懂色av中文一区二区三区天美| 久久久精品一区二区| 一区三区二区视频| 欧美二区乱c黑人| 日韩在线激情视频| 中文字幕日韩高清| 国产精品96久久久久久| 亚洲社区在线观看| 91免费国产视频| 精品女同一区二区三区在线播放| 18性欧美xxxⅹ性满足| 7777精品久久久久久| 亚洲精品中文字| 亚洲欧美国产精品久久久久久久| 久久久亚洲精品视频| 一本一本久久a久久精品牛牛影视| 久久久精品日本| 按摩亚洲人久久| 91po在线观看91精品国产性色| 国产日韩在线观看av| 亚洲美女免费精品视频在线观看| 久热精品视频在线观看| 欧美激情乱人伦| 91禁国产网站| 亚洲网址你懂得| 欧美成人精品在线视频| 在线观看久久久久久|