Over the course of the last 2 years we performed vulnerability research on
several Endpoint Management & Monitoring Solutions. The results were already
partially presented in security advisories which were published on this blog
during the last two years. The advisories can be found here:
We also recently presented the results on
Troopers 2022.
Now the results have been published in a more in-depth manner in the form of a
technical whitepaper. The whitepaper can be found
here.
Updated on 20.06.22 with CVEs and link to Broadcom Security Notice.
In April 2021 we reported seven vulnerabilities in Broadcom Automic Automation
(UC4) 12.3.5+hf.3. CVE IDs were assigned on 16.06.22, the corresponding Broadcom
Security Notice can be found
here.
The vulnerabilities have been found in the course of a research project, in
which we analyzed the security of multiple Endpoint Management solutions.
Similar vulnerabilities have been found in other solutions as we pointed out in
previous posts about the
Ivanti DSM Suite,
Nagios XI,
and
Solarwinds N-Central.
The outcome of the research project will be published as a whitepaper and a
conference talk at
Troopers 2022.
Missing server-side validation consistently scores a place in the
OWASP Top 10. Browsers nowadays offer
a lot of ways to easily implement client-side controls, increasing the usability
by a lot. They automatically detect missing fields or invalid characters in your
input fields and may even validate user input against a regular expressions.
However, these controls should only be considered as usability features. When
sending data to a back-end system the application must always ensure data
integrity by implementing encodings, validations and filters. Even for small
applications this is a painful and tedious process. For each possible input,
developers together with security experts have to carefully identify the context
of each field, how the input is going to be used and what data requirements are
present.
In my ordinary life, I teach computer science at the University of Applied
Sciences in Mannheim but for some months, I was an intern at ERNW learning a lot
about IT security and penetration testing. One of these learnings is that old
protocols can be fun and breaking them even more. But let’s start at the
beginning of the story…
I’m happy to announce the
release of several plugins for
Volatility 3 that allow you to dig deeper into the memory analysis. One of those
plugins is PteMalfind, which is essentially an improved version of malfind.
Another one is PteResolve which, similarly to the WinDBG command !pte,
allows you to inspect Page Table Entry (PTE) information for e.g., a given
virtual address. In this blog post we will have a closer look at these and more
plugins, and the PteEnumerator base class and what you can do with it. The
memory dump used for this blog post is available
here. Some of
the injection tools used in this blog post can be gathered from
here.
Using a static passkey for Bluetooth Low Energy pairing is insecure. Recent
versions of the Bluetooth specification contain an explicit warning about this.
However, in practice, we often see static passkeys being used. Moreover, there
are no public implementations of proofs-of-concept that can practically show why
using a static passkey is an issue. This is why we implemented one.
In a recent assessment, we were testing a device that offered a Bluetooth
interface for data export and configuration. This device uses Bluetooth Low
Energy (BLE), and a static passkey (or PIN) is required to pair with it. This
passkey is displayed for a few seconds when the device is booted and stays the
same on each reboot. In fact, it is derived from static, device-specific data.
The Federal Office for Information Security (BSI) aims to sensitize
manufacturers and the public regarding security risks of networked medical
devices in Germany. In response to the often fatal security reports and press
releases of networked medical devices, the BSI initiated the project
Manipulation of Medical Devices (ManiMed) in 2019. In this project, a security
analysis of selected products is carried out through security assessments
followed by Coordinated Vulnerability Diclosure (CVD) processes. The project
report was published on December 31, 2020, and can be accessed on the BSI
website
[1].
I recently stumbled upon a strange behavior in my Firefox: I visited an
HTTPS-enabled website that I had visited before and saw that my Firefox
connected insecurely via HTTP. I found that strange because nowadays, most
websites set the
HSTS
header, which is supposed to force the browser to connect via HTTPS. I checked
whether this website set the HSTS header – and it did. This means my Firefox was
ignoring/forgetting about the HSTS header right after my visit.
In this post, we are discussing a bug we came across in Mesas llvmpipe Gallium3D
graphics driver. This bug was accessible through Chromium’s WebGL implementation
and can provide control of the program counter (pc) within Chromium’s GPU
process if llvmpipe is used. Llvmpipe is a software rasterizer that is used on
Linux if no hardware acceleration (graphics card) is available. This is a pretty
rare edge case as llvmpipe has no widespread use. An estimate by Google is that
approx 0.06% of the Chromium users are affected by this. However, as this is a
simple but valid Chromium bug, we want to give you a quick walkthrough. The
issue is tracked as
CVE-2021-21153
and was fixed in February 2020.
BloodHound data collection, aka Sharphound, is quite a complex beast.
When giving BloodHound workshops, the part where I get the most questions is
always data collection.
How is the BloodHound data collected? What methods do what? Who am I talking
to? How do I fly under the radar?
These are all very relevant questions when you think about it.
After all, the rest is just a gorgeous UI sitting on top of a cool data model,
but the only bit of BloodHound code that ever touches the targeted network is
SharpHound. And so questions about it should be mandatory.
Now even thought I’ve been working with BloodHound for quite a while, there is
always this moment where I have to check before answering… (I feel the older I
get, the quicker I understand, but the less I remember… but that’s another story
I guess…)