第一卷 個人Internet網站創建過程詳解(3 / 3)

Lock user in home directory:

最如想在用這帳號登陸後, 看到的根目錄是所設的 Home Directory,

就選吧. (建議選取, 否則地址會比較難看)

Priviledge: 這用戶遠程管理 Serv-U 服務器的權限, 具體看 HELP

General:

Allow only N login(s) from same IP address

限製同一 IP 用這帳號的連接數, 選了它吧!

如果考慮到用 IE 的用戶, 最好設兩個連接,

否則對方可能不能下載, 如果狠心點, 設 1 個也沒關係!

Max upload Speed.

用這帳號, 每一個連接上傳文件的極速.

Max download Speed

用這帳號, 每一個連接下載的極速.

Idle time-out

發呆多久才 kick 他出去, 個人認為 5 分鍾都夠了.

Sesson time-out

無論他有沒有發呆, 上來一段時間後就把他 KICK 走, 即使他在下載

什麼東東也照踢不誤, 並且在 1 分鍾內不讓他再上來. 這樣在很忙下載

站點中可能有用, 可以讓多點人有機會訪問, 不過確是有點討厭. 嗬嗬

Max. no. of users

這帳號同時允許的總連接數目.

其餘的比較少用, 看 HELP 吧.

Dir Access:

這裏設置這用戶對你硬盤中, 實際路徑的讀寫權限, 關鍵哦!

無論是 HOME 目錄好, 映射目錄也罷. 要讓用戶用得到, 也要在這裏加

具體意義在界麵上也很明確吧. 不多說了, 但別忘了.

(記得把 HOME 目錄在這裏加多一次, files-[read], directories-

這樣人家看能看到, 下載到你的東東....)

Step #3: 群組帳號

在 Domains 下...

Groups... 右擊出現新增/移除用戶選單.

看上去很簡單是不是? 對了. 把一個 Group 設置了一點參數,

在任一用戶 - Account - Group(s) 中把他加進去, 他就擁有那個參數的權限.

有什麼用? 你自己想想吧.

哈哈... 基本上我們都搞好了, 但是重頭戲 Virtual path mappings 還沒出場,

Virtal path mappings:

究竟是什麼原因呢? 這是因為很多老鳥都對上麵幾篇一屑不顧, 但卻往往

死在 VPM 手上, 但是死在 VPM 的石榴裙下也甘心了. 嗬嗬....

在 Domains 下...

Settings:

General:

Virtual path mappings:

Step #1: 虛擬路徑映射的概念:

1. Physical path: 目錄的實際路徑

可以是任何Windows分區上任何東東, 甚至網絡鄰居裏的也可以

2. Mapped to: 映射到... (這個目錄必須實際存在)

你想把它"變到"你硬盤裏的那個目錄呢?

你可以用到兩個變量:

%HOME% : 即"Home directory"

%USER% : 用戶名

3. mapped path name:

這個虛擬目錄在顯示出來的名字

4. 記得要在各用戶的 Dir access 中設置它對實際路徑的權限哦!!!!

Step #2: 舉例:

1. 你想把 f:\movie\ 映射到匿名登錄後看到的 \MyMovie 目錄:

Physical path: f:\movie\

Mapped to: %HOME%

mapped path name: MyMovie

在 anonymous 帳號對 f:\movie\ 設 file - read, dir - list 權限

2. 你想把 g:\mp3\ 映射到 alex 登錄後看到的 \Audio\MySongs 目錄:

Physical path: g:\mp3\

Mapped to: %HOME%\Audio

mapped path name: MySongs

在 alex 帳號對 g:\mp3\ 設 file - read, dir - list 權限

如何封用戶:

Step #1. 按 IP 封

在 Serv-U 中, IP Access 很多地方都有出現, 這就是限製 IP 訪問的地方了.

Domain- Settings 裏有; 各用戶- Settings 裏有; 各群組- Settings 裏也有.

IP access:

如果要限製 IP, 就在這裏設置. 限製是由上到下執行檢查的.

這裏給出一些例子: (!注意次序!)

1. 隻對某幾個 IP 開放帳號:

----------------

A: 202.38.241.8

A: 202.38.249.2

A: 202.38.248.3

D: *

----------------

意思是, 對 202.38.241.8 , 202.38.249.2 , 202.38.248.3

