##############################
Team : dorazi
##############################

/*****************************
*	level 1 문제풀이 
*****************************/
패스워드 찍기, PUT 메소드를 이용한 파일업로드, WEBDAV 취약점, jsp sample page 취약점등을 시도하였으나
결국 삽질만하고 힌트가 공개된 후 풀수 있었다.
힌트에서 제공된 파일을 아래와 같이
hint.jsp?hinehong=<script> 요청하니 숨겨져 있던 hint 링크가 활성화 되었다. 

이곳에 접속하면 키와 암호문을 획득할 수 있는데 
gcKEY = "Wowhacker~!"
EncMessage = http://222.239.80.207/wowhacker_hinehong_wowhacker_good

구글에서 CAPICOM을 이용한 암복호화 관련 내용을 찾아 답을 얻어낼 수 있었다.

Public Function Decrypt(EncMessage)
    Dim ed, key

    key = gcKEY
    Set ed = CreateObject("CAPICOM.EncryptedData")

    ed.SetSecret key
    ed.Decrypt EncMessage
    Decrypt = ed.Content

    Set ed = Nothing
End Function 

The result is WowhackerFighting!!!!!@KoreaFighting&hinehong


/*****************************
*	level 2 문제풀이 
*****************************/
http://222.239.80.209/~chmod777/bbs/zboard.php?id=freeboard
에 들어가면 비밀글이 존재하는데 소스보기로 버전을 확인한결과 pl8 이었다.
혹시나 하는 마음에 pl6에 존재하는 _member_info_included=1 을 통한 비밀글 보기 취약점이 존재하는지 확인하였는데
운이 좋게도 비밀글을 확인할 수 있었다.
http://222.239.80.209/~chmod777/bbs/view.php?id=freeboard&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=3&_member_info_included=1


글내용에 exe파일을 다운로드 받는 URL과 해당 URL의 아이디 패스워드가 적혀있었다.
URL: 		http://222.239.80.209/~hanssomi/
Account: 	wowhacker/good!!

exe 파일은 Themida로 패킹되어 있었으며 File Monitoring 프로그램을 돌린 상태로 실행시키니 리붓을 해야하는 결과가 발생했다.
문제의 의도는 암호화된 문자열의 패턴을 유추하여 실행파일에 적혀있는 VD DA XD FF VV AD AF FX AF AA VX VD의 원문을 찾아야 했다.


w	dx			aaaaaaa		affffaafaaafaf			aaaaaab	adffffafaaafaf
wo	xdxd			aaaaaaaa	affaffaaffaaafaf		aaaaaaab	afffffaadfaaafaf
wow	xdxdxd			aaaaaaaaa	affafafaaffaafafaf		aaaaaaaab	affafffaaffaadafaf
wowh	xdvxfdxd		aaaaaaaaaa	affafafaaffafafafaaf		aaaaaaaaab	AFFAFAFAAFFADAFAFFAF
wowha	xdvxfdaxfd		AAAAAAAAAAA	AFFAFAFAFAFFAFAFAFAAFA		AAAAAAAAAAB	AFFAFAFADAFFAFAFAFAAFF
wowhac	xdvxfdxaxfda		AAAAAAAAAAAA	AFAFAFFAFAFAFFAFAFAFAAFA	AAAAAAAAAAAB	AFFFADFAFAFAFFAFAFAFAAFA

패턴의 변화를 관찰하였을때 한개의 문자가 입력되었을때는 매칭되는 암호화 스트링만 출력이 되었고
두글자 이상일때는 암호화스트링이 교환되는것을 확인할 수 있으며
임의의 문자열들을 조합할때 교환이 일어나는것보다 같은 문자를 반복입력했을때 교환이 일어나는것이
같은 암호화문자의 반복으로 더 단순하게 보였다.

아래는 한 문자만 보냈을때의 Key Table이다.
a	FA	b	DF	c	AX	d	VD
e	GV	f	AA	g	DD	h	VF
i	XV	j	DG	k	FF	l	XA
m	AG	n	AD	o	XD	p	XX
q	FX	r	VX	s	FG	t	VG
u	VA	v	XG	w	DX	x	DA
y	GG	z	XF	1	GD	2	GF
3	FV	4	DV	5	AF	6	GX
7	AV	8	VV	9	GA	0	FD


