Penetration testing is a tightrope act where you balance existing knowledge with a mixture of freshly released- and zero-day knowledge. As a penetration tester, I often hear the argument that zero-day attacks do not belong in a test, that there is no time to prepare for them, so of course the target will be compromised. But I have the exact opposite philosophy: zero-day testing should occur to gauge an organization's response to such an attack. If mitigating controls are in place, an unknown attack should gain some level of access -- but not compromise the entire organization. This is the real value of penetration testing.My thoughts here on testing were more of a set-up to discuss an attack that was recently released. HD Moore of Rapid7 unleashed a devastating attack that can force a number of different applications to load malicious DLLs at startup. This is a trivial attack to execute and can give an attacker complete control of a victim's machine. There is a Microsoft hotfix for this, but I can assume that has been sparsely applied. This makes an enterprise ripe for compromise by a penetration tester.
The question I have been asked is if a tester uses this exploit and gains control of a machine, what does it mean? Does it mean your security is lacking, or that your update process is slow an inadequate? To me, it just means you have room for growth.
Take an example of using the Webdav exploit in a phishing attack where I am able to compromise a workstation. If I am able to do nothing else but poke around the workstation, gather network traffic, and attempt to trick other people into falling victim to the attack, then mitigating controls are working. If I am able to access to workstation and elevate myself to domain admin, add myself to the payroll, and write myself a check, multiple controls have failed.
The detractors that don't want these new attacks used in tests are often the ones surprised when a real attacker will use them in the wild. Good testing means using everything at your disposal, putting shackles on your tester just means you are putting shackles on your organization's ability to improve. So the "no zero day" penetration-test philosophy is about as useful as a "gun-free zone" at protection.
David Maynor is CTO of Errata Security. Special to Dark Reading