iT邦幫忙

0

用 AutoIT 寫個加密的腳本安裝程式

  • 分享至 

  • xImage

各位版大,
小弟因國外公司系統要求 會時常要求更新AD的密碼
導致一些寫好給User 安裝的腳本都無法使用--->需每個打開來重新改一次 量太多...

AutoIT 腳本產生的exe不能被編譯 → 所以User看不到密碼

現在有想到的一個方案想請問版上的大大有沒有解法
寫好的腳本只要去讀.txt裡的帳密,之後統一改.txt就行

執行 call.bat → 呼叫callADpswd.exe → 讀取 ADpswd.txt (帳密)→
執行Local $iPID = RunAs($Usrname,"domain", $pswd , 0,$path); → 執行安裝檔

問題 1. 存在ADpswd.txt 裡的 AD帳會被user看到

James iT邦大師 6 級 ‧ 2020-06-05 16:12:16 檢舉
加密存檔,AutoIT讀進去以後再解密。
ADpswd.txt也可以放網站,AutoIT用完就刪掉。
jaluka177 iT邦新手 5 級 ‧ 2020-06-08 11:54:10 檢舉
James 您好
不太了解您的意思@@
James iT邦大師 6 級 ‧ 2020-06-09 10:14:08 檢舉
ADpswd.txt裡面存的帳密用加密演算法加密,callADpswd.exe讀取後再解密。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
zero
iT邦好手 1 級 ‧ 2020-06-05 18:22:03

安裝程式可以用服務帳戶來執行你的腳本

本機有local system帳戶可用,不然你就自己建一個本機服務帳戶

網域有gmsa帳戶可以用

這兩種服務帳戶都不需要密碼,也自然不會有改密碼這件事情發生

我早期也跟你的想法一樣,也實際做了用加密的方式去保存帳戶密碼

直接跟你說,保密性是無解的,因為你只要讓User的帳戶有讀取權限

他就能讀取你的加密金鑰,你一定要用系統帳戶才能確保安全性是最好的

我現在的做法都是這樣,你看到了我腳本內容也無所謂,因為你沒有權限

拿去做壞事,就算是腳本你也改不動我給的任何一行程式碼,因為我有上數位簽章

0
sam0407
iT邦大師 1 級 ‧ 2020-06-06 10:10:22

遇到Runas又要存密碼的時候,可以改用lsrunase這個第三方工具,使用方法可以參考下方連結:
https://blog.51cto.com/hbgslz/2058940

jaluka177 iT邦新手 5 級 ‧ 2020-06-08 11:58:27 檢舉

謝謝您提供的參考
但目前還不考慮需要額外安裝的方案

0
ATF_G
iT邦新手 5 級 ‧ 2020-06-08 20:31:19

小弟目前想到2個簡易方式

把ADpswd.txt放在你的網站或主機裡
在bat檔裡加上net use語法,像是下面這個
net use z:\主機ip\z$ /user:domain\admin "password"
接著再讀取帳密,而不怕user看到,如果bat檔內容怕洩漏可以加密upx之類的
James大想法一樣,丟遠端主機,不放user那
2.
在autoit裡指定加密檔的位置,用ad統一派發加密檔到指定位置呢?這樣user不知道在哪?從何找起。

我要發表回答

立即登入回答