Thick Client Applications
Thick client applications are the applications that are installed locally on our computers. Unlike thin client applications that run on a remote server and can be accessed through the web browser, these applications do not require internet access to run, and they perform better in processing power, memory, and storage capacity.
Characteristics of Thick Client Application
Independent software.
Working without internet access.
Storing data locally.
Less secure.
Consuming more resources.
More expensive.

Penetration Testing Steps
Information Gathering
Client Side Attacks
Network Side Attacks
Example Scenario #1
We found the file
C:\Apps\Restart-OracleService.exeProcMon from SysInternal shows this
Since a file is saved on \temp directory, we need to change the permission of the folder to forbid file deletion.
C:\Users\Matt\AppData\Local\Tempand underProperties->Security->Advanced->cybervaca->Disable inheritance->Convert inherited permissions into explicit permissions on this object->Edit->Show advanced permissions

A .bat file is saved
The batch file contains this and we remove the
delcommands so we can see the contents of the oracle.txt, and monta.ps1.
Execute the batch file to retrieve the monta.ps1
Running .\restart-service.exe to check if we can see some promising stuff in the ProcMon
Start x64dbg and
Options->Preferences, and uncheck everything exceptExit Breakpointfile->openand select therestart-service.exeUpon reviewing the logs, we saw a particular interest is the map with a size of
0000000000003000with a type ofMAPand protection set to-RW--

We saw
MZwhich is a magic number indicating a MZ Executable so we right-click on the address and selectingDump Memory to FileWe can see that it is a dotnet executable
We use De4DoT to convert it to its source code
Using DNspy

Example Scenario #2 (Exploiting Web Vulnerabilities)
Recon Notes:
Port was recently changed from 8000 to 1337
Credentials were qtc:clarabibi
Opening the fatty-client.jar, we try to login but there is an error

Upon inspecting the traffic on wireshark, we can see that the app attempts to connect to server.fatty.htb so we add that to our /etc/hosts

Inspecting the traffic again, the client attempts to connect to port 8000 (so we need to change it to port 1337)
Right click > Extract Files
Edit the port 8000 to 1337 but running the application will fail due to sha256 digest mismatch. The sha256 is located at META-INF/MANIFEST.MF
Remove the hashes in the META-INF/MANIFEST.MF
Delete
1.RSAand1.SFfiles from theMETA-INFdirectoryUpdate and run the fatty-client.jar
We can login now

Last updated