Introduction
In the previous chapters, we focused on server-side exploitation. Nowadays, the most successful attacks target endpoints; the reason is that with most of the security budget and concern going to internet-facing servers and services, it is getting harder to find exploitable services or at least ones that haven't already been compromised or patched. However, when we get access to a client machine the reality is different, the operating system may have all the updates but that doesn't apply to all the software running on the machine.