[목차]

 

 

1. 페이지 접속 및 힌트 찾기

2. 콘솔 창 확인

3. 자바스크립트 파일 찾기

4. 코드 확인

5. 복호화 작업

6. 가입

 

 

 


 

 

 

1. 페이지 접속 및 힌트 찾기

 

 

아래 페이지에 접속한다.

https://www.hackthebox.eu/

 

 

 

우측 상단 [Join Now]를 클릭하면

다음과 같은 화면이 보이면서 초대 코드를 입력하라고 한다.

 

 

 

바로 아래

초대 코드에 대한 힌트가 주어져 있는데

이를 눌러보면 console 창을 체크해보라고 한다.

 

 

 


 

 

 

2. 콘솔창 확인

 

 

 

F12를 눌러 개발자 도구를 실행 > console 창에 가보면

다음과 같은 힌트가 주어지는 것을 확인할 수 있다.

 

 

이 페이지는 흥미로운 Javascript 파일을 로딩하니

한 번 찾아보라고 한다.

 

 

 


 

 

 

3. 자바스크립트 파일 찾기

 

 

 

찾는 방법은 여러 가지가 있는데

1) Elements 창을 클릭해 페이지 소스코드를 보면

 

 

 

 

/js/inviteapi.min.js

경로를 확인할 수 있고

해당 경로에 들어가 보면

 

 

 

 

알아보기 힘든 난독화 되어있는

자바스크립트 코드를 확인할 수 있다.

 

 

 

2) [Ctrl + u] 혹은 [view-source:url]

을 입력해 페이지 전체 코드를 확인해보면

 

 

파란 줄 가있는 경로들을 하나씩 확인해 보며

연관된 이름의 경로를 찾아보는 방법이 있다.

 

 

 

3) Souces 탭을 선택해

바로 코드를 확인해 보는 방법도 있는데

 

 

처음에는 뭐가 뭔지 모르기 때문에

꽤 오래 해멜 수 있다.

 

 

 


 

 

 

4. 코드 확인

 

 

우선 전체 코드

eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0 3(){$.4({5:"6",7:"8",9:\'/b/c/d/e/f\',g:0(a){1.2(a)},h:0(a){1.2(a)}})}',18,18,'function|console|log|makeInviteCode|ajax|type|POST|dataType|json|url||api|invite|how|to|generate|success|error'.split('|'),0,{}))

를 복사한 뒤 아래 페이지에 접속해 정리해보면

 

https://beautifier.io/

 

 

makeInvitecode()라는

함수를 확인할 수 있고

 

 

함수 내용에서

여러 관련 정보를 또한 얻을 수 있다.

 

 

POST / json 포맷의 데이터 /

/api/invite/how/to/generate URL

 

 

하지만 무턱대로 url에 접속해 보면 에러 페이지를 만난다

 

 

다시 invite challenge 화면에서

개발자 도구의 console 창 접속 >

makeInvteCode();

함수를 입력해 보면

 

다음과 같은 메시지를 확인할 수 있는데,

 

 

 

'힌트 : 데이터가 Base64 방식으로 암호화되어있다.'

 

 

 

왠지 해당 데이터를 복호화해주면 될 듯해

아래 base64 디코딩 사이트에서 복호화를 시도해보면

https://www.base64decode.org/

 

 

 

 

데이터의 중요한 부분이 복호화되지 않음을 확인할 수 있는데,

이는 콘솔 창에서 확인한 데이터 값의 중간 부분이 [...]으로 끊겨 있기 때문.

결국 데이터가 완전한 값이 아니므로 복호화에 실패했다.

 

 

 

 


 

 

 

5. 복호화 작업

 

 

우선 암호화된 데이터의 전체 값을 봐야 한다.

윈도우 cmd 창을 열어도 되고

리눅스 터미널을 열어도 된다.

 

열고 나서 아래 명령어를 입력하면,

# curl -X POST https://www.hackthebox.eu/api/invite/how/to/generate URL

 

윈도우 cmd 화면

 

칼리 터미널 화면

 

 

출력 값을 보면

 

 

1) ROT13 방식

Va beqre gb trarengr gur vaivgr pbqr, znxr n CBFG erdhrfg gb \/ncv\/vaivgr\/trarengr

 

혹은

 

2) BASE64 방식

SW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlIGludml0ZSBjb2RlLCBtYWtlIGEgUE9TVCByZXF1ZXN0IHRvIC9hcGkvaW52aXRlL2dlbmVyYXRl

으로 암호화된 데이터를 확인할 수 있고

 

 

 

복호화 시 ROT13 방식은

아래 페이지의 도움을 받거나

https://rot13.com/

직접 복호화 프로그램을 만들어 돌리면 되겠고

 

 

base64 방식 역시 디코딩 사이트에서 해도 되고

https://www.base64decode.org/

암호화된 데이터를 파일에 저장 후 디코딩해도 된다.

 

 

 

 

 

출력 결과는 동일하다.

 

 

/api/invite/generate 페이지를

POST 방식으로 요청하면

초청 코드가 만들어진단다.

 

 

위에서 작업한 것처럼

curl -X POST URL로 요청해도 되고

프락시 도구로 변경 요청해도 된다.

 

 

위에서 한 번 해봤으니

이번엔 버프 스위트로 요청 변조를 해보자.

 

 

코드가 정상적으로 출력된 것을 확인 할 수 있는데

이것도 암호화되어 있다.

 

 

base64 사이트에서 디코딩해본다.

 

 

코드를 얻었다!

 

 


 

 

6. 가입

 

마지막으로 얻은 코드를 입력해 주면

축하 메시지와 함께 가입할 수 있게 된다.

 

 

 

 

가입 후 이메일 인증하면 완료!

 

 

 

열심히 하자!

 

728x90

'OSCP > HacktheBox' 카테고리의 다른 글

3. Popcorn  (0) 2021.04.18
2. Lame  (0) 2021.04.17
1. Time  (0) 2021.04.16
Hack The Box VPN 및 박스 사용법  (2) 2021.04.16
OSCP 시험과 비슷한 Box 리스트  (0) 2021.04.16

+ Recent posts