반응형

암호 78

[CTFlearn] Symbolic Decimals - 암호학 / Python

CTFlearn의 예순번째 문제 전혀 Hard 하지 않은 Hard 난이도의 암호학 문제이다. 문제 설명이 좀 친절하지 않았다면 어려울 수 있는 문제인데 문제 설명이 너무 친절하다.. 심볼로 메세지를 숨기는 방법을 아냐면서 예를 들어주는데 !@#$%^&*( 같은경우 123456789 와 각각 매칭이 된다고 한다. 이것 그냥 키보드 숫자키를 의미하는 것이다. ^&,*$,&),!@#,*#,!!^,(&,!!$,(%,$^,(%,*&,(&,!!$,!!%,(%,$^,(%,&),!!!,!!$,(%,$^,(%,&^,!)%,!)@,!)!,!@% 문제에서 주어진 이 암호문을 키보드 숫자키에 맞춰서 숫자로 바꾸면 무언가 의미있는 데이터가 나올 것이다. 양이 그렇기 길지 않아서 그냥 수작업으로 일일이 바꿔도 되지만 파이썬 코드..

워게임/CTFlearn 2023.01.23

[CTFlearn] Tone dialing - 암호학 / DTMF

CTFlearn의 쉰 일곱번째 문제 알면 쉬운데 모르면 난감한 그런 유형의 문제이다. 근데 사실 문제 제목에서 큰 힌트를 같이 줘서 그렇게 어렵지 않게 풀 수 있다. 우선 주어진 you_know_what_to_do.wav 파일을 받아서 들어보면 뭔가 전화기 숫자 버튼을 누르는 듯한 소리가 들린다. 마침 문제 제목도 Tone dialing 이라고 되어있으니 전화기가 맞는듯 하다. 여기까지 생각했다면 문제의 의도가 명확해진다. 소리를 듣고 어떤 버튼을 눌렀는지 맞춰야 하는 것이다. 근데 사실 절대음감도 아니고, 마땅한 비교 대상이 있는것도 아니라 이 부분이 어렵다. Tone dialing 관련해서 구글에 검색하다보면 DTMF(Dual-tone multi-frequency signaling) 관련된 내용들을 ..

워게임/CTFlearn 2023.01.16

[JISCTF] Upside Down!! - 암호학 / Python

암호학 카테고리의 간단한 문제 간단한 코딩으로 풀 수 있는 문제이다. 별다른 설명 없이 암호화된 플래그가 주어진다. fkhrwv_wldm_vmtorhs_xszizxgvih_xibkgltizksb 위 내용을 Decrypt 하는것이 문제의 목표인데 문제 제목에서 힌트를 얻었다. Upside Down 이니 뭔가 알파벳으로 장난을 쳤을거라고 생각했다. 맨 앞에 있는 f 를 예로 들어보면 f는 알파벳 순서로 봤을때 6번째에 있으니 (a b c d e f) 알파벳을 z부터 a까지 거꾸로 나열했을 때 6번째에 있는 u 로 (z y x w v u) 바꾸면 되지 않을까 하는 생각이 들었다. 생각한 내용을 코드로 옮길때는 ASCII 코드표를 참고했다. 위의 표를 보면 소문자 a는 10진수로 97, 소문자 z는 10진수로 ..

CTF/암호학 2023.01.15

[CTFlearn] Encryption Master - 암호학 / Base64

