Threat Intelligence logo

Thick Client Application Penetration Test: Methods, Misconceptions and More

Threat Intelligence • July 4, 2024

Debasis Mohanty


With over 20 years in offensive and defensive security, Debasis has specialised in application security, infrastructure security, exploit development, and reverse engineering. Notable contributions include the MS08-067 Windows exploit and the Daksh SCRA tool, showcased at Blackhat USA 2023 Arsenal.

Thick client apps have been around a long time and can still be found in a wide range of businesses. With the hybrid work model of today, thick/fat client apps can be a lucrative target for hackers.   In this blog, we’re giving you a detailed view of thick client applications and their security. Read on to find out the steps involved in testing thick client apps. This blog was written with the help of our Principal Security Consultant, Debasis Mohanty.

What Is Thick Client Penetration Testing?

A thick client, also known as a fat client, is a client application that can provide rich functionality, independent of the server in a network. Thick clients can perform the majority of their functions without a live connection to the server. While they do require a periodic connection to a network on the central server, they can work offline and may have resources that are stored locally.


A thin client on the other hand, is a client app or computer that cannot function without a connection to the server. Thin clients do as little processing as possible on their own and heavily depend on accessing the server every time to process or validate input data.   Essentially, the thickness of a client refers to the amount of processing that is done by it and the data held on the client device versus the servers with which it communicates. As the data and processing increases, so does the thickness of the client app.


Take for instance, a gaming app that you have on your phone. Most of its functionalities are available even when you’re offline. However, to play socially and communicate with other people while playing, you may need to connect to a server. This is an example of a thick client application. Other examples of thick client apps include Google Talk, Yahoo Messenger, and Microsoft Outlook.

Why Ignoring Thick Client Pen Testing Could Be a Major Risk

Thick and thin clients work in different ways and each have their own benefits and drawbacks. One of the major benefits of using thin clients over thick clients is the security they provide.


Thick client applications come with their own set of security challenges that are different from web apps. Unlike web apps, which run in a browser, thick clients run directly on your PC. The browser acts as a sandbox - it acts as a container for the app. So if a web app gets compromised, the database may be affected or the systems hosting the servers may get compromise, but not your PC.


Whereas if a thick client is compromised, attackers can get direct access to your system and any sensitive data stored there. While web apps usually need you to click on a link or download something malicious to get compromised, thick clients can be vulnerable even if you just open a harmful file within the app. Plus, thick clients don’t have the protective buffer that browsers provide, so if they get compromised, the threat can persist until you take specific actions to fix it. 


Thin clients don’t have locally stored resources or removable media ports and that reduces their risk of malware infections and data losses.
Some of the major security flaws associated with thick clients include:
 

  • Injection attacks;
  • Variable and response manipulation;
  • Improper error handling;
  • Insecure storage;
  • Sensitive data disclosure;
  • Denial of Service (DoS);
  • Improper access control;
  • Improper session management;
  • Reverse engineering.


Browser-related security flaws don’t apply to thick client apps as they don’t depend on web browsers to function.

The 4 Phases of Thick Client Pen Tests

The penetration testing process for thick clients is carried out in 4 phases.

Static Analysis

Static testing is used to inspect an application’s source, binary, or byte code and identify the root cause of vulnerabilities. Developers can then create code that is less vulnerable, address underlying issues and thereby reduce security risks. However, security flaws that lie outside of the code cannot be detected through static testing.

Dynamic Analysis

The dynamic analysis uses simulated attacks from the front-end to test the application and find vulnerabilities. This test exploits the application like a real attacker would, and can identify run-time flaws in the application. 

System Analysis

The entire, fully-integrated software product is validated in a system test. It is a series of tests that evaluates end-to–end system specifications.

Network Analysis

Network analysis details how a hacker can get access to the system through compromised networks. It provides insight into external vulnerabilities and misconfigurations.

Activities performed during a Thick-Client Penetration Test

Client-side:

 

  • Analysis to identify sensitive content;
  • File analysis;
  • Binary analysis (decompilation / reverse engineering);
  • Memory analysis;
  • DLL hijacking vulnerability;
  • Insecure client-side GUI controls;
  • Insecure file permissions.

 


 
