CONTACT US

Chapter 3 – Reversing DoSvc C++ using Ghidra – Part 1

In this chapter, we’ll finally get started on my favorite part: the reversing phase. Reversing is like looking for a needle in a haystack, so prepare yourselves, because things are about to get technical.

Introduction

This chapter has two main goals:

  1. To provide beginner reversers with a glimpse into how we approach reversing in general, and Ghidra in particular.
  2. To serve as an introduction to C++ reversing.

At this stage of the research, we will reverse ‘DoSvc.dll’, which was found in the black box phase; this is the service that manages all the Delivery Optimization features,. The DLL is compiled from modern C++ code, so get ready for a deep dive into STL (Standard Template Library) objects.

There are two main reversing tools: IDA Pro, and Ghidra.

  • IDA Pro is a commercial product, and it’s considered to be the standard, unrivaled reversing program.
  • Ghidra is a reversing tool developed by the NSA, and was made public and open source in 2019. As I already have experience with IDA, I chose to conduct my research using Ghidra, to see how it compares.

Working under the assumption that you have a basic understanding of reversing, and rudimentary modern C++ skills, we’ll start slow, by first fully understanding a class method stage by stage, and then showing the potential of Ghidra for C++ reversing. We’ll gradually quicken the pace, and in the second part of Chapter 2, we’ll continue to describe some of the DoSvc structure and C++ classes, without digressing into the full reversing process.

Goals

Before we dive into the reversing process, it’s important to decisively define the goals of our research. This is a tip not usually written about, but in my opinion it’s one of the keystones of a good researcher. Having clear goals is important in any project, and even more so when it comes to reversing. It’s too easy to lose yourself in the reversing, jumping from function to function in an endless hopeless loop. Having goals keeps you focused on the right path.
In general, our strategic goal is to find CVEs or exploitation techniques, but such a goal is too amorphic to guide us. Let’s break it down to practical goals. For this reversing task, we want to accomplish the following:

  1. Understand the peer-to-peer protocol: In the previous chapter, we discovered a binary protocol used by Delivery Optimization to share files between machines; our goal is to understand the protocol. That’s too general … more precisely, our goal will be to find the code that is responsible for parsing the protocol buffer.
  2. Obtain a general understanding of the code, for future fuzzing: For the next fuzzing stage, we need a general grasp of the code, so we can select areas of the code to fuzz.
    While the first goal demands specific, almost surgical precision, the second goal requires going over many functions and classes, and reviewing the code as a whole.

Finding the balance between these goals helped me greatly during my research. I naturally digressed into trying to understand everything, but managed to stay focused on the network components.

Initial vector

The task of starting to reverse a binary can be overwhelming. There are thousands of functions, so the question arises: where to begin?
One approach is to start from the beginning. For example, for EXE files, you can start at the main function, and for DLL files – like our ‘DoSvc.dll’ – you can start with their exported functions. However, with large programs, this approach can be somewhat tedious, as you might have to slowly make your way through multiple sections of code before reaching anything of interest.
It’s always important to start from the strings view, looking for important strings found in the binary, and identifying where they are used. But even that can be overwhelming. I wonder, is there a hint that can point us in the right direction?
In the previous chapter, when viewing the protocol in Wireshark, the only readable string was ‘Swarm protocol’, which was sent both ways at the beginning. Everything else is binary (at this point ????).

FIGURE 1 - WIRESHARK TCP STREAM
Figure 1 – Wireshark TCP stream

I decided to begin by searching for the string as a lead, and fortunately, I found it!

FIGURE 2 - STRINGS SEARCH
Figure 2 – Strings search
FIGURE 3 - ‘SWARM PROTOCOL’ STRING
Figure 3 – ‘Swarm protocol’ string

Awesome, the string exists in our binary. Looking for usages, I found the string used in a function named ‘CPeerSock::SendHandshake’.

CPeerSock::SendHandshake

Let’s take a look at the function found using the string. I know, it doesn’t look like much right now, but don’t worry, when we return to it in the end it will look quite different.
Before and after editing:

The function is called ‘SendHandshake’! Cool, we can learn from this name that the string we saw in Wireshark being sent both ways is part of the protocol handshake! It appears that the function builds a buffer that is sent at the end of the function (line 58) via the ‘CPeerSock::_SendMsg‘ method. This definitely looks like the right place, so let’s dive into the function.

Function signature

Starting from the top, it would help first to understand the parameters. We will attempt to understand all parameters, but as with any reversing short-term goal, I recommend not over-committing, as you could find yourself deep inside a rabbit hole. For example, it’s easy to slip into recursion when looking for usages, and find a function that passes its own parameter to our function. Sometimes, pursuing this particular rabbit is worth it, sometimes it isn’t: the important part is to be aware of the danger of descending too deeply into a rabbit hole.

In the function signature, the first parameter is ‘this’. Ghidra notes from the symbols that this function uses the ‘thiscall’ calling convention, and that its type is ‘CPeerSock’.

FIGURE 6 - ‘CPEERSOCK::SENDHANDSHAKE’ SIGNATURE BEFORE EDITING
Figure 6 – ‘CPeerSock::SendHandshake’ signature before editing
Note:

