WarGame/SuNiNaTaS

[SuNiNaTas] 써니나타스 27번 - SYSTEM

URL은 다음과 같다.

Game 27 (suninatas.com)

 

 

Game 27

investigators are certain that the message has some secret, however they can't find any clue.

www.suninatas.com


해결책

해석을 하면, IRC(Internet Relay Chat) 서버를 도청한 NSA가 Mafia의 Key를 알아내는 문제이다. 링크가 걸린 down으로 들어가 보자

엄청 방대한 문자열이 우리를 반긴다. 여러분의 시간은 소중하니까 대충 이야기를 하면, pruss라는 친구 마피아와 저 글을 쓴 필자의 컴퓨터 암호에 관한 대화 내용이다. 중간에 mafia@russia.ru 같은 서버도 보이고, key나 password라는 문자열도 많이 보이지만, 전부 유효하지 못하다. 이 문제를 접근하는 가장 좋은 방법은 문제의 제목 속에 숨어있다.

위 사진은 헥사편집기인 hxd에서 message.txt를 open 한 내용이다. 무슨 의미일까? 문제의 제목은 우리를 x86에서 열어보라고 하고 있다. 보통 x86을 이야기한다면 PE32 포맷으로 debugging을 하라는 의미일 텐데.... 한번 디버거를 열어서 저 문자열이 의미 있는 문자열인지 보자

남의 PC에서 하고 있다보니까... x 32 dbg를 사용하여 HxD Installer를 열었고, [바이너리 편집기]를 이용해서 메모리 상의 주소를 message.txt의 내용으로 덮어씌워주었다.

그 후 덮어씌워진 주소의 맨 처음을 EIP(다음 실행할 명령어 주소)로 설정하고 run 했다. Run을 하고 잠시 관찰하면 알 수 있는 내용인데, eax의 값이 inc, dec 되면서 ascii값으로 왔다 갔다 하고, 문자 입력의 느낌으로 push명령어가 호출된다. 따라가 보면 이번 문제의 key인 key_is_○○○○○○○를 구할 수 있다.

 

* 여담인데, 가독성 있는 메시지로 이런 포맷을 만들어낸 문제 출제자의 실력에 감탄을 금치 못하겠다. Thanks to DaeHee라고 되어있는데, 좋은 문제를 만들어 주셨음에 필자도 진심으로 감사를 표한다.