반응형

암호학 79

[Root Me] Polyalphabetic substitution - Vigenère - 암호학

간단한 암호학 문제 제목에 나온것처럼 비제네르 암호와 관련된 문제이다. 제공된 링크로 덜어가면 이런 글이 보인다. 온통 알 수 없는 문자들로 구성되어 있는데 암호화되어 있기 때문에 알아볼 수가 없다. https://www.boxentriq.com/code-breaking/vigenere-cipher Vigenère Cipher (automatic solver) | Boxentriq This is a complete guide to the Vigenère cipher and the tools you need to decode it. Read about its unbreakable history and fun facts, and learn about cryptanalysis methods, or use th..

워게임/Root Me 2023.09.13

[Root Me] Monoalphabetic substitution - Caesar / 암호학

Root Me에서 제공하는 암호학 관련 문제 Monoalphabetic Caeser 암호인데 왜이렇게 레벨이 높지 생각했는데 그 이유가 있었다. 문제가 엄청 어렵기 보단 조금 수고스럽게 풀어야 한다. 그리고 문제 자체가 프랑스어로 나와서 문제를 풀어도 푼지 알아채기가 힘들다.. 문제 설명을 읽어보면 정답을 제출할 때는 각 문장의 맨 앞글자를 이어서 쓰고, 그다음 각 문장의 맨 뒷글자를 이어서 쓰라고 한다. 문제에서 주어지는 암호문은 이렇다. 만약 여기서 바로 정답을 제출한다면 tfhqdlhfpkmeokgq 와 같이 제출하면 된다는 의미이다. https://rumkin.com/tools/cipher/caesar/ Caesar This is a standard Caesarian Shift cipher enc..

워게임/Root Me 2023.08.24

[Root Me] Known plaintext - XOR - 암호학 / HxD