Without symbols, Ghidra would assume fastcall, treating the first parameter as any other parameter. In such a case, the calling convention should be edited in the function signature (see “Reversing Windows C++ with Ghidra” guide).

Surprisingly, the second parameter (after ‘this’) isn’t used at all. Perhaps this is a decompiler bug. Let’s view the assembly to find out. The second variable is RDX, and we can see that it’s overwritten without previous usage at the beginning of the code. I gave it the inspiring name: ‘unreferenced’.

FIGURE 7 - BEGINNING OF ‘CPEERSOCK::SENDHANDSHAKE’
Figure 7 – Beginning of ‘CPeerSock::SendHandshake’

The symbols tell us that the last two parameters are of types ‘CSwarmHash’ and ‘CPeerId’, respectively. For now, we won’t dive too deeply into these classes, but only rename them to ‘ptCSwarmHash’ and ‘ptCPeerId’.

Note:

I try to keep to a readable but comfortable naming convention. Variables with known or assumed purposes will be named in lowercase with underscores, e.g. ‘buffer_length’. Variables with a specific type but unknown purpose will be named in Hungarian notation until a better name is found.

Now that we’ve done an initial review of the signature, let’s search for usages of our function, and see which variables are passed. This search reveals that there is only one usage.

FIGURE 8 - 'CPEERSOCK::SENDHANDSHAKE' USAGE
Figure 8 – ‘CPeerSock::SendHandshake’ usage
FIGURE 9 - 'CPEERSOCK::SENDHANDSHAKE' USAGE
Figure 9 – ‘CPeerSock::SendHandshake’ usage

What do we have here? A log message with our string starting a handshake! This proves again that we’re in the correct place.

The third parameter (after ‘this’ and ‘unreferenced’) that is passed by R8 is a fixed value of 0xe (14), so let’s rename it to ‘equals_0xe’. Remember, the ‘CPeerSock::SendHandShake’ is only called once, so this will always be the value. In this case I ended up leaving the name, but it would’ve been better to rename it to something descriptive when I finally understood what the 14 value represents.

FIGURE 10 - THIRD PARAMETER INITIALIZATION
Figure 10 – Third parameter initialization

Now the signature looks like this – much better!

Figure 11 – ‘CPeerSock::SendHandshake’ improved signature

Signature remarks

Let’s return to the ‘unreferenced’ parameter, specifically in the calling code:

FIGURE 12 - 'CPEERSOCK::SENDHANDSHAKE' USAGE
Figure 12 – ‘CPeerSock::SendHandshake’ usage

Following our lead, Ghidra named the second variable ‘unreferenced’. Nevertheless, it could still be of interest – perhaps something important is passed, even if the variable isn’t used. The ‘unreferenced’ variable contains the function name, and is defined before a call ‘LogMessage’, but we can’t see a usage. This seems like a decompiler issue, likely related to how Ghidra parses the assembly into C++ pseudo-code.

Note:

‘LogMessage’ accepts a format string, and therefore is probably a variadic function (like ‘printf’). As Ghidra can’t extrapolate the number of parameters, in each reference to the function the decompiler fails. Instead of sweating over the assembly, I recommend guessing the number of arguments by the number of format arguments in the string.

But I digress; we should be focusing on our goal of ‘CPeerSock::SendHandShake’. Is ‘unreferenced’ important? Let’s review the assembly to find out.

FIGURE 13 – ‘UNREFERENCED’ INITIALIZATION
Figure 13 – ‘unreferenced’ initialization

The function name string address is stored into RDX and passed to ‘LogMessage’. Following this, parameters are set for ‘CPeerSock::SendHandshake’ (our function), without touching RDX. To conclude, the parameter is irrelevant; it merely contains the value from the previous usage.

The fact that this second parameter isn’t used looks like compiler optimization. Initially, I suspected that it chose not to call ‘CPeerSock::SendHandshake’ with the standard ‘fastcall’ calling convention, but I don’t believe compilers perform such optimizations. Furthermore, the fifth parameter is passed on the stack instead of in the fast register, so such an optimization would be wasteful, as writing to the stack is much slower than writing to a register. Another option is that in the source code, a variable is passed, but is not used internally by the function. In such a case, the compiler still passes the variable, but doesn’t bother to edit it, as it won’t be used. Surprisingly, in this case, the variable written in the source code is different from the variable that is sent in reality.

Anyway, this was a dead end. Such is the life of a researcher.

Note:

Personal frustrations aside, why am I digressing so much? I could just say to myself that it’s weird, and continue to my second goal of fuzzing the code. On the other hand, these internals can be critical to proper understanding – and hopefully, to bug detection. In your own work, if something feels wrong, or seems ‘off’, I encourage you to dive in, and research it. You never know what you might discover.

Handshake buffer formatting

Let’s return to our function, which starts by initializing a vector. Using the techniques mentioned in the “Reversing Windows C++ with Ghidra” guide, we can reverse the vector, and see that the function allocates 61 bytes, plus 14 (0xE) – in total: 75 bytes.

FIGURE 14 - VECTOR CREATION
Figure 14 – Vector creation

Returning to Wireshark, we can see that the first message is indeed 75 bytes long. More proof that we’re on the right track!

