내 생애 첫대회다. (Write up이 좀 서툴으니 양해부탁드립니다 ) 시작과동시에 심장이 벌렁벌렁 뛰었다. ㅠ 로그인하고 Challenge를 눌렀는데 이런 문제가 나왔다. (페이지 진짜 멋있었습니다.) 입장 문제 이제 막 해킹을 배우기 시작한 대한민국의 초짜 해커 유

Similar documents
Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

750 1,500 35

hlogin2

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

Microsoft PowerPoint - chap01-C언어개요.pptx

Ä¡¿ì_44p °¡À» 89È£

hwp

0.筌≪럩??袁ⓓ?紐껋젾 筌

인천광역시의회 의원 상해 등 보상금 지급에 관한 조례 일부개정조례안 의안 번호 179 제안연월일 : 제 안 자 :조례정비특별위원회위원장 제안이유 공무상재해인정기준 (총무처훈령 제153호)이 공무원연금법 시행규칙 (행정자치부령 제89호)으로 흡수 전면 개

p529~802 Á¦5Àå-¼º¸í,Ç×ÀÇ

<B3EDB9AEC0DBBCBAB9FD2E687770>

종사연구자료-이야기방 hwp

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

목 차 국회 1 월 중 제 개정 법령 대통령령 7 건 ( 제정 -, 개정 7, 폐지 -) 1. 댐건설 및 주변지역지원 등에 관한 법률 시행령 일부개정 1 2. 지방공무원 수당 등에 관한 규정 일부개정 1 3. 경력단절여성등의 경제활동 촉진법 시행령 일부개정 2 4. 대

호랑이 턱걸이 바위

05.PDF

RVPH020B2M1 IM.9959.

Windows 8에서 BioStar 1 설치하기

슬라이드 1

SIGIL 완벽입문

<312E B3E2B5B520BBE7C8B8BAB9C1F6B0FC20BFEEBFB5B0FCB7C320BEF7B9ABC3B3B8AE20BEC8B3BB28B0E1C0E7BABB292DC6EDC1FD2E687770>

제1절 조선시대 이전의 교육

<C1D6BFE4BDC7C7D0C0DA5FC6EDC1FDBFCF28B4DCB5B5292E687770>

정 관

시편강설-경건회(2011년)-68편.hwp

untitled

MIC Check 1pt ( pwnable ) 아마도 문제 제목을 저렇게 낸 이유는 공연 전 마이크 테스트를 하는 것처럼 쉬운 것을 하나 풀면서 몸이라도 푸라고 저렇게 정한 게 아닐까 배점은 1 점짜리, pwnable.kr 의 cmd 와 비슷한 문제

POC "Power of Community" 이민우 (lwmr)

PowerPoint Template

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

기사스크랩 (160504).hwp

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

그 여자와 그 남자의 사랑 이야기

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

13백점맞는세트부록2년(49~57)

2015년9월도서관웹용

부벽루 이색 핵심정리+핵심문제.hwp

산림병해충 방제규정 4. 신문 방송의 보도내용 등 제6 조( 조사지역) 제5 조에 따른 발생조사는 다음 각 호의 지역으로 구분하여 조사한다. 1. 특정지역 : 명승지 유적지 관광지 공원 유원지 및 고속국도 일반국도 철로변 등 경관보호구역 2. 주요지역 : 병해충별 선단

김기중 - 방송통신심의위원회 인터넷 내용심의의 위헌 여부.hwp



인터넷 비즈니스의 필수 요소, 트랜잭션 시큐리티 서비스 인터넷 비즈니스는 기업 영리 활동에 있어서 부가적인 서비스가 아닌 사업을 영위해 가는데 중요한 역할을 하고 있습니다. 특히, 인터넷 쇼핑몰, 인터 넷 뱅킹, 사이버 트레이딩, 전자정부서비스, 온라인 게임, 인터넷

Microsoft PowerPoint - chap05-제어문.pptx


No Slide Title

래를 북한에서 영화의 주제곡으로 사용했다든지, 남한의 반체제세력이 애창한다 든지 등등 여타의 이유를 들어 그 가요의 기념곡 지정을 반대한다는 것은 더 이상 용인될 수 없는 반민주적인 행동이 될 것이다. 동시에 그 노래가 두 가지 필요조 건을 충족시키지 못함에도 불구하고


