In our blog, you will find articles on various IT security related topics, such as open penetration tests, public threat analyses, and analyses of other interesting topics.
Over 100 Bugs in a Row – Empirical Study About Popular CMS Extensions
- Marcus Niemietz
In this blog post, we describe our second pro bono penetration test focusing on the top-10 extensions of the popular content management system (CMS) Joomla. In contrast to our first pro bono penetration test, we had a much wider scope due to 10 different CMS extensions. Therefore, we have decided to do an empirical study. In total, we responsibly reported 103 vulnerabilities.
Is Your Application Vulnerable to Web Cache Poisoning?
- Maximilian Hildebrand
Web Caches are widely used, but their impact on security is often overlooked. In this post, we explain one attack class targeting web caches called “Web Cache Poisoning”. You will learn how “Web Cache Poisoning” might allow a malicious actor to exploit a web cache to attack your users or your application and how you can prevent this attack.
How to Protect Your OAuth Client Against Mix-Up Attacks
- Karsten Meyer zu Selhausen
There are many attacks that you need to address when implementing an OAuth or OpenID Connect client. Despite its severe impact one attack is often overlooked in the process of securing clients; in a so-called “mix-up attack” an attacker makes use of a malicious authorization server to steal authorization codes or access tokens. Afterwards, the attacker can access the victim’s resources.
In this blog post we explain the best way how you can protect your application and prevent the severe impact of mix-up attacks.
The Raccoon Attack
- Juraj Somorovsky
In September, we* published our new attack called Raccoon. Raccoon is a timing vulnerability that affects all TLS specifications up to 1.2. It allows attackers under certain conditions to break the encryption and read sensitive communication, for example, HTTP traffic or emails. Luckily, the vulnerability is really hard to exploit and relies on very precise timing measurements and on a specific server configuration to be exploitable.
Pro Bono Penetration Test Program - Second Candidate
Last September, we announced our pro bono program to support non-commercial organizations and open-source applications. With this program, we want to help them to increase security if they cannot afford a professional penetration test. For selected applicants, we will conduct a professional penetration test with a total expense of up to ten man-days - for free!
Are you involved with any project or application that could benefit from a professional penetration test, as well? Apply now to become our next candidate.
When PKCE Cannot Protect Your Confidential OAuth Client
- Christian Mainka, Karsten Meyer zu Selhausen
“Proof Key for Code Exchange” (also known as PKCE)  is a well-known protection mechanism for OAuth and OpenID Connect.
It was initially introduced to protect leaked or stolen authorization codes of benign native and mobile apps (which are public clients) from being redeemed by malicious apps.
With the time PKCE has become one of the standard measures to improve the security of OAuth and OpenID Connect protocol flows for all kinds of clients. The best current practices draft , which advises on how to implement OAuth securely, recommends to generally use PKCE to protect the authorization code and also prevent CSRF attacks.
However, PKCE cannot protect your client against all attacks which target the code. In this blog post, we will explain one attack example, which circumvents PKCE and allows an attacker to use a stolen code to access the victim’s resources.
Analysis of the GnuTLS Session Ticket Bug (CVE-2020-13777)
- David Ziemann
This June a bug  in certain GnuTLS versions was found, which affects the security of session resumption when session tickets are used. The bug causes servers using this implementation, to encrypt session tickets with an all-zero key for the duration of the initial key rotation interval. Thus session tickets issued by a vulnerable server during its first hours of uptime can be decrypted. By default GnuTLS changes the key used for encryption of session tickets every 18 hours.
Affected by the bug is TLS 1.2 when session tickets (defined in RFC 5077 ) are used. The data obtained from the decrypted session ticket can be used to decrypt all (recorded) communication of the associated TLS session.
Pro Bono Penetration Test: KeeWeb
- Karsten Meyer zu Selhausen, Marcus Niemietz
By supporting non-commercial organizations and open-source applications, we want to increase their security. For this reason, we created our pro bono program last September. The pro bono program offers applicants the chance to be selected for a free high-quality penetration test with a total expense of 10 man-days.
As the first candidate, we selected KeeWeb, which is a KeePass compatible password manager. KeeWeb is both available as a web application and cross-platform native application. It allows users to open and sync their password databases stored locally or in a cloud storage.
Eurobits Excellence Award 2019
This December, Karsten Meyer zu Selhausen received the Eurobits Excellence Award 2019 for his master's thesis "Security of PDF Signatures" . Since 2017, eurobits e.V. – as the center for excellence within the IT security field located in Bochum – annually honors a thesis of a graduated student within the field of IT security for its scientific contribution and high relevance for IT security in practice.
Our IT security consultant Karsten was among the first to investigate the security of digital signatures applied to PDF files. The results of his master's thesis provided the basis for the paper "1 Trillion Dollar Refund – How To Spoof PDF Signatures" published at CCS '19  and helped to increase the security of the affected applications.
Hackmanit congratulates Karsten on winning the award and is happy that he is part of the team.
In the following, a short overview of the results of his master's thesis is given.
XML Signature Validation Bypass in simpleSAMLphp and xmlseclibs
- Juraj Somorovsky, Karsten Meyer zu Selhausen
In October, we conducted a grey-box penetration test of a SAML-based Single Sign-On solution operated by SURFnet. The tested application used the open-source PHP library SimpleSAMLphp, whose source code we analyzed as a part of the penetration test. We were able to identify a novel variant of an XML Signature Wrapping (XSW) attack in SimpleSAMLphp, which allowed us to bypass the integrity and authenticity protection of the SAML assertion and change its contents arbitrarily.
In the following, we explain the details of the successful XSW attack, but first, we give a brief overview to SimpleSAMLphp, SAML, and XSW in general.
How to Prevent Framing Attacks
- Marcus Niemietz
UI Redressing (UIR) describes a set of powerful attacks which can be used to circumvent browser security mechanisms like sandboxing and the Same-Origin Policy. In essence, an attacker wants to lure a victim into performing actions out of context by commonly making use of social engineering techniques in combination with invisible elements and hijacked trustworthy events. The set of attacks includes techniques like manipulating the mouse cursor, stealing touch gestures, and maliciously reuse keystrokes. Introduced in 2008, clickjacking was the first UIR attack which made it possible to automatically hijack the camera and microphone of the victim by stealing a few left-clicks within a Flash-based browser game.
Pro Bono Penetration Test Program
Hackmanit is happy to announce its pro bono penetration test program for web and single sign-on (SSO) applications. In a half-year cycle, starting in January 2020, we offer free remote penetration tests with a maximum contingent of ten man-days.
We aim to support non-commercial organizations which cannot afford commercial penetration tests. You can apply for a free penetration test if you feel that your organization fulfills the following requirements:
- Non-commercial application (e.g., open-source software)
- High impact (e.g., a high number of users or high criticality in the security/privacy areas)
- You as an applicant should take care of clarifying any potential ethical and legal concerns
There will not be any significant difference between our pro bono penetration test and our usual commercial engagements except that you do not have to pay anything. However, in contrast to our commercial tests, you must agree to allow Hackmanit to publish the unfiltered version of our penetration test report. We will do this after you have fixed the weaknesses or, at the latest, after 90 days from informing you about the weaknesses.
Penetration Test of the DENIC ID
- Juraj Somorovsky, Karsten Meyer zu Selhausen
Based on the proven expertise in the areas of Single Sign-On and OpenID Connect, our team has been selected to perform an open penetration test of the DENIC ID - an implementation of ID4me.
The scope of the penetration test was to evaluate typical Single Sign-On weaknesses and the impact of novel features implemented in DENIC ID on the security of this login system.
DENIC ID is the first widely-deployed implementation of ID4me (https://id4me.org/documents/) - a novel protocol for federated identity management. It is based on well-established standards such as OpenID Connect and Domain Name System (DNS). In contrast to other Single Sign-On schemes, ID4me divides the duties of the identity provider into two separated entities: an identity agent and an identity authority. The identity agent provides registration services and manages user data. The identity authority is responsible for user authentication and authorization.