目錄
net use共享命令的用法
net use #查看連接
net share #查看本地開啟的共享
net share ipc$ #開啟ipc$共享
net share ipc$ /del #刪除ipc$共享
net share c$ /del #刪除C盤共享
net use \\192.168.10.15\ipc$ /u:"" "" #與192.168.10.15建立ipc空連接
net use \\192.168.10.15 /u:"" "" #與192.168.10.15建立ipc空連接,可以吧ipc$去掉
net use \\192.168.10.15 /u:"administrator" "root" #以administrator身份與192.168.10.15建立ipc連接
net use \\192.168.10.15 /del #刪除ipc連接
net use \\192.168.10.15\c$ /u:"administrator" "root" #建立C盤共享
dir \\192.168.10.15\c$ #查看192.168.10.15C盤文件
dir \\192.168.10.15\c$\user #查看192.168.10.15C盤文件下的user目錄
dir \\192.168.10.15\c$\user\test.exe #查看192.168.10.15C盤文件下的user目錄下的test.exe文件
net use \\192.168.10.15\c$ /del #刪除該C盤共享連接
net use k: \\192.168.10.15\c$ /u:"administrator" "root" #將目標C盤映射到本地K盤
net use k: /del #刪除該映射
IPC$
IPC$ (Internet Process Connection) 是共享“命名管道”的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道並以此通道進行加密數據的交換,從而實現對遠程計算機的訪問。IPC$是NT2000的一項新功能,它有一個特點,即在同一時間內,兩個IP之間只允許建立一個連接。NT2000在提供了 ipc$ 功能的同時,在初次安裝系統時還打開了默認共享,即所有的邏輯共享(C$、D$、E$……)和系統目錄(C:\windows)共享。所有的這些初衷都是為了方便管理員的管理。但好的初衷並不一定有好的收效,一些別有用心者會利用IPC$,訪問共享資源,導出用戶列表,並使用一些字典工具,進行密碼探測。
為了配合IPC共享工作,Windows操作系統(不包括Windows 98系列)在安裝完成后,自動設置共享的目錄為:C盤、D盤、E盤、ADMIN目錄(C:\Windows)等,即為ADMIN$、C$、D$、E$等,但要注意,這些共享是隱藏的,只有管理員能夠對他們進行遠程操作。
輸入 net share 可以查看開啟的共享。
建立IPC空連接和使用非administrator用戶建立IPC連接,是無法查看其他共享文件的(隱藏和非隱藏共享文件都查看不了)
net use \\192.168.10.15\ipc$ /u:"" ""
也可以直接 net use \\192.168.10.15 /u:"" ""
使用adminstrator用戶建立IPC連接,是有權限查看其他共享文件的,僅能查看共享文件,沒有共享的文件也查看不了。
IPC空連接
在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。
在Windows NT中,是使用 NTLM挑戰響應機制認證。傳送門——> NTLM認證方式(工作組環境中)
空會話是在沒有信任的情況下與服務器建立的會話(即未提供用戶名與密碼)。那么建立空會話到底可以做什么呢?
利用IPC$,黑客甚至可以與目標主機建立一個空的連接,而無需用戶名與密碼(當然,對方機器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表(不過負責的管理員會禁止導出用戶列表的)。建立了一個空的連接后,黑客可以獲得不少的信息(而這些信息往往是入侵中必不可少的),訪問部分共享,如果黑客能夠以某一個具有一定權限的用戶身份登陸的話,那么就會得到相應的權限。
IPC空連接
空連接可以做什么?
對於NT,在默認安全設置下,借助空連接可以列舉目標主機上的用戶和共享,訪問everyone權限的共享,訪問小部分注冊表等,並沒有什么太大的利用價值;對2000作用更小,因為在Windows 2000 和以后版本中默認只有管理員有權從網絡訪問到注冊表,而且實現起來也不方便,需借助工具。
從這些我們可以看到,這種非信任會話並沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那里可以得到戶列表,而大多數弱口令掃描工具就是利用這個用戶列表來進行口令猜解的,成功的導出用戶列表大大增加了猜解的成功率,僅從這一點,足以說明空會話所帶來的安全隱患,因此說空會話毫無用處的說法是不正確的。以下是空會話中能夠使用的一些具體命令:
- 建立ipc$空連接:net use \\192.168.10.15\ipc$ /u:"" ""
- 建立ipc$非空連接: net use \\192.168.10.15\ipc$ /u:"用戶名" "密碼" 或 net use \\192.168.10.15 /u:"用戶名" "密碼"
- 刪除ipc$連接: net use \\10.96.10.59\ipc$ /del
- 建立其他連接,把目標主機的C盤映射到本地的Z盤:net use k: \\10.96.10.59\c$ /u:"administrator" "密碼"
- 取消映射: net use k: /del
有些主機的 Administrator 管理員的密碼為空,那么我們可以嘗試使用下面的命令進行連接,但是大多數情況下服務器都阻止了使用空密碼進行連接。
以前建立空會話可以獲取一些有用的信息,但是現在空會話的權限很低,訪問都被拒了
ipc$使用的端口
首先我們來了解一些基礎知識:
- SMB: (Server Message Block) Windows協議族,用於文件打印共享的服務;
- NBT: (NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實現基於TCP/IP協議的NETBIOS網絡互聯。
- 在WindowsNT中SMB基於NBT實現,即使用139(TCP)端口;而在Windows2000中,SMB除了基於NBT實現,還可以直接通過445端口實現
對於win2000客戶端(發起端)來說:
- 如果在允許NBT的情況下連接服務器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應,那么就發送RST包給139端口斷開連接,用455端口進行會話,當445端口無響應時,才使用139端口,如果兩個端口都沒有響應,則會話失敗;
- 如果在禁止NBT的情況下連接服務器時,那么客戶端只會嘗試訪問445端口,如果445端口無響應,那么會話失敗。
對於win2000服務器端來說:
- 如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開放(LISTENING);
- 如果禁止NBT,那么只有445端口開放。
我們建立的ipc$會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠程服務器沒有監聽139或445端口,ipc$會話是無法建立的。
關閉IPC$共享
既然ipc$有一定的危險性,而且對於我們大多數人來說是沒啥用的,所以我們當然可以選擇關閉它拉
1、使用命令關閉:net share ipc$ /delete 關閉ipc默認共享
net share c$ /delete 關閉C盤默認共享
2、修改注冊表關閉
限制IPC$缺省共享:
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
- Name:restrictanonymous
- Type:REG_DWORD
- Value:0x0(缺省) 0x1 匿名用戶無法列舉本機用戶列表 0x2 匿名用戶無法連接本機IPC$共享 說明:不建議使用2,否則可能會造成你的一些服務無法啟動,如SQL Server。