Hunting Asynchronous Vulnerabilities presented at 44con 2015

by James Kettle,

Tags: Attack


Summary : In blackbox tests vulnerabilities can lurk out of sight in backend functions and background threads. Issues with no visible symptoms like blind second order SQL injection and shell command injection via nightly cronjobs or asynchronous logging functions can easily survive repeated pentests and arrive in production unfixed.
The only way to reliably hunt these down is using exploit-induced callbacks. That is, for each potential vulnerability X send an exploit that will ping your server if it fires, then patiently listen.
In this presentation, I'll show that exploit-induced callbacks can be taken far beyond () { :;}; echo 1 > /dev/udp/ to find blind and asynchronous XXE, (DOM)XSS, SQli, SMTP and even pure XML injection. I'll examine a range of techniques to coax applications into issuing a callback by any means possible. These will start out clean and simple and quickly degenerate into crude cross-technology/platform multi-context exploit chains, some of which are definitely not advisable for production servers.
This presentation will also cover coping strategies for some of the innate hazards associated with hosting the infrastructure required to automate finding these vulnerabilities.