開放, 其餘都不準進入

2. 隻對一個網段開放:

----------------

A: 202.38.241.*

D: *

-----------------

意思是, 隻對 202.38.241.* 開放, 其餘拒絕

3. 隻拒絕部分IP

--------------

D: 123.166.*.*

D: 202.38.234.56

A: *

--------------

拒絕 123.166.*.* 的B類網段, 及 202.38.234.56 訪問,

其餘都歡迎

看了三個例子, 大家都誌該知道 IP 限製如何設置吧,

要注意的一點是, 最後一個限製項目, 最好要設成

A: * (其餘都允許進入) 或

D: * (其餘都不準進入)

否則, 可能會得不到預期中的限製的效果.

Step #2. 看不爽封

如果有個人連了上來, 你看他不爽想封掉他.

在 <> - Activity 或

你的Domain - Activity 會看到他,

右擊, KILL USER .............

他在你FTP的命運就在你手中了.

............... The End ..............

後記: 好累啊~~~

對IP Access的補充。。。

Step ## "-"連字符的用法(昨晚試了偶半小時。。:< )

補充:

用來簡潔地表示不屬於整段類地址的一段IP

它可以任意在A、B、C、D類地址中使用

這可是個很好用的地方

比如我隻對教育網地址202.112.*-202.120.*開放anonymous帳號

在warftpd/g6中 br>你就要老老實實地在user->anonymous->ip access "allow"項中逐步加上

202.112.*(.*)

202.113.*(.*)

......... r>202.120.*(.*)

而在ServU3.0中

你可以直接寫成:

202.112-120.*

就這麼簡單!

關於Message的一些動態的參數:

%Time - 目前的時間

%Date - 目前的日期

%UNow - 目前的聯機人數

%UAll - 從激活到目前為止的聯機人次

%U24h - 在過去 24 小時內的聯機人次

%MaxUsers - 總聯機人數上限

%MaxAnonymous - 匿名聯機人數上限 (Anonymous FTP)

%Name - 帳號名稱

%IP - 對方主機名稱/地址 (Hostname/IP)

%DIR - 目前的目錄

%Disk - 目前的磁盤驅動器名 ( C: D: E: .....)

%DFree - 磁盤剩餘空間

%Fup - 上傳檔案個數

%Fdown - 下傳檔案個數

%Ftot - 總傳檔數

%Bup - 上傳位數

%Bdown - 下傳位數

%Btot - 總傳輸位數

%Tconm - 聯機時間數 (以分為單位)

%Tcons - 聯機時間數 (以秒為單位, 與 %tconm 配合使用)

例:

◎ 來自 %IP 的女神迷您好。

◎ 女神事務所自 Yggdrasil 係統激活以來已接通 %UAll 位使用者。

◎ 過去 24 小時總共有 %U24h 次聯機。

◎ 目前有 %UNow 位使用者在線上,最多容許 %MaxAnonymous 位使用者同時聯機機?

連上去看到的則是...

220-Serv-U FTP-Server v2.1 for WinSock ready...

220-◎ 來自 140.112.18.32 的女神迷您好。

220-◎ 女神事務所自 Yggdrasil 係統激活以來已接通 55 位使用者。

220-◎ 過去 24 小時總共有 55 次聯機。

220-◎ 目前有 2 位使用者在線上,最多容許 50 位使用者同時聯機。

好玩吧?^_^ 這些參數也可以用在 Message File!

關於Dns2go的使用:

DNS2GO--用你自己的名字上網

引言

撥號上網的網民都知道,每次上網用的IP地址都是由ISP動態分配的,因此每次都不同。這樣做當然有利於ISP充分利用手中有限的IP地址資源,但卻給用戶帶來了一些不便,因為這就像一個人每天都必須換一個電話號碼,讓想找他的人無所適從。況且在有一些場合下都需要知道並且告訴別人你的IP地址,比如說你想與朋友做一個點對點的連接進行聊天、傳送文件或者玩Internet遊戲等等。

