Time for Security

블로그 이미지
제가 교육을 받으며 이해한 보안 지식을 복습하고, 정리해가는 작은 블로그입니다.
by 하꼬방
  • Total hit
  • Today hit
  • Yesterday hit

'리버스 엔지니어링'에 해당되는 글 7건

  1. 2017.11.09
    2017.11.09 교육 77일차 - 리버싱
  2. 2017.11.08
    2017.11.08 교육 76일차 - ASLR
  3. 2017.11.08
    2017.11.07 교육 75일차 - PE view
  4. 2017.11.03
    2017.11.03 교육 73일차 - LOOP
  5. 2017.11.03
    2017.11.02 교육 72일차 - JMP
  6. 2017.11.02
    2017.11.01 교육 71일차 - 올리디버거
  7. 2017.10.30
    2017.10.30 교육 69일차 - 디스어셈블

 오늘은 본격적인 리버싱을 해보았습니다.


 crackme 라는 exe 파일이 단계 별로 있는데요.


 exe 하나 밖에 없는 파일이지만 이 파일을 올리디버거로 열어 하나씩 하나씩 어셈블리어를 따라가보며 풀어보는 문제입니다.


 어떤 느낌이냐면 한 문제를 받았을 때 전혀 모르겠다가, 설명을 듣고 나면 이해를 해요.


 이제 다음 문제는 풀 수 있을 것 같다는 생각을 하게되고, 다음 문제를 받아요.


 다음 문제 역시 전혀 모르겠다가, 설명을 듣고 나면 이해를 하게 되는 무한 루프 속에 빠지게 됩니다.


 신기해요 참. 


 하지만 이런 과정이 반복되다 보면 언젠가 이 무한 루프를 끊을 수 있겠죠?


 내일이 벌써 마지막 날이 되는 데요.


 피카츄 배구를 리버싱해보게 될 것 같습니다.


 기대되는 시간이에요~

AND

 오늘은 ASLR을 해제하는 방법에 대해 배워봤습니다.


 사실 이렇게 제가 말은 해도, 오전에는 어셈블 문제를 풀어보고 풀이를 듣는 시간을 가지고, 오후에는 새로운 것을 배우는 시간을 가집니다.


 원래 예전 윈도우에는 없었던 기능인데, 버퍼 오버 플로우 같은 공격이 성행하게 되면서 이제는 기본적으로 포함이 되는 부분입니다.


 ASLR이 기본적으로 설정되어 있기 때문에 PE 파일에서 해당되는 부분을 찾아 없애주는 실습을 가졌습니다.


 개인적으로는 PE 파일에 대해 계속 설명 듣는 것 보다 훨씬 재밌는 수업이었던 것 같습니다. 

AND

 이 날에는 PE view라는 프로그램을 한 번 사용해보는 시간을 가졌습니다.


 이름에서도 느껴지겠지만 PE 파일을 분석하는 툴이에요.


 원래는 이란 말이 맞을 지는 모르겠지만 일일이 하나씩 끊어보며 체크해주어야 했다면 이 프로그램은 PE 파일을 자동으로 분리해줍니다. 


 분석에만 집중할 수 있도록 말이에요.


 여러 툴을 사용해봤지만 이 툴은 정말 유용하게 사용할 수 있을 것 같습니다.


 사실 PE를 잘 모르긴 해서 저는 분석에 어려움이 있지만 전문가분들은 더 잘 사용할 것 같아요.


 저번 주 어셈블러 까지는 그래도 코딩과 비슷해서 흥미도 생기고, 재밌었었는데, PE 파일부터는 정말 지쳐요.


 물론, 교육일 수 때문에 그런 것도 있겠지만요.

