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,讓全世界都能欣賞你的傑作。