CTFlearn의 쉰두번째 문제 Hard 난이도의 암호학 카테고리 문제인데 배점이 90점이나 된다. 그런데 실제로 풀어보면.. 어이없을 정도로 쉽다. 난이도는 누가 정하는건지.. 문제에서 주어지는 것은 Here ya go!.txt 파일이다. 메모장으로 열어보면 위와 같은 내용이 써있다. This is NOT going to be fun. 이라는 말과 함께 알수없는 글자들이 써있는데 데이터의 맨 끝을 보면 == 로 끝나는 것을 볼 수 있다. = 은 Base64에서 사용하는 패딩으로 저렇게 알수없는 알파벳+숫자들이 있는 데이터의 맨 끝이 = 또는 == 이라면 Base64 로 인코딩 되었다고 생각하면 거의 맞다. CyberChef(https://gchq.github.io/CyberChef) 에서 Base64 ..

워게임/CTFlearn 2023.01.02

[CTFlearn] RSA Beginner - 암호학 / Python

CTFlearn의 마흔 일곱번째 문제 이번엔 RSA 알고리즘과 관련된 암호학 문제이다. Beginner 라 그런지 이전에 포스팅 했던 문제들이랑 비슷하게 쉽게 풀 수 있다. (https://hackingstudypad.tistory.com/337) RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하..

워게임/CTFlearn 2022.12.22

[Cyber Security Rumble] Hashfun - 암호학 / XOR / Python

Hash 인듯 Hash 아닌 문제 조금 헷갈렸는데 어렵지 않게 풀 수 있었다. 문제를 보면 FLAG 를 되돌릴 수 있는 방법은 없을거 같다면서 파일을 하나 제공한다. from secret import FLAG def hashfun(msg): digest = [] for i in range(len(msg) - 4): digest.append(ord(msg[i]) ^ ord(msg[i + 4])) return digest print(hashfun(FLAG)) # [10, 30, 31, 62, 27, 9, 4, 0, 1, 1, 4, 4, 7, 13, 8, 12, 21, 28, 12, 6, 60] 주어진 파일의 내용은 파이썬 코드이다. secret 에서 FLAG 라는 값을 가져와서 hashfun(FLAG) 의 ..

CTF/암호학 2022.12.21

[TeamH4C CTF] The Easiest problem of the universe - 암호학 / Base64 / Binary

'우주에서 가장 쉬운 문제' 문제가 쉽긴 하다만.. 우주에서 가장 쉬운지는 생각해볼 필요가 있다. h4c(V0hreFpreFdPSFJZTVRobldIa3dkRmd4T0hSWWVUQm5XSGt3ZEZneE9XWlllVEJuV0hrd2RGaDVNSFJZZVRCbldIa3habGg1TVdaWU1UaG5XREU0ZEV4V09IUllNVGhuV0hreFpsZ3hPV1pNVXpBOQ==) 이게 문제에서 주어진 문자열인데 데이터의 맨 끝을 보면 == 로 끝나는 것을 볼 수 있다. = 은 Base64에서 사용하는 패딩으로 저렇게 알수없는 알파벳+숫자들이 있는 데이터의 맨 끝이 = 또는 == 이라면 Base64 로 인코딩 되었다고 생각하면 거의 맞다. CyberChef(https://gchq.github.io/Cyber..

CTF/암호학 2022.12.17

[HackTheBox] The secret of a Queen - 암호학 / Mary Queen of Scots Cipher

쉬운 난이도의 암호학 문제 아마 HackTheBox에서 제공하는 문제 중 장르를 불문하고 가장 쉬운 문제가 아닐까 싶다. 문제에서 제공되는것은 이렇게 생긱 그림파일이다. 뭔가 고대문자 같은게 써있는데 무슨 의미인지 하나도 못알아보겠다. 문제 제목이 Secret of a Queen 이고, 문제에서 주어진게 암호문이니 구글에 Queen cipher 라고 검색해봤다. 이미지 검색결과에 보니 바로 위쪽에 Mary Queen of Scots 라는 사진이 보였다. 사진을 보니 문제에서 주어진 기호와 똑같은 기호들이 그려져 있었다. 각 기호들과 주요 단어, 조사들을 저렇게 특정한 기호로 1:1 치환해서 만든 암호인가 보다. 온라인으로 해독할 수 있는 사이트도 찾을 수 있었다. (https://www.dcode.fr/..

[CTFlearn] Suspecious message - 암호학 / Playfair Cipher

CTFlearn의 마흔 다섯번째 문제 이번엔 암호학 문제이다. 문제에서 주어지는것은 암호문과 photo.png 라는 사진 파일이다. MQDzqdor{Ix4Oa41W_1F_B00h_m1YlqPpPP} 위와 같은 암호문이 주어지는데 처음에 Base 종류의 인코딩이나 rot 를 이용해 풀어보려 했는데 풀리지 않았다. 함께 주어지는 사진은 위와 같다. 키보드 배열에 있는 영문자들이 왼쪽 상단부터 J를 제외하고 순서대로 적혀있다. 사진을 딱 보자마자 이전에 풀었던 5x5 crypto 가 생각났지만 (https://hackingstudypad.tistory.com/326) 이번 문제는 좌표같은게 주어지지 않아서 아니라고 판단했다. 이럴때 사용할 수 있는 도구로 Boxentriq(https://www.boxentri..

워게임/CTFlearn 2022.12.14

[CTFlearn] So many 64s - 암호학 / Base64

CTFlearn 의 마흔두번째 문제 이번 문제는 암호학 카테고리의 문제인데 난이도가 Hard 로 분류되어 있고, 점수도 80점이나 된다. 근데 사실 나는 이 문제의 분류와 배점이 아주 잘못되었다고 생각한다. 막상 풀어보면 별다른 기술이 필요없기 때문이다. 문제 설명을 읽어보면 친구가 플래시드라이브를 훔쳐갔다가 돌려줬는데 그 안에 있던 데이터가 변경되었다고 도와(decrypt)달라고 한다. 일단 문제 제목에서부터 어떻게 풀어야 할지 감이 온다. So many 64s 라는 문장을 통해 어떤 문자열을 Base64 를 이용해 아주 많이 인코딩 해 놨을것이라고 추측이 가능하다. Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTVjAxV2JETlhhMUpUVmpBeFYySkVU..

워게임/CTFlearn 2022.12.06
반응형