FIGURE 15 - MESSAGE EXAMPLE FROM WIRESHARK
Figure 15 – Message example from Wireshark

The function then starts storing information into the buffer. ‘equals_0xe’ is limited to 0xff, and stored at the beginning of the buffer. Then, the ‘Swarm protocol’ string is copied to the buffer, using the unlimited (!) length stored in ‘equals_0xe’. So: ‘equals_0xe’ is the string length, and indeed, the string’s length is 14.

FIGURE 16 - ‘SWARM PROTOCOL’ COPIED INTO MESSAGE
Figure 16 – ‘Swarm protocol’ copied into message

This is weird behavior: if a longer value is passed, ‘memcpy’ may copy outside of the allocated boundaries.

(Un)luckily, the correct value is passed. Also, the ‘equals_0xe_limited’ parameter is stored to the buffer, but the original ‘equals_0xe’ is used to copy the string. We should remember this treatment when we encounter the opposite function that parses this handshake, we might find similar behavior that we can exploit.

At this point, I began to feel optimistic: we already found two bugs … surely we’ll find an exploitable one. From here, our reversing gets more interesting. The address after the newly-copied string is calculated, and multiple values are written into it.

FIGURE 17 - DATA COPIED INTO MESSAGE
Figure 17 – Data copied into message

Can you understand what’s being copied into what? Me neither.

Instead of manually defining each type, let’s use ‘Auto Create Struct’ to create a readable structure.

This elegant feature allows us to select a pointer, and automatically create a structure according to the usage of said pointer. Now, all that is left is to rename the new structure to ‘HandshakeBody’, and continue to investigate its values.

FIGURE 18 - AUTO CREATE STRUCTURE
Figure 18 – Auto create structure

Now instead of modifying pointer offsets, an ordered structure is edited:

FIGURE 19 - AUTO CREATE STRUCTURE RESULT
Figure 19 – Auto create structure result

The first 8 bytes are zeroed. Surprisingly, Ghidra chose to cast our newly-defined structure pointer to do this. It does this because the assembly zeroes all the 8 bytes at once, and then sets the fifth byte to 0x10. I renamed it from ‘field_0x5’ to ‘set_to_0x10.

FIGURE 20 - MAGIC NUMBER
Figure 20 – Magic number

Next, the ‘ptCSwarmHash’ object is copied by value, using four intermediate stack DWORDs at a time. Let’s rename that section ‘DWORD adwSwarmHash[8]’.

FIGURE 21 - ‘CSWARMHASH’ COPIED INTO MESSAGE
Figure 21 – ‘CSwarmHash’ copied into message

Now our structure is clear – but ‘ptCSwarmHash’ isn’t. What we can see is that the code reaches into its variables when the structure’s size is 0. This isn’t relevant to our immediate purposes, so we’ll get to it later. ‘CPeerId’ is also copied, and it too is retyped to a DWORD array, as ‘CSwarmHash’ was.

FIGURE 22 - ‘CPEERID’ COPIED INTO MESSAGE
Figure 22 – ‘CPeerId’ copied into message

That’s it! The buffer is completed, and passed on to ‘CPeerSock::_SendMsg’.

FIGURE 23 - SENDING THE MESSAGE
Figure 23 – Sending the message

Back to Wireshark

We started this chapter from a clue discovered in Wireshark, and we’ll finish by returning to the network sniff and comparing our results to reality.
We already discovered that the handshake should start with ‘Swarm protocol’ formatted as a pascal string, with the following structure.

FIGURE 24 - HANDSHAKE BODY STRUCTURE
Figure 24 – Handshake body structure

We can indeed identify ‘Swarm protocol’, prefixed with its length of 0xe.

FIGURE 25 - STRING HEADER IN HANDSHAKE
Figure 25 – String header in handshake

The 0x10 magic also appears here.

FIGURE 26 - MAGIC IN HANDSHAKE
Figure 26 – Magic in handshake

According to the findings, the next binary values should be a 32-byte hash, followed by a 20-byte peer ID. And indeed, the leftover buffer can be split into a 32-byte array followed by a 20-byte array.

FIGURE 27 - SWARM HASH IN HANDSHAKE
Figure 27 – Swarm hash in handshake
FIGURE 28 - PEER ID IN HANDSHAKE
Figure 28 – Peer ID in Handshake

‘CPeerSock::_SendMsg’

The function ends with the network buffer being sent to another of the class’s methods: ‘CPeerSock::_SendMsg’. Initially, I attempted to find additional usages of the function, hoping to find other message formats. After a few attempts I abandoned this path, as even with symbols, I couldn’t understand the meaning of the sent messages and parameters. Instead I came up with a better idea: to search for the code on the opposite end – the end that receives the buffer and parses the messages from it. Such a function would be superior for full coverage, and there may be multiple messages sent from all over the code – and potentially even backward-compatible messages that are not sent at all. Such backward-compatible messages may even allow us to break things.

Before jumping to those functions, we need a broader understanding and context of the code in order to understand the usages of different messages, and their internal variables.

Conclusion