Root Me에서 제공하는 xor 관련 암호학 문제 제목이 Known plaintext 인데 Known plaintext란 한글로 기지평문(공격)으로 공격자가 어떤 암호문과 그에 대한 평문을 알고 있을때 해독하는 방법이다. 문제에서는 ch3.bmp 파일이 주어진다. 파일이 깨진듯 내용은 보이지 않는다. HxD로 파일을 열어보면 맨 앞부분이 24 2C로 시작하는 것을 볼 수 있다. BMP 파일은 기본적으로 42 4D로 시작되어야 한다. 문제 제목이 XOR이니 어떤 키값으로 XOR 되어서 파일 시그니처가 변했고, 그에 따라 윈도우에서 BMP 파일을 인식하지 못하는 것이다. 파일 시그니처로 알고있는 42 4D 가 바로 평문을 알고있는 것이다. CyberChef(https://gchq.github.io/Cybe..

워게임/Root Me 2023.08.19

[2021CCE] rox - 암호학 / XOR

2021CCE에 출제된 암호학 문제 이번 문제에서도 역시 기초에 대해 언급한다. 이렇게 기초를 좋아했던 CCE인데 2022년 부턴 대회 난이도가 엄청나게 올라가서 좀 아이러니하다. 문제 제목부터 딱 봐도 XOR과 관련된 문제이다. 같이 제공된 압축파일의 압축을 풀면 Bg0PXUlMTx46AgYKIRcWMR4HHCENDAMaAxwNCjoBBAomPRELCRgODQ1fGA== 이런 암호문이 주어진다. key="???????" flag="cce2021{??????????????????????????????????}" def encrypt(plain): res="" for _ in range(len(plain)): res+=chr(ord(key[_%7])^ord(plain[_])) return res open(..

CTF/암호학 2023.08.17

[Root Me] File - PKZIP - 암호학 / John the Ripper

Root Me의 Cryptanalysis 카테고리에 제공된 암호학 문제 사실 암호학이라기 보단 그냥 크랙하는 문제이다. 문제에서 제공되는 것은 ch5.zip 파일이다. 당연하겠지만 이 파일의 압축을 풀기위해선 비밀번호가 요구된다. 비밀번호가 걸린 zip 파일을 크랙하는 것은 이미 블로그에서 많이 다뤘었다. John the Ripper 도구를 사용하면 된다. John the Ripper 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다. zip2john > hash 명령어로 hash 파일을 생성해준 다음 john --wordlist= hash 명령어로 비밀번호를 crack 해주면 된다. 잠시 기다리면 금방 결과가 나온다. 비밀번호가 상당히 간단한데.. 너무 성의없이 문제를 만든건 아닌가 싶다. 압축..

워게임/Root Me 2023.08.16

[Root Me] Shift cipher - 암호학 / Python

Root Me에서 제공하는 암호학 문제 약간의 코딩이 필요하다. 문제에서 주어지는 것은 ch7.bin 파일이다. 해당 파일을 HxD로 열어봤더니 내용에 일반적이지 않은 문자들까지 섞여있는것을 확인했다. Shift cipher 이고 쉬운 난이도의 문제라 단순한 카이사르 암호나 rot 로 풀수 있을줄 알았는데 그렇지 않았다. text = open('ch7.bin','rb').read() i = 0 while i < 20: print(''.join([chr(c - i) for c in text])) i += 1 문제푸는 코드는 아주 단순하게 작성할 수 있다. ch7.bin 파일을 rb 로 읽어서 각 문자열에 조금씩 값을 늘려가며 빼주는 것이다. 테스트 삼아 i 를 20 미만으로 작성해서 돌려봤는데 금방 플래그..

워게임/Root Me 2023.08.14

[CTFlearn] Polycrypto - 암호학 / Python

CTFlearn에서 제공하는 Hard 난이도의 암호학 문제 다항식을 이용한 문제이다. 문제 파일이 제공되는 주소와 위키피디아 주소가 같이 적혀있다. 먼저 문제파일을 다운받아 열어보면 이런 내용이 적혀있다. 엄청나게 긴 다항식이 적혀있는게 보인다. 다음으로 위키피디아에 들어가보면 이런 내용이 적혀있다. 다항식을 binary로 표현하는 방법에 대해 안내한다. 영어랑 수식은 복잡해서 자세히 안읽었고 밑줄친 부분만으로도 충분히 풀 수 있을거 같아 바로 해보기로 했다. 핵심은 다항식에서 p^n 형태로 표현된 부분만 1로, 나머지 부분은 0으로 만들면 된다는 것이다. 우선 지수를 추출해야 했는데 귀찮아서 ChatGPT 한테 시켰다. 1초만에 바로 뽑아준다. ChatGPT가 뽑아준 지수에서 맨 끝에 0만 더 넣으면 ..

워게임/CTFlearn 2023.08.12

[Root Me] Hash - SHA-2 - 암호학

SHA 해시함수와 관련된 암호학 카테고리 문제 문제 설명을 보면 전송중에 세션을 인터셉트 당했는데 해시 포맷이 알 수 없는것처럼 보인다고 한다. 정답은 SHA-1 해시로 제출하라고 한다. 문제에서 주어지는 해시값은 위와 같다. 가만보면 조금 이상한걸 발견할 수 있는데 해시값을 표현할땐 16진수를 사용하기 때문에 0 ~ 9의 숫자와 a ~ f 까지의 알파벳이 사용된다. 그런데 중간에 뜬금없이 k 가 끼어있다. 주어진 해시값의 길이를 계산해보니 65 글자였는데 *4를 하면 260 이 된다. 그런데 해시 크기가 260인 해시 알고리즘은 존재하지 않는다. 만약 k를 빼게 된다면 64글자가 되고, *4 하면 256 비트가 되니 k가 중간에 인터셉트 되어서 임의로 삽입된 글자일거라 판단했다. 온라인 해시 크랙 사이..

워게임/Root Me 2023.07.30

[TMUCTF] Prison - 암호학 / Tap code

흥미로운 암호학 문제 복잡한 암호 알고리즘보다 이런 문제들이 재미있는것 같다. challenge.txt 파일이 주어지는데 .... .... .. ... . ..... ... ..... .... .. .. .... .... ... ... .... ... ... . ..... .... .. .. .... .... ... .... .... .... .. ..... .... .. .... ... ... .. .. .... .... ... .... . ..... .... ... . ... . . ... ..... . ..... .. . .... .. ... .... ... .. .. ... .. .... .... ... . ... . ..... ... . ... . txt 파일 안에는 위와 같은 내용이 적혀있다...

CTF/암호학 2023.07.04

[Root Me] File - Insecure storage 1 - 암호학 / firefox_decrypt

Root Me 에서 제공하는 암호학 문제 뭔가 포렌식 쪽으로 분류되어도 상관없을듯한 문제이다. 암호를 푸는거지만 암호 관련된 지식보단 포렌식 쪽이 더 많지 않을까.. 문제는 user의 password 를 찾는것이다. 문제에서 주어지는 압축파일의 압축을 풀면 이렇게 firefox 라는 폴더를 찾을 수 있다. 폴더의 내용을 보면 .splite, key3.db 이런 파일들이 보이는 것으로 보아 firefox 브라우저를 사용할때 생성되는 각종 아티팩터들이 저장되는 폴더를 통채로 압축시켜서 업로드 한것 같다. 여기서 살펴볼 것은 signons.sqlite 파일이다. 해당 파일은 DB Browser for SQLite 이라는 도구로 내용을 확인할 수 있다. moz_logins 테이블을 확인해보면 www.root-m..

워게임/Root Me 2023.06.06
반응형