문제에 들어가면 입력창이 하나가 있다.

페이지의 소스를 보면 다음과 같은 스크립트를 볼 수 있다.

위 내용을 해석해보면 ul의 값과 input_pwd(입력값)이 같으면 password를 출력하는데

ul 값은 url에서 ".kr"의 시작위치 곱하기 30을 한 값이다.

http://webhacking.kr/challenge/javascript/js1.html 에서 .kr은 17번째 index에서 시작하고, 17*30=510 이다.

510을 입력하면 password가 출력되고, 이 값을 인증하면 문제가 해결된다.

'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 17  (0) 2019.06.13
[webhacking.kr] Challenge 16  (0) 2019.06.08
[webhacking.kr] Challenge12  (0) 2019.06.06
[webhacking.kr] Challenge 15  (0) 2019.03.08
[webhacking.kr] Challenge 11  (0) 2019.03.07

문제에 들어가면 javascript challenge 라고 되어있고,

페이지의 소스를 보면 다음과 같은 스크립트를 볼 수 있다.

아스키 코드처럼 보이는 난독화된 스크립트를 볼수 있는데 

이 스크립트의 WorkTimeFun을 console.log로 콘솔창에 출력하면 읽을 수 있는 형태가 된다.

이 코드 if안에 있는 값이 우리가 알아내야 할 password 인것 같다.

if문 안에 있는 값을 콘솔에 입력하면 

youaregood~~~~~~! 라는 값이 나오는데 이 값을 인증하면 문제가 해결된다.

'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 16  (0) 2019.06.08
[webhacking.kr] Challenge 14  (0) 2019.06.06
[webhacking.kr] Challenge 15  (0) 2019.03.08
[webhacking.kr] Challenge 11  (0) 2019.03.07
[webhacking.kr] Challenge 10  (0) 2019.03.06

문제를 보면 Access_Denied 라는 경고창이 뜬다.


확인을 눌러보면 password ~~ 하는 문자열이 잠시 나오고 사라진다.

잠시 나올때 그 부분을 캡처하면 다음 내용을 볼 수 있다.


여기서 나온 password값을 인증하면 문제가 해결된다.

50점인 이유가 있는 것 같다..


'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 14  (0) 2019.06.06
[webhacking.kr] Challenge12  (0) 2019.06.06
[webhacking.kr] Challenge 11  (0) 2019.03.07
[webhacking.kr] Challenge 10  (0) 2019.03.06
[webhacking.kr] Challenge 3  (0) 2019.02.21


문제를 보면 pat 라는 변수에 정규식을 저장하고 있다.

정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.


그리고 그 밑에줄의 코드를 보면 preg_match() 라는 함수를 사용하고 있는데, 이 함수는 php에서 문자열을 매칭시키는 기능을 한다.

그래서 이 코드를 해석해보면 pat의 값을 val에 GET형식으로 매칭시켜주면 Password를 출력해 주는 것 같다.