In this chapter, we began the reversing process. We entered the code using a string we found in the black box phase, and successfully reversed the structure of the peer-to-peer handshake. We went somewhat overboard for educational reasons, and to demonstrate the power and features of Ghidra.
As far as our goals go, we began to understand the peer-to-peer protocol, and added a tactical goal of finding the receiving end of the message parsing. As we focused on just one function, we still need to get a general understanding of the overall code.
Stay tuned, because in the next chapter we’ll continue trying to achieve these goals. In Chapter 3 Part 2, we’ll get a broader understanding of the code as a whole, and will extract the information we want from multiple functions, while at the same time trying to minimize effort and streamline the research process.

Navigation to previous and further chapters:

About the Author
Binyamin Levine, Oleg Lerner
APA citation (7th Ed.)

Binyamin Levine, Oleg Lerner. (2024, May 6). Chapter 3 – Reversing DoSvc C++ using Ghidra – Part 1, Sygnia.
https://sygnia-stg.prpl.global/blog/reversing-dosvc-c-using-ghidra-part-1/

Related Resources

Investigating Data Extortion Involving Trusted Vendor Access
Blog

Investigating Data Extortion Involving Trusted Vendor Access

Learn how sensitive data left an organization through legitimate vendor access, and what the investigation revealed about logging and evidence preservation.
Cyber Insurance in Practice: What to Know Before an Incident
Webinars

Cyber Insurance in Practice: What to Know Before an Incident

Join Sygnia’s Tim Smit for a practical client briefing on how to prepare your organization to use its cyber insurance effectively.
Incident Response Best Practices: Strategies, Tools & Plans
Blog

Incident Response Best Practices: Strategies, Tools & Plans

Build incident response best practices into your plan, team, tools, and exercises, using NIST SP 800-61 Rev. 3 and lessons from real investigations.
AI Webinar Series Recordings
Webinars

AI Webinar Series Recordings

Join Sygnia experts for a two-part webinar series examining how AI-related threats are becoming an operational reality for many organizations and the practical approaches security teams should take to protect their business from them.
Sygnia Unveils Security Operations Center Hubs and Expands AI-Powered Cybersecurity Capabilities To Challenge Threat Attack Rise
Press Release

Sygnia Unveils Security Operations Center Hubs and Expands AI-Powered Cybersecurity Capabilities To Challenge Threat Attack Rise

Sygnia’s next phase of global growth focuses on AI-driven innovation across MDR, incident response, and proactive security services.
AI Threat Realities Prompt Proactive Security Readiness
Webinars

AI Threat Realities Prompt Proactive Security Readiness

Join Sygnia experts for a two-part webinar series examining how AI-related threats are becoming an operational reality for many organizations and the practical approaches security teams should take to protect their business from them.
When IT Support Is the Attack: How Law Firms Can Defend Against Silent Ransom Group
Blog

When IT Support Is the Attack: How Law Firms Can Defend Against Silent Ransom Group

Strengthen your readiness against Silent Ransom Group. As SRG increasingly uses IT impersonation and legitimate remote-access tools to target law firms, firms should review how they verify support interactions, protect sensitive client data and detect suspicious activity.
When IT Support Is the Attack: Defending Law Firms Against Silent Ransom Group
Webinars

When IT Support Is the Attack: Defending Law Firms Against Silent Ransom Group

Join us for practical session on how law firms can defend against Silent Ransom Group and similar threats that turn trusted IT support into a path to sensitive client data.
Shai-Hulud in the Wild: What Security and Incident Response Teams Need to Know
Blog

Shai-Hulud in the Wild: What Security and Incident Response Teams Need to Know

Learn how Shai-Hulud compromises trusted software workflows, exposes credentials across CI/CD environments, and creates attack paths into cloud, production, and downstream systems, and how security teams can contain and recover from the compromise.
Exfiltration in Plain Sight: How the SafePay Ransomware Group Abused OneDrive to Steal Data
Blog

Exfiltration in Plain Sight: How the SafePay Ransomware Group Abused OneDrive to Steal Data

Expose how ransomware operators abuse trusted cloud services like OneDrive to bypass traditional security controls, exfiltrate sensitive data over legitimate HTTPS traffic, and hide malicious activity within normal business operations.
Sygnia Reveals New Activity by China-Nexus Threat Actor Fire Ant Targeting Trusted Infrastructure
Press Release

Sygnia Reveals New Activity by China-Nexus Threat Actor Fire Ant Targeting Trusted Infrastructure

Incident Response leader reveals long-running espionage activity abusing routers, authentication systems and Linux management hosts to collect intelligence and explore paths toward connected high-value environments.
How to Secure Enterprise AI: From Adoption to Incident Readiness
Guides and tools

How to Secure Enterprise AI: From Adoption to Incident Readiness

Learn where AI risk lives across the enterprise and how to secure AI across its full lifecycle with Sygnia’s practical AI security framework.
Shai-Hulud in the Wild: What Security and IR Teams Need to Know
Webinars

Shai-Hulud in the Wild: What Security and IR Teams Need to Know

What happens when software supply-chain attacks compromise not only packages, but the trusted systems and workflows used to build and distribute them?
Incident Response vs. Crisis Management: Why Treating Them as the Same Thing Is Dangerous
Blog