再比如,你的公司出於成本和安全性考慮,決定建立本地的Web、FTP、E-mail服務器,目的就是每天定時上網,供出差的同事在外地瀏覽本公司主頁、下載文件以及發回郵件。目前我們對上述問題的解決辦法通常是:運行Winipcfg查出自己當前的IP,然後用另一部電話告訴朋友。這時你應該看出擁有固定IP有多方便了吧。也許有人注意到,在我們上網的過程中,在需要輸入訪問地址的時侯,基本上都是用一個域名代替其IP地址,比如在瀏覽器中輸入http://www.sina.com",而不是用它的IP地址。其實,這是利用了Internet上的DNS服務,也就是通過DNS服務器將你輸入的域名轉換為對應的IP地址。然而,要擁有自己的域名或者固定IP,要麼你就去托管(或租用)服務器空間,要麼就通過專線直接連至Internet,顯然這對一般用戶和中小公司而言,是難以承擔也是沒必要的。 那麼怎樣才能解決這個矛盾呢?答案就是動態域名解析--DDNS。DNS2GO就是能實現DDNS的軟件之一,而且是最好用、功能最全的。

DNS2GO簡介

DNS2GO是Deerfield.com公司繼Wingate 4.0之後推出的新產品。DDNS的實現要依靠兩個程序的協同工作,其一是服務端程序DNS2GO Server,該程序安裝在Deerfield的主機Discovery.dns2go.com上,最終的域名解析工作由它來完成;其二是客戶端程序DNS2GO Client,它安裝在撥號上網用戶的計算機上。它的作用在於:一旦用戶上網,它就取得當前的IP並傳送給服務器。這樣一來,隻需從Deerfield申請一個域名,然後將申請到的域名告訴你的朋友。以後隻要你一上網,你的朋友就可以通過這個域名找到你了。

申請域名

域名可以到DNS2GO主http://www.dns2go.com去申請。申請過程中要輸入自己的名字、Email,然後在十幾個免費域名中選擇一個自己中意的,大致的樣式是***.DNS2GO.COM。之後在"***"的位置給自己的計算機起個Internet上的名字,比如:Myweb、Myftp,或者用你自己的名字也行。這樣,隻要你在網上,你的朋友就可以通過***.DNS2GO.COM的域名找到你了。

域名申請好後,接著你要填寫關於你申請的域名的相關信息(Profile),包括站點簡介、說明、分類,是否將自己的域名顯示在DNS2GO社區裏,你的計算機上安裝了何種服務器軟件以及申請哪種增值服務等。最後,你會收到一封E-mail,裏麵有一個注冊碼,就是注冊DNS2GO時輸入的那個,這時就可以下載客戶端程序DNS2GO.EXE了。

關於增值服務(valuesss Added Services)

上文提到的增值服務是Deerfield為本地計算機安裝有E-mail服務器的用戶而開設的。具體有如下幾項:

1.No Email Routing

此項為用戶在申請域名時的默認設置。該項服務為免費,但用戶計算機不在線時就無法收到其他人發來的郵件。

2.POP Forward

POP轉發,即用戶可以指定一個24小時在線的POP服務器,這樣當用戶計算機不在線時,Deerfield自動將發給該用戶的郵件轉發到指定的POP服務器上。

3.SMTP Routing

SMTP路由發信,即當用戶不在線時,Deerfield先將發給該用戶的郵件暫存在自己的服務器上,一旦該用戶上網並收到來自DNS2GO客戶程序的傳送請求,就將存儲的郵件直接發給該用戶計算機上的郵件服務器。

4.POP Routing

POP路由收信,即當用戶不在線時,Deerfield先將發給該用戶的郵件存儲在自己的服務器上,然後該用戶可以隨時上網並通過本地Email服務器或Email客戶程序(如:outlook express)收回郵件。

以上的2-4項服務因為都要占用Deerfield的服務器空間,所以均要收費,但可以有一個30天的試用期。收費標準大約是$70/6MB/年。

使 用 手 冊

1.安裝

首先撥號上網,然後運行下載的安裝程序。在圖-1中選擇要安裝的組件,其中DNS2GO Client是必選項。如果用戶通過局域網代理服務器上網,則可以在代理服務器上安裝下一個組件"DNS2GO網關擴展程序"。注意:這裏所說的代理服務器僅指通過TCP Mapping方式進行代理的代理服務軟件,如WinGate 2.0,不包括NAT型的代理服務軟件(如SYGate)或LSP型的(如使用WGIC的WinGate3.0/4.0)。

