YouTube2Text

Gamers Nexus Said LG TVs Spy on You. I Tapped One to Find Out. — Transcript

by The Homeboy Workshop · 2,070 words · 343 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Every one of those purple marks is my LG
  2. 0:02TV asking my network which devices are
  3. 0:05in my house. This happens every 5
  4. 0:08minutes, hour after hour, whether anyone
  5. 0:11is watching the TV or not.
  6. 0:15And this is network traffic captured
  7. 0:17passively off a network tap. And this is
  8. 0:20my LG TV reaching out to devices on my
  9. 0:23network for their names, copied straight
  10. 0:26off the wire without the TV ever
  11. 0:27knowing.
  12. 0:31Gamer Nexus spent 2 hours on this. In
  13. 0:33his video, he showed how the LG TVs were
  14. 0:36scanning your home network, identifying
  15. 0:38what devices you own and the content you
  16. 0:40watch, and feeding this into an
  17. 0:42advertising profile.
  18. 0:44LG's response to this was that network
  19. 0:47scanning is a standard function commonly
  20. 0:49provided by smart TVs.
  21. 0:52They are technically right, but there is
  22. 0:54an ethics problem that still stands
  23. 0:56anyway, because almost nobody knows what
  24. 0:58they've agreed to.
  25. 1:01We'd regularly trade convenience for
  26. 1:03control points somewhere else. Handed it
  27. 1:05over knowingly or otherwise not. On
  28. 1:08this, I agree with Gamer Nexus's
  29. 1:09message. People think that they're
  30. 1:11buying a TV. They do not think that
  31. 1:14they're buying something that watches
  32. 1:15what they do and sells it back to them
  33. 1:17as advertising.
  34. 1:19This matters more every year as
  35. 1:21advertising profiles turn from a passive
  36. 1:23feed to having real-life active changes,
  37. 1:26for example, dynamic pricing.
  38. 1:29So, I took their video as a starting
  39. 1:30point and put a hardware tap on my own
  40. 1:33LG TV to see what was actually going on
  41. 1:36from a network point of view.
  42. 1:43This video is about the network side of
  43. 1:45deep packet inspection. It's not about
  44. 1:47addressing the microphone listening to
  45. 1:49you. It's not about the spying
  46. 1:50headlines. It's literally about looking
  47. 1:53at the TV's network traffic,
  48. 1:55understanding how to capture it, how to
  49. 1:57read it, and when encryption becomes an
  50. 2:00issue.
  51. 2:02On the last video, we talked about the
  52. 2:03hardware side of network taps. Plenty of
  53. 2:07you said in the comments that you cannot
  54. 2:09do anything because encryption stops
  55. 2:10everything. However, this is technically
  56. 2:13correct, but there's still a lot of
  57. 2:15information that can be contained with
  58. 2:17the network traffic that you see on the
  59. 2:19wire.
  60. 2:20Okay, so just a quick disclaimer. This
  61. 2:23is my hardware, my isolated network, and
  62. 2:26I own every single device. I'm doing
  63. 2:28this for security research to understand
  64. 2:31what the alleged behavior that
  65. 2:33GamerNexus mentioned, and I paid for the
  66. 2:35TV and all the devices on this video.
  67. 2:39All right, we're going to talk about the
  68. 2:40lab that we have set up so everyone can
  69. 2:42understand what we're going to do here.
  70. 2:45The TV sits on an isolated segment with
  71. 2:47no route to the internet. The network
  72. 2:50tap sits in line between the TV and the
  73. 2:53router,
  74. 2:54copying every packet from both
  75. 2:56directions out to monitoring ports.
  76. 3:00The packet captures from the two
  77. 3:02monitoring ports are then stored by
  78. 3:05dumpcap on the Raspberry Pi,
  79. 3:08writing to disk every 5 minutes.
  80. 3:11I then have another MacBook on the same
  81. 3:14network segment that replicates the
  82. 3:16internet. It responds to DNS requests,
  83. 3:20any HP requests, and has its own CA
  84. 3:23setup.
  85. 3:25This then tricks the TV to thinking that
  86. 3:27it's actually connected to the internet.
  87. 3:29However, it's actually talking to my
  88. 3:30MacBook instead, where I can log all the
  89. 3:33traffic directly.
  90. 3:35Inside the MacBook, I also have it
  91. 3:37pretending to be a bunch of canary
  92. 3:39devices.
  93. 3:40For example, a Chromecast, an AirPlay
  94. 3:42speaker, or a printer. It is also
  95. 3:45replicating what GamerNexus saw is that
  96. 3:48I'm also advertising TeamViewer and VNC
  97. 3:51and SSH
  98. 3:53services.
  99. 3:55Okay, so now that how we have all the
  100. 3:57packet captures on the pie, we're going
  101. 3:58to move them by SSH every couple minutes
  102. 4:02to an analysis box.
  103. 4:04On side that analysis box, we're going
  104. 4:06to have InfluxDB that holds time series
  105. 4:08data and displaying that into Grafana to
  106. 4:11show some behavior over time.
  107. 4:14Then we're going to have Arkime that
  108. 4:15ingest the network captures and makes
  109. 4:18them searchable through OpenSearch.
  110. 4:21Then we're also going to
  111. 4:24ingest the PCAPs into Zeek that turns
  112. 4:27them into traffic logs and we can easily
  113. 4:29search this via Grafana as well.
  114. 4:32One quick ask before the tools. I really
  115. 4:35love making these videos and there's
  116. 4:37plenty more still coming.
  117. 4:39Please let me know in the comments
  118. 4:40section what you would like me to tap
  119. 4:41next. If you want those, please consider
  120. 4:44subscribing and hitting the like button
  121. 4:46because it really does help support
  122. 4:48growing this channel.
  123. 4:50To understand deep packet inspection,
  124. 4:51you first need to understand OSI model.
  125. 4:55A packet is not flat. It is made from a
  126. 4:58series of layers wrapped around each
  127. 5:00other.
  128. 5:01On the way out, every layer adds its own
  129. 5:03small header. And on the way in, every
  130. 5:05layer reads its own header and ignores
  131. 5:08everything inside.
  132. 5:10That is why a switch will read one layer
  133. 5:13and then stop.
  134. 5:14And vice versa for a router. And same
  135. 5:17for a firewall. Deep packet inspection
  136. 5:19is essentially understanding every
  137. 5:21single layer and understanding what
  138. 5:23layer is doing and then reporting that
  139. 5:25back.
  140. 5:27There are seven layers to the OSI model
  141. 5:29and the first one starts with a physical
  142. 5:30side, which is really basic when you
  143. 5:32think about it. All you have to think is
  144. 5:35the voltage, the light, and the radio
  145. 5:37waves. The question here is essentially
  146. 5:40is there a signal at all?
  147. 5:42My first video was basically about
  148. 5:44understanding how copper taps regenerate
  149. 5:47the electrical signal and a fiber tap
  150. 5:49essentially splits the light and neither
  151. 5:51one actually cares what the signal means
  152. 5:53or what it's carrying.
  153. 5:57Layer two is the data link layer. We
  154. 5:59have a signal and now we start to have
  155. 6:01some structure. We're talking about an
  156. 6:04ethernet frame. Inside that ethernet
  157. 6:06frame we'll have MAC addresses, which is
  158. 6:08the hardware identifier attaches to the
  159. 6:10NICs. The question now becomes which
  160. 6:13device on your local network is this
  161. 6:15packet actually for?
  162. 6:18Layer three is the network. Now we get
  163. 6:21to have an IP address. The question
  164. 6:23changes from which device is this on my
  165. 6:25network to which device anywhere on the
  166. 6:28network am I trying to reach? This is
  167. 6:31the layer that gets a packet from the
  168. 6:32living room across the internet to any
  169. 6:35other data center.
  170. 6:37Layer four is the transport layer. This
  171. 6:39is where TCP or UDP come in with port
  172. 6:43numbers like 403, 53, or 80. Now we're
  173. 6:47asking slightly a different question.
  174. 6:49Which service or application that
  175. 6:52machine actually needs this data for? So
  176. 6:55instead of saying a packet arrived at
  177. 6:56this computer, layer four is talking
  178. 6:59about this packet is for this service
  179. 7:01listening on this particular port.
  180. 7:05Layer five and six is the session and
  181. 7:07presentation layer. It's kind of messy
  182. 7:10layers where the layers aren't
  183. 7:12essentially distinct from each other.
  184. 7:15And a lot of engineers still argue where
  185. 7:18encryption sits and belongs on this
  186. 7:20layer, but for the purpose of this
  187. 7:22series, I'm just going to treat that TLS
  188. 7:25occurs on layer six.
  189. 7:28Layer seven is the application layer and
  190. 7:30this is where we finally get the actual
  191. 7:32content. We're talking about the DNS
  192. 7:34query or the HTTP request with the JSON
  193. 7:37payload.
  194. 7:38Now the question is what actually is
  195. 7:41being said from the source to
  196. 7:43destination.
  197. 7:45Part one was about the hardware side of
  198. 7:47the two different taps that we had, the
  199. 7:49copper and fiber network taps. If you
  200. 7:52missed that video, there's just one
  201. 7:54important part.
  202. 7:56Both taps had two monitoring outputs,
  203. 8:00one per direction, A to B and B to A.
  204. 8:04I ended that video saying that the paths
  205. 8:06need stitching back at the software
  206. 8:08layer.
  207. 8:10The obvious approach is capturing each
  208. 8:12interface separately and merging the
  209. 8:14files later with mergecap. This will
  210. 8:17work fine, however, nobody does this in
  211. 8:20production because most of the times
  212. 8:22some of the files will reconcile at
  213. 8:24different times and you'll have
  214. 8:26different clock rotations.
  215. 8:28Instead, we're going to use dumpcap.
  216. 8:30Dumpcap allows us to capture pcaps on
  217. 8:34multiple NICs at the same time and
  218. 8:37change the writing to disk at a specific
  219. 8:40interval to a single pcap.
  220. 8:44Now, while we're talking about the
  221. 8:45specific NICs, there's two settings that
  222. 8:47we need to talk about, promiscuous mode
  223. 8:50and offload seconds.
  224. 8:52For promiscuous mode, a card will throw
  225. 8:55away frames that was not destined for
  226. 8:57itself. We want to essentially turn that
  227. 9:00off and that's what promiscuous mode
  228. 9:02allows us to do. Accept every single
  229. 9:04packet coming over this specific medium.
  230. 9:09For offload seconds, we're essentially
  231. 9:10trying to turn off the kernel from
  232. 9:12combining multiple different packets
  233. 9:14into one huge one.
  234. 9:16This causes a problem later on because
  235. 9:18we get different merging sizes, etc.
  236. 9:21Okay, now that we've talked about the
  237. 9:22lab setup and the brief understanding of
  238. 9:26the OSI model and the different layers,
  239. 9:28we're going to talk about what Gamut
  240. 9:29Nexus mentioned on the reverse DNS
  241. 9:32lookups.
  242. 9:33For me, I saw every 300 seconds reverse
  243. 9:37DNS lookups being made.
  244. 9:40I counted about 23 different sweeps
  245. 9:42before I stopped counting.
  246. 9:44Gamer Nexus said that the their TV
  247. 9:47identified a PC as running TeamViewer.
  248. 9:50Well, the answer is actually kind of
  249. 9:51boring here, which makes it kind of
  250. 9:53interesting.
  251. 9:55Multicast DNS service discovery.
  252. 9:58The same protocol that makes AirPlay
  253. 10:00work without any setup.
  254. 10:03The TV sends a query, meaning everybody
  255. 10:06list every kind of service you offer.
  256. 10:09For me, I saw the TV
  257. 10:12querying my network 57 times in 4 hours,
  258. 10:16which is roughly every 90 seconds.
  259. 10:19So, I built the fake PC to advertise
  260. 10:21TeamViewer, VNC, SSH, and RDP services.
  261. 10:26And once the fake PC advertised this,
  262. 10:29this TV then started querying for these
  263. 10:32services.
  264. 10:33So, this is actually correct.
  265. 10:36Multicast DNS service discovery is a
  266. 10:40standard protocol doing what it's
  267. 10:41designed for, and LG leaned into this in
  268. 10:45their response.
  269. 10:48The mechanism is 100% correct. However,
  270. 10:52asking every 90 seconds and attaching
  271. 10:54the answers to an advertising identity
  272. 10:56is a different use case in general that
  273. 10:59people probably don't know that is
  274. 11:00occurring.
  275. 11:02Overhearing is one thing. However, the
  276. 11:04TV went further. In a few hours, it
  277. 11:07asked for my fake smart plug for a full
  278. 11:11system info 99 times, which included the
  279. 11:14model, the name, the MAC address, and
  280. 11:16the firmware. It asked for the bulb for
  281. 11:19its version 54 times. It sent 18
  282. 11:22searches for a Belkin Wemo, a brand that
  283. 11:25I haven't even faked.
  284. 11:27Now, to go back to the packet captures
  285. 11:29and the Archon views.
  286. 11:32Since this is working well, why doesn't
  287. 11:34everyone just do it?
  288. 11:36Well, the answer is simple. It's an
  289. 11:37encryption. When traffic is encrypted,
  290. 11:39everything from layer four down stays
  291. 11:42readable. Addresses, the ports, the
  292. 11:44packet sizes, the timing, etc.
  293. 11:47However, layer seven turns it to
  294. 11:50complete jumble.
  295. 11:52With TLS 1.2, it used RSA key exchange,
  296. 11:56where the client encrypts the session
  297. 11:58secret to the server's public key.
  298. 12:01If you held the server's private key,
  299. 12:04you could decrypt the network traffic
  300. 12:06offline.
  301. 12:09TLS 1.3
  302. 12:11uses ephemeral Diffie-Hellman, which
  303. 12:14basically means both sides generate a
  304. 12:17temporary key and use them to agree on a
  305. 12:19shared secret, and then throw the keys
  306. 12:22away.
  307. 12:23The secret itself is then never
  308. 12:26transmitted across the wire.
  309. 12:28This is essentially called perfect
  310. 12:30forward secrecy.
  311. 12:33This means for TLS 1.3, we can't use the
  312. 12:36server's private key anymore to decrypt
  313. 12:39the traffic.
  314. 12:41You can still see where the packets are
  315. 12:43going to, who and when, but you can't
  316. 12:47actually see what's in the application
  317. 12:49layer, which is encrypted.
  318. 12:52Okay, so the final results were to
  319. 12:54confirm Gamers Nexus' claims with what
  320. 12:56we saw.
  321. 12:57We saw that the continuous scans were
  322. 13:00occurring from the local network via
  323. 13:01reverse DNS every five minutes
  324. 13:04and mDNS every 90 seconds. So, this is
  325. 13:07definitely confirmed.
  326. 13:08We saw that Gamers Nexus alleged that
  327. 13:11software devices were enumerated and uh
  328. 13:16SSH or services like TeamViewer were
  329. 13:18discovered, and that is also confirmed.
  330. 13:21We saw record device names and Mac uh
  331. 13:24derived IDs and asking for specific
  332. 13:27system information from those IDs. And
  333. 13:30that's once again confirmed. What we
  334. 13:32couldn't confirm is that
  335. 13:34uh it was asking for nearby Wi-Fi
  336. 13:36devices just because where we were
  337. 13:38capturing, we did not have visibility
  338. 13:40into this. And that's about it for this
  339. 13:43video. I hope it was informative and if
  340. 13:46I missed anything or made a mistake,
  341. 13:48feel free to correct me in the comments.
  342. 13:50As always, uh keep me honest and I'll
  343. 13:53see you in the next one.

About this transcript

This page contains the full transcript of Gamers Nexus Said LG TVs Spy on You. I Tapped One to Find Out. by The Homeboy Workshop, generated from the public captions YouTube serves with the video. The transcript has 2,070 words across 343 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.