Windows Server入門系列:建立隱藏賬戶
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:
一個完整的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用戶賦予完全控制權限。
然后按F5鍵刷新,會看到里面多出2個子項。
在[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$也就被徹底隱藏了。
建立隱藏賬戶是黑客比較喜歡的一種留后門方式,而且非常隱蔽,像上面的隱藏賬戶只能通過注冊表來發現。
本文出自 “一壺濁酒” 博客,轉載請與作者聯系!