I have been thinking about this subject a lot. Exploit Development is nearly the same as normal development, you need to test quite a lot of platforms (eg. Windows XP, Windows Vista, x64, x86, Chinese, English versions). This problem asks for unit tests and continuous integration.
Till now I've been hacking some Python scripts to automatic launch metasploit load my custom exploit launch it. And as payload to set execute my back connector to tell me everything is going well. Now I can have one system on auto-update and get an alarm when then 0day has been fixed (without reporting it) or very quickly test a range of virtual systems.
I am wondering, if their are systems or papers out there on this subject. Things to consider etc etc.
I've upgraded my method by building the environment as well. I build deploy scripts for my exploits now, the script:
- clones a VM
- transfers the vulnerable version of the software from my software library (read NAS)
- installs the software with the most-basic (Next, Next, I Agree bot method for windows, apt-get install for Linux)
- Checks if the software is running
- Gets the port it is running on (netstat / grep hackish (very breakable)
- Launch Exploit
- Connect back
- Write Result
It is cool still hoping to get at least one reply for my Bounty (+100..)