워밍업 5번.. 어려웟던 프로그래밍


이제 시작합니다.




이것이 문제입니다.


의사코드를 저것으로 바꾸라는데.. 한번 바꿔볼까요..


프로그래밍은 C#으로 해보도록 하겠습니다.


중간중간 오버 플로우가 나는 바람에.. 고생도 했습니다.


파이썬과 c# 두가지 언어를 동시에 사용했습니다 ㅋㅋㅋ


파이썬에 실력있는 분들은 이런짓 안하시겟지요 ㅠ-ㅠ


파이썬을 처음 다뤄봐서 어쩔수 없었답니다 ㅋㅋ




안보이시면 클릭해서 보세요 ^^


위 처럼 프로그래밍 했습니다.



마지막 값이 위 연산에 대한 값입니다.



그 다음 파이썬 쉘에 다음과 같은 명령을 내립니다.


print(hex(14923134021350632102839378537 609377234220815057424830202)) //안의 값을 더해 헥스형태로 출력


"323031325f4f6c796d703163".decode("hex") // 헥스값을 디코딩 시킨다.


Password is : 2012_Olymp1c



워밍업 4번 시작합니다.


3번 풀다보니 힌트가 이미 공개되 잇어서 쉽게 풀엇습니다.


Content
사이버 수사대 1팀 김우현.

그는 무언가를 숨기고 있다.

그가 숨기고 있는 것을 알아내라!


File:
Ghost.jpg





원본 이미지는 지극~히 정상입니다.


하지만 뭐가 숨겨져 있길래 그러는걸까요?


아마 다른분들은 유령 - 스테가노그래피 로 생각하셔서 openstego 를 쓰신 분도 있을것 같지만,


#1. End of Image
#2. 4D 5A 90 00
#3. 숨김 파일


이라는 힌트가 공개 되었습니다.


그중 2번의 헥스코드는 실행파일의 시그니쳐 입니다.


winhex 로 사진을 열어봅시다.




위에는 지극히 정상인 사진 파일입니다.



실행파일의 시그니쳐인 저 값을 찾아봅시다.



찾앗습니다.


위의 end of image 와 recover this file for exe 를 보면 힌트라는걸 알수 있습니다.


힌트대로 exe 만 추출해봅니다.



파일 윗부분을 자르고



파일에 추출을 성공했습니다.



알집의 exe 압축 파일입니다.



압축을 풀면 특정 폴더에 저장이 됩니다.


그중 QR코드가 가장 먼저 의심 스러워서 보는데, 또 색반전이 필요할것 같습니다.




색반전을 시킨 다음, qr 코드를 스캔합니다.



Password is HADES!^^






워밍업 문제 3번입니다.


생각보다 해멧던 문제입니다.


막상 해보고 나면 아무것도 아닌데..


문제 :


키가 187인 나쁜 동현이가 내 보물을 훔쳐갔다.

동현이의 컴퓨터에 MITM 공격을 해서 패킷을 캡쳐했다.

단서를 찾아 보물을 찾아오자


File:
evidence.pcap



mitm 이란 중간에서 패킷을 가로채는 arp spoofing 공격과 비슷합니다.


암튼 이 공격으로 패킷 내용을 빼왔다고 하네요


Hint

#1. HEYMAN
#2. EOF (End of File)



문제를 풀 당시 생각보다 사람들이 많이 풀지 못했습니다.


그래서 힌트를 두개씩 내놓자 한명 두명 풀기 시작하고 저는 2시간 만에 풀었네요


진짜 별것 아닌데..



어쩃거나.. 제 경험이 부족한거니 어쩔수 없이 생각하고 문제를 풀어봅시다.


일단 pcap 파일은 와이어 샤크라는 패킷 캡쳐및 분석 툴에서 분석이 가능합니다.


저는 와이어 샤크를 이용해서 문제를 풀어보겠습니다.




처음 와이어 샤크 패킷을 캡쳐한 것을 불러왔습니다.


사실 이것은 약간 노하우가 있긴 하지만 말로 설명하기엔 좀 그러니까


여러번 분석해보면 자신의 노하우가 생깁니다.


그런 노하우나 아니면 일일히 패킷을 대조하면서 수상한 패킷을 찾아 냅니다.



mfile.naver.com 의 서버에서 어떤 파일을 잡아냅니다.


그리고 힌트에서도 있는 heyman 입니다.


저것을 들어가 볼까요!? 이렇게나 쉽게 풀리다니..



이게 이미지 를 받아오는 부분입니다.



는 무슨 Access Denied 가 뜹니다.


하지만 방법이 있습니다.


pcap 는 패킷의 내용을 통채로 담고 있기 때문에, 저 jpg 파일은 pcap 안에 들어있는것과 마찬가지입니다.


그렇다면 추출을 할수 있다는것으로, 추출을 해야 합니다.





이런 순으로 export > objects > http 로 들어가신 다음




아까 이미지를 받아오는 부분의 패킷 넘버[캡쳐된 순서]를 찾아봅니다.


패킷 넘버는 15049 입니다.



역시나 heyman 파일이 존재합니다.


이제 저 파일을 save as 로 저장합니다.


확장자가 이상하게 되어있을테니 정확히 jpg 로 바꿔줍니다.




이쁜 손글씨와 함께


해커는 그곳으로 오라는 메세지를 남겼습니다.


제가 해맨곳은 바로 이곳입니다.


그곳.. 이라 하면 패킷을 조금더 뒤져봣지만 올림픽을 갓다오고, 아이유등 여러 아이돌을 검색한 흔적밖에 없어서


런던이라는 답을 제출 했지만 아니었습니다.


하지만 EOF 라는 힌트가 공개되고 감이 잡혔습니다.