在圖-2中指定用戶計算機上網的方式:"Direct..."為直接方式(通過SYGate、WGIC上網也在此類);"...proxy..."為使用TCP Mapping方式。

2.注冊

安裝完畢後直接進入DNS2GO主界麵中的注冊頁,如圖-3。在Domain Name欄中輸入申請好的域名,Registration Key欄輸入注冊碼,之後點擊"OK"。這時DNS2GO客戶開始與遠程服務端程序通信,稍後主界麵將自動縮小為任務欄上的"升空火箭"圖標,表示注冊成功,用戶就可以使用申請的域名了。如果你在本地計算機上裝了Web服務器,這時可以打開瀏覽器並輸入你申請的域名。怎麼樣,看見你的主頁了吧? 3.程序界麵

狀態頁(Status)

DNS2GO Service Connection:當前與DNS2GO服務器的連接狀態或上一次發生的錯誤。

Connect/Disconnect:手動連接到DNS2GO服務器或斷開連接。

Internet Connection:當前與Internet的連接狀態。

Details:

①Domain Name:用戶申請好的域名。

②Domain Status:DNS2GO服務器如何處理指向用戶域名的訪問請求。在"連接"頁中指定。

③Heartbeats:DNS2GO客戶程序發送給DNS2GO服務器的信息包數目。DNS2GO客戶程序每隔一段時間就發送一個heartbeat(心跳)信息包給DNS2GO服務器,通知服務器以下信息:用戶計算機仍然在線、用戶計算機當前的IP地址。

④Time On-line:用戶計算機在線的時間。

連接頁(Connection)

已與DNS2GO服務器建立連接時:

①Point my domain to my current IP address:用戶與DNS2GO服務器連接成功後,服務器即將用戶申請的域名綁定至該用戶的當前IP地址,這樣,Internet上的其他用戶能通過此域名訪問該用戶的計算機。

②Set my IP address to:將域名綁定到其他的IP地址。

③Redirect web requests(with a www prefix)to this port:啟用HTTP轉發功能。這時其他用戶發過來的HTTP請求(標準端口:80)被自動轉發到指定端口(例如:8080)。如果用戶的web服務器被安裝在非標準端口,應在此進行相應設置。

未與DNS2GO服務器建立連接時:

①Send the visitor a web page that tells them I am off-line:用戶當前未與DNS2GO服務器建立連接時,其他人如果訪問該用戶域名,DNS2GO服務器會發給其一個WEB頁麵告知被訪問的用戶當前不在線。

②Point my domain to this URL:其他用戶的訪問請求(僅限於HTTP協議)被轉發到指定的WEB頁麵(URL)。

③Set my IP address to:其他用戶的訪問請求被轉發到指定的IP地址。如果指定地址為0.0.0.0,則拒絕所有的訪問請求。

選項頁(Option)

Use Proxy Server:

如果用戶計算機是通過代理服務器的TCP Mapping方式使用DNS2GO客戶端程序,則應選此項;但如果是通過NAT(如Sygate)或LSP(如本地計算機安裝了Wingate3.0/4.0的WGIC)的,則不選。

①Proxy Address:代理服務器的IP地址(如:192.168.0.1)。

②Port:DNS2GO客戶程序通過該端口與代理服務器建立TCP Mapping。

③Gateway Extensions:如果代理服務器上安裝了網關擴展程序,則在此進行設置。網關擴展程序包含在DNS2GO的安裝程序裏,但它必須安裝在代理服務器上。DNS2GO客戶程序通過網關擴展程序得到代理服務器當前是否上網的信息,從而實現自動與DNS2GO服務器建立連接或斷開連接的功能,如圖-7。

Check Gateway Status Before Attempting DNS2Go Connection:試圖連接到DNS2GO服務器前先連接到網關擴展程序,查詢代理服務器狀態。如果代理服務器不在線,DNS2GO客戶的查詢不會導致代理服務器撥號上網;如果代理服務器在線,則自動連接至DNS2GO服務器。

離線)或On-line(在線)。假設為離線時,DNS2GO客戶將不做連接的操作;假設為在線時,DNS2GO客戶仍然試圖連接至DNS2GO服務器。前者為建議選項。

Gateway IP Address:網關擴展程序所在IP地址,應與代理服務器為同一地址(如:192.168.0.1)。