AND

 오늘은 어셈블러의 LOOP를 배웠습니다.


 물론, LOOP만 배운 것은 아니에요.


 그 날에 배운 것 중 가장 기억에 남거나 중요했던 것을 올리기 때문에 제목이 LOOP일 뿐입니다.


 어느 정도 예상하신대로 LOOP는 C언어의 for문 입니다.


 for문이기도 하지만 go to라고 할 수도 있습니다.


 C언어를 배울 때 go to에 대해 들어보셨을 텐데요.


 이 go to에 대해서는 의견이 갈립니다. 


 절차지향인 언어인데 코드의 이쪽 저쪽을 옮겨다닐 수 있는 이 기능을 인정하지 않는 사람들도 꽤 많습니다.


 저 또한 go to문을 이용하는 것을 추천하지는 않지만 언어에 이미 능통했다라면 사용해도 상관없다고 생각합니다.


 얘기가 잠깐 다른 곳으로 새 버렸네요.


 여러가지를 실습하고 오늘은 금요일이라 시험도 봤습니다.


 별로 신경을 쓰지 않는다고 하는 부분이지만 언제나 그렇듯 시험은 스트레스네요.


 얼핏 들었는데, 1등부터 3등까지는 외장하드를 받을 수 있는 거 같더라구요.


 KITRI가 끝날 때 말이에요.


 1등은 2GB SSD 외장 하드라고 들었어요.


 진작 더 열심히 할 걸 그랬나요?


 이번 주말에는 프로젝트를 생각하며 휴식을 가져야겠습니다. 

AND

 이 날 역시 어셈블러를 배웠습니다.


 리버싱의 기본은 역시 어셈블런가봐요.


 아직 공부를 많이 안해서 일까요?


 계속 봐도봐도 좀처럼 익숙해지지 않는 언어입니다.


 정말 처음에 이 시스템을 만든 사람이 놀라울 다름입니다.


 언어를 배울 때마다 그 언어마다 고유의 특징을 느낄 수 있고, 그 특징에 따라 더 쉽기도 하며, 어렵기도 한데요.


 이 어셈블러는 특히 값을 어디에 저장을 해줘야할 지 난감한 언어입니다. 


 물론, C언어나 JAVA와는 다른 차원의 언어지만요.


 이것 저것 직접 실습해보며 실력을 향상시킬 수 있었던 날이었습니다.

AND

 드디어 11월이 시작되었네요.


 7월에 시작한 이 과정도 이제 거의 마지막 달입니다.


 사실상 12월 6일까지이기 때문에 마지막 달이나 다름없습니다.


 이 날에는 올리디버거를 사용해보았습니다.


 학교에서도 몇 번 사용해 보았던 툴인데요.


 간단한 C 언어 코드를 보는데도 굉장히 버겁습니다.


 물론, 툴은 굉장히 좋습니다.


 제가 아직 경험이 부족한 탓이죠.


 이 디버거를 포함 몇몇 다른 디버거도 전에 사용해 보았었는데, 모두의 공통점은 디버깅 중 한 단계 전으로 돌아갈 수 없다는 것입니다. 


 왜 그럴까요?


 충분히 만들 수 있고, 넣을 수 있는 기능 같은데 말이죠.


 능력자 분께서 만들어주셨으면 하는 바람입니다. 


 점점 어셈블러를 볼 수 있는 눈이 좋아지고 있는 것 같습니다.

AND

 이번주부터는 리버스 엔지니어링을 배우게 됐습니다.


 점점 마지막으로 달려가고 있는 교육인데요.


 이번에는 오랜만에 자체 제작 교재가 아니였습니다.


 아마 예상하신 분들도 있을텐데요.

 


 바로 이 책이 이번의 교재입니다.


 리버싱에 관심이 없었어도 지나가다 한번쯤은 봤을 바로 그 두꺼운 책이죠.



 그냥 두꺼운 줄로만 알았는데, 이렇게 많은 목차를 가진 책은 정말 처음인 것 같습니다.


 강사님께서 리버싱은 빠르게 배우는 것이 아니라 천천히 배우는 것이라고 알려주셨습니다.


 급하게 습득하려다 배운 것을 전부 토해내게 될지도 모른다고 하시네요.


 정말일 것 같아요.


 아, 그리고 이번 가사님은 파이썬 강사님과 동일하신 분인데, 역시 엄청 친절하신 강사님이랍니다.


 오늘은 비쥬얼 스튜디오 2013으로 간단한 소스 코드를 작성해보고 어셈블러를 보는 시간을 가졌습니다.


 오랜만에 다뤄보는 비쥬얼 스튜디오인데요.


 어셈블러를 하기 위해 사용해보는 것은 또 처음인 것 같습니다.


 한 주 동안 또 힘내서 달려봐야겠습니다.

AND

ARTICLE CATEGORY

전체 (115)
블로그 소개 (1)
KITRI 교육 (95)
보안 지식 창고 (16)
한 잔의 여유 (2)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ARCHIVE