Boom
다운받은 boom.sql.7z 파일은 손상되어 완전한 형태로 압축을 풀 수 없다.
복구가 덜 된 boom.sql 파일은
-- Adminer 4.7.5 MySQL dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `images`;
CREATE TABLE `images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(80) NOT NULL,
`image` longblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `images` (`id`, `name`, `image`) VALUES
(4, 'hi-res-ba0782735805201b04a654215730b793_crop_exact.7z', '7z[???]');
-- 2019-12-03 08:38:34
저 [???] 부분이 쿼리문에 따르면 imgae 부분인데
이런 식으로 다 깨져있다.
하지만 'hi-res-ba0782735805201b04a654215730b793_crop_exact.7z'라는 이름의 이미지 파일이 있다는 것을 확인했다.
그리고 MySQL 덤프라고 하니 MySQL을 사용해 저 이미지 파일을 추출해야 할 것 같다.
캡처는 못 떴는데 아래 순서대로 mysql 쿼리 써주고 나면
service mysql start
mysql -u root -p auctf < boom.sql
mysql -u root -p auctf -e "SELECT image INTO DUMPFILE '/tmp/flag.7z' FROM images;"
아래 사진이 나온다
자세히이 보면 여기에 플래그가 있다.
flag: auctf{B00M_!!}
Twice As Secret, Right?
mystery_signal.wav 파일을 받고 이를 Audacity로 열어보자.
파형을 잘 살펴보기 위해 확대해보자.
딱 봐도 모스부호 같다.
거의 8분 가까이 되는 이 음성 파일은 모두 'A', 'B'로 이루어져 있다. 그렇게 이 파형을 A, B로 다 기록해봤다.
BABAAAABAAABABAABABAAABBBAAAAABAABBAABAABAABAABBABABABBAABAAAABAABAABAAAAAAABBAAABBABBAABAAABBB
AABAABAAAAAAABBAAAAABABBABABAAAABAABAAAAAABAAAABAABABABABBBAAABAAAAABABAABAABAAAABBAAAABBABAABA
AABBBAABAAABABBBAABAABBABAAABAABBABABABBAABAAAABBBAABAABAAAAAABAABAAABABBABABBABABBAABAABAAABBB
AABAAABABBAABAABAAABBAAABAAAAAAABBAAABAAAABBBAAAAABAAABBAABAABBABAAAABAABAAAAABBAABAAABABAABAAA
BAABBAABAABAAAAAABAAAAABBBAAABABBABABBABABBAAABBABBAABAAABBBAABAABAAAABABAAABAAABAAABAABAAAAAAA
ABABAABABAABAAABAAABAABABABBABBAAAAABBAAAAAAABAABBAABBAAABBBBAABABAABAAABBBAABAAAABABABABAAAAAA
AABBAABAAABAAABAAAAABAABBAAABABAABAAABABBAAABABBABABABBAABAAABBABABBAAAABAAABBAAAABAAAABAAAAABB
BAAABBAABAABBABAAABAAAAAAABABAABABABAABAAABBBAABAAAABABAAABAAAABAABBABABBAABAABAAABBBAABAABAAAB
AABAAAAABABAAAAAAAAABABBBBABBAAABABAAAAABAAAAABABBAABAABAAAABAAAB
여기서부터 삽질이 시작되는데..
A, B를 0, 1 또는 1, 0으로 보고 아스키로 변환하면 당연히 플래그를 얻을 줄 알았다. 그런데 특문이 나오길래 0, 1이 아니라 '.', '_'로 바꿔서 모스부호를 다시 해석해야 하나 싶었다. 그렇게 A를 '.'으로, B를 '_'으로 변환해 모스 부호 해석을 시작했다. 이게 진짜 삽질인 이유는 띄어쓰기가 따로 없어서 어디까지가 한 글자인지 한 단어인지 모른다는 점이다..
찾아보다가 모스부호를 문자로, 문자를 모스부호로 변환해주는 아래 사이트를 통해
https://morsecode.world/international/translator.html
이렇게까지 단어도 찾았다.. 괜히 희망고문인지 'flag'라는 단어를 찾아서 이게 맞다고 생각했다ㅠ
너무 짧은 단어나 SHE, HE, IS같은 단어는 단어라고 보기에 모스 부호가 너무 짧아서 after, again, flag 같은 모스부호로 변환했을 때 꽤 길고 앞 뒤로 안 겹칠 것 같은 단어로만 변환해야 했다.
-.-....-...-.-..-.-...--then.--..-..-..-..--.-.-.--..-....-..-..-.......--...--.--..-..again...
...-theyare..-..-......didn't.-.---...-.secret....--....--.-..-...---..-...-.---..-..--.-...-..
--.-.-.--..-...again.....-..-...-.--.-.--.-.--flag.-...-.--..-..-...--...-.......--...thoselett
er.--.-....-..-.....--..-...-.-..-...-..--..-..-here's---...-.--.-.--.-.--...--.--..-..again...
-.-...-...-...-..-........-after..-...-..-.-.--what.......-..--..--...one-.-..-...---..-....-.-
.-.-........--..-...-...then.--...-.-..-...-.--...-.--.-.-.--..-...--.-.--....-...--....-....-.
....---...--..-..--.-...-.hint..-.-.-..-...---..-....-.-...-....-..--.-.--flag.-..-...-..-.....
-.thisnote--...-.-.....they..-..-....-...-
뭐..어쨌든 다 삽질이었고
A, B로만 나타나있던 저 음성 파일은 0, 1이고 모스 부호고 그게 아니라 '베이컨 암호'였다.
처음 얻은 A, B로 된 문자열을 아래 베이컨 암호 해독 사이트에 넣어 제대로 된 문자열을 얻을 수 있다.
https://www.dcode.fr/bacon-cipher
WELLHAUETOMEETANOTHERDAYWEREEXPECTINGTHEMTOCOMEHERESOONTHEMESSAGEHASTOBEDELIUEREDSOONOTHERWISEALLISFORNAUGHTTHEFLAGISAUCTFSOMEONENEEDSTOCALLTHEFCCONTHESECRAZYFARMERS
중간 중간에 빠진 알파벳이 몇 개 있는 것 같지만 flag는 알아볼 수 있으니까ㅋㅋ;;
flag: AUCTFSOMEONENEEDSTOCALLTHEFCCONTHESECRAZYFARMERS
'Wargame > CTF' 카테고리의 다른 글
RACTF 2020: Dimensionless Loading, Disk Forensics Fun (0) | 2020.06.13 |
---|---|
IOLI crackme 0x00 ~ 0x05 (0) | 2020.04.19 |
Codegate 2020 (1) | 2020.04.02 |
UTCTF 2020 Chatt with Bratt: Write-Up (0) | 2020.03.11 |
UTCTF 2020 Zero: Write Up (0) | 2020.03.10 |