@letitbexai_root/lexxit-automation-framework 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -243,8 +243,36 @@ $msiArgs = @(
|
|
|
243
243
|
"SERVER_REGISTER_AS_SERVICE=1",
|
|
244
244
|
"SERVER_ADD_FIREWALL_EXCEPTION=1",
|
|
245
245
|
"SET_USEVNCAUTHENTICATION=1", "VALUE_OF_USEVNCAUTHENTICATION=1",
|
|
246
|
+
# VALUE_OF_PASSWORD on an msiexec command line is readable in plaintext
|
|
247
|
+
# by any other local user/process on this VM for the few seconds this
|
|
248
|
+
# install runs (Task Manager's "Command line" column, Get-CimInstance
|
|
249
|
+
# Win32_Process, etc.) - TightVNC's MSI has no encrypted/file-based way
|
|
250
|
+
# to set this property, only this one. Accepted deliberately: the
|
|
251
|
+
# password is random and single-use per VM (generated fresh per install
|
|
252
|
+
# token, encrypted at rest in Mongo), the exposure window is brief, and
|
|
253
|
+
# exploiting it needs local access to this exact VM during that window -
|
|
254
|
+
# not a remote or persistent risk. A real fix exists (write TightVNC's
|
|
255
|
+
# registry password directly using its fixed-key DES obfuscation,
|
|
256
|
+
# bypassing this property entirely) but was deliberately not done here:
|
|
257
|
+
# hand-rolling that obfuscation wrong fails silently into the exact same
|
|
258
|
+
# "VNC authentication failed" this script already had to debug once.
|
|
246
259
|
"SET_PASSWORD=1", "VALUE_OF_PASSWORD=$VncPassword",
|
|
247
|
-
"SET_ALLOWLOOPBACK=1", "VALUE_OF_ALLOWLOOPBACK=1"
|
|
260
|
+
"SET_ALLOWLOOPBACK=1", "VALUE_OF_ALLOWLOOPBACK=1",
|
|
261
|
+
# Without these, `msiexec /i` on a TightVNC that is ALREADY installed at
|
|
262
|
+
# the same product version silently no-ops instead of reapplying
|
|
263
|
+
# properties - VALUE_OF_PASSWORD included. That left a real VM with
|
|
264
|
+
# TightVNC still on an old password after this script re-ran (e.g. after
|
|
265
|
+
# someone changed it by hand via TightVNC's own config UI in between),
|
|
266
|
+
# while the backend had already stored the new one from this run's
|
|
267
|
+
# install token, causing the live-view proxy's VNC auth to fail with no
|
|
268
|
+
# indication why. REINSTALL=ALL + REINSTALLMODE=vomus forces msiexec to
|
|
269
|
+
# treat this as a genuine reinstall - v: run from source, o: reinstall
|
|
270
|
+
# if older/missing, m/u: rewrite machine+user registry (where TightVNC's
|
|
271
|
+
# password actually lives), s: rewrite shortcuts - so the password (and
|
|
272
|
+
# every other property above) is guaranteed to re-apply every single
|
|
273
|
+
# time this script runs, install or reinstall alike. Confirmed the hard
|
|
274
|
+
# way: a real VM's live view broke from exactly this gap.
|
|
275
|
+
"REINSTALL=ALL", "REINSTALLMODE=vomus"
|
|
248
276
|
)
|
|
249
277
|
Start-Process msiexec.exe -ArgumentList $msiArgs -Wait -NoNewWindow
|
|
250
278
|
# TightVNC's "service mode" specifically captures the active CONSOLE
|