티스토리 뷰
level10의 문제를 보면 OEP와 정답으로 가는 분기점 OPCODE를 구하라고 하네요.
실행을 해보면 입력을 받지 않을 뿐더러 밑에 등록되지 않았고, 다시 해보라고 하는 문자열이 출력됩니다. 일단, 한번 디버깅을 해봐야 될 것 같습니다.
Exeinfo PE로 보면 패킹이 되어있습니다. 근데, 평소와 다르게 UPX로 되어 있지 않고 Aspack v2.0으로 패킹이 되어있습니다. UPX보다는 난이도가 있는 패킹문제라고 생각하시면 됩니다.
디버깅을 해보면 초기화면은 UPX와 다르지 않게 PUSHAD가 위치하고 있습니다. 하지만 UPX는 맨 마지막 코드에 JMP문을 타고 OEP로 가는 것이였다면, ASPACK은 다릅니다.
맨 마지막 코드인데, 패킹된 코드만 나올 뿐, JMP문은 보이지 않습니다.
이제부터 MUP(Manual Unpacking)을 사용하면서 풀어보도록 하겠습니다. MUP는 ASPACK이 팩되어 있을 때 OEP를 찾는 것이 효과적입니다.일단, PUSHAD에서 한번 트레이싱(F8)을 합니다.
PUSHAD는 EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI의 레지스터를 모두 스택에 저장합니다.
스택을 보시면 위의 레지스터들이 차례대로 스택에 저장된 것을 볼 수가 있습니다.
그렇다면 현재 ESP부분을 Hardware BP를 걸어서 패킹을 푸는 것으로 접근해보겠습니다.
ESP를 덤프해본 결과 28 02 94 7C(7C940228)가 나옵니다.
4바이트를 모두 드래그 하고, Breakpoint -> Hardware, on access -> Dword를 걸어줍니다.
HB 확인 방법은 Debug -> Hardware breakpoints 에서 확인이 가능합니다.
0012FFA4가 4바이트만큼 걸려있는 것을 볼 수가 있습니다.
위 상태에서 F9를 눌러주면 아래와 같은 코드가 보입니다. ASPACK을 풀 때, 모두 공통적으로 OEP로 가기 전에 나오는 코드입니다. JNZ를 통해 RETN 0C아래로 가면, PUSH 00445834를 하고, RETN 시킵니다. OEP는 00445834라는 것을 알 수가 있습니다. 트레이싱을 하고 OEP로 가보겠습니다.
OEP로 왔습니다. 패킹이 아직 되어 있는 걸로 봐서 IMPORT REC로 덤프를 해줘야 하는데, 문제를 푸는게 목표니, 넘어가겠습니다.
String을 보겠습니다. 패킹이 풀렸으니, 이제 주요 문자열들이 잘 보입니다. 아래와 같이 성공, 실패 메시지가 보이는데, 더블 클릭해서 들어가 보겠습니다.
문제에서는 성공 루틴으로 가는 분기점의 OPCODE를 구하랬으니, 이 근처에서 찾으면 답이 나옵니다. 답은 OEP(00445834 + 이 주변의 OPCODE)입니다. 한번 찾아 보세요.
힌트를 드리자면 아래와 같이 주소 옆에 Hex dump 부분이 OPCODE입니다. OPCODE는 명령어를 담고 있기 때문에 저 부분을 변경 한다면 옆의 어셈블리도 같이 변환이 됩니다.
'Wargame > codeengn' 카테고리의 다른 글
[codeEngn] Basic RCE level12 (0) | 2015.07.29 |
---|---|
[codeEngn] Basic RCE level11 (0) | 2015.07.29 |
[codeEngn] Basic RCE level09 (0) | 2015.07.28 |
[codeEngn] Basic RCE level08 (0) | 2015.07.28 |
[codeEngn] Basic RCE level07 (0) | 2015.07.28 |
- Total
- Today
- Yesterday
- 악성코드
- 출처 : Do it 안드로이드 프로그래밍
- Kimsuky
- 비트코인
- Bisonal
- cuckoo-sandbox
- infostealer
- Decoding
- 위협정보공유
- vuln
- koodous
- malware
- 한글악성코드
- 스피어피싱
- us-cert
- Yara
- keylogger
- Servey
- VirusBulletin
- Static Analysis Engine
- 해킹메일
- .wll
- CVE-2018-0798
- idapython
- Cisco Talos
- MS-Office
- Flybits
- 멋쟁이사자처럼 4기
- CVE-2018-9375
- AMSI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |