Hack me - 4번문제

Hack me 2015. 7. 13. 18:57

안녕하세요. 오늘은 Hack me 4번 문제를 풀어보겠습니다.

홈페이지로 들어가 4번을 눌러주세요.

pcap로부터 파일을 추출할줄 아시나요? 라고 되어있군요. pcap란 패킷캡쳐파일을 의미합니다. 그럼 패킷이란 무엇일까요? 패킷은 쉽게 말하면 데이터의 단위라고 보시면 됩니다. 데이터가 네트워크를 통해 전송될때의 단위입니다. 그럼 이 패킷의 파일을 추출할 수 있냐고 물어보네요. 흠.. 밑에 Download가 있습니다. 아무래도 pcap같군요. 한번 다운 받아 봅시다.

알 수 없는 파일 형식이라고 뜨는군요. 평범한 파일이 아닙니다.

앞에서 pcap라고 언급을 하였으니 패킷을 캡쳐한 파일인것 같습니다. 그러면 패킷을 캡처하는 프로그램을 열 필요가 있습니다. 근데 그러한 프로그램이 없으니 일단 설치부터 해봅시다.

일반적으로 패킷을 캡쳐하는 프로그램으론 wireshark프로그램이 있습니다. 홈페이지가 존재하니 홈페이지에서 다운 받으시면 됩니다. www.wireshark.org에서 다운받으세요.

설치가 완료되었다면 실행시켜 봅시다.

네 이것이 와이어샤크의 기본화면입니다. 그러면 아까 받은 파일을 열어봅시다. 메뉴바의 File-open을 눌러주세요. 그리고 아래와 같이 아까 받은 파일을 열어봅시다.

네 열렸군요. 간단하게 설명하겠습니다.

1번은 패킷데이터들의 목록입니다. 

2,3번은 선택한 패킷의 세부내용이라고 보시면 되겠습니다.

자 그럼 여기서 우린 무언가를 추출해야 합니다. 그리고 그 무언가는 패스워드지요. 그럼 방법은 둘째치고 뭘 추출해야 할까요?

일반적으로 패스워드는 글자나 이미지 혹은 동영상입니다. 그리고 그 글자나 이미지 등은 문서에 적혀있겠죠. 즉 우리는 문서를 추출해내야 합니다. 문서를 전송하는 패킷을 찾아야 합니다. 그런데 이 많은 곳에서 어떻게 문서를 전송하는 패킷을 찾냐구요? 간단합니다. 일단 패킷을 보시면 프로토콜이 있습니다. 프로토콜이 무엇인지는 다들 아실겁니다. 어떠한 데이터를 보낼때 지켜야하는 규약이지요. 즉 문서를 보낼때는 문서를 보내다는 규약으로 보내야 합니다. 그럼 문서를 보낼때 쓰는 규약은? HTTP입니다. 지금부터 HTTP 패킷만 추출해 봅시다.

상단의 File - Export objects - HTTP를 눌러줍시다.

여기서 Export란 자신의 데이터를 다른 프로그램이 사용할 수 있는 형태로 저장하는 것을 의미합니다. 즉 HTTP패킷을 다른 형태로 저장시킨다는것을 의미하지요. 패킷만 봐서는 우리가 뭘 모르니 우리가 알아볼 수 있는 형태로 저장시킬 필요가 있습니다. 사진을 보니 한개가 나오는군요. 

host는 주최입니다. 즉 이 패킷은 hack me에서 왔다고 볼 수 있습니다.

형식은 text군요. 일단 저장시켜 봅시다. save As를 눌러 저장시킵시다.

저장 위치를 정하고 Save를 눌러줍시다.

저장이 완료되었습니다만 이것이 또 알수 없는 형식입니다. 음... 일단 우린 http에서 추출한 것이므로 text로 볼 필요가 있습니다. text형식으로 볼 수 있도록 메모장으로 열어줍시다.

더블클릭해서 메모장으로 열어줍시다.