Incident Response vs. Crisis Management: Why Treating Them as the Same Thing Is Dangerous

Incident response contains the attack. Crisis management protects the business. Learn why conflating the two is dangerous and how to align them.
Sygnia Brings Expert-Led Managed Detection and Response to AWS Marketplace
Press Release

Sygnia Brings Expert-Led Managed Detection and Response to AWS Marketplace

Company joins the AWS ISV Accelerate Program, making it easier for AWS customers to access Sygnia MDR with bundled incident response support
Why Most OT Cyber Incidents Never Reach the OT Environment
Blog

Why Most OT Cyber Incidents Never Reach the OT Environment

Learn why modern industrial operations depend on IT, the misconceptions that leave organizations exposed, and how anti-fragile resilience keeps production running when IT is compromised.
Exfiltration in Plain Sight: SafePay’s OneDrive Play
Webinars

Exfiltration in Plain Sight: SafePay’s OneDrive Play

Get an inside look at the attack path, the forensic evidence that exposed the OneDrive exfiltration technique, and the practical detection opportunities defenders can use to uncover similar activity before it becomes a full-scale extortion event.
When Technical Controls Work, Attackers Change the Rules: How a Failed Intrusion Became a Data Exposure Incident
Blog

When Technical Controls Work, Attackers Change the Rules: How a Failed Intrusion Became a Data Exposure Incident

Discover how a failed intrusion quickly became a data exposure incident after a threat actor pivoted from blocked technical attacks to social engineering, and why layered defenses, rapid response, and operational safeguards are essential when attackers change the rules.
Ransomware Incident Response in 2026: What Has Changed and What CISOs Are Still Getting Wrong
Blog

Ransomware Incident Response in 2026: What Has Changed and What CISOs Are Still Getting Wrong

Learn what has changed in ransomware incident response in 2026, and what CISOs are still getting wrong
Sygnia Investigation Finds AI Accelerated Attack Enabled Lone Threat Actor to Rapidly Compromise Enterprise Cloud Environment
Press Release

Sygnia Investigation Finds AI Accelerated Attack Enabled Lone Threat Actor to Rapidly Compromise Enterprise Cloud Environment

Financially motivated cyberattack reveals agentic AI workflows to accelerate victim reconnaissance, attack tool development, command structuring and environment-specific adaptation.
On-Demand Webinar: Inside an AI-Assisted Cloud Attack
Webinars

On-Demand Webinar: Inside an AI-Assisted Cloud Attack

Watch a practical session based on Sygnia’s investigation of an AI-assisted cloud intrusion that progressed from initial access to broad compromise in just 72 hours.
Inside an AI-Assisted Cloud Attack: Familiar Techniques at Unfamiliar Speed
Blog

Inside an AI-Assisted Cloud Attack: Familiar Techniques at Unfamiliar Speed

Learn how a threat actor used AI to accelerate a cloud attack from initial access to broad compromise in just 72 hours
Why 73% of Organizations Still Aren’t Ready for a Cyberattack
Blog

Why 73% of Organizations Still Aren’t Ready for a Cyberattack

Explore lessons from Sygnia's 2026 CISO Survey on Incident Response Readiness.
Crypto Security in 2026: Why Transaction Authority Is the Most Important Security Control
Blog

Crypto Security in 2026: Why Transaction Authority Is the Most Important Security Control

Most crypto breaches occur when attackers reach transaction authority. Learn how to secure identities, infrastructure, and authorization systems.
2026 Gartner® Hype Cycle™ for CPS Security
Guides and tools

2026 Gartner® Hype Cycle™ for CPS Security

Gain valuable insights into CPS security innovations, threats, and technology evolution.
Velvet Ant’s Operation Highland: How a China-Nexus Actor Infiltrated an Internal Network Undetected
Blog

Velvet Ant’s Operation Highland: How a China-Nexus Actor Infiltrated an Internal Network Undetected

Discover the detailed forensic investigation by Sygnia into the sophisticated cyber attack by Velvet Ant on a major organization.
Incident Response Metrics That Actually Matter to Boards (And the Ones That Don’t)
Blog

Incident Response Metrics That Actually Matter to Boards (And the Ones That Don’t)

Learn which incident response metrics boards actually need to make decisions, and which ones create false confidence.
8 Incident Response Plan Mistakes That Lead to Failures
Blog

8 Incident Response Plan Mistakes That Lead to Failures

Learn the 8 critical incident response mistakes that leave 73% of organizations unprepared, and how to close the execution gaps that turn manageable cyber incidents into full-scale business crises.
The Mythos Effect: Preparing for AI-Accelerated Exploitation
Threat Reports and Advisories

The Mythos Effect: Preparing for AI-Accelerated Exploitation

How Vulnerability Management Programs Must Evolve
CISO Survey 2026: The State of Incident Response Readiness
Guides and tools

CISO Survey 2026: The State of Incident Response Readiness

Benchmark your readiness against 600 peers and gain data-driven insights into how ready organizations truly are to manage a significant cyberattack.
How to Leverage an Incident Response Retainer
Blog

How to Leverage an Incident Response Retainer

