Partner links

Hand of Thief trojan and your favorite Linux distribution

Linux

The Hand of Thief (HoT) trojan is a commercial form-grabber and backdoor banking trojan released in July (2013) and aimed at Linux distributions. Coding and selling of these type of malware is a big and booming business, supported by the bad guys (the coders) and those worse than they are (individuals, companies and government agencies that patronize them). There are no good guys in that business.

According to an analysis of HoT by Yotam Gottesman, a Senior Security Researcher at RSA’s FraudAction Research Labs, the trojan, like other malware of its type, is designed to do damage while trying to avoid being detected by the infected host’s security system. No surprises there.

The analysis also showed that HoT does not work as advertised, at least not yet. But the interesting part of the result of the analysis that peeked piqued my interest concerns how HoT fared on Ubuntu 12.04 and Fedora 19, two distributions it was tested on.

On Fedora 19, and regarding the trojan’s ability to work as intended, there was no security measure on the distribution that could have stopped it, if not for HoT’s inability to capture meaningful data from Firefox and Google’s Chromium, the two browsers used for the testing and analysis.

However, on Ubuntu 12.04, HoT failed to work. The reason? The researcher found that:

…a protection mechanism named ptrace scope was enabled by default. This protection prevents a process from attaching to a different process even when the user-ID matches (unlike the default Linux behavior). The protection effectively blocked the Trojan from interfering with other processes which rendered the Hand of Thief form-grabber and URL-blocker useless.

There are browser differences in the trojan’s ability to capture meaningful data, but that security mechanism on Ubuntu that rendered HoT’s core function “useless” is the type of security mechanism that should be enabled by default on all distributions.

This is just one trojan, and while it is largely a dud, at least at this stage in its development, there could be more out there, more that we know nothing about. The major distribution developers should take this as a wake-up call. We like to say that Linux is more secure than Windows, but are we prepared for dealing with quality malware like HoT?

One question I wanted to have the researcher answer for me is this: Why did SELinux not stop the trojan from functioning on Fedora 19?

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Partner links

Newsletter: Subscribe for updates

Subscribe
Notify of
guest
4 Comments
Inline Feedbacks
View all comments
GazL
GazL
8 years ago

What default value does ubuntu use for ptrace_scope? If it’s only “1” then it looks like it could easily be circumvented by having the tracer get itself into a position where it can be the parent of the tracee (perhaps by changing the executable in the browsers application desktop file under ~/.local/share/applications)

Higher values of ptrace_scope look like they would still protect against this unless root was compromised, but unless you want to disable ptrace completely system-wide then it looks like the only reliable way to prevent a process being traced at all is for it to call prctl(PR_SET_DUMPABLE, 0) to disable any attachment to the process. Perhaps this is something all the web browsers should do unless their built with something like –enable-debug.

Anyway, interesting blog-post and something I wasn’t aware of, so thanks for posting.

fred
8 years ago

it’s piqued, not peeked.

Eddie
Eddie
Reply to  finid
8 years ago

Remember the good old days of peek and poke instructions. Anyway back on topic. I’m kind of also wondering why SELinux could not stop the trojan from operating.

Get the latest

On social media

Security distros

Hacker
Linux distros for hacking and pentesting

Crypto mining OS

Bitcoin
Distros for mining bitcoin and other cryptocurrencies

Crypto hardware

MSI GeForce GTX 1070
Installing Nvidia GTX 1070 GPU drivers on Ubuntu

Disk guide

LVM
Beginner's guide to disks & disk partitions in Linux

Bash guide

Bash shell terminal
How to set the PATH variable in Bash
Categories
Archives
4
0
Hya, what do you think? Please comment.x
()
x