Network:

  • Man-in-the-middle attacks;
  • Transport encryption review;
  • Replay attacks.

 


 
API / Web Services:

 

  • XML Injection;
  • XPath Injection;
  • XML Attribute Blow-up Attacks;
  • SOAP Array Abuse Attacks;
  • XML External Entities Attacks;
  • XML Entity Expansion Billion Laughs Attack;
  • XML Entity Expansion Quadratic Blow-up Attacks;
  • SQL Injection;
  • Access Control Bypass;
  • Insecure Administrative Interfaces;
  • Vulnerable Software;
  • Command Injection;
  • SMTP Injection;
  • Information Leakage;
  • Insufficient Automation Protection;
  • Insecure SSL Configurations;
  • Denial of Service.

 
Once vulnerabilities are identified, the technical and business risks of each vulnerability are then estimated.

Thick Client Security: Common Assumptions and Oversights

Unawareness and Assumptions About In-House Apps

Many large enterprises continue to use legacy apps that haven’t been updated in a long time. They also rely on numerous thick client apps but often overlook the risks these pose because they aren’t regularly tested. There’s a common misconception that in-house developed apps are inherently safe and secure, but this isn’t the case. Any app, even those developed internally, can have security gaps that need to be tested.


"People think that because it's in-house, it's not exposed, it's not widely used outside the company, it's obscure from the outside world and nobody's going to exploit it. That's a wrong assumption," explained Debasis. "If somebody is already part of your network and sees a vulnerable thick client running on everyone's computers, they can access it, reverse-engineer it, and find bugs. And because it's trusted software, you’d have exceptions in your firewall to allow the traffic from this app to get through."

Overlooking Insider Threats

It’s not always the external threats that pose the biggest risk; sometimes it’s someone on the inside. A disgruntled employee or a malicious insider can leave a backdoor in the software when they leave the organization. They can then exploit this backdoor to snoop inside the network.

Lack of Testing for Third-Party Vendor Apps

Enterprises often use third-party apps from various vendors, but they are typically blind to the security protocols of these vendors. Many companies don’t ask for proof of the security of these apps, assuming that the vendor has conducted thorough security testing, especially if the apps are from a popular vendor. However, popularity isn’t an indicator of security. Even widely used apps can have vulnerabilities that need to be thoroughly tested.

Insufficient Tools and Expertise

Thick client penetration testing must be a mix of automated and manual testing. Automated tools lack the capability and sophistication required to fully exploit thick client apps. Relying solely on automated tools won’t provide a complete and accurate picture of the risks.


"There isn't a robust tool yet for thick client pen testing; most of it is done manually," emphasised Debasis. "You need someone to set up the environment for testing, analyze reports, and make conscious decisions based on the findings. Tools just find the obvious. They're missing the human intelligence required to make informed decisions. So, automation must be guided by manual testing and human expertise. Automation can't replace manual testing; it can only complement it."

Looking for Comprehensive Thick Client Pen Testing?

Thick client applications often don't get the security attention they need, with focus usually on web and mobile apps. But these applications can hide serious vulnerabilities that could compromise your entire system.



So don't wait any longer and get your apps tested right now. Our experts specialize in reverse engineering and thick client pen testing, providing thorough security assessments through real-world attack simulations to enhance your threat detection and response.


Still waiting? Book a demo with us now and discover how we can secure your thick client applications and keep your systems safe!


4o

Share

A blue background with a lot of numbers on it
By Threat Intelligence March 26, 2025
Enhance your incident response readiness with XDR. Streamline threat detection, investigation, and containment for faster, smarter security operations.
A man is sitting in front of a laptop computer.
By Threat Intelligence March 13, 2025
Learn about the prevalent threats targeting enterprises today and the advanced solutions designed to combat them effectively in this blog post.
An illustration of a laptop with a shield and a bottle coming out of it.
By Threat Intelligence March 6, 2025
Boost your cybersecurity with EDR. Detect and stop advanced threats, enhance visibility, and streamline response. Explore best practices and top tools now.
Two men are running away from a laptop with a clock coming out of it.
By Threat Intelligence February 27, 2025
In this article, we will delve into the concept of critical incident response time and its crucial role in safeguarding your organization's cybersecurity.

Related Content

Share by: