Lucene search
K

Intuit QuickBooks Desktop 2017 Credential Disclosure Vulnerability

🗓️ 07 Jan 2017 00:00:00Reported by Maxim TomashevichType 
zdt
 zdt
🔗 0day.today👁 36 Views

Intuit QuickBooks Desktop 2017 Credential Disclosure Vulnerability, unattended access risk, .SDU file format weaknes

Code
+ Credits: Maxim Tomashevich
+ Website: https://www.thegrideon.com/quickbooks-forensics.html
+ Details: https://www.thegrideon.com/qb-internals-2017.html


Vendor:
---------------------
www.intuit.com
www.intuit.ca


Product:
---------------------
QuickBooks Desktop
versions: 2017


Vulnerability Type:
---------------------
Admin Credentials Disclosure


Vulnerability Details:
---------------------
Unattended access is the major security risk in QuickBooks Integrated Applications infrastructure: it is necessary to store user credentials in order to grant any application unattended access to the database content.

In QuickBooks version 2017 .SDU files are used to store Apps, access rights and login details for QBW files. These .SDU files are stored in one location: "C:\Users\<username>\Intuit\QuickBooks\<hash based subfolder name>\<qbw file name>.sdu".
In contrast to prior versions of QuickBooks 2017 .sdu files are easy to locate and App named "ScheduledReports" is added to .QBW/.SDU records with full Admin data access rights on every .QBW startup! This heavily worsens the situation overall. As far as 2017 R4 update there is no way to permanently remove or disable it.

.SDU file format is very simple:
DWORD   dDataSize;
BYTE         bEncryptedData[dDataSize];

Data is decrypted with Windows API CryptUnprotectData and 22 bytes constant BYTE OptionalEntropy[22] = {0xA2, 0x48, 0x2E, 0x45, 0x12, 0x9B, 0xC7, 0xAB, 0xE2, 0xAB, 0xC6, 0x63, 0xCA, 0x76, 0xDD, 0xE0, 0x70, 0xB4, 0x84, 0x11, 0x6, 0};

Decrypted data contain two blocks:
180 bytes BASE64 encoded data digital signature.
and BASE64 encoded set of Apps records such as:

appname=ScheduledReports&appsrc=0&certexpire=07%2F05%2F2018&certname=VeriSign%20Class%203%20Code%20Signing%202010%20CA&certnum=233AA6FE50417400BE428D60CF54264B&certstat=0&devname=Intuit%2C%20Inc.;Admin;XX..XX

, where XX..XX is 21 bytes Admin Password Hash used as SQL Anywhere engine password, base for sensitive data decryption, etc.

Thus in QuickBooks 2017 US or CA (upto R4 so far) database "Admin" level credentials are available by default to anybody with current Windows login details for all QBW files created.
Due to fixed location used to store .sdu files they can also be used to collect login credentials for remote access to QB database with a simplest malicious script/code.

Severity Level:
---------------------
High


Disclaimer:
---------------------
Permission is hereby granted for the redistribution of this text, provided that it is not altered except by reformatting, and that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit is given to the author. The author is not responsible for any misuse of the information contained herein and prohibits any malicious use of all security related information or exploits by the author or elsewhere.

#  0day.today [2018-02-02]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation