본문 바로가기
Write-up

[순천향대 2012 정보보호 페스티벌 본선 바이너리]

by dladbru 2012. 9. 15.

<대회땐 아무문제도못풀었는데 아이다를 써서 분석을하니까 보이더라구요.. 대회떈 사회공학 

 문제가지고 씨름하느라..ㅜㅜ>


BluePC.exe


바이너리문제 한문제..

내 컴퓨터는 Vista 환경이라그런지 실행시키면 에러가뜨길래 관리자 권한으로 실행시켜주었습니다.

근데 검은창이 뜨더니  바로꺼집니다는아니고 프로세스엔 남아있더라구요?

일단 기본적인것을 알아보기 위해 분석도구인PEID 로 보았습니다.



UPX로 패킹이되어있네요? 

그래서 UPX를 언패킹해주었습니다.


차이점은 보이시지요?

하지만 실행해보면 언팩하기전과 언팩한후는 차이가있습니다.

Vista인 저같은경우는 언팩을하게되면  



라고 뜹니다.  

이말은 곧 언팩을 하면 파일이 깨진다는것을 알수있습니다.

하지만 언팩을해야 분석을 할 수 있을것같으므로 언팩한파일을 분석해서 언팩을 안한파일에서 작동시키는 방법으로 해야겠습니다..


이제 OllyDBG로 분석하겠습니다는 아니고요 대회때 이랬다가 망한케이스..


IDA로 분석을 해보면 

ㅇ? C:\\Program Files\\LOG.txt 가 의심스러워서 경로에가보니..키로그파일;;;

뭐 정답같은 말은없었구요 그럼이제 본론으로가서.


이런 함수가 존재합니다. 근데 보면.. do~while문이 끝나주질않는 코드입니다 ;;;     

v2 = 120;      

120이 ASCII 'x'

do~while문 끝나는 조건 'y'      그러니 우리는 저 dowhile문을 나가게해줘서 저밑에보이는  

코드들이 실행되게 해줘야합니다.

  그렇게하려한다면 v2가 121 ->'y'가 되게 해줘야한단 소리겠죠?


일단 저 함수 주소가 0041~ ##1D20## 으로 끝나주는걸 봐주신뒤 Ollydbg로 여십니다.

OllyDBG도 관리자권한으로켰어요~


열렸습니다.

일단 EP가 ##003D##E360 이네요

그래서 아까 보아두었던 1D20을 생각해서

일단은 실행을하였습니다 F9구구구구구구

그다음 Ctrl+G를눌러  003D1D20으로가보니


<그 주소에있는 함수>



<<003D1D6A    3D BE000000     cmp eax, 0BE>>

<<003D1D6F 7F 33          jg short BLUEPC.003D1DA4>>


이것은 현재계속 실행되고있을 코드입니다.


아까 IDA로 분석했을때 for(i = 8; i <= 190; ++i) 이코드가있었는데 HEX(0BE)->190이므로

반복문을 끝낼지 안끝낼지를 정하는 부분이기에  그러므로 003D1D6F 이것에 BP를 걸어줍니다.

그러면 바로 그 번지에걸리게됩니다.

이제 jg 이것을 무조건 190이넘은것처럼 속이기위해 jmp로 바꿔줍니다.

003D1DA4   EB 7F           jmp short BluePC.003D1E25

003D1DA6   837D EC 79      cmp dword ptr ss:[ebp-14], 79

003D1DAA   75 79          jnz short BluePC.003D1E25

그럼 이렇게 보이게 되는데요.     우리가간곳은 "003D1DA4" 입니다.


##003D1DA6##  ##003D1DAA## 가 더눈에 띕니다.

저것은 while ( v2 != 121); 이코드와 동일합니다.

그러므로 이쪽으로가야하므로

003D1DA4   EB 7F           jmp short BluePC.003D1E25->nop로 바꿔준다음

 dowhile 연산을 무너뜨리기 위해선

while ( v2 == 121); 가되야하므로

003D1DAA   75 79          jnz short BluePC.003D1E25   

이코드를

003D1DAA   75 79          je short BluePC.003D1E25

변경하여보았습니다.

 


이제는 dowhile 연산이 깨졌을테니 F9(RUN)을 해보면..



Key:f15dcd80




P.S   제가 오랜만에써서 더 못썻었습니다. 이해가안가시면 댓글로 남겨주세요 금방 담변해드릴게요.. ㅜㅜ


반응형

댓글