My first passion, though I don't always have the time to partake in these activities, is to find and exploit stack-based buffer overflows. Ever since I learned how to work through this process of identifying a buffer overflow vulnerability, causing a crash, repeating the crash with a specialized payload pattern, identifying the offset, identifying bad characters, and finally writing the exploit, I have enjoyed sharing this knowledge with others.
Granted, there are more advanced versions nowadays that incorporate common defense mechanism bypasses, but still. To me, there are only a handful of things more satisfying than working through a simple buffer overflow. As silly as it sounds, it brings me great joy, especially when I can teach others. Then again, I'm a fan of working through disassembled instructions, IA32, and IA64 on...