開放IPC$共享
首先,我們先認(rèn)識一下什么是IPC$
IPC$(Internet Process Connection)是共享"命名管道"的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進行加密數(shù)據(jù)的交換,從而實現(xiàn)對遠(yuǎn)程計算機的訪問。IPC$是NT/2000的一項新功能,它有一個特點,即在同一時間內(nèi),兩個IP之間只允許建立一個連接。NT/2000在提供了ipc$功能的同時,在初次安裝系統(tǒng)時還打開了默認(rèn)共享,即所有的邏輯共享(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$)共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在有意無意中,導(dǎo)致了系統(tǒng)安全性的降低。
平時我們總能聽到有人在說ipc$漏洞,ipc$漏洞,其實ipc$并不是一個真正意義上的漏洞,我想之所以有人這么說,一定是指微軟自己安置的那個‘后門':空會話(Null session)。那么什么是空會話呢?
在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。
在Windows NT 4.0中是使用挑戰(zhàn)響應(yīng)協(xié)議與遠(yuǎn)程機器建立一個會話的,建立成功的會話將成為一個安全隧道,建立雙方通過它互通信息,這個過程的大致順序如下:
1)會話請求者(客戶)向會話接收者(服務(wù)器)傳送一個數(shù)據(jù)包,請求安全隧道的建立;
2)服務(wù)器產(chǎn)生一個隨機的64位數(shù)(實現(xiàn)挑戰(zhàn))傳送回客戶;
3)客戶取得這個由服務(wù)器產(chǎn)生的64位數(shù),用試圖建立會話的帳號的口令打亂它,將結(jié)果返回到服務(wù)器(實現(xiàn)響應(yīng));
4)服務(wù)器接受響應(yīng)后發(fā)送給本地安全驗證(LSA),LSA通過使用該用戶正確的口令來核實響應(yīng)以便確認(rèn)請求者身份。如果請求者的帳號是服務(wù)器的本地帳號,核實本地發(fā)生;如果請求的帳號是一個域的帳號,響應(yīng)傳送到域控制器去核實。當(dāng)對挑戰(zhàn)的響應(yīng)核實為正確后,一個訪問令牌產(chǎn)生,然后傳送給客戶??蛻羰褂眠@個訪問令牌連接到服務(wù)器上的資源直到建議的會話被終止。
以上是一個安全會話建立的大致過程,那么空會話又如何呢?
空會話是在沒有信任的情況下與服務(wù)器建立的會話(即未提供用戶名與密碼),但根據(jù)WIN2000的訪問控制模型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中并沒有經(jīng)過用戶信息的認(rèn)證,所以這個令牌中不包含用戶信息,因此,這個會話不能讓系統(tǒng)間發(fā)送加密信息,但這并不表示空會話的令牌中不包含安全標(biāo)識符SID(它標(biāo)識了用戶和所屬組),對于一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話的SID,用戶名是:ANONYMOUS LOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在SAM數(shù)據(jù)庫中找到,屬于系統(tǒng)內(nèi)置的帳號),這個訪問令牌包含下面?zhèn)窝b的組:
Everyone
Network
在安全策略的限制下,這個空會話將被授權(quán)訪問到上面兩個組有權(quán)訪問到的一切信息。那么建立空會話到底可以作什么呢?
對于NT,在默認(rèn)安全設(shè)置下,借助空連接可以列舉目標(biāo)主機上的用戶和共享,訪問everyone權(quán)限的共享,訪問小部分注冊表等,并沒有什么太大的利用價值;對2000作用更小,因為在Windows 2000 和以后版本中默認(rèn)只有管理員和備份操作員有權(quán)從網(wǎng)絡(luò)訪問到注冊表,而且實現(xiàn)起來也不方便,需借助工具。
從這些我們可以看到,這種非信任會話并沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那里可以得到戶列表,而大多數(shù)弱口令掃描工具就是利用這個用戶列表來進行口令猜解的,成功的導(dǎo)出用戶列表大大增加了猜解的成功率,僅從這一點,足以說明空會話所帶來的安全隱患,因此說空會話毫無用處的說法是不正確的。以下是空會話中能夠使用的一些具體命令:
1 首先,我們先建立一個空連接(當(dāng)然,這需要目標(biāo)開放ipc$)
命令:net use \\ip\ipc$ "" /user:""
注意:上面的命令包括四個空格,net與use中間有一個空格,use后面一個,密碼左右各一個空格。
2 查看遠(yuǎn)程主機的共享資源
命令:net view \\ip
解釋:前提是建立了空連接后,用此命令可以查看遠(yuǎn)程主機的共享資源,如果它開了共享,可以得到如下面的結(jié)果,但此命令不能顯示默認(rèn)共享。
在 \\*.*.*.*的共享資源
資源共享名 類型 用途 注釋
-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。
3 查看遠(yuǎn)程主機的當(dāng)前時間
命令: net time \\ip
解釋:用此命令可以得到一個遠(yuǎn)程主機的當(dāng)前時間。
4 得到遠(yuǎn)程主機的NetBIOS用戶名列表(需要打開自己的NBT)
命令:nbtstat -A ip
用此命令可以得到一個遠(yuǎn)程主機的NetBIOS用戶名列表,返回如下結(jié)果:
Node IpAddress: [*.*.*.*] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
SERVER <00> UNIQUE Registered
OYAMANISHI-H <00> GROUP Registered
OYAMANISHI-H <1C> GROUP Registered
SERVER <20> UNIQUE Registered
OYAMANISHI-H <1B> UNIQUE Registered
OYAMANISHI-H <1E> GROUP Registered
SERVER <03> UNIQUE Registered
OYAMANISHI-H <1D> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
INet~Services <1C> GROUP Registered
IS~SERVER......<00> UNIQUE Registered
MAC Address = 00-50-8B-9A-2D-37
以上就是我們經(jīng)常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立IPC$連接的操作會在Event Log中留下記錄,不管你是否登錄成功。 好了,那么下面我們就來看看ipc$所使用的端口是什么?
首先我們來了解一些基礎(chǔ)知識:
1 SMB:(Server Message Block) Windows協(xié)議族,用于文件打印共享的服務(wù);
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實現(xiàn)基于TCP/IP協(xié)議的NETBIOS網(wǎng)絡(luò)互聯(lián)。
3 在WindowsNT中SMB基于NBT實現(xiàn),即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT實現(xiàn),還可以直接通過445端口實現(xiàn)。
有了這些基礎(chǔ)知識,我們就可以進一步來討論訪問網(wǎng)絡(luò)共享對端口的選擇了:
對于win2000客戶端(發(fā)起端)來說:
1 如果在允許NBT的情況下連接服務(wù)器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應(yīng),那么就發(fā)送RST包給139端口斷開連接,用455端口進行會話,當(dāng)445端口無響應(yīng)時,才使用139端口,如果兩個端口都沒有響應(yīng),則會話失??;
2 如果在禁止NBT的情況下連接服務(wù)器時,那么客戶端只會嘗試訪問445端口,如果445端口無響應(yīng),那么會話失敗。
對于win2000服務(wù)器端來說:
1 如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開放(LISTENING);
2 如果禁止NBT,那么只有445端口開放。
我們建立的ipc$會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠(yuǎn)程服務(wù)器沒有監(jiān)聽139或445端口,ipc$會話是無法建立的。
ipc管道本來是微軟為了方便管理員進行遠(yuǎn)程管理而設(shè)計的,但在入侵者看來,開放ipc管道的主機似乎更容易得手。通過ipc管道,我們可以遠(yuǎn)程調(diào)用一些系統(tǒng)函數(shù)(大多通過工具實現(xiàn),但需要相應(yīng)的權(quán)限),這往往是入侵成敗的關(guān)鍵。如果不考慮這些,僅從傳送文件這一方面,ipc管道已經(jīng)給了入侵者莫大的支持,甚至已經(jīng)成為了最重要的傳輸手段,因此你總能在各大論壇上看到一些朋友因為打不開目標(biāo)機器的ipc管道而一籌莫展大呼救命。當(dāng)然,我們也不能忽視權(quán)限在ipc管道中扮演的重要角色,想必你一定品嘗過空會話的尷尬,沒有權(quán)限,開啟管道我們也無可奈何。但入侵者一旦獲得了管理員的權(quán)限,那么ipc管道這把雙刃劍將顯示出它猙獰的一面。
目前最快捷的IPC$入侵方法
[1]psexec.exe \\IP -u 管理員帳號 -p 密碼 cmd
\\用這個工具我們可以一步到位的獲得shell
OpenTelnet.exe \\server 管理員帳號 密碼 NTLM的認(rèn)證方式 port
\\用它可以方便的更改telnet的驗證方式和端口,方便我們登陸
[2]
已經(jīng)沒有第二步了,用一步獲得shell之后,你做什么都可以了,安后門可以用winshell,克隆就用ca吧,開終端用3389.vbe,記錄密碼用win2kpass,總之好的工具不少,隨你選了,我就不多說了。
看到了IPC$這么可怕的安全隱患,還不關(guān)閉它,還在等什么?
接下來,我們介紹防范IPC$入侵的一些方法。
一、防止建立IPC$空連接
修改注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\
數(shù)值名稱:RestrictAnonymous 類型:dword 值:1
點擊查看詳細(xì)介紹 點擊下載NoIPC.REG文件
二、關(guān)閉C$等系統(tǒng)默認(rèn)共享
修改注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters
數(shù)值名稱:AutoShareServer 類型:dword 值:0
點擊查看詳細(xì)介紹 點擊下載NOShare.REG文件
三、停止server服務(wù)(關(guān)閉IPC$服務(wù))
net stop server /y (重新啟動后server服務(wù)會重新開啟)
四、 屏蔽139,445端口
由于沒有以上兩個端口的支持,是無法建立ipc$的,因此屏蔽139,445端口同樣可以阻止ipc$入侵。
1、139端口可以通過禁止NBT來屏蔽
本地連接-TCP/IT屬性-高級-WINS-選‘禁用TCP/IT上的NETBIOS'一項
2、445端口可以通過修改注冊表來屏蔽
添加一個鍵值
Hive: HKEY_LOCAL_MACHINE
Key: System\Controlset\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
Value: 0
五、安裝防火墻進行端口過濾
六、 設(shè)置復(fù)雜密碼,防止通過ipc$窮舉出密碼,我覺得這才是最好的辦法,增強安全意識,比不停的打補丁要安全的多。
- Android IPC進程間通信詳解最新AndroidStudio的AIDL操作)
- Android系統(tǒng)進程間通信(IPC)機制Binder中的Client獲得Server遠(yuǎn)程接口過程源代碼分析
- Android系統(tǒng)進程間通信(IPC)機制Binder中的Server啟動過程源代碼分析
- Android系統(tǒng)進程間通信(IPC)機制Binder中的Server和Client獲得Service Manager接口之路
- 淺談Service Manager成為Android進程間通信(IPC)機制Binder守護進程之路
- Android進程間通信(IPC)機制Binder簡要介紹
- Android IPC機制利用Messenger實現(xiàn)跨進程通信
- Android IPC機制綁定Service實現(xiàn)本地通信
- android IPC之binder通信機制
- Android使用文件進行IPC
相關(guān)文章
創(chuàng)建c:\con.txt嗎?windows文件系統(tǒng)漏洞
2008-01-01MySQL注入中導(dǎo)出字段內(nèi)容的研究通過注入導(dǎo)出WebShell
大家都知道,在MySQL中,無法像MSSQL那樣執(zhí)行script.asp?id=1;insert into table (field) values('angel');--來插入數(shù)據(jù),因為MySQL里最多就是用union聯(lián)合查詢。2008-05-05變態(tài)入侵之有史以來最酷的Windows后門sethc.exe
變態(tài)入侵之有史以來最酷的Windows后門sethc.exe...2007-11-11