> 1. 법 제34조제1항제3호에 따른 노인전문병원 2. 국민건강보험법 제40조제1항의 규정에 의한 요양기관(약국을 제외한다) 3. 삭제< > 4. 의료급여법 제2조제2호의 규정에 의한 의료급여기관 제9조 (건강진단) 영 제20조제1항의 규

노인복지법 시행규칙


Microsoft Word - GOM-StackOverFlow.doc

중등2단계(최종)-PDF용.hwp

1

와플-4년-2호-본문-15.ps

PDF

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

WS12. Security


아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

1-1Çؼ³

untitled

4) 이 이 6) 위 (가) 나는 소백산맥을 바라보다 문득 신라의 삼국 통 일을 못마땅해하던 당신의 말이 생각났습니다. 하나가 되는 것은 더 커지는 것이라는 당신의 말을 생각하면, 대동강 이북의 땅을 당나라에 내주기로 하고 이룩한 통 일은 더 작아진 것이라는 점에서,

Microsoft PowerPoint - chap03-변수와데이터형.pptx

남사고의 유토피아 2

SBR-100S User Manual

Microsoft PowerPoint - a8a.ppt [호환 모드]

152*220

2013 순천향대학교정보보호페스티벌 예선풀이 이름 : 현성원학교 : 서울대원고등학교아이디 : sweetchip 닉네임 : 맛있는치킨파티점수 : 1320점

Microsoft PowerPoint - chap10-함수의활용.pptx

RHEV 2.2 인증서 만료 확인 및 갱신

내지(교사용) 4-6부

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

19.PDF

레이아웃 1

Secure Programming Lecture1 : Introduction

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

35.PDF

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

금오공대 컴퓨터공학전공 강의자료

Microsoft Word - poc_script1.doc

•••••1301(•••).pdf

Microsoft PowerPoint 웹 연동 기술.pptx

DocHdl2OnPREPRESStmpTarget

5.6 ÇÔ»ç»çAÃÖÁ¾

Cloud Friendly System Architecture

2009년도 인권친화적 학교만들기 실천방안 자료집 실천안 모음(59편) 주체적으로 즐길 수 있는 학교 만들기 등 59편 주체적으로 즐길 수 있는 학교 만들기 61 독거어르신의 손자손녀 되기 프로그램 64 3인 1팀 멘토링을 통한 공동체 의식 증진과 인권의식 함양방안 6

zb 2) 짜내어 목민관을 살찌운다. 그러니 백성이 과연 목민관을 위해 있는 것일까? 아니다. 그건 아니다. 목민관이 백성 을 위해 있는 것이다. 이정 - ( ᄀ ) - ( ᄂ ) - 국군 - 방백 - 황왕 (나) 옛날에야 백성이 있었을 뿐이지, 무슨 목민관이 있 었던

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

Microsoft PowerPoint - chap06-5 [호환 모드]

Deok9_Exploit Technique

Tcl의 문법

<C5F0B0E82D313132C8A328C0DBBEF7BFEB292E687770>

<39BFF931C1D62DB1E2B5B5C1A6B8F12E687770>

17장 클래스와 메소드

H3250_Wi-Fi_E.book

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

목 차 1. 개요 취약점분석추진배경 취약점요약 취약점정보 취약점대상시스템목록 분석 공격기법및기본개념 시나리오 공격코드

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은

Transcription:

2014 순천향대학교 정보보호 페스티벌 예선 풀이 이름 : 이시훈 학교 : 선린인터넷고등학교 아이디 : push0ebp 닉네임 : 치트엔진차냥 자기 점수: 2000 등수 : 1위

내 생애 첫대회다. (Write up이 좀 서툴으니 양해부탁드립니다 ) 시작과동시에 심장이 벌렁벌렁 뛰었다. ㅠ 로그인하고 Challenge를 눌렀는데 이런 문제가 나왔다. (페이지 진짜 멋있었습니다.) 입장 문제 이제 막 해킹을 배우기 시작한 대한민국의 초짜 해커 유 모군(22 세)은 최근 한 온라인 커뮤니티 게시판에서 우연히 취약점을 발견하였다. 첫 해킹에 들뜬 유 모군은 해당 취약점을 이용하여 서버에 관리자 권한으로 접속을 하였지만, 별다른 공격 없이 살짝 구경만하고 접속을 종료하였다.

