물먹는산세베리아

[SuNiNaTas] forensic-28번 본문

Waregame & CTF/Forensic

[SuNiNaTas] forensic-28번

suntall 2022. 1. 11. 23:54
문제

Do you have a password?

Does it have a real password? 

I am afraid that this challenge is very esay. (...easy 힌트인가..?)

You need not do brute-force

 

풀이

문제에서 준 So_Simple.zip의 모든 파일들은 비밀번호가 걸려있다.

 

 

저기서 바로 할 수 있는게 없기 때문에 냅다 HxD로 열었다.

Am_I_key.zip

Am_I_key2.txt

Am_I_key3.txt 

의 Central Directory에 대한 부분인데 파일 모두 암호가 걸려 있기 때문에 각 파일에서 암호를 설정하는 부분만 수정해주면 될 것 같다.

 

[ Zip Central Directory 구조 ]

 

ZIP File Format

작성자 : KOROMOON 작성일 : 2016-01-29 첨부 파일에 PDF 파일로 만들어서 첨부함. ( 1 ) ZI...

blog.naver.com

암호화에 대한 내용은 Bit Flag(Flags)에 있다. *링크 참고

각 파일의 big flags 값이 모두 "09 08"로 설정되어 있는 걸 볼 수 있는데 리틀엔디안 방식을 쓰기 때문에 "08 09" → "1000 10001"로 보아야 한다.

여기서 첫번째 bit가 1로 되어 있기 때문에 파일들이 모두 암호화 된 것으로 나타난다.

따라서 1을 0으로 바꿔 "08 08"로 수정하면 암호화를 해제할 수 있다.

 

좌) Am_I_key2.txt 우) Am_I_key3.txt

"08 08"로 수정하여 저장한 후 압축 파일을 풀면 txt 파일에선 위와 같은 내용을 볼 수 있고

Am_I_key.zip에서는 There_is_key.txt라는 파일을 발견할 수 있는데 저 이상한 문자들을 base64 디코딩 하면 답을 알 수 있다. 

 

??

Local File Header의 Bit flag와 Central Directory의 Bit flag가 어떤 차이가 있는지 알아봐야 할 것 같다.

왜  Central Directory의 Bit flag를 수정해야 했는지?

파일 구조 제대로 알아야 할 듯

 

 

정답