From a strange code path to a working exploit
Most of my research starts with a simple question: what happens if I follow this all the way through? That can mean reading application source, reversing router firmware, tracing user-controlled input into a dangerous function, or reproducing somebody else’s finding to understand the real impact.
I prefer hands-on research. Build the lab, reproduce the issue, inspect the code, test the assumptions and keep going until the behavior makes sense. If an exploit helps demonstrate the impact, I’ll build one. Quite a few of those projects have ended up as Metasploit modules.
The exploit is not the whole story, though. The useful part is understanding why the vulnerability exists, what makes it reachable and what somebody else can learn from it.