대회 참가자들에게 꼭 필요한 문제같은 문제가 나왔다. 어쩌다가 충분히 이럴수 있는 상황이 법률 위반이라는걸 알려주려는 의도가 매우 좋았다. 풀이 먼저 네이버에 정보통신망 이용 촉진 및 정보보호 등에 관한 법률 을 검색했다. 이런 법령이 나왔고 조항을 찾아야되는데 학교 수업시간에 정보윤리를 배웠던터라 키워드가 생각나 침입 을 검색했다. Key : 48_30000000

WEB 100 어리버리 심슨 회사를 운영 중인 사장 호머 심슨, 평소에 게을러 홈페이지 개발을 대충하게 된다. 특정 IP(192.168.0.22)에서만 접속 가능하게 한 관리 페이지에 사업 비밀이 숨어있다던데.. 비밀을 파헤쳐라!!?page=를 보고 LFI RFI인줄 알고 계속 넣으려고 삽질했다. No Hack. 뭘 넣어도 되지가 않았다. 멘붕이 왔다. 생각을 하던참에 특정 IP 192.168.0.22에서만 접속이 가능하게 해뒀다는 걸보고?page=대신 ip에 관련된 변수들 $_SERVER['REMOTE_ADDR'] $ip 등등?192.168.0.22를 막 넣어보니 키가 나왔다. Key : root_5imps0ns

CRYPTO 100 마법진 너는 보일듯 보이지 않아... 안타까운 마음에 쳐다만 봤네... 풀이 뭐지 이게.. 대체 어쩌란거지... 하면서 봤다. 표로 준 이유가 있을거라고 생각했지만 하도 안나오길래 포기하고 다른문제를 풀고있었는데 마침 힌트가 나왔다. 가로==세로==대각선을 검색해보니 마방진이 보였다. 제목도 검색해보니 마방진을 마법진이라고도 불린다는걸 보고 확신했다. 네이버에 쳐보니 마방진 암호에 관한 내용이 있었다. 그대로 5*5마방진을 검색했는데 여러 마방진이 나왔다. 대응시켜보니 이상한 키가 나왔는데 SYSTEM100의 키가 Key_is_로 시작한걸 보고 적절한 마방진을 찾았다. key_is_bwfnmwnfc3f1nhjl== 가나왔다. ==이 있길래 base64 Decode를 해보았다. Key : mag1c_squ4re

SYSTEM 100 GDB IS MY LIFE 암호문을 풀어주는 툴이 고장나서 출력을 안해주네... 직접 툴을 분석하여 평문을 얻어내자! 풀이 제목만 보고 다짜고짜 gdb로 열었는데 안된다.. 트레이스를 써볼까했는데 그래서 다 써봤다. Ltrace쓰니 바로 보였다. ㅠㅠ key_is_라길래 빼고 인증했는데 안되서 뭐지 하다가 포기할뻔했는데 key_is_까지 넣으니까 됬다 ㅠ Key : key_is_5ch10v3

