2009-10-20

3389Port入侵

某天要將Administrator變更帳號,赫然發現有兩台Server上的Guest帳號打開了,於是想點兩下進去帳號內容將之停用,沒想到竟然是Administrator的內容而非Guest!一開始我還以為點錯了,確認之後重點一次,還是Administrator的帳號!這可不對啊…於是試著想刪除Guest,沒想到刪的竟是Administrator,不行…

網路稍微查了一下,想說把Guest帳號改名好了,不改還好,一改再重新整理使用者列表,竟然發現空空如也….馬的B勒!



網路查到第一篇有用文章,是教人如何從網頁漏洞入侵3389,也就是遠端桌面的Port,詳細文章在http://www.hkitn.com/article.php/5670,雖然是入侵教學,但裡面有提到一段…

將Guest克成管理員許可權  
克成管理員許可權的方法:
找到HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\Names\\Administrator的類型值.
在HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\下找到這個類型值在複製數值名為F的數值數劇覆蓋相應的Guest的類型值(找的方法一樣)
導出Guest的配置(也就是導出HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\Guest和他相應的類型值的資料) 然後刪除Guest的配置

嗯,看來這是我想要的資訊!大概知道Guest帳號為何會變成Administrator了,但是知道沒用,我打開regedit看,只能看到HKEY_LOCAL_MACHINE\\SAM\\SAM為止,底下就看不到了!這是怎樣…為什麼啊?

研究了超久,終於又找到另外一篇文章http://forum.slime.com.tw/thread119562.html,雖然是講如何把SAM文件刪掉,但有提到…

我們能否手工刪除guest帳號嗎?答案是肯定的,我們知道guest帳號資訊是存儲在sam文件和註冊表中的,對於sam文件,系統允許我們手工修改, 但經我試驗只要刪除註冊表中guest的帳號註冊資訊我們就可達到目的。方法如下(以Windows NT和Windows 2000為例):C:\>regedit
開啟HKEY_LOCAL_MACHINE\SAM\SAM,我們會看到裡面已經沒有資訊了,事實上是有資訊的主要是我們的權限不夠,一般這時候我們 是Administrator權限,而事實上此時對於系統的內裝的SYSTEM是可以訪問的,那麼如何去開啟SAM下的帳號資訊呢?
我們先關閉regedit,然後執行:
C:\>regedt32
找到HKEY_LOCAL_MACHINE視窗,選SAM\SAM,然後點功能表中的權限設定,這時候我們可看到Administrators組只具 有特殊權限,而SYSTEM帳號卻擁有全部控制權限,想一想這是為什麼呢?其實很容易理解,SYSTEM帳號是系統啟動時候需要的帳號,很多系統內核程序 和服務程序大都是以該帳號的權限執行的,若權限太低的話,恐怕我們的系統就執行不了!現在我們需要做的是更改Administrators權限(一定要在 進階選項中記住該權限內容以備後用)為全部控制,這樣我們就可以訪問SAM下的資訊了。再次執行regedit:
C:\>regedit
哈!此時HKEY_LOCAL_MACHINE\SAM\SAM下就有東西了,步步深入一直找到:
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest
刪除000001F5和Guest,然後退出regedit,再次執行regedt32,恢復Administrators對sam的權限(還記得 Administrators的特殊權限嗎?一定要記得啊,實在沒有記住的話找其它同系統的機器看看也行,是一樣的),這樣是為了安全考慮,防止用戶不小 心刪除系統帳號。

嗯!知道怎麼看到裡面的東西了!那就看下去,但在Ussers\Names底下,沒看到Administrator的帳號,而另一台主機看到一個奇怪名字的帳號,這兩個狀況有點不太一樣,但處理的方法可說是大同小異。

先講解一下Users底下有一些數字的機碼好了,請看圖(點圖放大)~



000001F5機碼是Guest帳號,裡面有他的屬性設定,而000001F4是Administrator的,再看到Administrator內,機碼預設值的類型是0x1f4,表示是Administrator,這是正常狀態下,但我們這兩台可憐的Server,000001F5的內容從000001F4 copy過去,所以000001F5變成了Administrator的內容,而Administrator裡面預設值的類型也變為0x1f5,所以Guest=Administrator,兩個綁在一起了,所以怎麼刪也刪不掉。這是猜測大概的做法,詳細情形不太了解這些賤人是怎麼做的。

不過既然知道了原理,那麼要修復回來就比較簡單了,邏輯分為兩個:

1、刪除Guest帳號及機碼 2、恢復Administrator預設值的類型0x1f4

第一點是還好,只要將000001F5和Guest這兩個機碼刪掉即可,但第二點,要怎麼改類型?我怎麼試都沒辦法改,只能改值而已,這時上面那篇駭客文章又提醒了我,可以將登錄值匯出成reg檔案,再修改就好啦!於是我在Administrator上按右鍵選匯出,然後編輯該reg檔案,將0x1f5改為0x1f4,然後再匯入,回使用者列表看,一切正常啦!終於….

做到這裡,只有一個心得感想:微軟你他媽的還真爛!最好是執行個檔案就可以改系統登錄值了啦!