Posts

Showing posts matching the search for thick client

Thick Client Penetration Testing Tutorials - Part 1

Image
Hi Readers, today we will read on performing a penetration testing on thick clients. Why thick client penetration testing? Thick client applications are not new having been in existence for a long time, however if given to perform a pentest on thick clients, it is not as simple as a Web Application Pentest. Thick clients are majorly used across organizations for their internal operations. In this series of articles, we will learn various tools and techniques used to perform thick client application penetration testing. A step by step breakdown being deployed, we will discuss about starting with the very basics to the advanced test cases. Introduction Referenced under multiple names, such as: Fat client/Heavy client/Rich client/Thick client, such applications follow a client –server architecture . For an easy to understand approach, thick clients are applications which are deployed locally on our systems. Such as skype/ outlook. Thick clients can be developed using multiple languages...

Thick Client Penetration Testing Tutorials - Part 2 ( Traffic Interception)

Image
After getting the basics of thick client pentest, let’s delve into the very first steps you can take to commence thick client pentest. Interception and setting up proxy of application. Thick clients can be broken down into two types based on proxy settings: 1    1)       Proxy aware      2)       Proxy unaware Proxy aware are those applications which has settings in the application itself to route through IP address and ports for the purpose of logging in the application as well as transmit and receive data. Whenever you log into the application, you will be given a prompt showing username/ password along with destination IP and port. In case where the application does not have such settings, and only accepts username and password for authentication, you have to redirect the traffic from the application to your system to the actual server. This is the case of proxy unaware thick clients. Let’s see how: The v...

Thick Client Penetration Testing Tutorials - Part 5

Image
For carrying out penetration testing assessments, our main aim has been to resolve the actual domain to the loopback IP address, by adding an entry to the hosts file. Let us know consider a situation where the thick Client application does not send the request to a domain or a host name, then what happens? We are stuck since it becomes impossible to make a host file entry. Consider a thick client url like http://172.32.23.23:891/login. It cannot be mapped in hosts file without a valid pointing domain. So lets do a workaround via configuring burp with the concept of Microsoft Loopback Adapter. Prerequisites: Two machines residing in the same network ,both having Burp Suite tool running One machine (the testing machine) should have Microsoft Loopback Adapter configured. The second machine acts as a gateway that forwards the requests to the internet. The loopback adapter helps deceiving the local machine. In absence of a real domain, all the application req...

Thick Client Penetration Testing Tutorials - Part 3 ( Java Deserialization Exploit to RCE)

Image
Thick Client Penetration Testing – 3 (Java Deserialization Exploit: Remote Code Execution) Welcome Readers, in the previous two blogs, we have learnt about the various test cases as well as setting up traffic for thick clients using interception proxy. Among the plethora of test cases out here, one particularly interesting is about “ Remote Code Execution on thick clients”. For this particular RCE, among one of the thick clients I was testing, it was based on Java Application. While researching possible exploits, I noticed that there are custom deserialization methods in Apache commons-collections which has a particular “reflection logic” . This can be particularly exploited which can lead to remote command injection as well as lethal arbitrary code execution. All applications which are java based and perform serialization/ deserialization with untrusted data to deserialize having “commons-collections” in its classpath can be exploited to run arbitrary code! For starters, let’s cover ...