MISC 100 YISF의 궁궐에 당도한것을 환영하오 낯선이여 역사상 하늘의 뜻을 따랐던 해커는 모두 몇명인가? 풀이 이 문제가 제일 어려웠다 ㅠㅠ 처음에 역사, 하늘, 해커 키워드를 검색해보았는데 <하늘이여 땅이여2> 라는 해커들이 나오는 소설을 찾았다. 그래서 3을 인증해보니 되지않았다. 그런데 힌트가 나와서 순천향대 수상자들을 보았다. 수상자들을 다 더했더니 >>> 6+8+6+3+3+3+3+3+3+8+8 54 인증했더니 안됬다 ㅠㅠ 자꾸 뭘 빼보고 더해고도 했는데 안됬다. 그런데 와 연속으로 수상을하네 하면서 감탄을 하다가 중복을 빼면 될래나? 해서 빼보았다. 하동주 이광우 유용우 구자연 문영조 최현우 김우현 이광우 신정훈 하동주 김진우 김형준 류용우 전지원 박찬암 이광형 김진우 김영곤 신정훈 정태영 이병윤 박찬암 방승원... 생략 코딩을 하려했지만 이렇게 다적어서 Ctrl+F로 검색해보면서 중복을 빼왔다. 하동주2 이광우2 신정훈2 김진우2 박찬암3 임동욱2 이정훈2 권혁2 강인욱2 권혁주2 임정원2 이선엽2 이분들이 중복됬다. >>> 1+1+1+1+2+1+1+1+1+1+1+1 13 54-13=41 을 넣어봤지만 안됬다 잘못 뺐나하고 다시찾아도 똑같았다. 대회 때와 라이트업을 쓸 때 결과가 좀 다르게 나와서 당황했다. 근데 임동욱 이분들이 동명이인인걸 까먹었다 ㅠㅠ 그래서 12로 놓고 빼서 42를 인증했다. Key : 42

FORENSIC 100 다 남아있어... 대회 도중 카톡으로 연락을 하고 있던 친구에게 답 공유를한 PSY. 킷값이 써있는 이미지를 캡쳐해 보내놓고 아무 일 없었던 듯 대회를 계속하는데... 넌 딱 걸렸어...!! 풀이 F100 파일을 헥스 에디터로 열었다 저게 헤더는 아닌것같아 ADSEGMENTEDFILE를 검색해봤다. AD헤더만 남겨두고 앞에 지워서.ad1 저장한후 FTK Imager로 파일을 추출했다. 카톡 이미지이므로 당연히 임시 파일에 저장될 것 같아 Temp폴더 부터 봤다. \AppData\Local\Temp 이곳이고 사진들을 찾아보니 이런 사진이 있었다. ㅠㅠ 너무 착하시다. 헥스에디터로 열어보니 EOF에 이런게.. http://210.124.110.197/f4999069631245bcfd6cca26a1731623/67c52bb0163f224092274fe479c59808.php 로 가보면 Key : DAP_0_U_N@N0!!

BINARY 100 세's코딩 내가 만든 프로그램에 버그가 얼마나 있나 테스트해보기 위하여 코딩 천재인 세 에게 프로그램 제작을 의뢰했다. 맛보기 버전으로 일부 기능만 지원한다고 하는데 도대체 이것은 어떻게 쓰는 물건인고? 풀이 IDA의 어드레스 대응이 쉽도록 모든 문제들의 ASLR플래그를 제거했다. 자꾸 error가 뜨길래 401770으로가 봤다. fseek으로 EOF 를 찾아 ftell로 파일포인터를 얻어 파일사이즈를 구한후 <=1000000 체크를 한다. 그런데 Nt함수이름을 보니 디버깅 탐지를 하고있엇다. jmp 시켜서 우회했다.

b e e t l e 를 보자마자 파일에 넣고 읽었다. 그런데 ftell!= 10 에서 자꾸 밖으로 나갔다. 읽은 파일포인터가 10 일경우인데 위를 다시보니 아무리 해도 10이 나올수가 없었다. 계속 삽질하다가 디버거로 다시 봤는데 Hex-ray가 잘못된 것이였다. LABEL_28이 if 위에 올라가있어야되는데 ㅠㅠ 그래서 beetle의 b앞 9자리에 아무문자든 패딩을 넣어준후 딱 b가 맞는 시점에 파일포인터가 10이 되도록 했다. 파일내용 : ispaddingbeetle 이렇게 넣고 읽어보니 Key : Just_5+rin9_Bug

CRYPTO 200 Weird Square 아들 셋을 둔 한 억만장자가 있었다. 억만장자는 아들들에게 "너희 앞에 상자가 있다. 여기에는 내 재산의 80%가 들어있으니 비밀을 풀어 내 재산을 물려 받거라" 라고 말하며 종이 2장을 건네주는데.. 풀이 이거 푸는데 미치는줄알았다... 이게뭐지?? 이미지 힌트를 보니 rkjfnp가 1시방향에서 채워지는걸 알았다. 선을 그어라 라는 힌트가 있었다. 순차적으로 결합 이라는 걸 보고 무슨 순서일것이라고 생각하여 알파벳 순서대로 선을 그어봤다. 알파벳 S가 나왔다 ㅠㅠ 그래서 스트링을 넣으면 알파벳 순서와 모양대로 출력해주는 파이썬 스크립트를 짜보았다.

