전체 글 172

7장 스택 프레임

스택 프레임이란? 쉽게 말해 ESP(스택 포인터)가 아닌 EBP(베이스 포인터)레지스터를 사용해 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법을 말한다. ESP는 수시로 변하기 때문에 스택에 저장되어진 변수, 파라미터에 접근하고자 할때 ESP 값을 기준으로 하면 프로그램을 만들기 힘들고 CPU가 정확한 위치를 참고할 때 어려움이 있기 때문에 어떤 기준 시점(함수 시작)의 ESP의 값을 EBP에 저장하고 이를 함수 내에서 유지해준다면, ESP 값이 아무리 변하더라도 EBP를 기준(base)으로 안전하게 해당 함수의 변수, 파라미터, 복귀 주소에 접근할 수 있다. 이게 바로 EBP 레지스터 베이스 포인터 역할이다. // 스택 프레임의 구조 PUSH EBP ; 함수 시작(EBP를 사용하기 전에 ..

네트워크 기초 공부

OSI 7 Layer란 무엇인가? 통신에 관한 국제적인 표준기구인 International Organization for Standardiztion(ISO)라는 곳에서 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다. 이런식으로 구성이 되어있다. 후니형님은 외울때 '에-프-스-트-엔-들-피' 라고 외우셨다고 한다.나는 이런식으로 '에-프-스-트-네-데-피' 로 외웠다. 이렇게 나눈 이유는 무엇인가? 간단하게 결론만 말하자면 3가지 장점이 있다. 1.데이터의 흐름이 한눈에 보인다. 2.문제 해결가기 편리하다. 3.계층을 7개로 나누고 각 층별로 표준화 하니 여러 회사 장비를 써도 네트워크가 이상없이 돌아간다. 7 Layer 에 대해 각 계층별로 어떠한 것을 하는지 알아 보고자한다. 먼저 맨..

Question 20

20. List 5 newsgroups that Mr. Evil has subscribed to? ( Mr. Evil이 구독 한 5 개의 뉴스 그룹을 나열하시오.) 의심중..(아니였다!) 여기서 결정적이게 찾은 느낌이다. alt.2600.hackerz , alt.2600.phreakz , alt.2600.programz , alt.binaries.hacking.beginner , alt.dss.hack , alt.hacking 등등 더 많았다. Documents and Settings\Mr. Evil\Local Settings\Application Data\{EF086998-1115-4ECD-9B13-9ADC067B4929}\Microsoft\Outlook Express\ 에 보니 여기에 뉴스 그룹이 다..

Forensic/CFReDS 2019.08.01

Question 19

19. What two installed programs show this information? ( 이 정보를 보여주는 두 설치된 프로그램은 무엇입니까?) 첨에 무슨 소리인지를 몰랐지만 17,18 번 문제에서의 정보를 보여주는 두 프로그램을 찾는 문제다. 이렇게 KeywordSearch로 SMTP, NNTP 다루는 프로그램의 정보는 다음과 같이 좁혀볼수 있었다. 이것을 보고 확신할 수 있었다. 근데 agent라는 프로그램이 없다. 생각해보다가 'Forte Agent'프로그램 이라는 것을 알 수 있었다. Display Name 이라 정보를 보여주는 것 같다 의심중.. NNTP의 정보를 보여주는지는 정확히 모르겠지만 이 프로그램의 레지스트리와 키워드로 검색한 파일 내용에서의 정보를 종합해 보았을때 'Out..

Forensic/CFReDS 2019.08.01

Question 18

18. What are the NNTP (news server) settings for Mr. Evil? (Mr. Evil의 NNTP (뉴스 서버) 설정은 무엇입니까?) Autopsy 의 Keyword Search를 이용해 NNTP와 관련된 것을 하나하나씩 봐보았다. 이 경로로 따라가 보았다. 아직은 잘 모르겠다.. 드디어 삽질을 끝내고 f0332503.reg를 통해 정보를 얻어내었다. Autopsy 기능중에 이렇게 조각의 결과를 볼 수 있었다. 추가로 17번에서 찾았던 곳에서 쉽게 찾아볼수 있었다. 정답 : 서버설정은 news.dallas.sbcglobal.net 으로 되어있었다.

