A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
Thick clients aren't web apps. They're installed locally. They store data on disk. They communicate with servers over HTTP or TCP. And they frequently contain hardcoded credentials in their source code or configuration files. Unlike web apps, you can't just view source in a browser—you need to reverse engineer.
Two-tier is less secure but gives you more as an attacker. Three-tier hides the database from direct client access. Most enterprise thick clients use three-tier, but legacy applications and internal tools still ship with two-tier designs. Check the architecture before you waste time looking for SQL connection strings in a three-tier client.
You gain access to an exposed SMB share. The NETLOGON folder contains RestartOracle-Service.exe among other files. You download it, run it locally, and nothing visible happens. No window. No output. But ProcMon64 reveals it creates a temp file in AppData\Local\Temp.
The batch file gets created and immediately deleted. To capture it, you change the Temp folder permissions to disallow file deletions. Disable inheritance, convert to explicit permissions, deselect Delete subfolders and files. Run the executable again. The batch file persists.
$salida = $null$fichero = (Get-Content C:\ProgramData\oracle.txt)foreach ($linea in $fichero) { $salida += $linea }$salida = $salida.Replace(" ", "")[System.IO.File]::WriteAllBytes("c:\programdata\restart-service.exe", [System.Convert]::FromBase64String($salida))
The batch file drops base64-encoded content into oracle.txt, then a PowerShell script decodes it into restart-service.exe. Remove the deletion commands from the batch, run it, and you get the final executable. Running it displays a banner: Restart Oracle created by HelpDesk back in 2010.
-RW-- and type MAP contains the .NET executable. Double-clicking reveals MZ magic bytes. Export the dump, run strings, and there it is: a SQL connection string with sa credentials. De4Dot deobfuscates the .NET assembly. dnSpy reveals the full source code—a custom runas.exe that restarts Oracle using hardcoded credentials.Thick client apps store credentials in local files, memory, registry keys, and configuration XML. Check all of them. The fatty-client.jar scenario showed credentials in beans.xml, a Spring configuration file with the secret clarabibiclarabibiclarabibi hardcoded in plaintext.
Thick clients are everywhere in enterprise environments. Project management tools. Inventory systems. Custom internal utilities. They're less scrutinized than web apps because they're not internet-facing. But they sit on workstations, on SMB shares, in NETLOGON folders. And they almost always contain something useful. Would you download and reverse every unfamiliar executable you find on a share?
Finish the lesson once you have worked through the material. This awards ★ 40 XP.