|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1633 [복사]
F r o m : http://mrcracker.com/2009/02/how-to-hack/
번 역 : iFalconi
홈페이지 : http://www.cyworld.com/iFalconi
http://www.facebook.com/rlwls212
http://www.twtkr.com/iFalconi
※ 수정 및 배포는 자유지만 원작자 명은 꼭 유지 해주시기 바랍니다.
How to hack.
- 어떻게 해킹을 하는가.
이것은 매달 구글에서만 1,000,000개 이상의 질문이 쏟아져 나오는 주제이다.
나는 해킹과 관련된 웹사이트들은 이러한 질문들을 매일같이 받고 있다는 것을 알고 있다.
이 질문에 대답을 해주기 위해 인터넷을 검색해 봤지만, 나는 아무것도 찾을 수 없었다.
그래서 위의 모든 질문들에 나만의 대답을 주기로 결심했다.
How do I learn how to hack? What does it take to become a hacker?
- 어떻게 해킹하는 법을 배우죠? 해커가 되기 위해서는 무엇이 필요한가요?
해킹을 배우고자 하는 사람들 중 상당수는 절대적으로 잘못된 마음가짐을 가지고있다.
그들은 해킹을 배우는 데에 간단하고도 비밀스러운 몇 가지 방법들이 있다고 생각한다.
해킹을 배우는 것은 몇몇 사이트들의 HTML 소스코드들에서 보여지는 것 처럼 간단하지 않다.
이러한 마음가짐을 가지고 있는 사람이 있다면, 지금당장 내려놓아라, 이것은 당신을
어느곳으로도 데려다 주지 못한다.
해킹을 배우는 것은 몇 가지 자질만 있으면 훨씬 쉬워질 수 있다.
1. Patience
- 인내
해킹을 배우는 데는 많은 시간이 필요하다. 만약 당신이 충분한 인내심을 가지고 있지 않다면,
당신은 해킹이란 영역에 발을 들여놓지 않는게 나을 것이다. 나는 해킹에 대해 수 년 전부터 공부하기 시작했다.
그 시간동안 나는 많은 지식들은 얻었지만 여전히 공부 중이다. 해킹에는 항상 뭔가 다른 것이 있고, 배워야할 새로운 것들이 있다.
배워야 할 것들이 정말이지 끝도 없다.(The sky is the limit)
2. Curiosity
- 호기심
호기심은 해킹을 배우는 데 있어서 중요한 역할을 차지한다.
호기심은 당신이 계속해서 앞으로 나아가고, 배우고, 어려운 문제에 직면했을때 포기하지 않도록
해주는 가장 큰 활력소가 될 것이다.
3. Creativity
- 창의성
무언가를 해킹하기를 시도하면서부터 단순히 논리적인 것들을 넘어선 많은 문제 혹은 도전들이 생길 것이다.
창의적이 되고, 기존의 틀을 넘어서는 생각은 여기서 매우 도움이 될 것이다.
4. Dedication
- 헌신(시간의 투자)
일단 당신이 해킹에 대해 배우기 시작한다면, 멈추지 말아야 한다.
경험을 토대로 볼 때, 당신은 최소한 일주일에 이틀 정도의 시간을 여기에 투자해야 한다.
만약, 긴 시간 동안 공부를 멈춘다면 당신은 정보를 잊게 될 것이고 결국 후에 나오는
더욱 진보된 주제들을 이해하기 위해 처음부터 다시 공부해야 할지도 모른다.
해킹은 서로 다른 카테고리를 가진 방대한 주제들이다. 만약 당신이 해킹에 대해 공부할 것이라면
먼저 카테고리를 정하고 해당 카테고리 내에서 주제를 정하는 것부터 시작해라.
내가 처음 해킹에 대해 공부하지 시작했을때, 나는 모든것에 대해 알기를 원했다.
첫 두 달간은 주제를 바꿔가며, 모든 것들에 대한 부분(조각)들을 읽었다.
다시 두 달 뒤, 나는 해당 주제들에 대한 대부분의 기본적인 개념들을 설명할 수 있게 되었다.
하지만 나는 현실에서 혹은 그 지식들은 어느 방식으로든 실행에 옮길 수 있다는 것엔 확신할 수 없었다.
일단 해킹에 대해 공부하기 시작하면 당신은 얼마나 많은 유용한 프로그램들이 널려있는지 알게 될 것이다.
이러한 프로그램들을 사용하기 전에 어떻게 그것들이 작동하고 왜 그렇게 되는지를 이해해야 한다.
만약 당신이 포인트를 이용해 당신을 대신해줄 프로그램을 클릭하는 것에 그친다면 당신은 해커가 아니다.
어떻게 프로그램들이 작동되는 지를 아는 것은 더욱 많고, 새로운 문을 열어줄 것이다.
스스로에게 이런 질문들을 던져보자.
'왜 이게 이렇게 되는거지?' '무엇이 이것을 이렇게 작동되도록 하는거지?' '이것을 실행시키면 어떤 상황이 일어날까?'
'어떻게 이런게 가능하지?'
일단 어떻게 그리고 왜 그렇게 작동되는지를 이해하고 있다면 당신은 새로운 기술과 취약정을 토대로
새로운 해킹 기법과 이론들을 생각해 낼 수 있을 것이다.
해킹을 배울때, 스스로 공부하고 있는 주제에 대해서 조사해라. 아무도 당신을 대신해서 모든 일들을 처리해주지 않는다.
최고의 해커와 끊임없이 "어떻게 핫메일을 해킹하죠?"라는 한심한 질문들을 내뱉어내는 부류들과의 차이점이 무엇일까?
그것은 그들이 한심한 질문들을 올리고 누군가로부터 쉬운 해답을 얻기를 기다리면서 시간을 허비하는 동안, 똑똑한 해커들은 필요한 정보들을 스스로 조사하고 터득해 나간다는 것이다.
물론, 누구나 약간의 가이드가 필요하다. 하지만 모든 사소한 것들에 까지는 필요치 않다.
또한 당신이 스스로 조사를 한다면 누군가로 부터 들을 수 있는 대답보다 10배 이상의 것을 더 배울 수 있다.
기억해라, 구글은 당신의 친구다!
결국 당신은 프로그래밍에 대해 배워야 한다. 프로그래밍을 배움으로써 당신은 해커로써 할 수 있는 것들이
더욱 많아지게 된다. 프로그래밍은 끝없는 기회를 창조해낸다.
당신은 어떻게 그리고 왜 프로그램이 실행되는지에 대해 완벽하게 이해할 수 있게 될 것이다;
당신은 공격코드(exploit)들이 어떻게 작동되는지를 이해하고 당신만의 것을 만들어 낼 수도 있게 될 것이다.
프로그래밍 능력과 함께 당신은 해킹에 관한 더욱 고급 주제들을 배우고 이해할 수 있을 것이다.
한 가지 운영체제만을 공부하지마라. 리눅스를 배워라.
리눅스는 인터넷 망에서 수 백만개의 서버들의 운용에 사용되고 있다.
그러므로 리눅스가 어떻게 작동되는지를 이해하는 것은 매우 중요하다. 또한 많은 훌륭한 해킹 프로그램들은
오로지 리눅스 운영체제에서만 작동되도록 설계되어 있다.
해킹에 대해 배울 수 있는 가장 좋은 방법은 책을 통한 것이다. 해킹의 모든 측면에 대한 전문 서적들은 많이 나와있다.
아마존(Amazon.com)에서 "해킹(hacking)"만 검색해도 어마어마하고도 훌륭한 책들의 리스트가 나올 것이다.
책을 통해 공부를 하는 것과 더불어 해킹 커뮤니티에도 가입해라. 모든 해킹 기술들을 배움에 있어서
해커들로 가득찬 커뮤니티의 일원이 되는 것은 중요하다. 이것은 당신이 도움이 필요하거나 마음이 맞는 사람들과 함께
해킹 관련 프로젝트를 시작함으로써 당신의 기술을 발전 시키는데 유용하다. 또한, 다른 해커들과의 상호작용은 당신에게
계속해서 공부할 수 있는 동기부여가 될 것이다.
해킹과 관련된 블로그(MrCracker.com같은)나 팟캐스트를 구독하는 것도 새로운 것들을 배우고 해킹 세계에서 뒤쳐지지 않게 하는 좋은 방법이다. 구글 리더(Google reader)는 훌륭한 피드리더(feed reader)이다.
아른 훌륭한 방법은 이메일 리스트(E-Mail lists)이다. 인터넷 상에는 매주 취약성 보고나 단순히 뉴스레터들을 보내주는 많은 메일링 리스트들이 있다.
당신은 MrCracker.com의 이메일 리스트를 지금 바로 구독할 수 있다.
무언가를 배우고 기억하는데 있어서 가장 좋은 방법은 사실 직접 해보는 것이다!
예를들어 매번 당신이 새로운 것을 배운다고 가정할 때, 그 새로운 지식들을 가지고 관련된 프로그램들을 만들어보고
튜토리얼을 작정해보거나, 다른 사람들이 보고 배울 수 있도록 비디오를 제작해봐라.
이러한 방법들로 습득한 정보들은 일주일 동안은 머리속에 콱 박히게 될 것이다.
이제 당신은 해커가 되기 위해 필요한 것들을 알게 되었다. 그리고 만약 아직까지 "해킹"이 당신에게 맞는다고 생각한다면...
배우기 시작해라! 만약 처음 시작하는 것이라면 The Hacker's Undergroung Handbook을 추천한다.
어떻게 생각하는가? 내가 뭔가 놓친게 있지는 않은가?
나는 당신의 의견을 듣고 싶다. 아래 코멘트에 남겨주길 바란다. |
Hit : 9103 Date : 2011/01/17 12:52
|