def c2(a): print " print "" print " "+a[0] "+a[1] def c3(a): print a[2]+" print "" print " "+a[1] "+a[0] def c4(a): print a[3]+" print "" print a[2]+" "+a[0] "+a[1] def c5(a): print " "+a[4] print "" print "" print " "+a[3]+" "+a[0] print " "+a[2]+" "+" "+a[1] def c6(a): print " "+a[5]+" "+" "+a[0] print "" print " "+a[4]+" "+a[1] print "" print " "+a[3]+" "+" "+a[2] def c8(a): print " "+a[7]+" "+" "+a[0] print " "+a[6]+" "+a[1] print "" print " "+a[5]+" "+a[2] print " "+a[4]+" "+" "+a[3] while 1: s=raw_input() l=[] for i in s: l.append(i) eval("c"+str(len(s))+"("+str(l)+")") l.sort() print l

차례대로 i v u c d g이다. 머리속에서 그리다보니 c를 o로 봤다. ` dg는 그려도 찾기어려웠다.ㅜ 한곳 틀리면 많은 부분을 다시 찾아야 되서 너무 힘들었다 ㅠㅠ 반복해서 찾으면 succ essn ever neve rnev erre sign rund eerbi rduru seg grib sric erev erse success never never never resign run deer bird uruseggribsrice reverse 이 나온다. 띄어쓰기를 빼고 파이썬.upper()를 이용하여 대문자를 만들어준후 인증을 했다. Key : SUCCESSNEVERNEVERNEVERRESIGNRUNDEERBIRDURUSEGGRI BSRICEREVERSE

MISC 200 왜 읽지 못하니!!! 집 비밀번호를 바꿨는데 잊어버렸다. 이럴 때를 대비하여 비밀번호를 적어놨는데 가려 보이지 않는다. 비밀번호가 있는데 왜 읽질 못하니... 풀이 스트링이 메모리상에 꼭 적재되있을거라고 확신하고 치트엔진으로 Key is를 스캔해 보았다. 풀이2 한쇼로 열고 복붙하면 바로 보인다 ㅠ. Key : 1l0v3h4mbuG3rs

FORENSIC 200 다 남아있다고...!! 시험지가 유출되어 돌아다니고 있다. 유출자의 컴퓨터 자료에서 증거를 찾아 시험지의 유출을 막자 풀이 헤더를 보니 또.ad1이다 FTK Imager로 파일 추출을 해본다. 쿠키를 뒤져보고 index.dat 기록도 뒤져보고 모든 파일을 다뒤져보았는데 단서가 아무것도 없었다. 그래서 파일내 스트링을 찾아주는 프로그램을 이용해 jpg png gif hwp 다 찾아 봤고 pdf를 검색해보니 이런게 나왔다. 파일내에 있을것으로 생각하고 pdf헤더고 ZIP헤더고 뭐고 다 찾아보았지만 아무것도 들어있는게 없었다. (HINT) [Forensic 200] : 시험지는 현재 유출되어 돌아다니고 있다. (tistory) 를 보고 파일명을 검색해 보았다.

열어보니 이 있었다. 접속해서 testpaper.hwp라는 한글파일을 하나 더 받았다. 암호가 걸려있었다. 처음엔 암호가 뭔지 툴도 찾아보고 문제도 풀어보려했다. 그런데 안나온다. ㅠ 다시 살펴보니 댓글을 참조하라고한다. ㅠㅠ 여기있었다니 저걸로 입력하니 된다. 나온다. 을 복사하면 T1JlT19PckVv 이 base64 디코딩을 하면 OReO_OrEo Key : OReO_OrEo

BINARY 200 GIF 잠깐, 무언가 지나간 것 같은데... 풀이 분석하기 싫은 ASLR은 기본으로 떼주었다. 사진이 순서대로 5장씩 1000ms로 반복된다. sub_401000 의심이 되어 이쪽에 브레이크 포인트를 걸어도 아무리 멈추지 않아서 다시 분석을해보았다. sub_401610 이쪽인데. 405B9C==100 일 때 저함수를 실행하게 된다. 이변수는 글자가 하나씩 바뀔때마다 증가하며 총 100*1s=100초가 지나야한다. 항상 401000함수를 거치도록 nop 패치를 했었는데 sub_401000(dword_405b9c); 인자 때문에 함수안에서 Write하고있던 값이 달라져서 그냥 SetTimer의 인터벌을 1ms로 바꿔주었다..

이쪽으로 잘 실행이 되었다. 그런데 401100이 의심스럽다. 들어가보니 앗 이게 왠일... 헥스레이도 그래프뷰도 안보인다 ㅠ 디버거로 봤더니 난독화라닝ㅜ 자네 어디가시게... 이상한데로 점프했다. 사이에 nop로 2바이트 패치했다. 그렇게 같은 방법으로 쭉하다가 살짝 다른 방식이 나왔다. 최종적으로 점프하는곳이 72니까 거기까지 nop때리고 저장해서 IDA로 열어보니 잘열렸다. 오옹 잘 보인다. ㅎ

진짜 복잡하다.. 사실 이거보고 포기하고 다른문제 풀었는데 다시 풀어보려고 Step Over를 계속 해보니 우연히 뭐 하나를 발견했다. 와아.. MZ다 ㅎㅎㅎ 자신의 emagic을 가져오는것 같아서 쭉 돌려보다가 자신 바이너리와 비교하였더니 달랐다. 매우 기뻐서 보자마자 추출을 시도했다. dword_405b84 < 0x800이 3개 있었다. 0x800*3= 총 0x1800바이트 크기의 바이너리이다. 패치(후킹)할부분은 sub_401100 sub_401220 sub_401350 딱 3개 fclose로 핸들 닫기위해 추가로 후킹할것이다.

저기 405B7C에서 파일포인터를 가지고왔다.. 코드를 패치해주어야 해서 치트엔진 스크립트를 짜보았다. globalalloc(fprint1,128) globalalloc(fprint2,128) globalalloc(fprint3,128) globalalloc(fclos,128) alloc(str,10) alloc(buf,4) //메모리 할당 VirtualAllocEx와 같음 str: db '%c' //스트링 선언 004011FB: call fprint1 //fprint1로 후킹 nop 0040120B: jmp fclos //fclos로 e9 인라인 후킹 fprint1: mov [00405B90],cl pushad //레지스터 백업 pushfd //플래그 백업 push [00405B90] //출력할 데이터 (MZ) push str //%c 문자열 주소 push [00405B7C] //파일 포인터 call msvcr100.fprintf add esp,c //가변인자 cdecl 이므로 스택정리 popfd //플래그 복원 popad //레지스터 복원 ret //원래 흐름으로 되돌아감 00401332: call fprint2 nop fprint2: mov [00405B90],dl pushad pushfd push [00405B90] push str push [00405B7C] call msvcr100.fprintf add esp,c

popfd popad ret 004014FE: call fprint3 fprint3: mov [00405B90],al pushad pushfd push [00405B90] push str push [00405B7C] call msvcr100.fprintf add esp,c popfd popad ret fclos: //파일 핸들을 닫지 않을경우 출력이 안됬다. push eax push ebx add eax,11 pushad pushfd mov eax,[00405b7c] push eax //파일포인터 넣고 call msvcr100.fclose //핸들 클로즈 add esp,4 popfd popad jmp 00401210 파일이 6 KB 이쁘게 잘나왔는데 UPX가... 그냥 동적 디버깅을 했다.

또 안티디버깅이다 csrss.exe 프로세스핸들을 이용한 기법이다. 살포시 jmp 시켜서 넘겨주고 이런 곳에 InternetOpen/Url 등을 썻는데 자꾸 응답이 없길래 그냥 키로 추정되는 곳으로 jmp 시켜주었다. 이쪽으로 이렇게 짠! 이 문제 풀이 쓰는데 5시간이나 걸렸다. ㅠㅠ 힘들긴해도 제일 재미있었다ㅋ Key : What_!s_T0d@ys_lUnCh??

FORENSIC 300 M1F2T3 이동식 디스크 속 숨겨진 파일의 전체경로와 생성시간과 크기(byte단위)를 찾아주십쇼 키 형식(md5): 전체경로_시간(1995.02.02.12:12:12)_크기 풀이 파일을 받아 열었다. 처음보는 헤더라 검색해도 잘나오지않았다. 밑에 이런게 있었고 제목 M1F2T3 와도 연관성이 있어 검색해보았다. Master File Table 에 관한 파일이여서 MFT를 분석할수 있는 툴을 검색했다. 숨겨진 파일 이라는걸 보고 파일 속성이 나타나는 툴을 사용했다. 구글링 맨처음 나오는 mft2csv를 썼는데 마침 찾아보던 중에 숨김 파일 속성이 부여되어 있었다. \PRIVACY\sec\urity\CbVkqCbqtM.jpg_2014.08.03.10:04:26_114627 을 md5시키고 인증했는데. 안됬다. 여러파일을 인증하던 온갖 방법을 써봤는데도 안되길래 헤더를 수정해서 레코드를 숨긴문제인가 싶어 헥스로 다봤는데도 아니였다 ㅠ 힌트 중 F:\ 와 파일 할당크기를 보라고해서 F:\PRIVACY\sec\urity\CbVkqCbqtM.jpg_2014.08.03.10:04:26_114688 을 인증해도 안됬다. 그래서 다른 툴인 analyzemft 를 썼다. 날짜만 바꿔서 F:\PRIVACY\sec\urity\CbVkqCbqtM.jpg_2014.08.03.19:04:26_114688 을 인증했더니 성공했다. ㅠㅠ 이거 때문이였다니 Key : ed4dec0b41895a811a86178470355b6c

BINARY 300 Binary Brothers 오 부라더 풀이 바이너리가 2개있다. 이쪽에서 걸리길래 nop 시켜줬다. 401150 함수인데 파이프를 생성한다 그래서 Brothers1을 실행시켜주었다. 같이 실행하지 않으면no를 띄운다. 통신을 기다리고 처리하는 쓰레드를 생성한다. 밑을 보면 이런게 있다 바로 523390을 넣어본다. 이렇게 3개씩 있다. 523390이 보이니까 이렇게 넣어주면 다른 쪽에 저렇게 출력된다. 234367 130098을 넣으면 숫자 그대로 나오는데 스트링이 나오는걸보면 뭔가 수상해서 저쪽을 집중적으로 공략했다.

523390 버퍼를 401D70에 넣어주는데 분석해보니 이바이트를 바탕으로 ICE문자열을 만들었다. 함수하나가 이만큼이나 길다. 쭉쭉쭉 내리다가 이런걸 리턴한걸 보았다. 처음에 Fake라길래 다른 스트링을 찾으려다가 멘붕이와서 Brothers1을 분석했다.

C#이길래 디컴파일러로 디컴파일 해서 쭉 분석해보니 이쪽이 의심스러웠다. 바로 Decrypt 할수 있도록 VS로 옮겨 a에 61782450\0 을 넣고 Decrypt2를 돌렸더니 가 나왔다. 키 인증을 했는데 Fail이 뜬다. 아무리 봐도 이게 맞는거 같은데 관리자께 문의 드려보니 키가 잘못됬다고 한다. Like를 보니 뒤에 뭔가 있는것 같다. 아까 찾은 ICEF1ke를 뒤에 붙여서 인증했더니 또 Fail이 뜬다. 삽질을 하다가 또 관리자님께 문의 드렸는데 키가 짤렸다고 한다. 혹시나 해서 다시 해보니 됬다. F1ake 가 빠지고 인증했었던것이다 ㅠㅠ 근데 이제보니까 Fake가 아니라 Ice Flake였다 ㅋ Key : HakB4byiSLikeICEF1ake 수고 많으셨습니다. 풀이보고서는 yisf.sch@gmail.com 으로 보내주시면 됩니다.