halleys: I see this question, or some variant of it, a lot on Y!A. The first thing you're going to want to realize is that 'hacking' is harder than you think. You essentially have to find problems that the people who wrote the code didn't find, and for anything important (e.g. the linux kernel), you will be trying to find problems that hundreds of security experts and professional developers didn't find when they looked at it. In order to do this, you must learn everything you can about computers, and deeply understand all of the concepts involved, how they work, and how they work together. Until you understand the system fully you cannot exploit it. I would recommend that you learn programming first, it doesn't matter what language, perhaps C. Then learn about networking and systems administration. Delve into osdev if you want. If this sounds like hard work, it is. No one starts with where they want to go, but if you keep learning and trying new things, you will always end up somewhere good.
There is not place, HACKING IS ILLEGAL! Seriously???????