end of file 이란 파일의 끝을 의미합니다.


그래서 설마 설마 했던 저 그림을 헥스 에디터로 보게 되었습니다.



아... 잘 보이시나요?


드래그 부분을 잘 살펴보세요


blog.naver.com/xlej1234


바로 저곳으로 접속해봅시다.



첨부 파일을 2개가 있는데 두개 모두 사진파일입니다.


그 사진파일 하나는 gif, jpg 인데


파일 하나씩 반씩 잘려있습니다.


그 두 파일을 함께 보면.




Password is I_want_to_have_girlfriend.


긴글 읽으시느라 수고하셨습니다.


순천향대의 워밍업 2번입니다.


문제 :

Content

Downlod This File :p




주어진 파일은 3개입니다. 처음 navi.zip 으로 압축되어있던것을 풀었습니다.




동굴의 위치를 찾아라가 문제입니다.


그렇다면 왠지 위치를 알려주는 정보가 있을것입니다.


다른 파일을 봐야겠습니다.




위도 : 36.9886987 경도 : 128.3830274


의 값이 나와있습니다.


그러면 좌표주소를 입력하면 위치를 알수 있는 지도를 알아야합니다.


유일하게 지원하는 지도는 구글의 구글맵 입니다.


구글 맵에 36.9886987, 128.3830274 를 검색합니다.




그렇다면 고수동굴 이라는 동굴이 나왔습니다.


급한 마음에 이것을 인증하려고 했는데, 워밍업이라도 이렇게 쉬울까!? 해서 나머지 1개 파일인 압축 파일을 열기로 했습니다.





압축파일을 열었는데 왠걸 패스워드가 걸려있습니다.


압축파일 이름은 암호는 동굴 이름 이라고 적혀있는것으로 보아


아까 고수동굴은 이 문제2를 열기위한 암호였던것 입니다.




고수동굴을 그대로 영어로 입력합니다.


그러면 rhtnehdrnf 으로 입력됩니다.



이게 문제2 입니다.


아래 qr 코드만 찍으면 성공입니다.


하지만 찍어도 안찍히길래 뭔가 이상했습니다.


일반적인 qr 코드가 아닌겁니다.



아마 다 같은 생각을 했을겁니다. ㅋㅋ


그래서 정상적인 qr 코드를 만들기 위해서 약간의 작업이 필요 합니다.



그림판으로 그림을 불러오고, ctrl a 로 영역을 모두 설정합니다.





그 다음 색 반전을 누르면



우리가 원하는 대로 qr코드가 제대로 완성이 되었습니다.




QR코드를 스캔하면


Key is Ar3_Y0u_Tr34sur3_Hunt3e!?




안녕하세요 sweetchip입니다.


이번에 정보보호 페스티벌에서 26위를 하게 되었네요.


10위 안에 들어야 본선인데 생각보다 지난 인하대학교 화이트 해커 경진대회보다는 문제를 많이 풀게 되었습니다.


그만큼 실력도 늘었지만, 아직은 많이 부족하다고 느끼고 있습니다.


풀었던 문제를 다시 리뷰 하기 위해 문제 풀이를 작성하겠습니다.


가장 간단한 워밍업 1번입니다.


문제 :


Content
"시작은 미미하지만 그 끝은 창대하리라"

안녕하세요~ 첫문제는 간단하게 가볼까요?

소스를 보세요! :D



역시 워밍업 1번 답습니다.


간단하게 소스를 봅니다.




17번째 줄에 인증키를 얻으려면 쿠키를 보세요.


지금 당장 쿠키를 보러 달려갑시다.


인터넷 익스플로러에선 cooxie 툴바를 이용해서 볼수도 있습니다만


저는 스니퍼를 이용해서 날라가는 쿠키를 보도록 하겠습니다.





날라가는 쿠키에 AuthKey 가 있습니다. 눈치가 있다면 이게 바로 정답이라는걸 알것입니다.


Key is Welc0me_t0_Y1SF_GoodD4Y

C Source




매우 간단한 소스


10번 printf 후 자동으로 꺼짐을 방지한다.



올리디버거로 디버깅 한 결과--------------------------------------------------------------







00F41000 >/$ 56 PUSH ESI

00F41001 |. 57 PUSH EDI

00F41002 |. 8B3D 9C20F400 MOV EDI,DWORD PTR DS:[<&MSVCR100.printf>]


--------------- For 문 진입


00F41008 |. 33F6 XOR ESI,ESI ; ESI 값을 xor 연산 해서 초기화 시킴

00F4100A |. 8D9B 00000000 LEA EBX,DWORD PTR DS:[EBX]


00F41010 |> 46 /INC ESI ; ESI 를 1 증가시킴

00F41011 |. 56 |PUSH ESI ; 스택에 저장

00F41012 |. 68 F420F400 |PUSH OFFSET IF.??_C@_0BA@BFGFEAAF@For?$LJ?$KO?5?$CFd>

00F41017 |. FFD7 |CALL EDI ; printf for문 %d 번째 출력

00F41019 |. 83C4 08 |ADD ESP,8 ; esp 에 8을 더함

00F4101C 83FE 0A CMP ESI,0A ; ESI 값이 16진수 0A 인지 비교함 [10진수로 10]

00F4101F |.^ 7C EF \JL SHORT IF.00F41010 ; 낮을경우 00F41010 으로 점프시킴


----------------- for 문 끝


00F41021 |. 68 0421F400 PUSH OFFSET IF.??_C@_05PDJBBECF@pause?$AA@

00F41026 |. FF15 A420F400 CALL DWORD PTR DS:[<&MSVCR100.system>] ; system pause.




어렵다 ㅠㅠ




+ Recent posts