b5.jpg라는 이미지와 함께 Username, Password를 입력하는 창이나옵니다.


이미지를 통해 Username, Password를 얻어야 할 것으로 보입니다.



b5.jpg을 클릭해보니 다음과 같은 사진이 나와서 분석해보기 위해 다운을 받았습니다.



HxD라는 툴을 사용하여 보던중 맨 밑에 PK라는 낯익은 파일 시그니처가 보입니다.


PK는 ZIP파일의 파일 시그니처로 이미지는 ZIP파일을 숨기고 있는 것으로 판단됩니다.

(스테가노그래피)



PK부분부터 끝까지 따로 때내어 새로운 파일을 만들어 볼수 있습니다.

HxD로도 secret.txt라는 파일이 있다는 것을 확인할 수 있습니다.








[참고]

파일 시그니처: http://forensic-proof.com/archives/300


기본적인 파일 시그니처는 익숙해지시는게 좋습니다.

'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] javascript level4  (0) 2018.08.24
[HackThis] javascript level3  (0) 2018.08.23
[HackThis] javascript level2  (0) 2018.08.23
[HackThis] javascript level1  (0) 2018.08.23
[HackThis] basic+ level1  (0) 2018.08.23

b1.txt라는 파일을 받을 수 있으며

Username, Password를 입력하면 풀리게 됩니다.



b1.txt를 받아서 열어보면 다음과같이 시작하고 이상한 글자들로 가득합니다.



혹시 HxD로 열어보면 뭔가 보이지 않을까해서 열어봤고,

보통 파일유형에 따라서 파일 시그니처라는 것이 있는데 42 4D값은 BMP, DIB라는 

Graphics - Windows Bitmap Format입니다.



bmp라는 이미지 확장자라는 것을 알았으니 확장자를 bmp로 바꾸고 열어보면

다음과 같이 이미지로 user와 pass를 알려줍니다.





[참고]

파일 시그니처: http://forensic-proof.com/archives/300

'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] javascript level4  (0) 2018.08.24
[HackThis] javascript level3  (0) 2018.08.23
[HackThis] javascript level2  (0) 2018.08.23
[HackThis] javascript level1  (0) 2018.08.23
[HackThis] basic+ level5  (0) 2018.08.23

18번의 이어서 Cipher 문제입니다.

0과 1로만 이루어져 있는 수 많은 수를 보면 어쨌든 어떤 10진수가 될거고 

그게 문자가 될꺼라고 생각합니다.



python을 통해 전체 길이를 확인하니 624글자가 됩니다.

이게 어떤 문자의 2진수를 이어붙인 것이라면 일정한 간격으로 떼어놓고 풀어야겠죠?


보통 8bit 단위로 문자를 쓰기때문에 8자리로 나눠서 해봤습니다. 

(마침 길이도 624/8은 나누어 떨어지죠)


앞에 총 24개의 이진수를 8개씩 나눠 문자열로 변환해보니 NVC라는 값이 나왔습니다.

무슨말인지는 모르겠지만 이 방법이 맞는거 같아 진행합니다.



일일이 나눠도 되지만 

python에는 list compression이라는 깔끔하게 한줄로 코딩할 수 있는 기능이 있습니다.

모두 8개의 숫자로 나눠서 리스트에 저장합니다.



각각의 값들을 문자열로 바꿔주면 다음과 같은 내용이 나오는데 뭔가 잘못한줄 알았습니다.

하지만 암호학을 배우신 분들이라면 전치암호라는 말을 들어보셨을 겁니다.


전치암호는 암호문과 평문이 1:1 대응을 이루고 있습니다. 

그렇다는건 아래 알파벳들이 원래는 다른 알파벳이 아닌가 유추할 수 있습니다.


'R'이라는 문자가 혼자서 쓰이고 있습니다. 영어에서 보통 혼자 쓰이는 문자는 a, i 두가지 입니다.

① 'R'이 'A'였다고 가정합니다.


ABCDEFGHIJKLMNOPQRSTUVWXYZ


R과 A의 거리는 17입니다. 이게 맞다고 가정하고 다른 문자를 바꿔보겠습니다.

(Z까지 이동하면 다시 A로 시작)

REU라는 문자는 IVL이라는 알수없는 문자가 됩니다.


② 'R'이 'I'라고 가정합니다.


ABCDEFGHIJKLMNOPQRSTUVWXYZ


'R'과 'I'의 거리는 9입니다.

REU라는 문자는 AND



아래 python 코드를 이용해 결과값을 도출하였습니다.




'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_15 [FORENSIC]  (0) 2018.09.06
SuNiNaTaS_3 [WEB]  (0) 2018.09.06
SuNiNaTaS_18 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_14 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_6 [WEB]  (0) 2018.08.22

+ Recent posts