일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UpstageAILab
- 오블완
- 패스트캠퍼스AI부트캠프
- 티스토리챌린지
- 업스테이지패스트캠퍼스
- 패스트캠퍼스
- UpstageAILab#국비지원
- 패스트캠퍼스업스테이지에이아이랩
- 패스트캠퍼스업스테이지부트캠프
- 국비지원
- Today
- Total
목록SWUFORCE/[malware] wargame (15)
김민주

문제는 다음과 같다. 주어진 파일을 실행시키니 해당 화면이 결과값으로 출력되는 것을 볼 수 있었다. 시리얼 값을 입력하는 프로그램이고, 옳은 시리얼 값을 찾는 문제인 것 같다. 리버싱 워게임을 풀 때 언패킹을 위해 사용했던 Exeinfo PE 프로그램을 동일하게 사용했다. 프로그램을 통해 UPX로 패킹되어 있는 것을 확인하고, upx -x 프로그램명을 입력하여 언패킹했다. 언패킹 된 화면이다. 이후 올리디버거로 열었을 때, 시작 위치가 OEP이기 때문에 00401360인 것을 확인했다. 그리고 문자열 찾기를 통해 성공 구문인 듯한 위치를 발견했다. 그 위 근방에 AD46DFS547이 보여 해당 값을 시리얼 값으로 추측하고 브레이크포인트를 건 뒤 실행했다. 실행했을 때 내가 임의로 입력한 abcdef와 A..

문제는 다음과 같다. 문제에서 주어진 사진은 이러한 qr코드였다. https://zxing.org/w/decode.jspx ZXing Decoder Online zxing.org 따라서 해당 링크를 통해 qr코드를 스캔했다. 맨 아랫줄에 결과값으로 flag를 발견할 수 있었다. 문제 풀이 성공 툴만 할면 풀 수 있는 간단한 문제였다. 다양한 툴을 많이 아는 것이 중요하다는 것을 알 수 있었던 문제였다.

문제는 다음과 같다. ExEinfo PE프로그램으로 보았더니 UPX로 패킹된 것을 확인했다. 따라서 해당 프로그램은 언패킹한 화면이다. 올리디버거로 언패킹된 프로그램을 성공과 실패 구문을 찾았다. 성공구문 윗부분에 ASCII 코드로 Registerd User과 GFX-754-IER-954가 보인다. 아마 등록키로 추정된다. 브레이크포인트를 걸고 실행해 보았다. 첫번째 브레이크 포인트가 걸리고 EAX에 내가 입력한 abcdef가 EDX에 Registerd User이 들어가 있는 것을 볼 수 있다. call로 함수를 호출해 EAX와 EDX를 비교하는 것으로 추정했다. 실행 뒤 Z flag를 바꾸며 진행했다. 두번째 브레이크 포인트가 걸리고 EAX에 12345가 EDX에 GTX-754-IER-954가 들어가 ..

문제는 다음과 같다. 우선 주어진 파일을 다운받았다. 캐릭터 뒷배경에 동일한 패턴이 규칙적으로 나타나 있는 것을 보고 구글링을 통해 이진법이라는 것을 알았다. 흰색 부분을 0, 검은색 부분을 1이라고 했을 때 01010011 00110100 01001110 01000011 01001000 00110000 임을 알 수 있었다. flag는 MD5 형식이라 이진수를 텍스트로 변환해보니 S4NCH0가 나왔다. 이 문자를 MD5로 암호화 해보니 다음과 같은 문자열이 나와서 입력했다. 정답!

문제는 다음과 같다. 문제에서 주어진 음악 파일을 다운 받아 들어보았을 때는 별다른 값을 찾을 수 없었다. 따라서 오디오 분석 툴인 Audacity 프로그램에서 해당 파일을 열어보았다. 왼쪽 조절 창에서 다양한 값을 만져보았다. 특별히 바뀌는 게 없어 보였는데 파형에서 스펙트로그램으로 바꿔주고, 속도를 최대로 낮췄을 때 플래그 값을 확인할 수 있었다. 문제 풀이 성공

문제는 다음과 같다. 문제에서 주어진 파일을 실행 시켰을 때 왼쪽 창이 출력되고, 임의의 값을 넣어보았을 때 오류가 뜨는 것을 확인했다. 해당 파일의 시리얼 값을 찾기 위해 X32 디버거를 이용했다. 문자열 찾기 기능을 통해 예상 가능한 성공 플래그 값을 찾아주었다. 해당 부분의 call 함수에 브레이크 포인트를 걸고, 임의의 값을 넣어주었을 때 해당 함수 위에서 06162370056B6AC0이라는 값과 비교하여 점프를 실행하는 것을 확인했다. 따라서 해당 부분이 시리얼 값임을 확인했고, 디버거를 재실행 시켜 06162370056B6AC0 값을 넣었을 때 Good으로 점프하는 것을 확인했다. 문제 풀이 성공