- Get
crypt.seed.key
from%HPBSM%\conf\seed.properties
(also note crypt.seed.conf, it is usually AES/ECB) - Get
crypt.secret.key
from%HPBSM%\conf\encryption.properties
(also note crypt.conf.1 [substitute your crypt.conf.active.id], should be same as crypt.seed.conf) - Split
crypt.secret.key
around the one Z in it.
- pre-Z part:
cryptedSecretKey
- post-Z part: MAC
- pre-Z part:
- Get
ManagementDb.password
from%HPBSM%\conf\TopazInfra.ini
- Split the HEX string to 4 pieces, there are three Z-s in it.
- Third of the four parts is the
cryptText
- Note: This method was only checked out with
ManagementDb.dbEType=1
, andcrypt.seed.conf=AES/ECB
settings.
- Go here: http://aes.online-domain-tools.com
- Input text (hex):
cryptedSecretKey
- Key (hex):
crypt.seed.key
- Function: AES (note: crypt.seed.conf)
- Mode: ECB (note: crypt.seed.conf)
- Decrypted text:
plaintextSecretKey
, will be a HEX string, trim the 0x0A-like garbages from the end (some kind of padding I did not bother to research).
- Input text (hex):
- Go here again: http://aes.online-domain-tools.com
- Input text (hex):
cryptText
- Key (hex):
plaintextSecretKey
- Function: AES (note: crypt.seed.conf)
- Mode: ECB (note: crypt.seed.conf)
- Decrypted text: will be the plaintext database password used for the ConnectString in TopazInfra.ini, trim the garbage bytes again, as usual.
- Input text (hex):
According to The Directive 2009/24/EC of the European Parliament and of the Council, and Sec.103(f) of the DMCA (17 U.S.C. § 1201 (f)), the reverse engineering act committed to creating these blog posts is considered legal, as this is an original attempt to improve interoperability, and cannot be waived by license agreements.
The views expressed on this blog are my own and do not necessarily reflect the views of my past and present employers.
2014-04-23
HP BSM: Decrypt Management password
You will need filesystem access.
2014-04-02
Oracle: Get UNIX epoch
SELECT ROUND((SYSDATE - TO_DATE('01-01-1970 00:00:00', 'DD-MM-YYYY HH24:MI:SS')) * 24 * 60 * 60) AS EPOCH FROM DUAL;The subtraction tells how many days is the difference, as a floating point number. Multiply it with 24 hours * 60 minutes * 60 seconds to scale it to seconds. Round it as we don't want sub-second precision.
If the time zones don't match up, use UTC:
SELECT ROUND((CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) - TO_DATE('01-01-1970 00:00:00', 'DD-MM-YYYY HH24:MI:SS')) * 24 * 60 * 60) AS EPOCH FROM DUAL;
Subscribe to:
Posts
(
Atom
)