At the risk of sounding pedantic, hacking, coming from the word "hackneyed" is neither ethical or not. It's simply a style of computer programming and/or administration.
I think you have confused hacking with cracking, which is a typically illegal practice of breaking into electronic places where you're not allowed.
I'll leave the discussion about whether committing crime "to be helpful and expose weaknesses" is ethical to others. But if you're interested in tools that can be used within the bounds of the law to do penetration testing and other security checks (as an authorized agent of the organization on which it's used), I suggest looking for a suite of FOSS pen testing tools that used to be called "Trinity". I couldn't find them after a reasonable amount of searching, sorry. A good place to start is to Google "pen testing FOSS".