Discover how to get the most from an incident response retainer, and what sets apart a provider that can respond effectively when your organization is under real pressure.
Exfiltration in Plain Sight: SafePay’s OneDrive Play
Blog

Exfiltration in Plain Sight: SafePay’s OneDrive Play

Discover how SafePay’s rapid, high-pressure ransomware campaigns unfold, and what Sygnia learned while investigating a real-world double extortion attack that put a global organization to the test.
Incident Response in the AI Threat Era: What Boards Must Re-Evaluate in 2026
Blog

Incident Response in the AI Threat Era: What Boards Must Re-Evaluate in 2026

Explore how AI-driven cyber threats are reshaping board-level risk decisions and what executives must re-evaluate for incident response in 2026.
What 2025’s Major Cyber Incidents Taught Executives About Incident Response Readiness
Blog

What 2025’s Major Cyber Incidents Taught Executives About Incident Response Readiness

Discover what Threat Detection, Investigation & Response (TDIR) means for modern enterprises, including frameworks, risks, and executive-level decision insights.
Incident Response and SOC Training Services
Datasheet

Incident Response and SOC Training Services

Sygnia offers a suite of services that are designed and proven to enhance cloud cyber resilience.
Pathfinder
Datasheet

Pathfinder

Sygnia offers a suite of services that are designed and proven to enhance cloud cyber resilience.
Incident Response Services
Datasheet

Incident Response Services

Sygnia offers a suite of services that are designed and proven to enhance cloud cyber resilience.
Incident Response and Retainer Services
Datasheet

Incident Response and Retainer Services

Sygnia offers a suite of services that are designed and proven to enhance cloud cyber resilience.
Incident Response Strategies for Technology and SaaS Companies
Blog

Incident Response Strategies for Technology and SaaS Companies

Executive-level incident response strategies for Technology and SaaS companies to strengthen resilience, reduce business impact, and accelerate recovery.
Developing Incident Response Team Communication and Coordination Practices
Blog

Developing Incident Response Team Communication and Coordination Practices

Master incident response communication with proven frameworks that align teams, accelerate decisions, and minimize business impact during cyber crises.
Creating Incident Response Policies and Procedures: Best Practices
Blog

Creating Incident Response Policies and Procedures: Best Practices

Learn how to create effective incident response policies and procedures with best practices that strengthen resilience, compliance, and recovery.
A Tactical Approach to Incident Response: Navigating the Aftermath of a Cyber Attack
Blog

A Tactical Approach to Incident Response: Navigating the Aftermath of a Cyber Attack

When a cyber attack strikes, every second counts. At Sygnia, we deploy a tactical, multi-stream approach to incident response—prioritizing rapid containment, eradication, and operational resilience while conducting deep investigations. Learn how parallel execution ensures faster recovery and stronger security outcomes.
Weaver Ant, the Web Shell Whisperer: Tracking a Live China-nexus Operation
Blog

Weaver Ant, the Web Shell Whisperer: Tracking a Live China-nexus Operation

Sygnia details Weaver Ant, a China-nexus threat actor infiltrating a major telecom provider. Using web shells and tunneling, the attackers maintained persistence and facilitated cyber espionage. This blog explores their tactics and provides key defense strategies against state-sponsored threats.
What is an Incident Response Retainer, Key Features and Benefits, and Why It Matters
Blog

What is an Incident Response Retainer, Key Features and Benefits, and Why It Matters

Learn about incident response retainers, their key features, benefits, and why they are essential for protecting your organization from cyber threats.
The Anatomy of Abyss Locker Ransomware Attack
Blog

The Anatomy of Abyss Locker Ransomware Attack

Abyss Locker ransomware targets critical network devices with swift, disruptive attacks. This blog breaks down its tactics and defense strategies.
How to Run Incident Response Tabletop Exercises in 2026
Blog

How to Run Incident Response Tabletop Exercises in 2026

Discover how to prepare your organization for cyber threats in 2026 with incident response tabletop exercises. Learn strategies to strengthen your response plans.
CrowdStrike Fallout: Navigating the Risks of Intrusive Security Tools
Blog

CrowdStrike Fallout: Navigating the Risks of Intrusive Security Tools

Learn how to balance robust cybersecurity with operational stability in the wake of the CrowdStrike outage.
China-Nexus Threat Group ‘Velvet Ant’ Leverages a Zero-Day to Deploy Malware on Cisco Nexus Switches
Blog

China-Nexus Threat Group ‘Velvet Ant’ Leverages a Zero-Day to Deploy Malware on Cisco Nexus Switches

Sygnia uncovers the China-Nexus group ‘Velvet Ant’ leveraging a zero-day exploit (CVE-2024-20399) on Cisco Switch appliances, escalating evasion tactics to maintain long-term network persistence.
What is a Rootkit? Exploring the Hidden Threats and Their Impact on System Security
Blog

What is a Rootkit? Exploring the Hidden Threats and Their Impact on System Security

Learn what Rootkits are, how sophisticated threat actors leverage them to gain full control of computers and systems, and how to protect your systems from this unique risk.
Incident Response Readiness: What is it and how to improve it?
Guides and tools

Incident Response Readiness: What is it and how to improve it?