Forensic/CFReDS 2019.08.01

Question 16

16번째 문제입니다! 갈수록 점점 어려워 지는군요.. 16. Find 6 installed programs that may be used for hacking. 번역 : 해킹에 사용될 수있는 6 개의 설치된 프로그램을 찾습니다. 설치된 프로그램 정보의 레지스트리 저장 경로은 여기이다. (참고블로그: http://blog.tcltk.co.kr/?p=2822) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 이 키 하위 키하고 제어판의 프로그램 및 기능과 같다. 프로그램을 하나씩 검색해보면서 어떤 프로그램인지 확인해 보는게 빠를것 같다. 먼저 123 Write All Stored Passwords 두번째로 Anonymizer 하다..

Forensic/CFReDS 2019.08.01

[Reversing.kr]Direct3D FPS

FPS 게임을 하는 문제이다! 설레는 문제 ~ 먼저 패킹이 되어있나 확인을 해보니 안되어있었다. 다음단계로 정적분석을 해보았다. 별 소득은 없었다고 한다. 프로그램을 켜서 고구마를 다 잡아보았는데 별 차이를 발견하지 못했다.. 삽질의 시작 동적 분석을 하던중 불편해서 ASLR을 없애주기위해 IMAGE_OPTIONAL_HEADER - DLL Characterstics 값에서 IMAGE_DLLCHARACTERISTICS_DYNAMICS_BASE (40) 플래그를 없애면 ASLR 기능이 없어진다. HP가 변조되는 값을 찾아 Dump window 에서 확인해 보고 변조를 하고 고구마를 잡아 보았다. 먼가 값이 변하게는게 보여서 계속 잡았다. 고구마를 열심히 잡아보니 Congratulation~ Game Clea..

[Reversing.kr]ImagePrc

이 문제를 차근차근 풀면서 다시 한번 되짚어 보는 리버싱 기본 단계이다. 리버싱 - 기본 단계 분석 대상 바이너리에 따라 다르다, 기본적으로 다음과 같은 단계를 거친다. 패커/프로텍터/암호화 탐지 탐지되면 우선 언팩/복호화를 시도하고 imports 등을 복구함 정적 분석 실제 환경에서 실행하지 않고 어플리케이션의 알고리즘 로직 분석 동적 분석 바이너리를 실행하여 행위 분석 먼저 Reversing.kr를 풀때 보니 ReadMe가 있었다. 하지만 이 문제에는 없었으니 일단 프로그램을 실행해 봤다. 요렇게 빈공간에 그림을 그릴수 있고 Check를 누르면 비교하는 것 같다. 그렇다면 차근차근 단계부터 밟아 나가보자. 먼저 1단계로 패킹이 되어있나 확인을 해보았다. 되어있지 않았으니 다음단계로 API가 겁나 많아..

6장 abex' crackme #1 분석

실습예제를 다운받아 분석 시작! exex 확장자로 되어있는 것을 exe 확장자로 변경해 실행시켜보니 이렇게 나온다. Hint를보니 CD-Rom 단어를 보고 HD가 HDD(Hard Disk Drive)를 의미한다고 추측한다고한다.. 정적 분석을 하자! 심플심플 그이유는 어셈블리 언어로 만들어져 그렇다고한다. 전체적인 흐름을 보니 Ok.. 하는 부분이 나와야 하는것 같다. 간단하게 처리 완료..! JE는 Equal 부분이니 같으면 점프 하는데 그냥 점프명령어 JMP로 바꿔버림! YEAH!! 문제를 풀었다. 그리고 어셈에서 PUSH를 해서 인자를 넘겨줄때는 함수에서 역순으로 들어간다고 보면된다! FILO 구조이므로!