Information security

[Code Engn] 8. Basic RCE L08

Hackster 2023. 5. 16. 11:20

 

[Code Engn] 8.Basic RCE L08

 

문제

OEP를 구하세요. ex)00400000
 
 

문제 해설

Step 1. 문제를 이해하기 위해서 PEiD 툴을 사용하여 패킹 정보를 확인한다.

  • 확인 시 Entry Point만 보면 OEP는 00020C40으로 보이지만, UPX 패킹이 되어있음을 확인할 수 있었다.
  • 실제로 OEP는 자동 언패킹, 수동 언패킹, 언패킹을 하지 않고서도 UPX 수동 언패킹을 하기 위해서 분석하는 과정에서 찾을 수 있다.
패킹 정보 및 유무를 확인

 
 
Step 2. 실제 OEP 주소를 구한다.
 

  • 자동 언패킹을 진행하여 PEID사용하여 08.exe.unpacked.exe 파일을 실행
  • 해당 PEiD에서 볼수있는 EntryPoint(OEP) 값은 00012475로 키 값으로 입력하면 해결이 안되는 것을 확인할 수 있다. 실제 OEP는 프로그램이 메모리에 올라가는 기준 주소인 ImageBase에 EntryPoint 값을 더한 값이 되어야 한다.

→ IMAGE_OPTIONAL_HEADER (IMAGE_BASE : 01000000) + 00012475 = 01012475 (실제 OEP)\

 
 
Step 3. 실제로 확인한 OEP 주소값 (함수 호출 CALL 08_unpac.010127C8 확인)

  • 답 : 01012475 (실제 OEP)