티스토리 뷰

저자 서문 (Massimiliano Tomassoli)


제 사이트에 방문하신 것을 환영합니다. 많은 분들이 서문을 읽기 싫어하셔서 짧게 중요한 부분만 말씀 드리겠습니다.

 

이 강좌는 최신 윈도우즈 익스플로잇 개발에 대한 내용입니다. 제가 윈도우즈를 선택한 이유는 제가 익숙한 것도 있고 또한 가장 인기가 있기 때문입니다. 특히, 윈도우즈 7, 서비스팩 1, 64 비트를 선택했습니다. 윈도우즈 XP는 충분히 했고, 이제 앞으로 나아갈 때 입니다.

 

몇몇 제대로된 익스플로잇 개발 강좌들이 있지만 전부 너무 비쌉니다. 만약 이런 강좌를 들을 여유가 되지 않는다면 인터넷에 관련 논문이나 영상 등을 찾아 해맬 것입니다. 유감이지만 여러분이 찾는 자료들은 대부분 뿔뿔이 흩어져 있고 대부분의 자료는 이제 막 시작하는 사람들이 접하기 힘듭니다. 만약 익스플로잇 개발을 배우기를 원했지만 금전적인 여유가 되지 않거나 공부 하면서 막연하다고 생각하셨다면 이곳에 제대로 찾아 오신겁니다!

 

이 강좌는 익스플로잇 개발에 대한 소개 자료이지만 너무 쉽게 생각하진 말아주세요. 익스플로잇 개발은 매우 어렵고 익스플로잇 개발을 잘하는 어느 누구도 이 사실은 바꿀순 없습니다. 저는 이 강좌를 명확하게 설명하기 위해 많은 노력을 했습니다. 만약 어떤 부분이 잘 이해가 안가거나 잘못된 부분이 있다면 포럼에 간단히 글을 남겨주세요. 분명하게 하자면 저는 전문가가 아닙니다. 저는 이 강좌를 쓰기 위해 많은 연구를 해왔고 강좌를 작성하면서도 많이 배웠습니다. 사실 오랜기간 리버싱을 해온게 도움이 되긴 했습니다.

 

이 강좌에서는 어떤 결과만을 보이고 싶진 않고, 당신 스스로 그것을 어떻게 더 추론할수 있는지 보여주고 싶습니다. 저는 여러분이 하는 모든 것에 대해 동기를 부여하기 위해 노력을 할 것 입니다. 저는 절대 어떤 근거 없이 무엇을 하라고 하지 않겠습니다. 강좌 마지막에는 인터넷 익스플로러 10 11을 공격할 것입니다. 저의 주 목적은 단순히 어떻게 인터넷 익스플로러를 공격하는지 보이는 것이 아니라 이 복잡한 공격이 처음에 어떻게 연구가 되었고 목표에 도달할 수 있었는지를 보여주는 것 입니다. 단순히 인터넷 익스플로러의 공격 결과만 보여주는 것 보다는 인터넷 익스플로러의 부분 부분들을 리버싱하고 객체들이 메모리에 어떻게 구성되며 우리는 어떻게 익스플로잇을 하는지 또한 우리는 무엇을 배울수 있는지에 대해 스스로 공부 할 수 있도록 할 것입니다. 이런 완전함에 있어 요구 되는 것은 여러분이 모든 작업에 대해 이해를 하거나 또는 세부 내용에 대해 해맬 수 있습니다.

 

아마 지금쯤 영어는 제 모국어가 아님을 아셨을 겁니다. (저는 이탈리아 사람 입니다) 이 뜻은 이 강좌를 보면서 익스플로잇 개발에 대해서는 배우지만 여러분은 영어 능력을 잃을 수 있습니다.... 정말 이 강좌를 계속 읽고 싶으신가요? 현명하게 선택하시길 :)

 

이 강좌를 습득하기 위해서는 x86 어셈블리를 알거나 익숙하셔야 합니다. 이는 선택이 아니라 필수 입니다! 심지어 이 강좌에는 어셈블리 기초에 대한 어떤 내용도 넣지 않았는데 그 이유는 분명 스스로 배울 수 있기 때문입니다. 인터넷 천지에 어셈블리 자료가 널렸습니다. 또한 이 강좌는 직접 해봐야 하기 때문에 꼭 제가 했던 것을 따라 해보시길 바랍니다. 제가 추천하는 것은 최소 2개의 가상머신에 윈도우즈 7, 서비스팩 1, 64 비트를 설치 하고 하나는 인터넷 익스플로러 10을 다른 하나는 인터넷 익스플로러 11을 설치 하는 것 입니다.

 

그럼 즐겨주시기 바랍니다.


Massimiliano Tomassoli - http://expdev-kiuhnm.rhcloud.com




역자 서문


안녕하세요. Hackability 입니다.


본 강좌는 Massimiliano Tomassoli 라는 리버서에 의해 작성된 강좌로 corelan 팀의 Exploit Writing Tutorial 이 후, 익스플로잇 제작에 대한 깊이 있는 내용을 다루는 강좌입니다. 


제가 번역을 시작하게 된 계기는 몇 가지가 있는데 가장 의욕을 불러일으킨 것은 저자의 서문 때문이였습니다. 제가 처한 상황도 그랫고 저자의 말 한마디 한마디가 저에게 정말 와닿았습니다. 또한, 글 내용도 명확하고 항상 궁금했던 것들에 대해 속시원히 풀어주며 몰랏던 내용들에 대해서도 굉장히 많이 알게 되어 번역을 결심하게 되었고, 저자의 허락을 받아 3주 동안 700 페이지 가량 번역 및 1주 동안 수정작업을 진행하게 되었습니다.



현재 저자는 데이터 마이닝과 딥 러닝 쪽으로 연구 방향을 바꾸게 되어 더이상 익스플로잇 개발에 대한 글이나 답변을 달기 힘들다는 글을 적었는데, 저라도 미약하나마 기회가 된다면 IE 11 초기 패치 이후, vtguard, isolated heap, delayed free, sandbox, control flow guard 같은 주제들에 대해 저자와 비슷한 스타일로 계속 연재를 해보려고 합니다.


희안하게도 저 역시 최근에 마이닝과 딥러닝쪽으로 집중하게 되어 해킹쪽으론 집중하진 못했는데 이를 계기로 좀 더 시간을 투자해야 겠다는 생각이 드네요.


모쪼록 저와 비슷한 상황에 계신 모든 분들께 이 강좌가 익스플로잇 개발 지식에 대한 갈증을 해소할 수 있는 기회가 되었으면 합니다.


감사합니다.


Hackability (김태범) - hackability.kr (hackability_at_naver.com or ktb88_at_korea.ac.kr)

댓글
  • 프로필사진 비밀댓글입니다 2016.07.27 09:02
  • 프로필사진 파이어 지인분 페북 공유글 통해 왔습니다
    좋은 글 잘보겠습니다. 감사합니다
    2016.07.27 15:18
  • 프로필사진 GOHH 해킹 입문자가 어셈블리어를 천천히 습득하고 봐도 괜찮은 내용인가요? 2016.10.12 00:09
  • 프로필사진 hackability 넵. 그런데 어셈만 따로 공부 하시면 금방 지치실수도 있고 본 내용에 나오는 어셈이 이해 안되실 경우 그때그때 찾아 보는것을 추천드려요. 어셈 공부의 경우 개인적으로는 간단한 C 프로그램을 제작하여 컴파일 하고 해당 어셈만 보고 이를 C 언어로 바꾸는 연습을 했었는데 많이 도움이 되었던것 같아요. 2016.10.12 14:11 신고
댓글쓰기 폼