The most dangerous cyber attackers have something in common: they are tenacious at their craft and dogged in their determination to find and exploit security weaknesses.
The Return of Ghost Emperor’s Demodex
Blog

The Return of Ghost Emperor’s Demodex

A Comprehensive Look at the Updated Infection Chain of Ghost Emperor's Demodex Rootkit.
Sygnia Recognized for the Third Consecutive Year in The Gartner 2024 Market Guide for Digital Forensics and Incident Response Retainer Services
Blog

Sygnia Recognized for the Third Consecutive Year in The Gartner 2024 Market Guide for Digital Forensics and Incident Response Retainer Services

In June, Sygnia, was named a Representative Vendor in the 2024 Gartner® Market Guide for Digital Forensics and Incident Response Retainer Services (DFIR).
China-Nexus Threat Group ‘Velvet Ant’ Exploits Cisco Zero-Day (CVE-2024-20399) to Compromise Nexus Switch Devices – Advisory for Mitigation and Response
Blog

China-Nexus Threat Group ‘Velvet Ant’ Exploits Cisco Zero-Day (CVE-2024-20399) to Compromise Nexus Switch Devices – Advisory for Mitigation and Response

Learn about the forensic investigation by Sygnia, the cyber espionage operation by Velvet Ant, and best practices for safeguarding your network against sophisticated threats.
China-Nexus Threat Group ‘Velvet Ant’ Abuses F5 Load Balancers for Persistence
Blog

China-Nexus Threat Group ‘Velvet Ant’ Abuses F5 Load Balancers for Persistence

Discover the detailed forensic investigation by Sygnia into the sophisticated cyber attack by Velvet Ant on a major organization.
Navigating the Digital Minefield
Blog

Navigating the Digital Minefield

Part 1: A Thrilling Guide to Mastering Cyber Crisis Management. Explore real-world cyber crises reimagined as high-stakes dramas, from WannaCry to Target's breach.
Chapter 2 – Black Box Research
Blog

Chapter 2 – Black Box Research

The intricacies of WUDO (Windows Update Delivery Optimization).
The Anatomy of a BlackCat (ALPHV) Attack
Blog

The Anatomy of a BlackCat (ALPHV) Attack

Explore the thwarted cyber extortion attempt by the BlackCat ransomware group, unraveled by Sygnia's Incident Response team in 2023.
Proof of Concept: Overcoming Google Cloud Incident Response Issues with ‘Mirage’
Blog

Proof of Concept: Overcoming Google Cloud Incident Response Issues with ‘Mirage’

How the Mirage tool developed by Sygnia assists in evidence collection & investigation, while uncovering key log analysis & incident response strategies for Google Cloud.
Announcing ‘Mirage’ – New Opensource Tool to Combat Google Cloud Incident Response Challenges
Blog

Announcing ‘Mirage’ – New Opensource Tool to Combat Google Cloud Incident Response Challenges

New open-source tool streamlines incident response in Google Workspace & GCP. Overcome challenges, access data, & gain insights faster. Learn more about Mirage & Google Cloud forensics in our blog series.
The SEC’s SolarWinds investigation in Context: Lessons from 100 Enterprise Security Assessments Governance & Compliance
Blog

The SEC’s SolarWinds investigation in Context: Lessons from 100 Enterprise Security Assessments Governance & Compliance

SEC charges SolarWinds & CISO with misleading statements about security practices. Learn how SolarWinds compares to other companies & what you can do to improve your security posture.
Building Cyber Readiness: 5 Traits of the World’s Most Cyber-Ready Organizations
Guides and tools

Building Cyber Readiness: 5 Traits of the World’s Most Cyber-Ready Organizations

The most dangerous cyber attackers have something in common: they are tenacious at their craft and dogged in their determination to find and exploit security weaknesses.
Sygnia Annual Field Report
Blog

Sygnia Annual Field Report

From relentless adversaries to resilient businesses, the Sygnia Annual Field Report offers unique insights and strategic guidance to strengthen your cybersecurity defenses against the ever-evolving threat landscape.
Mitigation Advisory: Fortinet and Ivanti Exploitable Vulnerabilities
Threat Reports and Advisories

Mitigation Advisory: Fortinet and Ivanti Exploitable Vulnerabilities

Protect your network against critical remote code execution vulnerabilities in Fortinet and Ivanti (formerly Pulse Secure) devices, now actively exploited in the wild.
Why monitoring monitors is the key to cyber threat resilience
Blog

Why monitoring monitors is the key to cyber threat resilience

Protect your organization by monitoring the monitors – a critical defense against cyber threats.
Diving into the new windows 11 PCA artifact
Blog

Diving into the new windows 11 PCA artifact

Discover the new forensic artifact in Windows 11 (22H2) and explore its format and behavior. Learn how to leverage it in investigations with our comprehensive documentation for DFIR practitioners.
Breaking Down the Casbaneiro Infection Chain – Part II
Blog

Breaking Down the Casbaneiro Infection Chain – Part II

Since 2018, the Casbaneiro banking trojan has targeted Latin American financial sectors. Sygnia monitors it closely as a major threat to multi-regional financial organizations.
Case Study: cracking a global Adversary-In-The-Middle campaign using a threat intelligence toolkit
Blog

