[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
QuickBooks 2017 Admin Credentials Disclosure
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: QuickBooks 2017 Admin Credentials Disclosure
- From: info@xxxxxxxxxxxxxx
- Date: Fri, 6 Jan 2017 17:57:52 GMT
+ 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.