Search
Duplicate

42 Common Core 암호문 해독 실전

간단소개
무시무시한 복어 암호의 세계
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
암호
보안
CTF
Treasure hunt
Scrap
태그
암호
보안
CTF
Treasure hunt
9 more properties

근데 이제 뭐함?

이전 글을 참조하여 0, 1 서클에서 가져온 힌트들과 2서클의 암호문을 종합해 보겠습니다.
Large cows generosity comes with charts and four blonde hats to defy upper gravity hero
Plain Text
복사
libft의 힌트로 보아 아래 셋 중 하나만이 믿을 수 있는 힌트로 추정됩니다.
FAMOUS MAN THAT COMES WITH THE ALTERNATE VERSION OF???
Plain Text
복사
FAMOUS MAN THAT HISTORICALLY CAME WITH ???
Plain Text
복사
Famous man that directly believed in ???
Plain Text
복사

Circle 2

원문과 확장자 힌트를 뗀 부분을 나눠 두었습니다.
FRACTOL
FDF
SO_LONG
PIPEX
MINITALK
PUSH_SWAP

이게 뭔 소리여?

Large cows generosity comes with charts and four blonde hats to defy upper gravity hero
Plain Text
복사
libft의 힌트는 문장이 전혀 말이 되지 않아 일단 제쳐두었습니다. 개인적인 추측으로는 cow의 generosity, charts라는 단어로 보아 소고기의 부위 중 하나로 예상하고 있고, 뒷 문장은 4 Non Blondes 라는 밴드의 Spaceman이라는 곡을 말하는 걸로 거의 확신하고 있습니다. (42 특유의 나때는… 하는 취향으로 보아 유력하지 않나 싶습니다. 만든 사람이 누구냐도 중요한 정보가 될 수 있으니까요.) https://youtu.be/ZZ5LpwO-An4?si=aAQFHpQWSQPyg6UY 여담이지만 한번 쯤 들어보셨을 이 곡으로 유명합니다.
FAMOUS MAN THAT COMES WITH THE ALTERNATE VERSION OF???
Plain Text
복사
FAMOUS MAN THAT HISTORICALLY CAME WITH ???
Plain Text
복사
Famous man that directly believed in ???
Plain Text
복사
마찬가지로 아직은 이 힌트들이 어떤 걸 말하는지 확실하지 않아 넘어가기로 합니다. 다른 subject에서 ???이 다시금 언급되는 것을 보아, 빠른 시일 내에 다시 봐야할 것 같습니다.

Blowfish 암호 깨기

Circle 2에서 제시된 문장들은 file.bfe: 이후 base64로 인코드된 암호문이 이어집니다. file.bfe 는 위 암호문이 blowfish 알고리즘으로 암호화되었음을 암시한다고 판단했습니다. 무차별 대입 공격에 저항력이 있는 알고리즘이기에, 브루트포싱을 마지막 옵션으로 남겨두겠습니다. 취약점이 발견되지 않은 암호화 알고리즘이기도 합니다. 귀찮군요.
그럼 처음으로 해야 할 건 사전 공격이 적절할 것 같습니다.
사전 공격의 상상도
libft의 힌트로 문자열을 만들어 대입하기엔 너무도 모호하므로 Famous man 에 초점을 맞춰 사람 이름으로 사전을 만들어 공격해 보겠습니다. 현재 깃헙 등에 여러 효율적인 ‘잃어버린 패스워드 찾기’(ㅋㅋ) 프로그램들이 많지만, 이 특정 알고리즘에 대한 공격기는 찾을 수 없어 새로 만들어야 했습니다. blowfish 알고리즘을 사용한 암/복호화 프로그램인 bcrypt의 소스 코드를 적절히 개조하고 14Gb짜리 전세계 영문 이름 데이터를 파이썬으로 가공해 입력해 주었습니다. 유의해야 할 점은, blowfish 알고리즘이 키의 길이를 32bit에서 448bit까지 가질 수 있다는 거고, 이름이 Case-Sensitive한지 여부도 모른다는 것입니다. 예를 들면,
Albert Einstein alberteinstein AlbertEinstein Albert albert Einstein einstein
Plain Text
복사
사람 한 명마다 이런 공을 들여야 한다는 것이죠. 사전 공격기를 만든 후 실행해 본 모습입니다. (다른 DB를 사용했습니다.)
아름답습니다.
결과는 다음 글로 이어집니다… 재미있는 암호깨기를 하고 싶으시다면, Codebreakers 동아리로 놀러오세요. 카뎃 누구든 환영.