VDDAXDFFVVADAFFXAFAAVXVD
그래서 이 암호화된 문자열을 맞추기 위해 
DDDDDDDDDDDDDDDDDDDDDDDD 만 출력되도록 g 12문자를 입력하였고
g가 끝에들어가는 문자열이 무엇이있을까 생각하니 hacking 이라는 단어가 생각되어 입력하였으니 나온결과 중 하나가 달랐다
그래서 hacking 에서 a 와 i 를 각각 4 와 1로 변환하여 입력하였는데 h4cking 이 맞는 답이 되었다.
이런식의 계산으로 앞부분을 맞추어나갔으며 답을 추출해낼 수 있었다. 
ar70fh4cking


/*****************************
*	level 3 문제풀이 
*****************************/
http://222.239.80.204/notepad.exe

notepad.exe를 실행할 때 File Monitoring Program을 사용해 실행하니 
임시 디렉토리에 svch0st.exe와 svch0st.sys파일이 생성되는 것을 확인할 수 있다. 

svch0st.sys파일은 프로세스 후킹을 위해 사용되므로 무시하였고 

svch0st.exe를 분석하였다.

svch0st는 upx 패킹이 되있는데 패킹을 풀고 messagebox 에 bp를 건 후

인증 실패시 messagebox로 이동하는데 조금 위쪽에 보면 key 값을 검사하는 함수가 있다. 

여기로 들어가면 암호화 코드가 존재하였는데 변형된 rot 기법으로 암호화 되어있어 

이를 조작하여 패스워드를 획득할 수 있다.

PaSSionAnDPrepAraTion


/*****************************
*	level 4 문제풀이 
*****************************/
fckorea-wowhacker-codegate 문자열 만들기
http://222.239.80.204/gtrpower/

strings 로 확인한 MD5 문자열을 복호화한결과
98a4c18682f8dc33678ae321b9f95b4d  -> byteafake
5d6a2274d93ad079bd3a3840cf0e70d0  -> simondominic
44565ca878f878ab967c9f9d3a074163  -> fckorea          
401b9b0624cd1b32eab18acab0ce3da3  -> wowhacker
0baff11bed4531372a07ce319925bb78  -> esens
73f2b9ad80693506f5fc6b1fd505b2e3  -> korea
a46c3580f9f27b4a8d91f4ad35ef630b  -> ilovesanghee
516415464fc111c0895ec2158a9ca17e  -> wowstory
41280517fb6ea3dbd0062f688d3e611d  -> dotgabipride
94d9d3a75d244de239b8f9199f0e4db1  -> u3certs
이와 같은 결과가 나왔다 이것으로 무엇인가 할수있나를 보았는데 삽질만 계속하였다.

결국 BruteForce 하여 문제를 해결하였는데

./prog 의 인자에

/*****************************
*	level 5 문제풀이 
*****************************/
music.exe 실행시 private.key와 what.mp3 파일이 생성되는데
what.mp3의 제목을 맞추는 문제였다.
구글에서 3분46초짜리 음악 파일들을 찾아서 하나하나 입력해보다가 8페이지 쯤되서 관두었다.
전혀 감을 잡지못하고 있다가 hint를 확인하였다.

2번째 프레임을 따로 저장하고 music.exe 파일 실행시 생성된 private.key 를 이용하여
프레임을 rsa로 복호화하였다.
# openssl rsautl -decrypt -inkey key.txt -in enc.txt
The best security group. WoWHacker

이때 00 으로 인해 뒤에 문자열들이 끊어져보이는데 실제 사용되는 값은 64bytes 이다.

54 68 65 20 62 65 73 74 20 73 65 63 75 72 69 74  The.best.securit

79 20 67 72 6f 75 70 2e 20 57 6f 57 48 61 63 6b  y.group..WoWHack

65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00  er..............

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

이를 이용하여 blowfish로 다른 프레임을 하나씩 복호화 후 재생하여

can't take my eyes off you 를 들을 수 있었다.
 

can't take my eyes off you