vi.Port:網關擴展程序偵聽DNS2GO客戶查詢請求所使用的端口。

Run DNS2GO as a service:

將DNS2GO設置為係統服務,即在開機時自動運行,關機時才關閉。

Enable Event logging:

啟用日誌功能。

Auto connect to and disconnect from the DNS2Go service:

一旦用戶計算機上網,DNS2GO客戶就自動連接到DNS2GO服務器;一旦用戶計算機下網,DNS2GO客戶就斷開與DNS2GO服務器的連接。如果用戶計算機通過代理服務器上網,並希望使用此功能,必須在代理服務器上安裝網關擴展程序。

Re-attempt connection failures X times:

與DNS2GO服務器連接失敗時,重試的次數。

Show splash screen on startup:

啟動DNS2GO客戶程序時,在桌麵顯示一閃而過的窗口。

Transfer Email:

如果用戶在申請域名時選擇了第三項增值服務,則在此進行相應設置,如圖-8、圖-9,其中圖-9中顯示了DNS2GO客戶成功連接到遠程郵件主機且郵件傳送已經開始。

①Mail Host:Deerfield為用戶存儲郵件的服務器名(mail.dns2go.com),端口為25。如果通過mapping代理上網,則應寫入代理服務器的IP地址(如:192.168.0.1)及mapping端口(如:1025)。

②Transfer Mail Automatically When I Connect to the Internet:當DNS2GO客戶程序偵測到用戶已上網時,自動發送一條請求給mail.dns2go.com,要求其將存儲的郵件傳送過來。

③Transfer Now:手動發出傳送請求。

撥號調度頁(Scheduled Dialing)

用戶可在這裏指定DNS2GO客戶在一周內的哪幾天的哪個時間段,使用指定的撥號網絡連接自動撥號上網。

時間同步頁(Time Sync)

這裏列出了幾個Internet上的時間服務器,供用戶校正本機時間。

注冊頁(Registration)

Tell A Friend:

以Email的方式通知朋友你申請的DNS2GO域名。

Get Free Key:

如果遺失了注冊碼,通過此功能可以再次得到,但要輸入第一次申請時的個人信息。

Ground Control:

此功能讓用戶在線修改申請使用域名的profile、增值服務等。

後記

由於個人用戶極少每天24小時長時間開機,如果你架設的HTTP及FTTP服務器隻是讓人瀏覽網頁或下載文件的話,始終不及將文件放到ISP或網上免費寄存空間來得實際。相信大多數個人電腦用戶架設這些WebServer的動機,隻是抱著學習及興趣的心態,與自己熟悉的朋友互相交流心得或方便交流文件之用。最後要提醒大家的是,架設個人WebServer雖然好玩,但要注意利用軟件提供的保安功能設定權限,及避免讓陌生人進入,才不會讓黑客有機可乘。

第十章 IIS配置文件後門

本文的內容是如何利用IIS本身的一些特性建立後門。當然,這主要是一份供網絡管理員和網絡安全工作人員參考的"Know Your Enemy"類文檔,作者希望這篇文章能夠對檢查和清除後門有所幫助,而並不鼓勵或讚同利用本文的技巧進行違法活動。

首先簡單介紹一下IIS的配置文件MetaBase.bin。這個文件位於%SystemRoot%\system32\inetsrv\MetaBase.bin,包含了幾乎所有IIS的配置信息,是非常重要的係統文件。簡單的說,我們在"intenet服務管理器"中所作的一切設置最終都會被保存在MetaBase.bin中。在日常的係統管理中除了通過"intenet服務管理器"來對MetaBase.bin進行操作外,Windows還提供了一個腳本adsutil.vbs可以對MetaBase.bin進行操作。

MetaBase的結構類似於注冊表,也是樹形結構,有類似鍵、值、項的概念。事實上在IIS3和PWS中,MetaBase的內容就是存儲在注冊表中的。MetaBase有兩個主鍵:LM和Schema。其中,Schema保存了係統默認的一些配置,通常不需要修改,一旦改錯也非常危險,所以無論是"intenet服務管理器"還是adsutil.vbs都沒有提供修改Schema的機製。LM中包含了IIS的HTTP服務,FTP服務,SMTP服務等的配置信息。其中,LM/W3SVC/下是我們要用到的HTTP服務的配置信息。

