{"id":1646,"date":"2023-09-15T12:41:39","date_gmt":"2023-09-15T12:41:39","guid":{"rendered":"https:\/\/www.nicktailor.com\/?p=1646"},"modified":"2023-09-15T15:51:06","modified_gmt":"2023-09-15T15:51:06","slug":"1646","status":"publish","type":"post","link":"https:\/\/nicktailor.com\/tech-blog\/1646\/","title":{"rendered":"TightVNC Security Hole"},"content":{"rendered":"<p style=\"margin-top: 6pt; padding-top: 0; margin-bottom: 6pt; padding-bottom: 0; line-height: 1.2; font-size: 12pt;\"><strong><span style=\"color: #202122;\">Virtual Network Computing<\/span><\/strong><span style=\"color: #202122;\">\u00a0(<\/span><strong><span style=\"color: #202122;\">VNC<\/span><\/strong><span style=\"color: #202122;\">) is a graphical desktop-sharing system that uses the\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/RFB_protocol\"><span style=\"color: #3366cc;\">Remote Frame Buffer protocol (RFB)<\/span><\/a><span style=\"color: #202122;\">\u00a0to remotely control another\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer\"><span style=\"color: #3366cc;\">computer<\/span><\/a><span style=\"color: #202122;\">. It transmits the\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_keyboard\"><span style=\"color: #3366cc;\">keyboard<\/span><\/a><span style=\"color: #202122;\">\u00a0and\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_mouse\"><span style=\"color: #3366cc;\">mouse<\/span><\/a><span style=\"color: #202122;\">\u00a0input from one computer to another, relaying the graphical-<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_screen\"><span style=\"color: #3366cc;\">screen<\/span><\/a><span style=\"color: #202122;\">\u00a0updates, over a\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_network\"><span style=\"color: #3366cc;\">network<\/span><\/a><span style=\"color: #202122;\">.<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Virtual_Network_Computing#cite_note-1\"><span style=\"color: #3366cc;\"><sup>[1]<\/sup><\/span><\/a><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"color: #040c28;\">VNC servers work on a variety of platforms, allowing you to share screens and keyboards between Windows, Mac, Linux, and Raspberry Pi devices<\/span><span style=\"color: #202124; background-color: #ffffff;\">. RDP server is proprietary and only works with one operating system. VNC vs RDP performance. RDP provides a better and faster remote connection.<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">There are a number of reasons why people use it.<\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>RDP requires licenses and VNC does not.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>You can also have multiple sessions on a user<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>You can set it so it will connect to an existing session (which is what a lot folks use it for)<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>It can be used on multiple OS\u2019s including linux; while RDP is just for windows<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">There are a few VNC tools out there.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><strong><span style=\"color: #002060;\">RealVNC<\/span> <\/strong><\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>They have enterprise version<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Requires Licenses<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Has no AD authentication<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Has decent Encryption<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><strong><span style=\"color: #00b050;\">UltraVNC<\/span><span style=\"color: #00b050;\"> \u2013 Best one to use.<\/span><\/strong><\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Has AD authentication<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Has good Encryption<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>AD authentication<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>File transfer inside the VNC connection<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Multiuser connections and Existing<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Loads of features the others don\u2019t have<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Is considered the most secure<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Free for personal and commercial use<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Available through chocolatey package manager<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><strong><span style=\"color: #ff0000;\">Tight-VNC<\/span><span style=\"color: #ff0000;\"> \u2013 Security Hole <\/span><\/strong><\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Free<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Has encryption but its DES with an 8 character limit<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Available through chocolatey package manager<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Tight-VNC has their encryption algorithm hardcoded into its software and appears they have <strong>NOT<\/strong> <strong>updated its encryption standards in years.<\/strong><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">DES Encryption<\/span> <span style=\"color: #cccccc;\">used<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #6a9955;\"># This is hardcoded in VNC applications like <\/span><span style=\"color: #6a9955;\">TightVNC<\/span><span style=\"color: #6a9955;\">.<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">magicKey<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">byte<\/span><span style=\"color: #cccccc;\">[<\/span><span style=\"color: #cccccc;\">]]<\/span><span style=\"color: #569cd6;\">@<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #b5cea8;\">0xE8<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0x4A<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0xD6<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0x60<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0xC4<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0x72<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0x1A<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0xE0<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">ansi<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">System.Text.Encoding<\/span><span style=\"color: #cccccc;\">]::<\/span><span style=\"color: #cccccc;\">GetEncoding<\/span><span style=\"color: #cccccc;\">(<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 [<\/span><span style=\"color: #569cd6;\">System.Globalization.CultureInfo<\/span><span style=\"color: #cccccc;\">]::CurrentCulture.TextInfo.ANSICodePage)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$pass<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">System.Net.NetworkCredential<\/span><span style=\"color: #cccccc;\">]::<\/span><span style=\"color: #cccccc;\">new(<\/span><span style=\"color: #ce9178;\">&#8221;<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$Password<\/span><span style=\"color: #cccccc;\">).Password \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">byteCount<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">ansi<\/span><span style=\"color: #dcdcaa;\">.GetByteCount<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #9cdcfe;\">$pass<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">if<\/span><span style=\"color: #cccccc;\"> (<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">byteCount<\/span> <span style=\"color: #d4d4d4;\">&#8211;<\/span><span style=\"color: #d4d4d4;\">gt<\/span> <span style=\"color: #b5cea8;\">8<\/span><span style=\"color: #cccccc;\">) {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$err<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">System.Management.Automation.ErrorRecord<\/span><span style=\"color: #cccccc;\">]::new(<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 [<\/span><span style=\"color: #569cd6;\">ArgumentException<\/span><span style=\"color: #cccccc;\">]<\/span><span style=\"color: #ce9178;\">&#8216;Password must not exceed 8 characters&#8217;<\/span><span style=\"color: #d4d4d4;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8216;<\/span><span style=\"color: #ce9178;\">PasswordTooLong<\/span><span style=\"color: #ce9178;\">&#8216;<\/span><span style=\"color: #d4d4d4;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 [<\/span><span style=\"color: #569cd6;\">System.Management.Automation.ErrorCategory<\/span><span style=\"color: #cccccc;\">]::<\/span><span style=\"color: #cccccc;\">InvalidArgument<\/span><span style=\"color: #d4d4d4;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #569cd6;\">$null<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">PSCmdlet<\/span><span style=\"color: #dcdcaa;\">.WriteError<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #9cdcfe;\">$err<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">return<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">toEncrypt<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">byte<\/span><span style=\"color: #cccccc;\">[]]::<\/span><span style=\"color: #cccccc;\">new(<\/span><span style=\"color: #b5cea8;\">8<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #569cd6;\">$null<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">ansi<\/span><span style=\"color: #dcdcaa;\">.GetBytes<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #9cdcfe;\">$pass<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">pass<\/span><span style=\"color: #dcdcaa;\">.Length<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">toEncrypt<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$des<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #9cdcfe;\">$encryptor<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #569cd6;\">$null<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">try<\/span><span style=\"color: #cccccc;\"> {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$des<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">System.Security.Cryptography.DES<\/span><span style=\"color: #cccccc;\">]::<\/span><span style=\"color: #cccccc;\">Create()<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">des<\/span><span style=\"color: #dcdcaa;\">.Padding<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #ce9178;\">&#8216;None&#8217;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$encryptor<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">des<\/span><span style=\"color: #dcdcaa;\">.CreateEncryptor<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">magicKey<\/span><span style=\"color: #d4d4d4;\">,<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">byte<\/span><span style=\"color: #cccccc;\">[]]::new(<\/span><span style=\"color: #b5cea8;\">8<\/span><span style=\"color: #cccccc;\">))<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">$data<\/span> <span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\"> [<\/span><span style=\"color: #569cd6;\">byte<\/span><span style=\"color: #cccccc;\">[]]::<\/span><span style=\"color: #cccccc;\">new(<\/span><span style=\"color: #b5cea8;\">8<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #569cd6;\">$null<\/span> <span style=\"color: #d4d4d4;\">=<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">encryptor<\/span><span style=\"color: #dcdcaa;\">.TransformBlock<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">toEncrypt<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">toEncrypt<\/span><span style=\"color: #dcdcaa;\">.Length<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$data<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #b5cea8;\">0<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #d4d4d4;\">,<\/span> <span style=\"color: #9cdcfe;\">$data<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">finally<\/span><span style=\"color: #cccccc;\"> {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">if<\/span><span style=\"color: #cccccc;\"> (<\/span><span style=\"color: #9cdcfe;\">$encryptor<\/span><span style=\"color: #cccccc;\">) <\/span><span style=\"color: #cccccc;\">{ <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">encryptor<\/span><span style=\"color: #dcdcaa;\">.Dispose<\/span><span style=\"color: #cccccc;\">() }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">if<\/span><span style=\"color: #cccccc;\"> (<\/span><span style=\"color: #9cdcfe;\">$des<\/span><span style=\"color: #cccccc;\">) <\/span><span style=\"color: #cccccc;\">{ <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">des<\/span><span style=\"color: #dcdcaa;\">.Dispose<\/span><span style=\"color: #cccccc;\">() }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">}<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">What this means is&#8230;IF you are using admin credentials on your machine while using Tight-VNC a <strong>hacker<\/strong> that is way better than I&#8230; Could gain access to your infrastructure by simply glimpsing the windows registry. Im sure there ways to exploit it.<\/p>\n<p>I will demonstrate:<\/p>\n<p><strong>Now you can install Tight-vnc manually or via chocolatey. I used chocolatey and this from a public available repo.<\/strong><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><img loading=\"lazy\" decoding=\"async\" width=\"859\" height=\"732\" class=\"wp-image-1648 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/image1.png\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image1.png 859w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image1-600x511.png 600w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image1-300x256.png 300w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image1-768x654.png 768w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image1-415x354.png 415w\" sizes=\"auto, (max-width: 859px) 100vw, 859px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">Now lets set the password by right clicking <strong>tightvnc<\/strong> icon in the bottom corner and setting the password to an 8 character password, by clicking on change primary password and typing in whatever you like<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><strong>\u2018Suck3r00\u2019<\/strong><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><img loading=\"lazy\" decoding=\"async\" width=\"481\" height=\"432\" class=\"wp-image-1649 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/Picture-1.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1.png 481w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-300x269.png 300w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-394x354.png 394w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">Now lets open <span style=\"color: #0000ff;\">powershell<\/span> <strong>without administrator privileges.<\/strong> Lets say I got in <strong><span style=\"color: #0000ff;\">remotely<\/span> <\/strong>and chocolatey is there and I want to check to see if tight-vnc is there.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><img loading=\"lazy\" decoding=\"async\" width=\"539\" height=\"311\" class=\"wp-image-1650 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/Picture-1-1.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-1.png 539w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-1-300x173.png 300w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><strong>As you can see I find this without administrator privilege.<\/strong><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">Now lets say I was able to view the registry and get the encrypted value for tight-vnc; all I need to do is see for a few seconds.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><img loading=\"lazy\" decoding=\"async\" width=\"1011\" height=\"226\" class=\"wp-image-1651 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/image4.png\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image4.png 1011w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image4-600x134.png 600w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image4-300x67.png 300w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image4-768x172.png 768w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/image4-930x208.png 930w\" sizes=\"auto, (max-width: 1011px) 100vw, 1011px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">Now there are tools online where you can<strong> convert that hexadecimal to binary decimal values<\/strong> long before <strong>AI<\/strong> was around. But since I love GPT im going to ask it to convert that for me<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><img loading=\"lazy\" decoding=\"async\" width=\"601\" height=\"395\" class=\"wp-image-1652 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/Picture-1-601w395h.png\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-601w395h.png 601w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-601w395h-300x197.png 300w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-601w395h-539x354.png 539w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">I have script that didn\u2019t take long to put together from digging around for about an hour online. Which im obviously not going to share, BUT if I can do it\u2026\u2026someone with skills could do pretty easy. <strong>A professional hacker NO SWEAT.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"185\" class=\"wp-image-1653 size-full\" src=\"http:\/\/www.nicktailor.com\/wp-content\/uploads\/2023\/09\/Picture-1-2.png\" alt=\"A computer screen shot of a blue screen\n\nDescription automatically generated\" srcset=\"https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-2.png 881w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-2-600x126.png 600w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-2-300x63.png 300w, https:\/\/nicktailor.com\/tech-blog\/wp-content\/uploads\/2023\/09\/Picture-1-2-768x161.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span>As you can see if you have rolled this out how dangerous it is.<\/p>\n<p>Having said that I have also <strong>written<\/strong> an <strong>Ansible Role<\/strong> which will purge <strong>tightvnc<\/strong> from your infrastructure and deploy <strong>ultravnc<\/strong> which will use encryption and AD authentication. Which the other two currently do NOT do.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\">Hope you enjoyed getting <strong>P0WNed<\/strong>.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Virtual Network Computing\u00a0(VNC) is a graphical desktop-sharing system that uses the\u00a0Remote Frame Buffer protocol (RFB)\u00a0to remotely control another\u00a0computer. It transmits the\u00a0keyboard\u00a0and\u00a0mouse\u00a0input from one computer to another, relaying the graphical-screen\u00a0updates, over a\u00a0network.[1] VNC servers work on a variety of platforms, allowing you to share screens and keyboards between Windows, Mac, Linux, and Raspberry Pi devices. RDP server is proprietary and only<a href=\"https:\/\/nicktailor.com\/tech-blog\/1646\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131,137],"tags":[],"class_list":["post-1646","post","type-post","status-publish","format-standard","hentry","category-security","category-windows"],"_links":{"self":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=1646"}],"version-history":[{"count":11,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1646\/revisions"}],"predecessor-version":[{"id":1668,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1646\/revisions\/1668"}],"wp:attachment":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=1646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=1646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=1646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}