CTF/N0named CTF

[N0Named CTF - Write Up[A]] 입사테스트 [1]

Ron Weasley 2021. 8. 29. 22:36

안녕하세요. 이번 시간에는 Forensic Season 1A 카테고리에 입사테스트[1]을 해보겠습니다.

먼저 문제를 보겠습니다.

이전 문제에 풀었던 회사에서 이런 문제를 냈나봐요 ㅎㅎ 그럼 바로 풀어드려야죠 주어진 파일을 다운 받아봅시다.

zip파일로 되어있네요 그럼 압축을 풀어보겠습니다.

오잉...? 왠 압축 파일안에 F14g.txt파일을 제외한 모든 파일 확장자 뒤에 보시면 *이라고 있습니다. *이 적혀 있다는건  파일이 암호화 되어있다는 것입니다. 즉 우리는 비밀번호가 걸려있는 파일의 패스워드를 찾아서 풀어야 한다는 의미입니다. 이때 우리는 무차별 대입이라는 brute-force 기법을 활용할것 입니다.

 

Brute-force란?

  무차별 대입 공격이라고 불리며 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미합니다. 쉽게 말해서 특정한 파일에 암호화가 되어 있으면, 무차별 대입 기법을 이용해서 암호화 키를 얻고 얻은 키를 가지고 암호를 해독하는것입니다.

 

그럼 brute-force를 기용해서 비밀번호를 풀어봅시다. 사용된 툴은 말씀드리지 못하는점 이해좀 부탁드립니다.

 

풀어보면 password for this file로 비밀번호가 나오는것이 보이나요???

그럼 해당 zip파일에 압축을 풀 때 저 비밀번호를 적어봅시다.

이렇게 입력을 해보면 압축이 풀리는 것을 알 수 있습니다.

풀린 flag.txt파일을 보면 플래그값이 나와 있습니다.

이렇게 입사테스트[1]을 풀어 보았는데 간단하죠???

 

어라라...근데 플래그를 읽어보니까 this is not a real flag find a real flag! 해석하면 이 플래그는 진짜 플래그가 아니다. 찾아라 진짜 플래그를!!!!!!!!!!!! 이게 무슨 장난질을 하는것도 아니고ㅠㅠㅠ 아마 F14g.txt만 압축 풀면 이런식으로 오류가 아마 뜰겁니다.

CRC오류라고 뜨는것이 보이나요?? CRC는 짧게 설명하자면 데이터를 전송할 때 전송된 데이터에 오류가 있나 없나 체크를 하는 친구인데, 각자 찾아보시길 바랍니다.

그럼 CRC를 복구해줘야 하니까 복구 툴을 쓰면 될겁니다. 복구툴은 사정 상 알려드리진 못하고 툴을 가지고 파일을 풀어보면 이런식으로 제대로 된 플래그 값이 존재합니다.

 

근데 저는 zip파일의 특정 플래그값을 변환 시키면 암호가 풀린다는걸 인지하고 그 기법을 사용해봤으나, 불가능해서 일단 많이 알려진 brute-force기법을 이용하였는데 문제를 푸시는 사람들은 전부다 고수이기 때문에 다른 방법을 이용해서 풀어보도록 하십셔~ 다음엔 "길에서 주어온 만두"라는 문제를 풀어보겠습니다. 좋은 하루 되세요~!