天天看點

Windows Server入門系列28 建立隐藏賬戶

1. 建立簡單隐藏賬戶

在建立使用者帳戶時,如果在使用者名後面加上$符号,就可以建立一個簡單的隐藏帳戶,如“test$”。

在字元界面下執行net user指令,就無法檢視到這個帳戶,但是在圖形界面的“本地使用者群組”中仍然可以看到。

黑客在入侵了一台主機之後,一般都要想辦法給自己留一個後門,而給自己加一個管理者組的帳戶則是常用的手法。由于帶“$”的帳戶容易被發現,于是一些人就在帳戶的顯示名稱上下功夫,建立一個看起來和系統帳戶類似的名字來迷惑管理者,如admin、sysadmin、Billgates、root等。另外一種方法就是把普通使用者組的使用者帳戶提升到管理者組中,例如把guest帳戶加入到管理者組中。是以如果我們發現管理者組中多了一個沒見過的帳戶或者是普通使用者組的帳戶以及帶$的帳戶,那我們就應該意識到電腦可能被入侵了。

2. 安全辨別符SID

在Windows系統中,系統會為每個使用者賬戶建立一個唯一的安全辨別符(Security Identifier,SID),在Windows系統的内部核心,都是利用SID而不是使用者的賬戶名稱來表示或識别每個使用者的。

SID綜合使用者賬戶創立的時間以及使用者名等資訊建立,因而是唯一的,并且不會被重複使用。即使将某個使用者賬戶删除之後,再添加一個相同名稱的賬戶,它們的SID也不會相同,這個建立的賬戶也無法擁有原先賬戶的權限。

比如建立一個名為bob,密碼為123的使用者,以bob的身份登入系統,建一個文本檔案test.txt并利用EFS方式将之加密。将系統使用者切換到administrator,将bob使用者删除,然後再建立一個bob使用者,密碼仍為123。用建立的bob使用者登入系統,則無法打開加密檔案test.txt,因為使用者的SID已經變換了。

可以通過執行“whoami /all”指令檢視系統目前使用者的SID:

<a href="http://yttitan.blog.51cto.com/attachment/201312/2/70821_1385954830giv3.png"></a>

一個完整的SID由多個不同部分的資訊組成,其中最後一部分稱為相對辨別符RID。RID是500的SID是系統内置Administrator賬戶,即使重命名,其RID仍保持為500不變,許多黑客正是通過RID找到真正的系統内置Administrator賬戶。RID為501的SID是Guest賬戶,後來建立的使用者賬戶的RID都是從1000開始,如RID為1015的SID就是系統中建立的第15個使用者賬戶。

3. 建立完全隐藏賬戶

下面我們通過僞造使用者SID來建立一個完全隐藏的使用者賬戶,僞造SID需要通過修改系統資料庫實作。

首先建立一個簡單的隐藏賬戶“super$”,然後展開系統資料庫[HKEY_LOCAL_MACHINE\SAM\SAM],預設情況下這個項裡沒有任何内容,這是因為使用者對它沒有權限。在這個項的右鍵菜單裡,為administrator使用者賦予完全控制權限。

<a href="http://yttitan.blog.51cto.com/attachment/201312/2/70821_1385954831L724.png"></a>

然後按F5鍵重新整理,會看到裡面多出2個子項。

<a href="http://yttitan.blog.51cto.com/attachment/201312/2/70821_1385954832TNAW.png"></a>

在[SAM\Domains\Account\Users\Names]項裡顯示了系統目前存在的所有賬戶,選中super$,在其右側有一個名為“預設”,類型為“0x3eb”的鍵值。其中的“3eb”就是super$使用者SID的結尾,即RID(這裡使用十六進制表示,将3eb轉換成十進制就是1003)。

在[SAM\Domains\Account\Users]裡有一個以“3EB”結尾的子項,這兩個項裡都是存放了使用者super$的資訊。

在這兩個項上單擊右鍵,執行“導出”指令,将這兩個項的值分别導出成擴充名為.reg的系統資料庫檔案。

然後将super$使用者删除,再次重新整理系統資料庫,此時上述兩個項都沒了。

下面再将剛才導出的兩個系統資料庫檔案重新導入,此時在系統資料庫裡就有了super$賬戶的資訊,但無論在指令行還是圖形界面都無法看到這個賬戶,賬戶就被徹底隐藏了。

使用這個隐藏賬戶可以登入系統,但缺點是仍然會産生使用者配置檔案,下面再對這個賬戶做進一步處理,以使之完全隐藏。

還是展開到上面的系統資料庫項中,找到administrator使用者的RID值“1f4”,展開對應的“000001F4”項,其右側有一個名為f的鍵值,這個鍵值中就存放了使用者的SID。下面将這個鍵值的資料全部複制,并粘貼到“000003EB”項的f鍵值中,也就是将administrator使用者的SID複制給了super$,這樣在作業系統内部,實際上就把super$當做是administrator,super$成了administrator的影子賬戶,與其使用同一個使用者配置檔案,super$也就被徹底隐藏了。

建立隐藏賬戶是黑客比較喜歡的一種留後門方式,而且非常隐蔽,像上面的隐藏賬戶隻能通過系統資料庫來發現

本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1334643

繼續閱讀