黑客技術(shù):ipc$命令詳解基礎(chǔ)篇
黑客技術(shù)——ipc$命令所使用的端口
首先我們來了解一些基礎(chǔ)知識:
1 SMB:(Server Message Block) Windows協(xié)議族,用于文件打印共享的服務(wù);
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實(shí)現(xiàn)基于TCP/IP協(xié)議的NETBIOS網(wǎng)絡(luò)互聯(lián)。
3 在WindowsNT中SMB基于NBT實(shí)現(xiàn),即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT實(shí)現(xiàn),還可以直接通過445端口實(shí)現(xiàn)。
有了這些基礎(chǔ)知識,我們就可以進(jìn)一步來討論訪問網(wǎng)絡(luò)共享對端口的選擇了:
對于win2000客戶端(發(fā)起端)來說:
1 如果在允許NBT的情況下連接服務(wù)器時(shí),客戶端會同時(shí)嘗試訪問139和445端口,如果445端口有響應(yīng),那么就發(fā)送RST包給139端口斷開連接,用455端口進(jìn)行會話,當(dāng)445端口無響應(yīng)時(shí),才使用139端口,如果兩個(gè)端口都沒有響應(yīng),則會話失??;
2 如果在禁止NBT的情況下連接服務(wù)器時(shí),那么客戶端只會嘗試訪問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$會話是無法建立的。
黑客技術(shù)——ipc管道在黑客攻擊中的意義
ipc管道本來是微軟為了方便管理員進(jìn)行遠(yuǎn)程管理而設(shè)計(jì)的,但在入侵者看來,開放ipc管道的主機(jī)似乎更容易得手。通過ipc管道,我們可以遠(yuǎn)程調(diào)用一些系統(tǒng)函數(shù)(大多通過工具實(shí)現(xiàn),但需要相應(yīng)的權(quán)限),這往往是入侵成敗的關(guān)鍵。如果不考慮這些,僅從傳送文件這一方面,ipc管道已經(jīng)給了入侵者莫大的支持,甚至已經(jīng)成為了最重要的傳輸手段,因此你總能在各大論壇上看到一些朋友因?yàn)榇虿婚_目標(biāo)機(jī)器的ipc管道而一籌莫展大呼救命。當(dāng)然,我們也不能忽視權(quán)限在ipc管道中扮演的重要角色,想必你一定品嘗過空會話的尷尬,沒有權(quán)限,開啟管道我們也無可奈何。但入侵者一旦獲得了管理員的權(quán)限,那么ipc管道這把雙刃劍將顯示出它猙獰的一面。
黑客技術(shù)——ipc$連接失敗的常見原因
以下是一些常見的導(dǎo)致ipc$連接失敗的原因:
1 IPC連接是Windows NT及以上系統(tǒng)中特有的功能,由于其需要用到Windows NT中很多DLL函數(shù),所以不能在Windows 9.x/Me系統(tǒng)中運(yùn)行,也就是說只有nt/2000/xp才可以相互建立ipc$連接,98/me是不能建立ipc$連接的;
2 如果想成功的建立一個(gè)ipc$連接,就需要響應(yīng)方開啟ipc$共享,即使是空連接也是這樣,如果響應(yīng)方關(guān)閉了ipc$共享,將不能建立連接;
3 連接發(fā)起方未啟動Lanmanworkstation服務(wù)(顯示名為:Workstation):它提供網(wǎng)絡(luò)鏈結(jié)和通訊,沒有它發(fā)起方無法發(fā)起連接請求;
4 響應(yīng)方未啟動Lanmanserver服務(wù)(顯示名為:Server):它提供了 RPC 支持、文件、打印以及命名管道共享,ipc$依賴于此服務(wù),沒有它主機(jī)將無法響應(yīng)發(fā)起方的連接請求,不過沒有它仍可發(fā)起ipc$連接;
5 響應(yīng)方未啟動NetLogon,它支持網(wǎng)絡(luò)上計(jì)算機(jī) pass-through 帳戶登錄身份(不過這種情況好像不多);
6 響應(yīng)方的139,445端口未處于監(jiān)聽狀態(tài)或被防火墻屏蔽;
7 連接發(fā)起方未打開139,445端口;
8 用戶名或者密碼錯誤:如果發(fā)生這樣的錯誤,系統(tǒng)將給你類似于'無法更新密碼'這樣的錯誤提示(顯然空會話排除這種錯誤);
9 命令輸入錯誤:可能多了或少了空格,當(dāng)用戶名和密碼中不包含空格時(shí)兩邊的雙引號可以省略,如果密碼為空,可以直接輸入兩個(gè)引號""即可;
10 如果在已經(jīng)建立好連接的情況下對方重啟計(jì)算機(jī),那么ipc$連接將會自動斷開,需要重新建立連接。
另外,你也可以根據(jù)返回的錯誤號分析原因:
錯誤號5,拒絕訪問:很可能你使用的用戶不是管理員權(quán)限的;
錯誤號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ù)未啟動或者目標(biāo)刪除了ipc$;
錯誤號1219,提供的憑據(jù)與已存在的憑據(jù)集沖突:你已經(jīng)和對方建立了一個(gè)ipc$,請刪除再連;
錯誤號1326,未知的用戶名或錯誤密碼:原因很明顯了;
錯誤號1792,試圖登錄,但是網(wǎng)絡(luò)登錄服務(wù)沒有啟動:目標(biāo)NetLogon服務(wù)未啟動;
錯誤號2242,此用戶的密碼已經(jīng)過期:目標(biāo)有帳號策略,強(qiáng)制定期要求更改密碼。
黑客技術(shù)——復(fù)制文件失敗的原因
有些朋友雖然成功的建立了ipc$連接,但在copy時(shí)卻遇到了這樣那樣的麻煩,無法復(fù)制成功,那么導(dǎo)致復(fù)制失敗的常見原因又有哪些呢?
1 對方未開啟共享文件夾
這類錯誤出現(xiàn)的最多,占到50%以上。許多朋友在ipc$連接建立成功后,甚至都不知道對方是否有共享文件夾,就進(jìn)行盲目復(fù)制,結(jié)果導(dǎo)致復(fù)制失敗而且郁悶的很。因此我建議大家在進(jìn)行復(fù)制之前務(wù)必用net view \\IP這個(gè)命令看一下你想要復(fù)制的共享文件夾是否存在(用軟件查看當(dāng)然更好),不要認(rèn)為能建立ipc$連接就一定有共享文件夾存在。
2 向默認(rèn)共享復(fù)制失敗
這類錯誤也是大家經(jīng)常犯的,主要有兩個(gè)小方面:
1)錯誤的認(rèn)為能建立ipc$連接的主機(jī)就一定開啟了默認(rèn)共享,因而在建立完連接之后馬上向c$,d$,admin$之類的默認(rèn)共享復(fù)制文件,一旦對方未開啟默認(rèn)共享,將導(dǎo)致復(fù)制失敗。ipc$連接成功只能說明對方打開了ipc$共享,并不能說明默認(rèn)共享一定存在。ipc$共享與默認(rèn)共享是兩碼事,ipc$共享是一個(gè)命名管道,并不是哪個(gè)實(shí)際的文件夾,而默認(rèn)共享卻是實(shí)實(shí)在在的共享文件夾;
2)由于net view \\IP 這個(gè)命令無法顯示默認(rèn)共享文件夾(因?yàn)槟J(rèn)共享帶$),因此通過這個(gè)命令,我們并不能判斷對方是否開啟了默認(rèn)共享,因此如果對方未開啟默認(rèn)共享,那么所有向默認(rèn)共享進(jìn)行的操作都不能成功;(不過大部分掃描軟件在掃弱口令的同時(shí),都能掃到默認(rèn)共享目錄,可以避免此類錯誤的發(fā)生)
要點(diǎn):請大家一定區(qū)分ipc共享,默認(rèn)共享,普通共享這三者的區(qū)別:ipc共享是一個(gè)管道,并不是實(shí)際的共享文件夾;默認(rèn)共享是安裝時(shí)默認(rèn)打開的文件夾;普通共享是我們自己開啟的可以設(shè)置權(quán)限的共享文件夾。
3用戶權(quán)限不夠,包括四種情形:
1)空連接向所有共享(默認(rèn)共享和普通共享)復(fù)制時(shí),權(quán)限是不夠的;
2)向默認(rèn)共享復(fù)制時(shí),在Win2000 Pro版中,只有Administrators和Backup Operators組成員才可以,在Win2000 Server版本 Server Operatros組也可以訪問到這些共享目錄;
3)向普通共享復(fù)制時(shí),要具有相應(yīng)權(quán)限(即對方管理員事先設(shè)定的訪問權(quán)限);
4)對方可以通過防火墻或安全軟件的設(shè)置,禁止外部訪問共享;
注意:
1 不要認(rèn)為administrator就一定具有管理員權(quán)限,管理員名稱是可以改的
2 管理員可以訪問默認(rèn)共享的文件夾,但不一定能夠訪問普通的共享文件夾,因?yàn)楣芾韱T可以對普通的共享文件夾進(jìn)行訪問權(quán)限設(shè)置,如圖6,管理員為D盤設(shè)置的訪問權(quán)限為僅允許名為xinxin的用戶對該文件夾進(jìn)行完全訪問,那么此時(shí)即使你擁有管理員權(quán)限,你仍然不能訪問D盤。不過有意思的是,如果此時(shí)對方又開啟了D$的默認(rèn)共享,那么你卻可以訪問D$,從而繞過了權(quán)限限制,有興趣的朋友可以自己做測試。
4被防火墻殺死或在局域網(wǎng)
還有一種情況,那就是也許你的復(fù)制操作已經(jīng)成功,但當(dāng)遠(yuǎn)程運(yùn)行時(shí),被防火墻殺掉了,導(dǎo)致找不到文件;或者你把木馬復(fù)制到了局域網(wǎng)內(nèi)的主機(jī),導(dǎo)致連接失?。ǚ聪蜻B接的木馬不會發(fā)生這種情況)。如果你沒有想到這種情況,你會以為是復(fù)制上出了問題,但實(shí)際你的復(fù)制操作已經(jīng)成功了,只是運(yùn)行時(shí)出了問題。
黑客技術(shù)——關(guān)于at命令和xp對ipc$的限制
本來還想說一下用at遠(yuǎn)程運(yùn)行程序失敗的原因,但考慮到at的成功率不是很高,問題也很多,在這里就不提它了(提的越多,用的人就越多),而是推薦大家用psexec.exe遠(yuǎn)程運(yùn)行程序,假設(shè)想要遠(yuǎn)程機(jī)器執(zhí)行本地c:\xinxin.exe文件,且管理員為administrator,密碼為1234,那么輸入下面的命令:
psexec \\ip -u administrator -p 1234 -c c:\xinxin.exe
如果已經(jīng)建立ipc連接,則-u -p這兩個(gè)參數(shù)不需要,psexec.exe將自動拷貝文件到遠(yuǎn)程機(jī)器并運(yùn)行。
本來xp中的ipc$也不想在這里討論,想單獨(dú)拿出來討論,但看到越來越多的朋友很急切的提問為什么遇到xp的時(shí)候,大部分操作都很難成功。我在這里就簡單提一下吧,在xp的默認(rèn)安全選項(xiàng)中,任何遠(yuǎn)程訪問僅被賦予來賓權(quán)限,也就是說即使你是用管理員帳戶和密碼,你所得到的權(quán)限也只是Guest,因此大部分操作都會因?yàn)闄?quán)限不夠而失敗,而且到目前為止并沒有一個(gè)好的辦法來突破這一限制。所以如果你真的得到了xp的管理員密碼,我建議你盡量避開ipc管道。
黑客技術(shù)——如何打開目標(biāo)的IPC$共享以及其他共享
目標(biāo)的ipc$不是輕易就能打開的,否則就要天下打亂了。你需要一個(gè)admin權(quán)限的shell,比如telnet,木馬,cmd重定向等,然后在shell下執(zhí)行:
net share ipc$
開放目標(biāo)的ipc$共享;
net share ipc$ /del
關(guān)閉目標(biāo)的ipc$共享;如果你要給它開共享文件夾,你可以用:
net share xinxin=c:\
這樣就把它的c盤開為共享名為xinxin共享文件夾了。(可是我發(fā)現(xiàn)很多人錯誤的認(rèn)為開共享文件夾的命令是net share c$,還大模大樣的給菜鳥指指點(diǎn)點(diǎn),真是誤人子弟了)。再次聲明,這些操作都是在shell下才能實(shí)現(xiàn)的。
黑客技術(shù)——一些需要shell才能完成的命令
看到很多教程這方面寫的十分不準(zhǔn)確,一些需要shell才能完成命令就簡簡單單的在ipc$連接下執(zhí)行了,起了誤導(dǎo)作用。那么下面我總結(jié)一下需要在shell才能完成的命令:
1 向遠(yuǎn)程主機(jī)建立用戶,激活用戶,修改用戶密碼,加入管理組的操作需要在shell下完成;
2 打開遠(yuǎn)程主機(jī)的ipc$共享,默認(rèn)共享,普通共享的操作需要在shell下完成;
3 運(yùn)行/關(guān)閉遠(yuǎn)程主機(jī)的服務(wù),需要在shell下完成;
4 啟動/殺掉遠(yuǎn)程主機(jī)的進(jìn)程,也需要在shell下完成(用軟件的情況下除外,如pskill)。
ipc$連接在實(shí)際操作過程中會出現(xiàn)各種各樣的問題,本文就為大家總結(jié)這么多內(nèi)容,如有遺漏歡迎指正。