더럽게 깨져있습니다. 우리는 알아들을 수 있는 문구만 봅시다. 쭉 찾아보니 아래 빨간상자 쪽에 Password is %s GzvtcevHkngHtqoRecrKuHwp라고 되어있네요. 음 일단 입력해봅시다.

.... 아니라면서 로그아웃 됩니다.. 다시 로그인해서 문제로 들어가주세요..

아무래도 패스워드이지만 암호화가 되어있는것 같습니다. 앞의 %s도 굉장히 거슬리네요.

그런데 뭘로 암호화를 한건지도 모르겠고.. 뭘로 번역해야 될지도 모르겠습니다. 그래서 다시한번 쭉 살펴봤습니다. 아래 그림을 한번 보시죠.

여기서 type을 보시면 text/plain이라고 되있습니다. 처음 봤을때는 그냥 text인줄 알았는데 지금 보니까 뒤쪽의 plain이 굉장히 거슬리는군요. 알아보니까 palin 솔직한 이란 뜻입니다.

그럼 솔직한 텍스트라는 건데.. 뭔가 이상하잖아요. 그래서 palin text라고 검색해봤더니 암호화되지 않은 텍스트 랍니다.. 즉 우리가 추출한 패스워드는 암호화 되어있지 않는 text라는 겁니다.

Password is %s GzvtcevHkngHtqoRecrKuHwp 이것이 암호화가 된것이 아닌 그냥 막친 것이라고 볼 수 있습니다. 그런데 이 패스워드가 답이 아니다.. 그렇다면 이 문구를 암호화한 패스워드가 진짜 정답아닐까 라고 생각이 드는군요. 그렇다면 이 문구를 암호화 해야 겠습니다.

그런데 대체 뭘로 암호화를 시켜야 할지 감도 안옵니다.. 후.. 

그럼 별수 있나요. 노가다를 뛰어야죠. base64 md5 등 될만한건 전부 해봅시다.

base64는 아니구요.

md5도 아니군요.

URL도 아니네요..

찾다가 무심코 생각이 났는데 혹시 홈페이지에 암호화 프로그램이 있을까 하는 생각이 들더군요. 홈페이지로 가봅시다.

홈, 이사이트에 관한 내용, 도전과제, 순위, 게시판, 채팅, 크랙,  연구내용, 링크 , 로그아웃

이중에서 눈에 띄는게 크랙이 있네요. 크랙은 여러 의미가 있지만 그 중에는 시스템 관리자를 위한 유닉스/리눅스 암호 프로그램의 이름도 포함됩니다. 일단 눌러봅시다.

딱 눈에 띄는 글자가 있습니다. plain text 크... 많이 봐왔습니다. 아무래도 암호화프로그램인 크랙이 맞는 것 같습니다. 그 위에 문구가 하나 있군요. 

  • Currently, we only support crack the ROT correctly
  • 지금 우리는 crack the ROT만 올바르게 지원한다. 뭐 대충 이런 뜻이네요. 그리고 중간에 type이 있습니다. type은 Rot, shift , Xor, vigenere가 있는데 vigenere은 비활성화 되어있구요 실질적으로 Rot, shift , Xor중 하나로 암호화가 가능한 것 같습니다. 그런데 이 셋중에 ROT만 올바르게 지원한다는 군요. ROT으로 한번 암호화 시켜 봅시다.

    입력하자마자 바로 무언가가 뜨는군요. 아 참고로 Cipher text는 암호화된 문구란 뜻입니다.

    이 출력된 문구를 입력해봅시다.

    예~~~~~~~~~ 너무 멋집니다. 아니 그전에 이 홈페이지부터 둘러볼걸 그랬네요. 괜히 시간만 날렸습니다... 암튼 문제해결을 마치겠습니다 . 감사합니다.




    'Hack me' 카테고리의 다른 글

    hack me - 15번 문제  (0) 2015.07.20
    Hack me - 35번 문제  (0) 2015.07.15
    Hack me - 2번문제  (0) 2015.07.06
    Posted by englishmath
    ,