Setup#

Proxy settings#

  1. Using the applications own proxy settings (if available) A good first step is to check if the application itself supports proxy. If it does, and it communicates over HTTPS you can proxy the traffic to burp. Remeber that if the application is running over HTTPS you need to install your burp root certificate if you want to be able to intercept the traffic.

  2. If the application does not provide their own proxy settings you can set them in the OS. On windows you do this by searching for "Proxy settings" in the search bar. Then you click on "Lan manager" or something like that. There you can define your port and ip.

  3. Using TCP-dump If it is not possible to to set the OS proxy you can use tcpdump, and dump the traffic to a pcap file, and then load it up in burp. In order to load it up in burp you need need the Burp extender "Pcap importer", remember that you can only use this for HTTP traffic, and not HTTPS traffic.

Decompile the executable#

If the application is built in .Net you can use the program ILSpy to decompile it, to read the source-code.

Things to test#

http/https SQL-authentication? SQL injection? Authentication

Recon#

Follow these instructions: https://docs.mitmproxy.org/stable/howto-transparent-vms/

Network communication#

Sniff traffic while using the application Use Wireshark and Sysinternals TCPView.

Client side#

Check for sensitive information#

Data storage#

Local privileged escalation#

Access control#

Injection#

Server side attacks#

All the standard OWASP stuff. XML, injections, access control etc.

Misc#

References:#

https://www.cyberark.com/resources/threat-research-blog/thick-client-penetration-testing-methodology