다음은 PHP 정규식을 설명한 표 이다. (출처 : https://iam777.tistory.com/m/306)

이 표를 보고 정규식을 해석해보면 1에서 3 사이의 숫자 1개, a에서 f사이의 알파벳 5개, 그리고 \t는 tab를 의미하는데, url 인코딩 하면 %09 이다.

따라서 1aaaaa_.*ip주소.*%09p%09a%09s%09s/가 나온다.


이 변수를 val 파라미터 값으로 넘겨주면 문제가 해결된다.




'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge12  (0) 2019.06.06
[webhacking.kr] Challenge 15  (0) 2019.03.08
[webhacking.kr] Challenge 10  (0) 2019.03.06
[webhacking.kr] Challenge 3  (0) 2019.02.21
[webhacking.kr] Challenge 6  (0) 2019.02.18


10번 문제에 처음 들어가면 볼 수 있는 화면이다.

회색공간의 O에 커서를 가져가면 순간적으로 yOu라고 바뀌는 것을 볼 수 있다.


이 부분의 소스코드를 확인해 보면 다음과 같은 코드가 있다.

코드를 읽어보니 posLeft가 800이 되면 ?go 라는 페이지로 이동하게 되고(if(this.style.posLeft==800)this.href='?go='+this.style.posLeft"),

한번 클릭을 할 때 마다 posLeft가 1씩 증가한다. (onclick="this.style.posLeft+=1)

또한 현재 값은 0이다.


그러나 클릭을 아무리 많이 해도 화면상의 변화가 보이지 않는다.

구글링을 통해 확인해 봤더니 이 문제는 internet explorer 브라우저에서 적용된다고 한다....ㅠ


ie브라우저에서 문제를 다시 확인해보면 여러번 클릭했을 때 다음과 같이 'O' 글자가 이동하는 것을 볼 수 있다.

이것을 800번 누르면 문제가 해결되는것 같은데 800번 누르기는 매우 힘들기 때문에 한 번 클릭씨 800이 증가하게 소스코드를 수정해 주었다.


다음과 같이 800으로 변경하고 한번 클릭하게 되면 left 값이 800이 되어 문제가 해결된다.





'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 15  (0) 2019.03.08
[webhacking.kr] Challenge 11  (0) 2019.03.07
[webhacking.kr] Challenge 3  (0) 2019.02.21
[webhacking.kr] Challenge 6  (0) 2019.02.18
[SuNiNaTaS] Forensic 31  (0) 2019.02.11

문제를 보면 퍼즐이 있는데 로직 퍼즐 인것 같다.

로직은 숫자만큼 비어있는 칸을 색칠하는 규칙을 가진 형태의 퍼즐이다.

빈 칸을 클릭해보면 검은색으로 칠해진다.

이 퍼즐을 풀어보면 다음과 같은 모양이 나온다.


밑에 gogo 버튼을 누르면 이름을 입력하는 칸이 나온다.

이 칸에 admin이라고 입력하고 write를 누르면 

이런 내용이 나왔다.

여기의 answer값을 인증시켜 보니 답은 아니였다.

다시 name 칸으로 돌아가 소스를 확인해 보니 입력 받는 곳의 코드는 이렇게 되 있었다.


value의 값을 참으로 해주기 위해 위 코드에 or 1 을 추가해 보았다.

1을 입력하고 write를 클릭하니 no hack 라고 나왔다.

or 이라는 문자열을 필터링하는 것 같다.


or과 같은 뜻을 가진 기호인 ||를 사용하여 코드를 수정해 보자.


수정 후 1을 입력하면 다음과 같은 내용이 나오고 answer값을 인증하면 문제가 해결된다.












'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 11  (0) 2019.03.07
[webhacking.kr] Challenge 10  (0) 2019.03.06
[webhacking.kr] Challenge 6  (0) 2019.02.18
[SuNiNaTaS] Forensic 31  (0) 2019.02.11
[SuNiNaTaS] Forensic 30  (0) 2019.02.10

문제를 보면 힌트에 base64가 있고, index.phps로 들어갈 수 있다.

index에 들어가보면 php 코드들이 있는데 

이 부분을 보면 base64로 20번 인코딩 되어 있는 것을 확인 할 수 있다.

쿠키값을 보게되면 base64로 인코딩 되어 있는 것을 볼 수 있다.


그리고 php코드의 아랫부분을 보면 

디코드 한 아이디와 패스워드의 값이 admin이면 문제가 해결되는 것 같다.


admin을 base64로 20번 디코딩 하면 다음과 같은 값이 나온다.


이 값을 user과 password의 쿠키 값에 넣으면 문제가 해결된다.


'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 10  (0) 2019.03.06
[webhacking.kr] Challenge 3  (0) 2019.02.21
[SuNiNaTaS] Forensic 31  (0) 2019.02.11
[SuNiNaTaS] Forensic 30  (0) 2019.02.10
[SuNiNaTaS] Forensic 29  (0) 2019.02.09


pdf 파일을 다운받아서 열어보면 다음과 같은 내용이 있다.


이 pdf를 PDFStreamDumper 이라는 pdf파일 분석 툴을 이용하여 분석해 보겠다.

이렇게 40개의 항목들로 나눠져 분석이 되는데 39번을 보면 pdf헤더가 존재한다.

이 39번을 pdf 파일로 추출할 수 있다.

39번을 우클릭하고 Save Decompressed Stream 을 클릭하고 확장자를 pdf로 저장하면 pdf 파일로 추출할 수 있다.

추출한 pdf를 열려고 하니 잠겨있다. 


온라인 pdf 잠금 해제 하는곳에서 잠금 해제를 할 수 있다

https://smallpdf.com/kr/unlock-pdf


잠금 해제된 pdf를 다시 열면 키값을 찾을 수 있다.






'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 3  (0) 2019.02.21
[webhacking.kr] Challenge 6  (0) 2019.02.18
[SuNiNaTaS] Forensic 30  (0) 2019.02.10
[SuNiNaTaS] Forensic 29  (0) 2019.02.09
[SuNiNaTaS] Forensic 28  (0) 2019.01.31

문제를 보면 3가지의 문제가 있고, 파일을 다운로드하면 메모리 덤프 파일을 얻을 수 있다.


메모리 분석 툴인 볼라틸리티(volatility)를 활용해서 풀어보겠다.

우선 imageinfo를 활용하여 이미지의 정보를 확인해 보았다.

이 정보를 확인 해야 이것을 활용하여 다른 명령어가 사용 가능하다.

정보를 확인하면 Windows7 OS를 사용하고 있고, --profile 옵션으로 프로필 정보를 써야 다른 정보를 얻을 수 있다.


첫 번째 문제인 김장군 PC의 IP 주소는 netscan 명령을 이용하여 확인할 수 있다.

위 정보를 보면 IP 주소는 192.168.197.138 이다.


두 번째 문제인 기밀문서 파일명은 프로세스 정보를 확인하여 실행한 프로세스들의 정보를 확인해 보아야겠다.

프로세스들의 부모자식 관계를 보여주는 pstree 명령으로 확인을 해 보았다.

정보를 확인해 보면 cmd 프로세스를 통해 notepad(메모장)가 실행되었다.


cmdscan명령을 통해 cmd로 실행한 notepad의 정보를 더 얻을 수 있다.

파일명과 그 파일의 경로를 알 수 있다. 파일 명은 SecreetDocument7.txt 이다.


세 번재 문제인 문서의 내용을 보려면 파일 추출 도구인 r-studio를 이용하여 저 문서의 내용을 확인 할 수 있다.

데모 버전을 사용하여도 기본적인 파일 추출은 가능하다.

메모리 덤프 파일을 스캔한 후에 cmdscan으로 얻은 경로에 들어가보면 문서를 확인할 수 있다.

key값은 4rmy_4irforce_N4vy 이다.


답들을 조합하여 md5로 해시하면 문제가 해결 된다.






'Security & Hacking > Wargame' 카테고리의 다른 글

[webhacking.kr] Challenge 6  (0) 2019.02.18
[SuNiNaTaS] Forensic 31  (0) 2019.02.11
[SuNiNaTaS] Forensic 29  (0) 2019.02.09
[SuNiNaTaS] Forensic 28  (0) 2019.01.31
[SuNiNaTaS] Forensic 26  (0) 2019.01.27

문제 파일을 다운로드 받으면 Windows7(SuNiNaTaS) 라는 파일이 다운로드 된다.


이 파일을 HxD에 넣어 파일 시그니처를 확인 해 보면 

egg 파일이다. 확장자를 .egg로 바꾸어 확인을 해보면 

vmware 가상머신 파일임을 알 수 있다.

가상머신을 실행 시켜보면 Windows7로 부팅할 수 있는데 부팅을 하면 

30초 뒤에 자동으로 꺼지도록 설정이 되어 있다.

cmd에서 shutdown /a 명령어로 설정을 제거한다.


첫 번째 문제는 네이버에 들어가면 사이버 경찰청 홈페이지로 들어가지는 원인을 찾아야 한다.

hosts파일이 변조되어 naver 주소가 사이버 경찰청 ip로 연결 되어 있는 것 같다.

hosts 파일의 경로는 C:\Windows\System32\drivers\etc 에 있다.

이 폴더를 보면 hosts파일이 있는데 txt 파일이다. hosts파일은 원래 txt 파일이 아니다. 

폴더 옵션에서 숨김파일 표시로 설정하게 되면 

hosts 파일이 나타나게 된다. 

hosts 파일을 메모장으로 열어보면 key값이 보인다.


두 번째 문제를 보면 키 로거의 절대 경로 및 파일명을 알아내라고 한다.

컴퓨터에서 최근위치를 가보면 여러 폴더들이 있는데 그중 v1valv 폴더에 들어가 보면 C:\v196vv8\v1valv\Computer1\24052016 #training\ss 경로에 

9.jpg 파일을 보면 키 로거의 절대 경로를 알 수 있다.


세 번째 문제를 보면 키로거가 다운로드된 시간은 BrowsingHistoryView 라는 프로그램을 써서 

모든 시간대로 설정하고 프로그램을 실행시키면 다운로드된 시간을 찾을 수 있다.


네 번째 문제를 보면 키로거를 통해 알아내고자 했던 내용은 

2번 문제를 해결하기 위해 접속했던 C:\v196vv8\v1valv\Computer1\24052016 #training 폴더에 z1.dat 파일을 메모장으로 열어보면 key 값이 보인다.


4개의 답들을 조합하여 md5로 해시하면 문제가 해결된다.









'Security & Hacking > Wargame' 카테고리의 다른 글

[SuNiNaTaS] Forensic 31  (0) 2019.02.11
[SuNiNaTaS] Forensic 30  (0) 2019.02.10
[SuNiNaTaS] Forensic 28  (0) 2019.01.31
[SuNiNaTaS] Forensic 26  (0) 2019.01.27
[SuNiNaTaS] Forensic 21  (0) 2019.01.24

+ Recent posts