Conduct a thick client application penetration test to identify insecure local storage, hardcoded credentials, DLL hijacking, memory manipulation, and insecure API communication in desktop
Scanned 9/8/2026
Install to Claude Code
npx -y skills add MustafaKemal0146/fetih --skill performing-thick-client-application-penetration-test --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Performing Thick Client Application Penetration Test?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mustafakemal0146-performing-thick-client-application-penetration-te)More formats (shields.io, HTML) on the badges page.
---
name: performing-thick-client-application-penetration-test
description: Conduct a thick client application penetration test to identify insecure local storage, hardcoded credentials, DLL hijacking, memory manipulation, and insecure API communication in desktop
applications using dnSpy, Procmon, and Burp Suite.
tags:
- binary-analysis
- API-interception
- penetration-testing
- fetih
- dnSpy
- cybersecurity
- desktop-application
- Procmon
- DLL-hijacking
- siber-güvenlik
- thick-client
triggers:
- api
- application
- authentication
- certificate
- client
- dns
- encryption
- endpoint
- exploit
- hash
- http
- incident
category: penetration-testing
source_subdomain: penetration-testing
nist_csf:
- ID.RA-01
- ID.RA-06
- GV.OV-02
- DE.AE-07
adapted_for: fetih
---
# Performing Thick Client Application Penetration Test
## Genel Bakış
Thick client (fat client) penetration testing assesses the security of desktop applications that run locally on user machines and communicate with backend servers. Unlike web applications, thick clients present a broader attack surface including local file storage, binary analysis, memory manipulation, DLL injection, process interception, and client-server communication. Common targets include banking applications, ERP clients (SAP GUI), trading platforms, healthcare systems, and legacy enterprise software.
## Ne Zaman Kullanılır
- conducting yaparken security assessments that involve performing thick client application penetration test
- following yaparken: incident response procedures for related security events
- performing yaparken scheduled security testing or auditing activities
- validating yaparken security controls through hands-on testing
## Ön Gereksinimler
- Application installer and valid credentials
- Windows/Linux test machine (isolated)
- Tools: dnSpy, Procmon, Process Hacker, Wireshark, Burp Suite, Echo Mirage, Fiddler, IDA Pro/Ghidra
- Administrative Erişim: test machine
> **Legal Notice:** bu skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
## Phase 1 — Information Gathering
### Static Analysis
```powershell
file application.exe
Get-ChildItem -Path "C:\Program Files\TargetApp" -Recurse -Filter "*.dll" |
ForEach-Object { [System.Reflection.AssemblyName]::GetAssemblyName($_.FullName).FullName }
strings application.exe | Bul:str -i "password\|secret\|api\|key\|token\|jdbc\|connection"
strings application.exe | Bul:str -i "username\|user=\|pass=\|pwd=\|admin"
type "C:\Program Files\TargetApp\app.config"
type "C:\Program Files\TargetApp\settings.xml"
type "%APPDATA%\TargetApp\config.json"
strings application.exe | Bul:str -i "cert\|pin\|ssl\|tls"
```
### .NET Decompilation with dnSpy
```
1. Launch dnSpy
2. File > Open > Select application.exe and DLLs
3. Ara::
- "password", "secret", "connectionString"
- Authentication methods
- Encryption/decryption functions
- API endpoints and keys
- License validation logic
- Hardcoded credentials in source
- Insecure encryption (DES, MD5, base64 "encryption")
- SQL queries (potential injection)
- Disabled certificate validation
- Debug/verbose logging with sensitive data
```
## Phase 2 — Dynamic Analysis
### Process Monitoring
```powershell
```
### Traffic Interception
```bash
frida -l bypass_ssl_pinning.js -f application.exe
```
## Phase 3 — Vulnerability Testing
### Authentication Bypass
```
1. Open dnSpy, Bul: authentication method
2. Set breakpoint on credential validation
3. Modify return value to bypass (Debug > Set Next Statement)
4. Or: Patch binary to always return true
reg query "HKCU\Software\TargetApp" /s
type "%APPDATA%\TargetApp\user.db"
```
### DLL Hijacking
```powershell
```
### Memory Analysis
```powershell
strings process_dump.dmp | Bul:str -i "password\|token\|session\|bearer"
```
### Input Validation
```
```
## Phase 4 — API Security Testing
```bash
```
## Bul:ings Template
| Bul:ing | Severity | CVSS | Remediation |
|---------|----------|------|-------------|
| Hardcoded database credentials in binary | Critical | 9.1 | Use secure credential storage (DPAPI, vault) |
| DLL hijacking via writable app directory | High | 7.8 | Use full DLL paths, validate DLL signatures |
| Plaintext credentials in memory | High | 7.5 | Zero memory after use, use SecureString |
| No certificate pinning | Medium | 6.5 | Implement certificate pinning |
| Local SQLite DB with cleartext passwords | Critical | 9.0 | Use bcrypt/Argon2 hashing |
| Disabled SSL validation in code | High | 8.1 | Enable proper certificate validation |
## References
- dnSpy: https://github.com/dnSpy/dnSpy
- Procmon: https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
- OWASP Thick Client Testing Guide: https://owasp.org/www-project-thick-client-top-10/
- Ghidra: https://ghidra-sre.org/
- Echo Mirage: https://sourceforge.net/projects/echomirage/
<!--
⚔ Bu skill FETIH AI Agent icin gelistirilmistir — https://github.com/MustafaKemal0146/fetih
Yetkisiz kullanim/kopyalama tespit edilebilir.
hash: 6c9f024430d742f1
-->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!