幾個下麵會提到的值:

LM/W3SVC/InProcessIsapiApps,進程內啟動ISAPI。這是一個數組,裏麵包含的是一組指向一些ISAPI的路徑。在這個數組裏麵的ISAPI運行的時候都是由inetinfo.exe直接啟動的,繼承inetinfo.exe的local system權限;而不在其中的ISAPI則是由svchost.exe派生的dllhost.exe進程啟動的,運行的身份是IWAM_NAME,當然,這是IIS默認的安全級別"中"的情況下,如果設為低,那麼所有ISAPI都會由inetinfo.exe直接派生。另外,如果設定的時候不指定路徑,而是僅指定一個擴展名,那麼任何路徑下的同名ISAPI在被調用的時候都會以system權限執行。

ScriptMaps,腳本映射。在某個目錄下設定該值後,則向該目錄請求的特定擴展名的文件會交給指定的ISAPI執行。需要強調的是,設定ScriptMaps的目錄並不一定要真實存在的,隻要在MetaBase中某個HTTP實例的root鍵下建了一個子鍵,對該字鍵同名目錄的HTTP請求IIS會認為是合法的,並會交由映射的ISAPI處理。這也算是IIS的一個問題吧。

CreateProcessAsUser,在某個目錄下指定改值為0,則該目錄下的應用程序會繼承inetinfo.exe的local system權限。

AccessWrite,決定某個目錄是否允許寫入,也就是WEBDAV的PUT方法。

AccessExecute,決定某個目錄是否允許執行應用程序。

後門思路:

創建一個特定擴展名的腳本映射,指向我們的ISAPI,並把該ISAPI添加到InProcessIsapiApps列表中。那麼我們向服務器請求該擴展名類型文件時就會在服務器上以local system權限執行該ISAPI,且所請求的文件並不需要是真實存在的。

技巧:

1、既然並不需要真的建一個目錄來設定ScriptMaps,那麼就可以隻寫一個鍵,並給這個鍵加上ScriptMaps。這樣,從"intenet服務管理器"裏是看不出這個目錄的,更看不到這個ScriptMaps。

2、雖然"intenet服務管理器"裏麵看不出來,但是有經驗的管理員可能習慣於偶爾用adsutil.vbs enum /p來看一下:

# adsutil.vbs enum /p /w3svc/1/root

Microsoft (R) Windows Script Host Version 5.6

版權所有(C) Microsoft Corporation 1996-2001。保留所有權利。

[/w3svc/1/root/_vti_bin]

[/w3svc/1/root/evildir]

這樣就暴露了。

因為我們設的那個鍵並不是真實存在的虛擬目錄,隻是配置文件中的一個字符串,所以可以使用0x08這樣的字符來做鍵值。0x08是Backspace鍵對應的16進製值,控製台上顯示的效果是向左邊刪除一個字符,其實就是把"/"給刪了:

# adsutil.vbs enum /p /w3svc/1/root

Microsoft (R) Windows Script Host Version 5.6

版權所有(C) Microsoft Corporation 1996-2001。保留所有權利。

[/w3svc/1/root/_vti_bin]

[/w3svc/1/root]

麵對這種輸出,一般人是不會留意的。

當然也可以設為類似_vti_script,_vti_bin這樣的名字,隻要不設KeyType,在"intenet服務管理器"中是看不見的。

因為係統中本身InProcessIsapiApps中有一個\WINNT\System32\msw3prt.dll,是.printer的映射,一般用不上。我們可以刪掉D:\WINNT\System32\msw3prt.dll的值,換上\WINNT\System32\inetsrv\msw3prt.dll。

3、美中不足的是HTTP請求會留下痕跡,但是HTTP也有好處,那就是可以隨便用一個代理服務器做跳板。另外,也可以用插入0x0D 0x0A來偽造日誌的方法,(詳見《Apache,IIS等多種http服務器允許通過發送回車符偽造日誌》一文)這就是構造目錄的技巧了。

具體實現:

當然可以用adsutil.vbs手工來加。不過需要注意,adsutil.vbs隻能設,不能改,所以用adsutil.vbs的時候一定要把原先的也加上,否則原先的就會丟失。不同條目之間用空格分開。

先用下麵命令取得當前的InProcessIsapiApps列表:

adsutil.vbs get /W3SVC/InProcessIsapiApps

取到之後把自己的ISAPI路徑也加進去。

adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\System32\idq.dll" "C:\WINNT\System32\inetsrv\httpext.dll" ..................

ScriptMaps的設定同InProcessIsapiApps。

當然這樣比較麻煩,也無法寫入0x08這樣的鍵值,所以我幹脆自己寫個VBS一次性搞定。至於那個做後門的ISAPI,能實現的功能就完全取決於想象力了。這裏是一個簡單例子的屏幕拷貝:

# nc 10.11.0.26 80

POST /%08/anything.tom

Microsoft Windows 2000 [Version 5.00.2195]

(C) 版權所有 1985-1998 Microsoft Corp.

C:\WINNT\system32>whoami

NT AUTHORITY\SYSTEM

C:\WINNT\system32>exit

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Wed, 08 Jan 2003 06:49:37 GMT

更隱蔽的方法是寫一個特殊的ISAPI,並注冊為解析asp的。通常情況下,該程序把收到的請求轉給係統原來的asp.dll,並把結果返回,當收到一個特殊POST請求時就啟動自己的後門代碼,這樣日誌裏麵也不會有什麼顯示。審核時也很難發現。

除了上麵所述利用腳本映射的方法外,還可以賦予某個虛擬目錄AccessWrite和AccessExecute權限。需要運行後門的時候利用WEBDAV上載ISAPI,然後運行,使用完了再刪除。(是否能刪除?還是需要restart W3SVC ?我沒有試驗。)如果上載的不是DLL而是EXE文件,那麼把該目錄下的CreateProcessAsUser設為0也可以獲得local system權限,這個方法早有人撰文論述。但AccessWrite和AccessExecute的改變都可以在"intenet服務管理器"中看出來,隱蔽性就差了。

第十一章 在局域網中組建自己的Web站點

很多網友都製作了自己的主頁,並把它上載到Internet,全世界任何一個地方都可以對它進行訪問。但是在局域網上建一個站點,大家都來看看,過一把癮也是不錯的,把自己在Web上的家安在自己的局域網上,這樣網上的所有機器都可以欣賞到你的大作了!

給大家介紹最簡單的,利用Windows NT Server 4.0自帶的IIS(Internet Information Server)套裝軟件來構造你的Web站點,你無需其他任何幫助就能完全搞定你的Web站,而且全圖形化操作加上其提供的WWW、FTP、Gopher等服務會讓你感到無窮的樂趣。

首先是要安裝IIS 2.0:你必須以管理員的身份進行登錄,"控製麵板/網絡/服務"中的網絡服務列舉了當前服務器上已經安裝好的各項服務程序,按下"添加"按鈕以添加新的服務程序,在"選定網絡服務"對話框中選擇"Microsoft Internet Information Server 2.0",按"確定"進行安裝。然後係統會詢問你Windows NT的安裝路徑,接下來會出現安裝對話框,直接按確定按鈕,之後會讓你選擇所要安裝的部件,建議你選取"Internet服務管理器(HTML)",以方便以後的管理操作,反正也增加不了多少空間。在發行目錄對話框中可以分別選定WWW、Gopher、FTP的所在目錄。接下來還有一些操作,如安裝ODBC驅動程序等,都按默認方式進行就行了。一切安裝完之後,你就會發現在你的開始菜單的程序組裏多了一個"Microsoft Internet Server(公用)"組,以後對Web站點的管理就是通過它來實現的。完成了IIS的安裝之後,你的Web站就可以開張了,簡單吧!借助於IIS提供的HTML形式的Internet服務管理器,你用普通的瀏覽器就能完成各項配置工作,對於熟悉瀏覽器的發燒友們就顯得十分親切了。你甚至還可以提供交互式服務Gopher及FTP服務。

在"Internet服務管理器"中選定WWW服務器後,按"內容"按鈕則彈出WWW的服務屬性窗口。該窗口共有服務、目錄、記錄和高級四項。下麵就其中值得注意的地方加以說明,其他的選項一般用係統缺省參數就行了。在服務項中有一個組叫做"匿名登錄",裏麵有用戶名和密碼兩個子項,一般情況下最好不要更改,否則可能會造成客戶的訪問失敗。如果允許用戶匿名訪問的話(其實我們絕大多數時候都是進行匿名訪問的),需要在"密碼證明"組中選定"允許匿名"。"目錄"組中的設置可能是我們經常需要增減、修改的,特別是別名為"Home"的項,表示該目錄是主目錄,當用戶最初連接到你的Web上時,IIS便會自動調用主目錄下的index.htm文件。如果需要增加新的目錄則按下添加按鈕,在彈出的目錄屬性中可以更改主目錄和虛擬目錄(自定義的目錄,方便用戶訪問)。在記錄和高級項中可以記錄用戶在你的Web上訪問數據的情況和拒絕網絡上某台計算機對你Web站的訪問(通過指定機器的IP地址實現)。

掌握了上麵的設置方法之後你就可以建立一個最基本的Web站了,但如你還想讓你的Web站更加美觀、生動、實用,則你還必須學習Java和ActiveX等技術。

現在你可以將你的Web站點告訴其他人了。別人如何來訪問你的Web站呢?

因為你的這台機器是Web服務器,所以最好指定一個固定的IP地址以供其他機器訪問,可在控製麵板"網絡"TCP/IP的屬性的IP地址中指定一個IP地址。配置好IP地址之後可以在網絡中其他計算機上通過"PING IP地址"命令來檢驗是否與之連接。

現在你可以將你的IP地址告訴其他人了,別人就能通過在瀏覽器中輸入你的地址來進行訪問。作為一個Web Master,你的工作不僅僅是設置好自己的IP地址,你還要管理和維護網絡上其他機器的IP地址,而這往往是一件非常頭痛的事情:你要為網絡上的每一台計算機分配IP地址,建立對照表等等,不過現在借助於NT Server的DHCP(動態主機配置協議)動態地分配IP地址,一切就變得輕鬆了。

DHCP的安裝與前麵所說的IIS的安裝方法基本相同,安裝成功後在程序組裏管理工具(公用)中就多了一項DHCP管理器。第一次使用DHCP時必須創建一個DHCP域,即一個IP地址群。選擇"作用域/創建"來給用戶分配一段IP地址,輸入起始和結束的IP地址,如果在這個區間還想保留部分IP地址則還可以在排除範圍中將這部分IP地址排除掉不拿來分配給用戶。當然你還可以利用租用期限等項進行更複雜的設置。創建了DHCP域後你就可以在DHCP管理器中監視IP地址的分配和使用情況。我們這裏講的是服務器端DHCP的設置情況,對於要訪問站點的客戶機也要進行相應的設置,就是將它們設置成為自動獲得IP地址方式,這在Windows NT和95中的TCP/IP屬性菜單中都可以設置。這樣你的Web站點就可以被其他人成功地訪問了。 前麵所說的是通過直接輸入IP地址來進行訪問,但是這些以數字形式表示的地址往往不便記憶,因此在訪問Web站的時候可以按照我們在"Internet服務管理器"的目錄項中所設置的目錄別名來進行訪問,如果還想管理更方便,可安裝DNS域名服務來進行更全麵的管理。

現在局域網中的計算機可以任意訪間你的Web站點了,但是局域網外部的用戶能夠訪問你的Web站嗎?你在家中能訪問你的Web站嗎?答案是肯定的。在Windows NT Server中配備了RAS(遠程訪問)服務,允許其他的計算機通過調製解調器撥號方式連接到你的Web站,如同局域網上的用戶一樣,使用起來十分方便。當然這種方式要求雙方都配備有調製解調器,特別是Web站上的Modem最好選擇性能比較好一點的,以便保證通信的質量。

RAS的安裝比較簡單,安裝完Modem之後,同樣是在"控製麵板/網絡/服務/添加"中選擇"遠程訪問服務"來進行添加。在安裝過程中要求配置RAS可用設備,就選擇事先安裝好的調製解調器,在配置端口用法窗口中可設置通信口是隻能撥出、隻能接收或撥出和接收方式。一切配置完成之後你就可以將你的電話號碼告訴別人,讓人家撥號訪問你的Web站點了,怎麼樣?頗有些Internet的味道吧!

這樣你已經能夠通過Windows NT做一個你自己的Web站了,如果在上麵再多花些功夫你完全可以將你的站點設計得十分漂亮,你還可以將你的局域網連入Internet,讓全世界都能欣賞你的傑作。