Case Study: cracking a global Adversary-In-The-Middle campaign using a threat intelligence toolkit

Using a variety of CTI enrichment techniques Sygnia was able to determine that the BEC attack was only a part of a much wider campaign, potentially impacting dozens of world-wide organizations.
Threat Actor Spotlight: RagnarLocker Ransomware
Blog

Threat Actor Spotlight: RagnarLocker Ransomware

Explore the threat of RagnarLocker ransomware. Uncover its tactics and implications in this Sygnia blog spotlight on cyber threats.
Incident Response in Google Cloud: Forensic Artifacts
Blog

Incident Response in Google Cloud: Forensic Artifacts

Discover effective incident response in Google Cloud. Learn how to analyze forensic artifacts for swift resolution. Expert insights on Sygnia blog.
Incident Response in Google Cloud: Foundations
Blog

Incident Response in Google Cloud: Foundations

Incident response and threat hunting in Google Cloud Platform and Workspace
Revealing Emperor Dragonfly: Night Sky and Cheerscrypt – A Single Ransomware Group
Threat Reports and Advisories

Revealing Emperor Dragonfly: Night Sky and Cheerscrypt – A Single Ransomware Group

The outcome of investigation by Sygnia's incident response teams - Cheerscrypt & Night Sky are rebrands of one ransomware group, named ‘Emperor Dragonfly’.
Vice Society Ransomware Group: Threats to Health & Education Sector
Blog

Vice Society Ransomware Group: Threats to Health & Education Sector

Professionals across all industries, agree that the Vice Society ransomware group is a major cyber threat, especially in health & education sector
Vice Society TTPs: Insights from a Real-World Ransomware Investigation
Blog

Vice Society TTPs: Insights from a Real-World Ransomware Investigation

Get technical insights based on forensic investigations of Vice Society (ransomware group carrying out double extortion attacks) conducted by our IR team.
Luna Moth Ransomware: The Threat Actors Behind Recent False Subscription Scams
Blog

Luna Moth Ransomware: The Threat Actors Behind Recent False Subscription Scams

Sygnia’s team identified 'Luna Moth' ransom group. The threat actors resemble false subscription scammers, focusing on corporate data theft.
Hybrid Phishing Attack Vector – Complementing Phishing Campaigns
Blog

Hybrid Phishing Attack Vector – Complementing Phishing Campaigns

Cyber-crime groups are targeting Java-based infrastructures susceptible to the Log4Shell vulnerability and are delivering Qakbot phishing emails
The Misconceptions of 2021’s Black Swan Cyber Events
Blog

The Misconceptions of 2021’s Black Swan Cyber Events

Here are 3 common misconceptions about Black swan events that are considered incidents with high impact and low frequency that are impossible to predict.
Key Takeaways Leak of Conti crime group information
Threat Reports and Advisories

Key Takeaways Leak of Conti crime group information

Shared thoughts and insights following our analysis of the leaked Conti (cyber crime group) information and the groups modus operandi.
Breaking Down the Casbaneiro Infection Chain
Blog

Breaking Down the Casbaneiro Infection Chain

The Casbaneiro banking trojan targets financial organizations to steal user data for financial gain. Get a detailed “attacker fingerprint”.
Potential Okta Breach
Threat Reports and Advisories

Potential Okta Breach

In light of evidence of a successful Okta breach, we recommend taking several steps to mitigate potential risk for organizations leveraging Okta solutions.
Russia–Ukraine Conflict Escalation
Threat Reports and Advisories

Russia–Ukraine Conflict Escalation

An advisory to keep leadership updated & support global organizations enhance cyber resilience as we monitor the conflict between Russia & Ukraine.
It’s a Threat Actor’s Paradise: Getting Ahead of Attackers in 2022
Blog

It’s a Threat Actor’s Paradise: Getting Ahead of Attackers in 2022

Achieving cyber resilience in the hostile attack terrain comes down to an organization’s ability to flip the asymmetry between them and the threat actors.
Log4Shell Remote Code Execution
Threat Reports and Advisories

Log4Shell Remote Code Execution

Critical remote code execution vulnerability in a software logging package called “Log4Shell” (CVE-2021-44228) is impacting millions of devices globally
Recent Waves of Phishing Attacks Overpowering 2-factor Authentication
Blog

Recent Waves of Phishing Attacks Overpowering 2-factor Authentication

Phishing attacks are still a leading attack vector for threat actors globally, & are evolving in prevalence & sophistication given work-from-home models
Kaseya Ransomware Supply Chain Attack
Threat Reports and Advisories

Kaseya Ransomware Supply Chain Attack

Get a deep dive into the Kaseya ransomware attack, and how you can deploy effective defense strategies.
Detection And Hunting Of Golden SAML Attack
Threat Reports and Advisories

Detection And Hunting Of Golden SAML Attack

Get actionable insights on how to detect a Golden SAML attack vector and an overview of the compromise at SolarWinds.
Demystifying The PrintNightmare Vulnerability
Threat Reports and Advisories

Demystifying The PrintNightmare Vulnerability

Learn about the PrintNightmare vulnerability, why it's such a cause for concern and how to mitigate the risk.
subsctibe decor
Want to get in touch?