I just started with pentesting/hacking..
In my opinion,
get the basics of Linux (or Cygwin in Windows)
know the terms and possibilities..
https://www.owasp.org/index.php/Category:Vulnerabilityis a big list with things to do.. things to learn..
(and that's only for web servers, sites and networks, that's just a small grab in the things to 'hack'.. you've got bluetooth, 3g, wifi/hotspots, cpi's (stuxnet/duqu), pacemakers
, cellphones, car's even.. ahh well.. to much!
)
.. and I have to disagree a little bit about that Hackers
try to fix stuff by breaking it..
I never broke anything (except a few admins mentally health and their pride
)
In my opinion you have
whitehatters - people who don't break anything, but stops just in time and informs the right person who has to now it at that moment..
(I received actualy some payments of websites for helping them after I e-mailed them with my foundings *most of the time sql injection..)
grayhatters - can go both ways, but won't harm other people by getting juicy private info on the net.
blackhatters - ah you now.. creditcard theft, anonymous/lulzsec who jeopardize other people's safety by sharing everything for a profit. (few weeks ago I found the SQL database from hackforums.net with my name in it
rofl
(But had a vBulletin salted md5 (md5(md5($pass).$salt) so slow slow slow not a big change that a lot of people could have found a lot (I found of the 200.000 hashes about 70.000 in 2 days -- no cude/opencl, together I have about 50 gig dic's)
oh pentesters are the same as whitehackers only with no guts..
and
Crackers arefor adult porn sites userlogins .. like this
http://pastebin.com/H3BzH9sy (I found a convenient way to get a big list within a hour or so I post them because I'm little bored lately.. )
I also found out that programming skills can be handy.
Perl/Ruby - for scripting network things (portscans, enumeration, web bruteforcing, metasploit, ect)
c/c++ - for buffer overflows, binding shells, metasploit
, bruteforcing
python - al of the above
bash - making everything easier :-) grinn
asm/shellcode/slq/asp/html/java/flash
Too bad I program about 15 years now.. but in pascal/delphi
and then epic question: where to start..
I see this question a lot.. hard to tell..
what is it what you want to do!!
if you want to hack programs then you have to take another road to follow then if you want to get some juicy info from websites or defacing them.
disassembler, debugging is something completely different then SQL injections, XSS, CSRF, bof's, fuzzing, ect :-)
I was a fool thinking I could learn me all this in a few months.
So after 2 months gathering all the info I could find I was lost in the possibilities.
(On of the reasons I don't use BT5 or other distro's)
I found that SQL injection was a piece of cake and lots of possibilities,
then needed some things on the way. like scripting (bash, perl, python), automation (Havij, sqlmap, sqlninja, pangolin, ect), evasions (url, or in cookie sqli base64)
After that I expand.. XSS, CSRF, clickjacking, bof and after that it went in a fast train..
My advice is don't try to learn hacking but focus on one thing first and expand..
The biggest problem is by having so much possibilities is that you become a skriptkiddy who does know most of the things
but not enough to exploit.
and for 'starting programs', same thing.. wadda ya wan't to 'hack' :-)
and program's/tools/frameworks can be different in use for others..
Like some people love burpsuite or BeeF and other metasploit en nessus.
the TOP-125 from
http://sectools.org/ is a good start to get known with
all the given software.
For scanning I do w3af, nessus, nikto2, nmap
msf4, core impact and canvas for making it happen; the actual exploits
havij, sqlmap, sqlninja en pangolin for sql tricks
but most of the time I use my good old browser for finding things.
and some have a section of keyloggers, fuds, binders, RAT's, trojans/virussen/scripts/evil pdf/ect .. But I self is not busy with that..